diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/animated-overlay.gif b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/animated-overlay.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d441f75ebfbdf26a265dfccd670120d25c0a341c
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/animated-overlay.gif differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_100_ffffff_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_100_ffffff_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..b30d1b0af8537754f1334f3748226c405816a224
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_100_ffffff_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_205c90_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_205c90_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac002fc801322ad538e403b8b27857df1a15d0b2
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_205c90_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_ffddcc_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_ffddcc_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..bed117470e10ba509bc343138e7666d434280abc
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_ffddcc_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_50_75ad0a_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_50_75ad0a_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..33e255c7a092c8391a08adce6cbb981e2fae445b
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_50_75ad0a_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_999999_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_999999_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..4960076dcf05f5bcde31b5e289b767d4f13e6ba1
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_999999_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_ffdd77_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_ffdd77_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..5de1095bd265b1bcd4aa38f7acd742ee60958767
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_ffdd77_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_aaaaaa_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_aaaaaa_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..71b5b940d770af43ce8c94eee350e53b74278def
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_aaaaaa_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_dddddd_40x100.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_dddddd_40x100.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d9b2f997b412384e8f0022d187ed58bae244df5
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_dddddd_40x100.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_205c90_256x240.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_205c90_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..923c040974882efa41c293b596402e97423e25b0
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_205c90_256x240.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_444444_256x240.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_444444_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..a957b5e56fbc7f376551b59ada8acba6fd37d7ca
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_444444_256x240.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd0000_256x240.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd0000_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..cdcb3b746b85826e8355c9970500caf78c682d53
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd0000_256x240.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd8800_256x240.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd8800_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..acc7a9b2fcbde8c9405d86d1a0766b2f9dd64e9e
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd8800_256x240.png differ
diff --git a/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_ffffff_256x240.png b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_ffffff_256x240.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f624bb2b193750f1a5b36c8c307168c6681a861
Binary files /dev/null and b/docs.it4i.cz/++resource++jquery-ui-themes/sunburst/images/ui-icons_ffffff_256x240.png differ
diff --git a/docs.it4i.cz/RSS b/docs.it4i.cz/RSS
new file mode 100644
index 0000000000000000000000000000000000000000..3ee08ae60687a8f61d9e13d5f3d8e51fb6276866
--- /dev/null
+++ b/docs.it4i.cz/RSS
@@ -0,0 +1,1058 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">
+
+
+
+<channel rdf:about="https://docs.it4i.cz/RSS">
+  <title>IT4I Docs</title>
+  <link>https://docs.it4i.cz</link>
+  <description></description>
+  <image rdf:resource="https://docs.it4i.cz/logo.png"/>
+
+  <items>
+    <rdf:Seq>
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/debuggers/vampir"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/vampir-installed"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/chemistry/phono3py"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/intel-suite/intel-inspector"/>
+      
+    </rdf:Seq>
+  </items>
+
+</channel>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b">
+    <title>MATLAB 2015b</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/matlab-2015b</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-07-13T13:40:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/debuggers/vampir">
+    <title>Vampir</title>
+    <link>https://docs.it4i.cz/salomon/software/debuggers/vampir</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+        
+        <div id="parent-fieldname-text-50ee0f8999e14a08822bd423d24de7ef" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+<h2></h2>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-07-08T10:40:56Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir">
+    <title>Vampir</title>
+    <link>https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+        
+        <div id="parent-fieldname-text-f6e25102d1244fb4ab355175867747b5" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-07-08T10:38:13Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/vampir-installed">
+    <title>Vampir installed</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/vampir-installed</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-07-07T22:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon">
+    <title>Intel VTune Amplifier support for Xeon Phi on Salomon</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have included support for VTune Amplifier XE 2016 to the operating system of Xeon Phi accelerators on Salomon. You can now use VTune to analyse your native or offload MIC applications.</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-29T22:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding">
+    <title>Cygwin and X11 forwarding</title>
+    <link>https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+        
+        <div id="parent-fieldname-text-09d0af6009df4eae8d3b28eb121b10e0" class="">
+            <h3 class=" ">If <span style="text-align: left; float: none; ">no able to forward X11 using PuTTY to CygwinX</span></h3>
+<pre class="prettyprint lang-sh"><span style="text-align: left; float: none; ">[usename@login1.anselm ~]$ gnome-session &amp;<br />[1] 23691<br />[<span style="text-align: left; float: none; ">usename</span>@login1.anselm ~]$ PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused<br />PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused<br /><br />** (gnome-session:23691): WARNING **: Cannot open display:<br /></span></pre>
+<p><span style="text-align: left; float: none; "> </span></p>
+<ol>
+<li><span style="text-align: left; float: none; ">Locate and modify <span style="text-align: left; float: none; ">Cygwin shortcut that uses<span class="Apple-converted-space"> </span></span><a href="http://x.cygwin.com/docs/man1/startxwin.1.html" rel="nofollow" style="text-align: left; ">startxwin</a><br />locate<br />C:\cygwin64\bin\XWin.exe<br /><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "><span style="text-align: left; float: none; ">change it to</span></span></span><br />C:\<i class="moz-txt-slash">cygwin64\bin\XWin.exe -listen tcp</i><br /><br /><img title="XWin-listen-tcp.png" alt="XWin-listen-tcp.png" src="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png" class="image-inline" /><br /></span><br /><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "></span></span></li>
+<li><span style="text-align: left; float: none; "><span style="text-align: left; float: none; ">Check Putty settings:<br /><span style="text-align: left; float: none; ">Enable X11 forwarding</span><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "></span><span class="Apple-converted-space"><br /></span></span><br /><a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding" class="internal-link"><img title="" alt="" src="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png" class="image-inline" /></a><br /></span></span></li>
+</ol>
+<p> </p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-24T08:55:00Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding">
+    <title>Cygwin and X11 forwarding</title>
+    <link>https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-24T08:55:41Z</dc:date>
+    <dc:type>Folder</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs">
+    <title>New method to execute parallel MATLAB jobs</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have implemented a new way to run parallel MATLAB jobs. Unlike the previously documented method, it does not submit a separate new job to run the workers, all is done within a single job. Read about it here: <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6" class="external-link">https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6</a></p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-22T22:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input">
+    <title>Phono3py Input</title>
+    <link>https://docs.it4i.cz/salomon/software/chemistry/phono3py-input</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+    
+
+    
+    
+    
+
+        <dl>
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor text/vnd.wap.si" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view" class="contenttype-file state-missing-value url">POSCAR Si</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    <span class="description">POSCAR</span>
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view" class="contenttype-file state-missing-value url">KPOINTS</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view" class="contenttype-file state-missing-value url">POTCAR</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view" class="contenttype-file state-missing-value url">INCAR</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view" class="contenttype-file state-missing-value url">run.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view" class="contenttype-file state-missing-value url">submit.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view" class="contenttype-file state-missing-value url">prepare.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view" class="contenttype-file state-missing-value url">gofree-cond1.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+        </dl>
+
+        
+
+    <!-- Navigation -->
+
+
+  
+
+
+
+
+
+
+    
+    
+        
+    
+
+    
+    
+
+
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-10T13:40:07Z</dc:date>
+    <dc:type>Folder</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/chemistry/phono3py">
+    <title>Phono3py</title>
+    <link>https://docs.it4i.cz/salomon/software/chemistry/phono3py</link>
+    <description>
+</description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+        
+        <div id="parent-fieldname-text-b447a2e7e71947d487c3ceada3d7265b" class="">
+            <h2> Introduction</h2>
+<p class=" ">This GPL software calculates phonon-phonon interactions via the third order force constants. It allows to obtain lattice thermal conductivity, phonon lifetime/linewidth, imaginary part of self energy at the lowest order, joint density of states (JDOS) and weighted-JDOS. For details see Phys. Rev. B 91, 094306 (2015) and http://atztogo.github.io/phono3py/index.html<br /><br /></p>
+<p class="callout">Load the phono3py/0.9.14-ictce-7.3.5-Python-2.7.9 module</p>
+<pre class="prettyprint lang-sh">$ module load phono3py/0.9.14-ictce-7.3.5-Python-2.7.9</pre>
+<h2>Example of calculating thermal conductivity of Si using VASP code.</h2>
+<h3>Calculating force constants</h3>
+<p>One needs to calculate second order and third order force constants using the diamond structure of silicon stored in <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si" class="internal-link">POSCAR</a>  (the same form as in VASP) using single displacement calculations within supercell.</p>
+<pre class="prettyprint lang-sh">$ cat POSCAR<br /> Si<br />   1.0<br />     5.4335600309153529    0.0000000000000000    0.0000000000000000<br />     0.0000000000000000    5.4335600309153529    0.0000000000000000<br />     0.0000000000000000    0.0000000000000000    5.4335600309153529<br /> Si<br />   8<br />Direct<br />   0.8750000000000000  0.8750000000000000  0.8750000000000000<br />   0.8750000000000000  0.3750000000000000  0.3750000000000000<br />   0.3750000000000000  0.8750000000000000  0.3750000000000000<br />   0.3750000000000000  0.3750000000000000  0.8750000000000000<br />   0.1250000000000000  0.1250000000000000  0.1250000000000000<br />   0.1250000000000000  0.6250000000000000  0.6250000000000000<br />   0.6250000000000000  0.1250000000000000  0.6250000000000000<br />   0.6250000000000000  0.6250000000000000  0.1250000000000000<br /><br /></pre>
+<h3>Generating displacement using 2x2x2 supercell for both second and third order force constants</h3>
+<pre class="prettyprint lang-sh">$ <span class="n">phono3py</span> <span class="o">-</span><span class="n">d</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> <span class="o">-</span><span class="n">c</span> <span class="n">POSCAR</span><span class="o"></span><span class="n"></span></pre>
+<p class=" "><span class="n">111 displacements is created stored in <span class="n">disp_fc3.yaml</span>, and the structure input files with this displacements are POSCAR-00XXX, where the XXX=111.<br /></span></p>
+<pre class="prettyprint lang-sh"><span class="n">disp_fc3.yaml  POSCAR-00008  POSCAR-00017  POSCAR-00026  POSCAR-00035  POSCAR-00044  POSCAR-00053  POSCAR-00062  POSCAR-00071  POSCAR-00080  POSCAR-00089  POSCAR-00098  POSCAR-00107<br />POSCAR         POSCAR-00009  POSCAR-00018  POSCAR-00027  POSCAR-00036  POSCAR-00045  POSCAR-00054  POSCAR-00063  POSCAR-00072  POSCAR-00081  POSCAR-00090  POSCAR-00099  POSCAR-00108<br />POSCAR-00001   POSCAR-00010  POSCAR-00019  POSCAR-00028  POSCAR-00037  POSCAR-00046  POSCAR-00055  POSCAR-00064  POSCAR-00073  POSCAR-00082  POSCAR-00091  POSCAR-00100  POSCAR-00109<br />POSCAR-00002   POSCAR-00011  POSCAR-00020  POSCAR-00029  POSCAR-00038  POSCAR-00047  POSCAR-00056  POSCAR-00065  POSCAR-00074  POSCAR-00083  POSCAR-00092  POSCAR-00101  POSCAR-00110<br />POSCAR-00003   POSCAR-00012  POSCAR-00021  POSCAR-00030  POSCAR-00039  POSCAR-00048  POSCAR-00057  POSCAR-00066  POSCAR-00075  POSCAR-00084  POSCAR-00093  POSCAR-00102  POSCAR-00111<br />POSCAR-00004   POSCAR-00013  POSCAR-00022  POSCAR-00031  POSCAR-00040  POSCAR-00049  POSCAR-00058  POSCAR-00067  POSCAR-00076  POSCAR-00085  POSCAR-00094  POSCAR-00103<br />POSCAR-00005   POSCAR-00014  POSCAR-00023  POSCAR-00032  POSCAR-00041  POSCAR-00050  POSCAR-00059  POSCAR-00068  POSCAR-00077  POSCAR-00086  POSCAR-00095  POSCAR-00104<br />POSCAR-00006   POSCAR-00015  POSCAR-00024  POSCAR-00033  POSCAR-00042  POSCAR-00051  POSCAR-00060  POSCAR-00069  POSCAR-00078  POSCAR-00087  POSCAR-00096  POSCAR-00105<br />POSCAR-00007   POSCAR-00016  POSCAR-00025  POSCAR-00034  POSCAR-00043  POSCAR-00052  POSCAR-00061  POSCAR-00070  POSCAR-00079  POSCAR-00088  POSCAR-00097  POSCAR-00106</span></pre>
+<p class=" "><span class="n"> For each displacement the forces needs to be calculated, i.e. in form of the output file of VASP (vasprun.xml). For a single VASP calculations one needs <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS" class="internal-link">KPOINTS</a>, <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR" class="internal-link">POTCAR</a>, <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR" class="internal-link">INCAR</a> in your case directory (where you have POSCARS) and those 111 displacements calculations can be generated by <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh" class="internal-link">prepare.sh</a> script. Then each of the single 111 calculations is submitted <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh" class="internal-link">run.sh</a> by <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh" class="internal-link">submit.sh</a>.</span></p>
+<pre class="prettyprint lang-sh"><span class="n">$./prepare.sh<br />$ls<br />disp-00001  disp-00009  disp-00017  disp-00025  disp-00033  disp-00041  disp-00049  disp-00057  disp-00065  disp-00073  disp-00081  disp-00089  disp-00097  disp-00105     INCAR<br />disp-00002  disp-00010  disp-00018  disp-00026  disp-00034  disp-00042  disp-00050  disp-00058  disp-00066  disp-00074  disp-00082  disp-00090  disp-00098  disp-00106     KPOINTS<br />disp-00003  disp-00011  disp-00019  disp-00027  disp-00035  disp-00043  disp-00051  disp-00059  disp-00067  disp-00075  disp-00083  disp-00091  disp-00099  disp-00107     POSCAR<br />disp-00004  disp-00012  disp-00020  disp-00028  disp-00036  disp-00044  disp-00052  disp-00060  disp-00068  disp-00076  disp-00084  disp-00092  disp-00100  disp-00108     POTCAR<br />disp-00005  disp-00013  disp-00021  disp-00029  disp-00037  disp-00045  disp-00053  disp-00061  disp-00069  disp-00077  disp-00085  disp-00093  disp-00101  disp-00109     prepare.sh<br />disp-00006  disp-00014  disp-00022  disp-00030  disp-00038  disp-00046  disp-00054  disp-00062  disp-00070  disp-00078  disp-00086  disp-00094  disp-00102  disp-00110     run.sh<br />disp-00007  disp-00015  disp-00023  disp-00031  disp-00039  disp-00047  disp-00055  disp-00063  disp-00071  disp-00079  disp-00087  disp-00095  disp-00103  disp-00111     submit.sh<br />disp-00008  disp-00016  disp-00024  disp-00032  disp-00040  disp-00048  disp-00056  disp-00064  disp-00072  disp-00080  disp-00088  disp-00096  disp-00104  disp_fc3.yaml<br /></span></pre>
+<p class=" "><span class="n">Taylor your run.sh script to fit into your project and other needs and submit all 111 calculations using submit.sh script</span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ ./submit.sh</span></pre>
+<h2><span class="n">Collecting results and post-processing with phono3py</span></h2>
+<p><span class="n">Once all jobs are finished and vasprun.xml is created in each disp-XXXXX directory the collection is done by </span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ <span class="n">phono3py</span> <span class="o">--</span><span class="n">cf3</span> <span class="n">disp</span><span class="o">-</span><span class="p">{</span><span class="mf">00001.</span><span class="o">.</span><span class="mi">00111</span><span class="p">}</span><span class="o">/</span><span class="n">vasprun</span><span class="o">.</span><span class="n">xml</span></span></pre>
+<p><span class="n"><span class="n">and <code class="docutils literal"><span class="pre">disp_fc2.yaml, <code class="docutils literal"><span class="pre">FORCES_FC2</span></code>, <code class="docutils literal"><span class="pre">FORCES_FC3</span></code></span></code> and disp_fc3.yaml should appear and put into the hdf format by </span></span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ phono3py</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> -c POSCAR</pre>
+<p class=" ">resulting in <code class="docutils literal"><span class="pre">fc2.hdf5</span></code> and <code class="docutils literal"><span class="pre">fc3.hdf5</span></code></p>
+<h3 class=" ">Thermal conductivity</h3>
+<p class=" "><span class="pre">The phonon lifetime calculations takes some time, however is independent on grid points, so could be splitted: <br /></span></p>
+<pre class="prettyprint lang-sh"><span class="pre">$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --sigma 0.1 --wgp</span></pre>
+<h3><span class="n">Inspecting ir_grid_points.yaml</span></h3>
+<pre class="prettyprint lang-sh">$ grep grid_point ir_grid_points.yaml<br />num_reduced_ir_grid_points: 35<br />ir_grid_points:  # [address, weight]<br />- grid_point: 0<br />- grid_point: 1<br />- grid_point: 2<br />- grid_point: 3<br />- grid_point: 4<br />- grid_point: 10<br />- grid_point: 11<br />- grid_point: 12<br />- grid_point: 13<br />- grid_point: 20<br />- grid_point: 21<br />- grid_point: 22<br />- grid_point: 30<br />- grid_point: 31<br />- grid_point: 40<br />- grid_point: 91<br />- grid_point: 92<br />- grid_point: 93<br />- grid_point: 94<br />- grid_point: 101<br />- grid_point: 102<br />- grid_point: 103<br />- grid_point: 111<br />- grid_point: 112<br />- grid_point: 121<br />- grid_point: 182<br />- grid_point: 183<br />- grid_point: 184<br />- grid_point: 192<br />- grid_point: 193<br />- grid_point: 202<br />- grid_point: 273<br />- grid_point: 274<br />- grid_point: 283<br />- grid_point: 364</pre>
+<p>one finds which grid points needed to be calculated, for instance using following</p>
+<pre class="prettyprint lang-sh"><span class="n">$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write-gamma --gp="0 1 2</span></pre>
+<p><span class="n">one calculates grid points 0, 1, 2. To automize one can use for instance scripts to submit 5 points in series, see <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh" class="internal-link">gofree-cond1.sh </a></span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ qsub gofree-cond1.sh</span></pre>
+<p><span class="n">Finally the thermal conductivity result is produced by grouping single conductivity per grid calculations using  </span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ <span class="n">phono3py</span> <span class="o">--</span><span class="n">fc3</span> <span class="o">--</span><span class="n">fc2</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> <span class="o">--</span><span class="n">mesh</span><span class="o">=</span><span class="s2">"</span>9 9 9" <span class="o">--</span><span class="n">br</span> <span class="o">--</span><span class="n">read_gamma</span></span></pre>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-10T13:39:57Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0">
+    <title>Allinea Forge 6.0</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Allinea Forge 6.0 is now installed both on Salomon and Anselm. Among the new features is support for CUDA 7.5</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-04-29T12:25:10Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon">
+    <title>Issue with Intel MPI 4.1.1 on Salomon</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>There is an issue with running MPI programs compiled with Intel MPI 4.1.1 on Salomon (part of module intel/2014.06), execution on accelerated nodes will fail with message:</p>
+<p>ofa-v2-scif0: could not accept DAPL connection request: DAT_INTERNAL_ERROR()</p>
+<p>as a workaround, set environment variable<span> I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u or recompile your applications with a newer version of Intel MPI.</span></p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-04-29T12:23:10Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news">
+    <title>News</title>
+    <link>https://docs.it4i.cz/whats-new/news</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-03-08T09:55:00Z</dc:date>
+    <dc:type>Collection</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed">
+    <title>News</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+    
+    
+
+    
+
+    <p class="discreet">Nebyla ještě nahrána žádná alba ani fotografie.</p>
+
+    
+
+    <!-- Navigation -->
+
+
+
+
+
+    
+        
+    
+    
+
+        <dl>
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon" class="contenttype-news-item state-published url">Issue with Intel MPI 4.1.1 on Salomon</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0" class="contenttype-news-item state-published url">Allinea Forge 6.0</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs" class="contenttype-news-item state-published url">New method to execute parallel MATLAB jobs</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon" class="contenttype-news-item state-published url">Intel VTune Amplifier support for Xeon Phi on Salomon</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/vampir-installed" class="contenttype-news-item state-published url">Vampir installed</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b" class="contenttype-news-item state-published url">MATLAB 2015b</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+        </dl>
+
+        
+
+    <!-- Navigation -->
+
+
+  
+
+
+
+
+
+
+    
+    
+
+    
+    
+
+    
+
+    
+        
+    
+
+
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-03-08T09:50:00Z</dc:date>
+    <dc:type>Folder</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/intel-suite/intel-inspector">
+    <title>Intel Inspector</title>
+    <link>https://docs.it4i.cz/salomon/software/intel-suite/intel-inspector</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+        
+        <div id="parent-fieldname-text-6a80a8d0d1514d18b78df06d42288bcf" class="">
+            <p>Intel Inspector is a dynamic memory and threading error checking tool for C/C++/Fortran applications. It can detect issues such as memory leaks, invalid memory references, uninitalized variables, race conditions, deadlocks etc.</p>
+<h2 class=" ">Installed versions</h2>
+<p>The following versions are currently available on Salomon as modules:</p>
+<table class="plain">
+<tbody>
+<tr>
+<td><strong>Version</strong></td>
+<td><strong>Module</strong></td>
+</tr>
+<tr>
+<td>2016 Update 1</td>
+<td>Inspector/2016_update1</td>
+</tr>
+</tbody>
+</table>
+<h2>Usage</h2>
+<p>Your program should be compiled with -g switch to include symbol names. Optimizations can be turned on.</p>
+<p>Debugging is possible either directly from the GUI, or from command line.</p>
+<h3>GUI mode</h3>
+<p>To debug from GUI, launch Inspector:</p>
+<pre>$ inspxe-gui &amp;</pre>
+<p>Then select menu File -&gt; New -&gt; Project. Choose a directory to save project data to. After clicking OK, Project properties window will appear, where you can configure path to your binary, launch arguments, working directory etc. After clicking OK, the project is ready.</p>
+<p>In the main pane, you can start a predefined analysis type or define your own. Click Start to start the analysis. Alternatively, you can click on Command Line, to see the command line required to run the analysis directly from command line.</p>
+<h3>Batch mode</h3>
+<p>Analysis can be also run from command line in batch mode. Batch mode analysis is run with command <span class="monospace">inspxe-cl</span>. To obtain the required parameters, either consult the documentation or you can configure the analysis in the GUI and then click "Command Line" button in the lower right corner to the respective command line.</p>
+<p>Results obtained from batch mode can be then viewed in the GUI by selecting File -&gt; Open -&gt; Result...</p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://software.intel.com/en-us/intel-inspector-xe" target="_self" title="">Product page</a></li>
+<li><a class="external-link" href="https://software.intel.com/en-us/intel-inspector-xe-support/documentation" target="_self" title="">Documentation and Release Notes</a></li>
+<li><a class="external-link" href="https://software.intel.com/en-us/articles/inspectorxe-tutorials" target="_self" title="">Tutorials</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-02-24T13:36:42Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+
+</rdf:RDF>
diff --git a/docs.it4i.cz/anselm-cluster-documentation.md b/docs.it4i.cz/anselm-cluster-documentation.md
new file mode 100644
index 0000000000000000000000000000000000000000..a70fcdf735aa7f3200e9440d36add6a88485b661
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation.md
@@ -0,0 +1,42 @@
+Introduction 
+============
+
+
+
+  
+
+Welcome to Anselm supercomputer cluster. The Anselm cluster consists of
+209 compute nodes, totaling 3344 compute cores with 15TB RAM and giving
+over 94 Tflop/s theoretical peak performance. Each node is a <span
+class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped with 16
+cores, at least 64GB RAM, and 500GB harddrive. Nodes are interconnected
+by fully non-blocking fat-tree Infiniband network and equipped with
+Intel Sandy Bridge processors. A few nodes are also equipped with NVIDIA
+Kepler GPU or Intel Xeon Phi MIC accelerators. Read more in [Hardware
+Overview](https://docs.it4i.cz/anselm-cluster-documentation/hardware-overview).
+
+The cluster runs bullx Linux [<span
+class="WYSIWYG_LINK"></span>](http://www.bull.com/bullx-logiciels/systeme-exploitation.html)[operating
+system](https://docs.it4i.cz/anselm-cluster-documentation/software/operating-system),
+which is compatible with the <span class="WYSIWYG_LINK">RedHat</span>
+[<span class="WYSIWYG_LINK">Linux
+family.</span>](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)
+We have installed a wide range of
+[software](https://docs.it4i.cz/anselm-cluster-documentation/software)
+packages targeted at different scientific domains. These packages are
+accessible via the [modules
+environment](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules).
+
+User data shared file-system (HOME, 320TB) and job data shared
+file-system (SCRATCH, 146TB) are available to users.
+
+The PBS Professional workload manager provides [computing resources
+allocations and job
+execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution).
+
+Read more on how to [apply for
+resources](https://docs.it4i.cz/get-started-with-it4innovations/applying-for-resources),
+[obtain login
+credentials,](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials)
+and [access the
+cluster](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster).
diff --git a/docs.it4i.cz/anselm-cluster-documentation/Anselmprofile.jpg b/docs.it4i.cz/anselm-cluster-documentation/Anselmprofile.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..92b9d8b3887e76cff92255955f354e364ed53130
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/Anselmprofile.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/Authorization_chain.png b/docs.it4i.cz/anselm-cluster-documentation/Authorization_chain.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7747cfc28c0a4e7ab98034543e602ee3fc88d79
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/Authorization_chain.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster.md b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..79af6ccc6d284d656a0ce8977d45ed3bd9feab6e
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster.md
@@ -0,0 +1,141 @@
+Shell access and data transfer 
+==============================
+
+
+
+  
+
+Interactive Login
+-----------------
+
+The Anselm cluster is accessed by SSH protocol via login nodes login1
+and login2 at address anselm.it4i.cz. The login nodes may be addressed
+specifically, by prepending the login node name to the address.
+
+  Login address           Port   Protocol   Login node
+  ----------------------- ------ ---------- ----------------------------------------------
+  anselm.it4i.cz          22     ssh        round-robin DNS record for login1 and login2
+  login1.anselm.it4i.cz   22     ssh        login1
+  login2.anselm.it4i.cz   22     ssh        login2
+
+The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+Please verify SSH fingerprints during the first logon. They are
+identical on all login nodes:<span class="monospace">
+29:b3:f4:64:b0:73:f5:6f:a7:85:0f:e0:0d:be:76:bf (DSA)
+d4:6f:5c:18:f4:3f:70:ef:bc:fc:cc:2b:fd:13:36:b7 (RSA)</span>
+
+ 
+
+Private keys authentication:
+
+On **Linux** or **Mac**, use
+
+``` 
+local $ ssh -i /path/to/id_rsa username@anselm.it4i.cz
+```
+
+If you see warning message "UNPROTECTED PRIVATE KEY FILE!", use this
+command to set lower permissions to private key file.
+
+``` 
+local $ chmod 600 /path/to/id_rsa
+```
+
+On **Windows**, use [PuTTY ssh
+client](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty).
+
+After logging in, you will see the command prompt:
+
+                                                _
+                           /                  | |
+                          /     _ __  ___  ___| |_ __ ___
+                         / /  | '_ / __|/ _  | '_ ` _ 
+                        / ____ | | | __   __/ | | | | | |
+                       /_/    __| |_|___/___|_|_| |_| |_|
+
+
+                            http://www.it4i.cz/?lang=en
+
+
+    Last loginTue Jul  9 15:57:38 2013 from your-host.example.com
+    [username@login2.anselm ~]$
+
+The environment is **not** shared between login nodes, except for
+[shared
+filesystems](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1#section-1).
+
+Data Transfer
+-------------
+
+Data in and out of the system may be transferred by the
+[scp](http://en.wikipedia.org/wiki/Secure_copy) and sftp
+protocols. <span class="discreet">(Not available yet.) In case large
+volumes of data are transferred, use dedicated data mover node
+dm1.anselm.it4i.cz for increased performance.</span>
+
+  Address                                            Port                               Protocol
+  -------------------------------------------------- ---------------------------------- -----------------------------------------
+  anselm.it4i.cz                                     22                                 scp, sftp
+  login1.anselm.it4i.cz                              22                                 scp, sftp
+  login2.anselm.it4i.cz                              22                                 scp, sftp
+  <span class="discreet">dm1.anselm.it4i.cz</span>   <span class="discreet">22</span>   <span class="discreet">scp, sftp</span>
+
+ The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+Data transfer rates up to **160MB/s** can be achieved with scp or sftp.
+1TB may be transferred in 1:50h.
+
+To achieve 160MB/s transfer rates, the end user must be connected by 10G
+line all the way to IT4Innovations and use computer with fast processor
+for the transfer. Using Gigabit ethernet connection, up to 110MB/s may
+be expected.  Fast cipher (aes128-ctr) should be used.
+
+If you experience degraded data transfer performance, consult your local
+network provider.
+
+On linux or Mac, use scp or sftp client to transfer the data to Anselm:
+
+``` 
+local $ scp -i /path/to/id_rsa my-local-file username@anselm.it4i.cz:directory/file
+```
+
+``` 
+local $ scp -i /path/to/id_rsa -r my-local-dir username@anselm.it4i.cz:directory
+```
+
+> or
+
+``` 
+local $ sftp -o IdentityFile=/path/to/id_rsa username@anselm.it4i.cz
+```
+
+Very convenient way to transfer files in and out of the Anselm computer
+is via the fuse filesystem
+[sshfs](http://linux.die.net/man/1/sshfs)
+
+``` 
+local $ sshfs -o IdentityFile=/path/to/id_rsa username@anselm.it4i.cz:. mountpoint
+```
+
+Using sshfs, the users Anselm home directory will be mounted on your
+local computer, just like an external disk.
+
+Learn more on ssh, scp and sshfs by reading the manpages
+
+``` 
+$ man ssh
+$ man scp
+$ man sshfs
+```
+
+On Windows, use [WinSCP
+client](http://winscp.net/eng/download.php) to transfer
+the data. The [win-sshfs
+client](http://code.google.com/p/win-sshfs/) provides a
+way to mount the Anselm filesystems directly as an external disc.
+
+More information about the shared file systems is available
+[here](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage).
diff --git a/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md
new file mode 100644
index 0000000000000000000000000000000000000000..85ebe0e3d88d7fbd2429506fe67547da00dae266
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/outgoing-connections.md
@@ -0,0 +1,118 @@
+Outgoing connections 
+====================
+
+
+
+  
+
+Connection restrictions
+-----------------------
+
+Outgoing connections, from Anselm Cluster login nodes to the outside
+world, are restricted to following ports:
+
+  Port   Protocol
+  ------ ----------
+  22     ssh
+  80     http
+  443    https
+  9418   git
+
+Please use **ssh port forwarding** and proxy servers to connect from
+Anselm to all other remote ports.
+
+Outgoing connections, from Anselm Cluster compute nodes are restricted
+to the internal network. Direct connections form compute nodes to
+outside world are cut.
+
+Port forwarding
+---------------
+
+### []()Port forwarding from login nodes
+
+Port forwarding allows an application running on Anselm to connect to
+arbitrary remote host and port.
+
+It works by tunneling the connection from Anselm back to users
+workstation and forwarding from the workstation to the remote host.
+
+Pick some unused port on Anselm login node  (for example 6000) and
+establish the port forwarding:
+
+``` 
+local $ ssh -R 6000:remote.host.com:1234 anselm.it4i.cz
+```
+
+In this example, we establish port forwarding between port 6000 on
+Anselm and  port 1234 on the remote.host.com. By accessing
+localhost:6000 on Anselm, an application will see response of
+remote.host.com:1234. The traffic will run via users local workstation.
+
+Port forwarding may be done **using PuTTY** as well. On the PuTTY
+Configuration screen, load your Anselm configuration first. Then go to
+Connection-&gt;SSH-&gt;Tunnels to set up the port forwarding. Click
+Remote radio button. Insert 6000 to Source port textbox. Insert
+remote.host.com:1234. Click Add button, then Open.
+
+Port forwarding may be established directly to the remote host. However,
+this requires that user has ssh access to remote.host.com
+
+``` 
+$ ssh -L 6000:localhost:1234 remote.host.com
+```
+
+NotePort number 6000 is chosen as an example only. Pick any free port.
+
+### []()Port forwarding from compute nodes
+
+Remote port forwarding from compute nodes allows applications running on
+the compute nodes to access hosts outside Anselm Cluster.
+
+First, establish the remote port forwarding form the login node, as
+[described above](#port-forwarding-from-login-nodes).
+
+Second, invoke port forwarding from the compute node to the login node.
+Insert following line into your jobscript or interactive shell
+
+``` 
+$ ssh  -TN -f -L 6000:localhost:6000 login1
+```
+
+In this example, we assume that port forwarding from login1:6000 to
+remote.host.com:1234 has been established beforehand. By accessing
+localhost:6000, an application running on a compute node will see
+response of remote.host.com:1234
+
+### Using proxy servers
+
+Port forwarding is static, each single port is mapped to a particular
+port on remote host. Connection to other remote host, requires new
+forward.
+
+Applications with inbuilt proxy support, experience unlimited access to
+remote hosts, via single proxy server.
+
+To establish local proxy server on your workstation, install and run
+SOCKS proxy server software. On Linux, sshd demon provides the
+functionality. To establish SOCKS proxy server listening on port 1080
+run:
+
+``` 
+local $ ssh -D 1080 localhost
+```
+
+On Windows, install and run the free, open source [Sock
+Puppet](http://sockspuppet.com/) server.
+
+Once the proxy server is running, establish ssh port forwarding from
+Anselm to the proxy server, port 1080, exactly as [described
+above](#port-forwarding-from-login-nodes).
+
+``` 
+local $ ssh -R 6000:localhost:1080 anselm.it4i.cz
+```
+
+Now, configure the applications proxy settings to **localhost:6000**.
+Use port forwarding  to access the [proxy server from compute
+nodes](#port-forwarding-from-compute-nodes) as well .
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md
new file mode 100644
index 0000000000000000000000000000000000000000..45cb9ccf5bceff08fb0a45914a08048a8b054a00
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md
@@ -0,0 +1,142 @@
+Shell access and data transfer 
+==============================
+
+
+
+  
+
+Interactive Login
+-----------------
+
+The Anselm cluster is accessed by SSH protocol via login nodes login1
+and login2 at address anselm.it4i.cz. The login nodes may be addressed
+specifically, by prepending the login node name to the address.
+
+  Login address           Port   Protocol   Login node
+  ----------------------- ------ ---------- ----------------------------------------------
+  anselm.it4i.cz          22     ssh        round-robin DNS record for login1 and login2
+  login1.anselm.it4i.cz   22     ssh        login1
+  login2.anselm.it4i.cz   22     ssh        login2
+
+The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+Please verify SSH fingerprints during the first logon. They are
+identical on all login nodes:<span class="monospace">
+29:b3:f4:64:b0:73:f5:6f:a7:85:0f:e0:0d:be:76:bf (DSA)
+d4:6f:5c:18:f4:3f:70:ef:bc:fc:cc:2b:fd:13:36:b7 (RSA)</span>
+
+ 
+
+Private keys authentication:
+
+On **Linux** or **Mac**, use
+
+``` 
+local $ ssh -i /path/to/id_rsa username@anselm.it4i.cz
+```
+
+If you see warning message "UNPROTECTED PRIVATE KEY FILE!", use this
+command to set lower permissions to private key file.
+
+``` 
+local $ chmod 600 /path/to/id_rsa
+```
+
+On **Windows**, use [PuTTY ssh
+client](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty).
+
+After logging in, you will see the command prompt:
+
+                                                _
+                           /                  | |
+                          /     _ __  ___  ___| |_ __ ___
+                         / /  | '_ / __|/ _  | '_ ` _ 
+                        / ____ | | | __   __/ | | | | | |
+                       /_/    __| |_|___/___|_|_| |_| |_|
+
+
+                            http://www.it4i.cz/?lang=en
+
+
+    Last loginTue Jul  9 15:57:38 2013 from your-host.example.com
+    [username@login2.anselm ~]$
+
+The environment is **not** shared between login nodes, except for
+[shared
+filesystems](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1#section-1).
+
+Data Transfer
+-------------
+
+Data in and out of the system may be transferred by the
+[scp](http://en.wikipedia.org/wiki/Secure_copy) and sftp
+protocols. <span class="discreet">(Not available yet.) In case large
+volumes of data are transferred, use dedicated data mover node
+dm1.anselm.it4i.cz for increased performance.</span>
+
+  Address                                            Port                               Protocol
+  -------------------------------------------------- ---------------------------------- -----------------------------------------
+  anselm.it4i.cz                                     22                                 scp, sftp
+  login1.anselm.it4i.cz                              22                                 scp, sftp
+  login2.anselm.it4i.cz                              22                                 scp, sftp
+  <span class="discreet">dm1.anselm.it4i.cz</span>   <span class="discreet">22</span>   <span class="discreet">scp, sftp</span>
+
+ The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+Data transfer rates up to **160MB/s** can be achieved with scp or sftp.
+1TB may be transferred in 1:50h.
+
+To achieve 160MB/s transfer rates, the end user must be connected by 10G
+line all the way to IT4Innovations and use computer with fast processor
+for the transfer. Using Gigabit ethernet connection, up to 110MB/s may
+be expected.  Fast cipher (aes128-ctr) should be used.
+
+If you experience degraded data transfer performance, consult your local
+network provider.
+
+On linux or Mac, use scp or sftp client to transfer the data to Anselm:
+
+``` 
+local $ scp -i /path/to/id_rsa my-local-file username@anselm.it4i.cz:directory/file
+```
+
+``` 
+local $ scp -i /path/to/id_rsa -r my-local-dir username@anselm.it4i.cz:directory
+```
+
+> or
+
+``` 
+local $ sftp -o IdentityFile=/path/to/id_rsa username@anselm.it4i.cz
+```
+
+Very convenient way to transfer files in and out of the Anselm computer
+is via the fuse filesystem
+[sshfs](http://linux.die.net/man/1/sshfs)
+
+``` 
+local $ sshfs -o IdentityFile=/path/to/id_rsa username@anselm.it4i.cz:. mountpoint
+```
+
+Using sshfs, the users Anselm home directory will be mounted on your
+local computer, just like an external disk.
+
+Learn more on ssh, scp and sshfs by reading the manpages
+
+``` 
+$ man ssh
+$ man scp
+$ man sshfs
+```
+
+On Windows, use [WinSCP
+client](http://winscp.net/eng/download.php) to transfer
+the data. The [win-sshfs
+client](http://code.google.com/p/win-sshfs/) provides a
+way to mount the Anselm filesystems directly as an external disc.
+
+More information about the shared file systems is available
+[here](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage).
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1.md b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..f823bd0275d558eba269c121067be3bd7024b061
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/storage-1.md
@@ -0,0 +1,510 @@
+Storage 
+=======
+
+
+
+  
+
+There are two main shared file systems on Anselm cluster, the
+[HOME](#home) and [SCRATCH](#scratch). All
+login and compute nodes may access same data on shared filesystems.
+Compute nodes are also equipped with local (non-shared) scratch, ramdisk
+and tmp filesystems.
+
+Archiving
+---------
+
+Please don't use shared filesystems as a backup for large amount of data
+or long-term archiving mean. The academic staff and students of research
+institutions in the Czech Republic can use [CESNET storage
+service](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage),
+which is available via SSHFS.
+
+Shared Filesystems
+------------------
+
+Anselm computer provides two main shared filesystems, the [HOME
+filesystem](#home) and the [SCRATCH
+filesystem](#scratch). Both HOME and SCRATCH filesystems
+are realized as a parallel Lustre filesystem. Both shared file systems
+are accessible via the Infiniband network. Extended ACLs are provided on
+both Lustre filesystems for the purpose of sharing data with other users
+using fine-grained control.
+
+### Understanding the Lustre Filesystems
+
+(source <http://www.nas.nasa.gov>)
+
+A user file on the Lustre filesystem can be divided into multiple chunks
+(stripes) and stored across a subset of the object storage targets
+(OSTs) (disks). The stripes are distributed among the OSTs in a
+round-robin fashion to ensure load balancing.
+
+When a client (a <span class="glossaryItem">compute <span
+class="glossaryItem">node</span></span> from your job) needs to create
+or access a file, the client queries the metadata server (<span
+class="glossaryItem">MDS</span>) and the metadata target (<span
+class="glossaryItem">MDT</span>) for the layout and location of the
+[file's
+stripes](http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping).
+Once the file is opened and the client obtains the striping information,
+the <span class="glossaryItem">MDS</span> is no longer involved in the
+file I/O process. The client interacts directly with the object storage
+servers (OSSes) and OSTs to perform I/O operations such as locking, disk
+allocation, storage, and retrieval.
+
+If multiple clients try to read and write the same part of a file at the
+same time, the Lustre distributed lock manager enforces coherency so
+that all clients see consistent results.
+
+There is default stripe configuration for Anselm Lustre filesystems.
+However, users can set the following stripe parameters for their own
+directories or files to get optimum I/O performance:
+
+1.  stripe_sizethe size of the chunk in bytes; specify with k, m, or
+    g to use units of KB, MB, or GB, respectively; the size must be an
+    even multiple of 65,536 bytes; default is 1MB for all Anselm Lustre
+    filesystems
+2.  stripe_count the number of OSTs to stripe across; default is 1 for
+    Anselm Lustre filesystems  one can specify -1 to use all OSTs in
+    the filesystem.
+3.  stripe_offset The index of the <span
+    class="glossaryItem">OST</span> where the first stripe is to be
+    placed; default is -1 which results in random selection; using a
+    non-default value is NOT recommended.
+
+ 
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+Use the lfs getstripe for getting the stripe parameters. Use the lfs
+setstripe command for setting the stripe parameters to get optimal I/O
+performance The correct stripe setting depends on your needs and file
+access patterns. 
+
+``` 
+$ lfs getstripe dir|filename 
+$ lfs setstripe -s stripe_size -c stripe_count -o stripe_offset dir|filename 
+```
+
+Example:
+
+``` 
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count  1 stripe_size   1048576 stripe_offset -1
+
+$ lfs setstripe -c -1 /scratch/username/
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count 10 stripe_size   1048576 stripe_offset -1
+```
+
+In this example, we view current stripe setting of the
+/scratch/username/ directory. The stripe count is changed to all OSTs,
+and verified. All files written to this directory will be striped over
+10 OSTs
+
+Use lfs check OSTs to see the number and status of active OSTs for each
+filesystem on Anselm. Learn more by reading the man page
+
+``` 
+$ lfs check osts
+$ man lfs
+```
+
+### Hints on Lustre Stripping
+
+Increase the stripe_count for parallel I/O to the same file.
+
+When multiple processes are writing blocks of data to the same file in
+parallel, the I/O performance for large files will improve when the
+stripe_count is set to a larger value. The stripe count sets the number
+of OSTs the file will be written to. By default, the stripe count is set
+to 1. While this default setting provides for efficient access of
+metadata (for example to support the ls -l command), large files should
+use stripe counts of greater than 1. This will increase the aggregate
+I/O bandwidth by using multiple OSTs in parallel instead of just one. A
+rule of thumb is to use a stripe count approximately equal to the number
+of gigabytes in the file.
+
+Another good practice is to make the stripe count be an integral factor
+of the number of processes performing the write in parallel, so that you
+achieve load balance among the OSTs. For example, set the stripe count
+to 16 instead of 15 when you have 64 processes performing the writes.
+
+Using a large stripe size can improve performance when accessing very
+large files
+
+Large stripe size allows each client to have exclusive access to its own
+part of a file. However, it can be counterproductive in some cases if it
+does not match your I/O pattern. The choice of stripe size has no effect
+on a single-stripe file.
+
+Read more on
+<http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html>
+
+### Lustre on Anselm
+
+The  architecture of Lustre on Anselm is composed of two metadata
+servers (MDS) and four data/object storage servers (OSS). Two object
+storage servers are used for file system HOME and another two object
+storage servers are used for file system SCRATCH.
+
+<span class="emphasis">Configuration of the storages</span>
+
+
+-   <span class="emphasis">HOME Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E5400
+    -   22 OSTs
+    -   227 2TB NL-SAS 7.2krpm disks
+    -   22 groups of 10 disks in RAID6 (8+2)
+    -   7 hot-spare disks
+
+    
+
+-   <span class="emphasis">SCRATCH Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   Two disk arrays NetApp E5400
+    -   10 OSTs
+    -   106 2TB NL-SAS 7.2krpm disks
+    -   10 groups of 10 disks in RAID6 (8+2)
+    -   6 hot-spare disks
+
+    
+
+-   <span class="emphasis">Lustre metadata storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E2600
+    -   12 300GB SAS 15krpm disks
+    -   2 groups of 5 disks in RAID5
+    -   2 hot-spare disks
+
+    
+
+
+
+### []()[]()HOME
+
+The HOME filesystem is mounted in directory /home. Users home
+directories /home/username reside on this filesystem. Accessible
+capacity is 320TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 250GB per user. <span>If
+250GB should prove as insufficient for particular user, please
+contact</span> [support](https://support.it4i.cz/rt),
+the quota may be lifted upon request.
+
+The HOME filesystem is intended for preparation, evaluation, processing
+and storage of data generated by active Projects.
+
+The HOME filesystem should not be used to archive data of past Projects
+or other unrelated data.
+
+The files on HOME filesystem will not be deleted until end of the [users
+lifecycle](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials).
+
+The filesystem is backed up, such that it can be restored in case of 
+catasthropic failure resulting in significant data loss. This backup
+however is not intended to restore old versions of user data or to
+restore (accidentaly) deleted files. 
+
+The HOME filesystem is realized as Lustre parallel filesystem and is
+available on all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 22 OSTs
+dedicated for the HOME filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+HOME filesystem
+Mountpoint
+/home
+Capacity
+320TB
+Throughput
+2GB/s
+User quota
+250GB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+22
+### []()[]()SCRATCH
+
+The SCRATCH filesystem is mounted in directory /scratch. Users may
+freely create subdirectories and files on the filesystem. Accessible
+capacity is 146TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 100TB per user. The
+purpose of this quota is to prevent runaway programs from filling the
+entire filesystem and deny service to other users. <span>If 100TB should
+prove as insufficient for particular user, please contact
+[support](https://support.it4i.cz/rt), the quota may be
+lifted upon request. </span>
+
+The Scratch filesystem is intended  for temporary scratch data generated
+during the calculation as well as for high performance access to input
+and output files. All I/O intensive jobs must use the SCRATCH filesystem
+as their working directory.
+
+Users are advised to save the necessary data from the SCRATCH filesystem
+to HOME filesystem after the calculations and clean up the scratch
+files.
+
+Files on the SCRATCH filesystem that are **not accessed for more than 90
+days** will be automatically **deleted**.
+
+The SCRATCH filesystem is realized as Lustre parallel filesystem and is
+available from all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 10 OSTs
+dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+SCRATCH filesystem
+Mountpoint
+/scratch
+Capacity
+146TB
+Throughput
+6GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+10
+### <span>Disk usage and quota commands</span>
+
+<span>User quotas on the file systems can be checked and reviewed using
+following command:</span>
+
+``` 
+$ lfs quota dir
+```
+
+Example for Lustre HOME directory:
+
+``` 
+$ lfs quota /home
+Disk quotas for user user001 (uid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+         /home  300096       0 250000000       -    2102       0  500000    -
+Disk quotas for group user001 (gid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+        /home  300096       0       0       -    2102       0       0       -
+```
+
+In this example, we view current quota size limit of 250GB and 300MB
+currently used by user001.
+
+Example for Lustre SCRATCH directory:
+
+``` 
+$ lfs quota /scratch
+Disk quotas for user user001 (uid 1234):
+     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+          /scratch       8       0 100000000000       -       3       0       0       -
+Disk quotas for group user001 (gid 1234):
+ Filesystem kbytes quota limit grace files quota limit grace
+ /scratch       8       0       0       -       3       0       0       -
+```
+
+In this example, we view current quota size limit of 100TB and 8KB
+currently used by user001.
+
+ 
+
+To have a better understanding of where the space is exactly used, you
+can use following command to find out.
+
+``` 
+$ du -hs dir
+```
+
+Example for your HOME directory:
+
+``` 
+$ cd /home
+$ du -hs * .[a-zA-z0-9]* | grep -E "[0-9]*G|[0-9]*M" | sort -hr
+258M     cuda-samples
+15M      .cache
+13M      .mozilla
+5,5M     .eclipse
+2,7M     .idb_13.0_linux_intel64_app
+```
+
+This will list all directories which are having MegaBytes or GigaBytes
+of consumed space in your actual (in this example HOME) directory. List
+is sorted in descending order from largest to smallest
+files/directories.
+
+
+<span>To have a better understanding of previous commands, you can read
+manpages.</span>
+
+``` 
+$ man lfs
+```
+
+``` 
+$ man du 
+```
+
+### Extended ACLs
+
+Extended ACLs provide another security mechanism beside the standard
+POSIX ACLs which are defined by three entries (for
+owner/group/others). Extended ACLs have more than the three basic
+entries. In addition, they also contain a mask entry and may contain any
+number of named user and named group entries.
+
+ACLs on a Lustre file system work exactly like ACLs on any Linux file
+system. They are manipulated with the standard tools in the standard
+manner. Below, we create a directory and allow a specific user access.
+
+``` 
+[vop999@login1.anselm ~]$ umask 027
+[vop999@login1.anselm ~]$ mkdir test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxr-x--- 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+group::r-x
+other::---
+
+[vop999@login1.anselm ~]$ setfacl -m user:johnsm:rwx test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxrwx---+ 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+user:johnsm:rwx
+group::r-x
+mask::rwx
+other::---
+```
+
+Default ACL mechanism can be used to replace setuid/setgid permissions
+on directories. Setting a default ACL on a directory (-d flag to
+setfacl) will cause the ACL permissions to be inherited by any newly
+created file or subdirectory within the directory. Refer to this page
+for more information on Linux ACL:
+
+[http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html ](http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html)
+
+Local Filesystems
+-----------------
+
+### Local Scratch
+
+Every computational node is equipped with 330GB local scratch disk.
+
+Use local scratch in case you need to access large amount of small files
+during your calculation.
+
+[]()The local scratch disk is mounted as /lscratch and is accessible to
+user at /lscratch/$PBS_JOBID directory.
+
+The local scratch filesystem is intended  for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. All I/O intensive jobs that access large
+number of small files within the calculation must use the local scratch
+filesystem as their working directory. This is required for performance
+reasons, as frequent access to number of small files may overload the
+metadata servers (MDS) of the Lustre filesystem.
+
+The local scratch directory /lscratch/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+local SCRATCH filesystem
+Mountpoint
+/lscratch
+Accesspoint
+/lscratch/$PBS_JOBID
+Capacity
+330GB
+Throughput
+100MB/s
+User quota
+none
+### RAM disk
+
+Every computational node is equipped with filesystem realized in memory,
+so called RAM disk.
+
+Use RAM disk in case you need really fast access to your data of limited
+size during your calculation.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+[]()The local RAM disk is mounted as /ramdisk and is accessible to user
+at /ramdisk/$PBS_JOBID directory.
+
+The local RAM disk filesystem is intended for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. Size of RAM disk filesystem is limited. Be
+very careful, use of RAM disk filesystem is at the expense of
+operational memory.  It is not recommended to allocate large amount of
+memory and use large amount of data in RAM disk filesystem at the same
+time.
+
+The local RAM disk directory /ramdisk/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+RAM disk
+Mountpoint
+<span class="monospace">/ramdisk</span>
+Accesspoint
+<span class="monospace">/ramdisk/$PBS_JOBID</span>
+Capacity
+60GB at compute nodes without accelerator
+
+90GB at compute nodes with accelerator
+
+500GB at fat nodes
+
+Throughput
+over 1.5 GB/s write, over 5 GB/s read, single thread
+over 10 GB/s write, over 50 GB/s read, 16 threads
+
+User quota
+none
+### tmp
+
+Each node is equipped with local /tmp directory of few GB capacity. The
+/tmp directory should be used to work with small temporary files. Old
+files in /tmp directory are automatically purged.
+
+
+**Summary
+**
+----------
+
+
+  Mountpoint                                 Usage                       Protocol   Net Capacity     Throughput   Limitations   Access                    Services
+  ------------------------------------------ --------------------------- ---------- ---------------- ------------ ------------- ------------------------- -----------------------------
+  <span class="monospace">/home</span>       home directory              Lustre     320 TiB          2 GB/s       Quota 250GB   Compute and login nodes   backed up
+  <span class="monospace">/scratch</span>    cluster shared jobs' data   Lustre     146 TiB          6 GB/s       Quota 100TB   Compute and login nodes   files older 90 days removed
+  <span class="monospace">/lscratch</span>   node local jobs' data       local      330 GB           100 MB/s     none          Compute nodes             purged after job ends
+  <span class="monospace">/ramdisk</span>    node local jobs' data       local      60, 90, 500 GB   5-50 GB/s    none          Compute nodes             purged after job ends
+  <span class="monospace">/tmp</span>        local temporary files       local                       100 MB/s     none          Compute and login nodes   auto purged
+
+ 
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md
new file mode 100644
index 0000000000000000000000000000000000000000..91ec70e5ebbdfcd6951df20dff657acfcf43676e
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access.md
@@ -0,0 +1,126 @@
+VPN Access 
+==========
+
+
+
+  
+
+Accessing IT4Innovations internal resources via VPN
+---------------------------------------------------
+
+**Failed to initialize connection subsystem Win 8.1 - 02-10-15 MS
+patch**
+Workaround can be found at
+<https://docs.it4i.cz/vpn-connection-fail-in-win-8.1>
+
+ 
+
+For using resources and licenses which are located at IT4Innovations
+local network, it is necessary to VPN connect to this network.
+We use Cisco AnyConnect Secure Mobility Client, which is supported on
+the following operating systems:
+
+-   <span>Windows XP</span>
+-   <span>Windows Vista</span>
+-   <span>Windows 7</span>
+-   <span>Windows 8</span>
+-   <span>Linux</span>
+-   <span>MacOS</span>
+
+It is impossible to connect to VPN from other operating systems.
+
+<span>VPN client installation</span>
+------------------------------------
+
+You can install VPN client from web interface after successful login
+with LDAP credentials on address <https://vpn1.it4i.cz/anselm>
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/login.jpg/@@images/30271119-b392-4db9-a212-309fb41925d6.jpeg)
+
+According to the Java settings after login, the client either
+automatically installs, or downloads installation file for your
+operating system. It is necessary to allow start of installation tool
+for automatic installation.
+
+![Java
+detection](https://docs.it4i.cz/anselm-cluster-documentation/java_detection.jpg/@@images/5498e1ba-2242-4b9c-a799-0377a73f779e.jpeg "Java detection")
+
+![Execution
+access](https://docs.it4i.cz/anselm-cluster-documentation/executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg "Execution access")![Execution
+access
+2](https://docs.it4i.cz/anselm-cluster-documentation/executionaccess2.jpg/@@images/bed3998c-4b82-4b40-83bd-c3528dde2425.jpeg "Execution access 2")
+
+After successful installation, VPN connection will be established and
+you can use available resources from IT4I network.
+
+![Successfull
+instalation](https://docs.it4i.cz/anselm-cluster-documentation/successfullinstalation.jpg/@@images/c6d69ffe-da75-4cb6-972a-0cf4c686b6e1.jpeg "Successfull instalation")
+
+If your Java setting doesn't allow automatic installation, you can
+download installation file and install VPN client manually.
+
+![Installation
+file](https://docs.it4i.cz/anselm-cluster-documentation/instalationfile.jpg/@@images/202d14e9-e2e1-450b-a584-e78c018d6b6a.jpeg "Installation file")
+
+After you click on the link, download of installation file will start.
+
+![Download file
+successfull](https://docs.it4i.cz/anselm-cluster-documentation/downloadfilesuccessfull.jpg/@@images/69842481-634a-484e-90cd-d65e0ddca1e8.jpeg "Download file successfull")
+
+After successful download of installation file, you have to execute this
+tool with administrator's rights and install VPN client manually.
+
+Working with VPN client
+-----------------------
+
+You can use graphical user interface or command line interface to run
+VPN client on all supported operating systems. We suggest using GUI.
+
+![Icon](https://docs.it4i.cz/anselm-cluster-documentation/icon.jpg "Icon")
+
+Before the first login to VPN, you have to fill
+URL **https://vpn1.it4i.cz/anselm** into the text field.
+
+![First
+run](https://docs.it4i.cz/anselm-cluster-documentation/firstrun.jpg "First run")
+
+After you click on the Connect button, you must fill your login
+credentials.
+
+![Login -
+GUI](https://docs.it4i.cz/anselm-cluster-documentation/logingui.jpg "Login - GUI")
+
+After a successful login, the client will minimize to the system tray.
+If everything works, you can see a lock in the Cisco tray icon.
+
+![Successfull
+connection](https://docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg "Successfull connection")
+
+If you right-click on this icon, you will see a context menu in which
+you can control the VPN connection.
+
+![Context
+menu](https://docs.it4i.cz/anselm-cluster-documentation/anyconnectcontextmenu.jpg "Context menu")
+
+When you connect to the VPN for the first time, the client downloads the
+profile and creates a new item "ANSELM" in the connection list. For
+subsequent connections, it is not necessary to re-enter the URL address,
+but just select the corresponding item.
+
+![Anselm
+profile](https://docs.it4i.cz/anselm-cluster-documentation/Anselmprofile.jpg "Anselm profile")
+
+Then AnyConnect automatically proceeds like in the case of first logon.
+
+![Login with
+profile](https://docs.it4i.cz/anselm-cluster-documentation/loginwithprofile.jpg/@@images/a6fd5f3f-bce4-45c9-85e1-8d93c6395eee.jpeg "Login with profile")
+
+After a successful logon, you can see a green circle with a tick mark on
+the lock icon.
+
+![successful
+login](https://docs.it4i.cz/anselm-cluster-documentation/successfullconnection.jpg "successful login")
+
+For disconnecting, right-click on the AnyConnect client icon in the
+system tray and select **VPN Disconnect**.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc.md b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc.md
new file mode 100644
index 0000000000000000000000000000000000000000..1a5958806c8af0d110147517225b6ed599cfce26
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc.md
@@ -0,0 +1,31 @@
+Graphical User Interface 
+========================
+
+
+
+  
+
+X Window System
+---------------
+
+The X Window system is a principal way to get GUI access to the
+clusters.
+
+Read more about configuring [**X Window
+System**](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+VNC
+---
+
+The **Virtual Network Computing** (**VNC**) is a graphical <span
+class="link-external">[desktop
+sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing")</span>
+system that uses the <span class="link-external">[Remote Frame Buffer
+protocol
+(RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol")</span>
+to remotely control another <span
+class="link-external">[computer](http://en.wikipedia.org/wiki/Computer "Computer")</span>.
+
+Read more about configuring
+**[VNC](https://docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc)**.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/anyconnectcontextmenu.jpg b/docs.it4i.cz/anselm-cluster-documentation/anyconnectcontextmenu.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..26122f2f5965ce71489267d359eff21c39ed7960
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/anyconnectcontextmenu.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg b/docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d7397f5c43f659d71a6fe8413ad89dca8157bb48
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/bullxB510.png b/docs.it4i.cz/anselm-cluster-documentation/bullxB510.png
new file mode 100644
index 0000000000000000000000000000000000000000..abbb472fc66b730c609ac5dda573b5edc92c4884
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/bullxB510.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md b/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md
new file mode 100644
index 0000000000000000000000000000000000000000..45eb08e511b88b7cde5424207cd3a802d95c9c54
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/compute-nodes.md
@@ -0,0 +1,321 @@
+Compute Nodes 
+=============
+
+
+
+  
+
+Nodes Configuration
+-------------------
+
+Anselm is cluster of x86-64 Intel based nodes built on Bull Extreme
+Computing bullx technology. The cluster contains four types of compute
+nodes.****
+
+### **Compute Nodes Without Accelerator**
+
+
+-   <div class="itemizedlist">
+
+    180 nodes
+
+    
+
+-   <div class="itemizedlist">
+
+    2880 cores in total
+
+    
+
+-   <div class="itemizedlist">
+
+    two Intel Sandy Bridge E5-2665, 8-core, 2.4GHz processors per node
+
+    
+
+-   <div class="itemizedlist">
+
+    64 GB of physical memory per node
+
+    
+
+-   one 500GB SATA 2,5” 7,2 krpm HDD per node
+-   <div class="itemizedlist">
+
+    bullx B510 blade servers
+
+    
+
+-   <div class="itemizedlist">
+
+    cn[1-180]
+
+    
+
+### **Compute Nodes With GPU Accelerator**
+
+-   <div class="itemizedlist">
+
+    23 nodes
+
+    
+
+-   <div class="itemizedlist">
+
+    368 cores in total
+
+    
+
+-   <div class="itemizedlist">
+
+    two Intel Sandy Bridge E5-2470, 8-core, 2.3GHz processors per node
+
+    
+
+-   <div class="itemizedlist">
+
+    96 GB of physical memory per node
+
+    
+
+-   one 500GB SATA 2,5” 7,2 krpm HDD per node
+-   <div class="itemizedlist">
+
+    GPU accelerator 1x NVIDIA Tesla Kepler K20 per node
+
+    
+
+-   <div class="itemizedlist">
+
+    bullx B515 blade servers
+
+    
+
+-   <div class="itemizedlist">
+
+    cn[181-203]
+
+    
+
+### **Compute Nodes With MIC Accelerator**
+
+-   <div class="itemizedlist">
+
+    4 nodes
+
+    
+
+-   <div class="itemizedlist">
+
+    64 cores in total
+
+    
+
+-   <div class="itemizedlist">
+
+    two Intel Sandy Bridge E5-2470, 8-core, 2.3GHz processors per node
+
+    
+
+-   <div class="itemizedlist">
+
+    96 GB of physical memory per node
+
+    
+
+-   one 500GB SATA 2,5” 7,2 krpm HDD per node
+-   <div class="itemizedlist">
+
+    MIC accelerator 1x Intel Phi 5110P per node
+
+    
+
+-   <div class="itemizedlist">
+
+    bullx B515 blade servers
+
+    
+
+-   <div class="itemizedlist">
+
+    cn[204-207]
+
+    
+
+### **Fat Compute Nodes**
+
+-   <div>
+
+    2 nodes
+
+    
+
+-   <div>
+
+    32 cores in total
+
+    
+
+-   <div>
+
+    2 Intel Sandy Bridge E5-2665, 8-core, 2.4GHz processors per node
+
+    
+
+-   <div>
+
+    512 GB of physical memory per node
+
+    
+
+-   two 300GB SAS 3,5”15krpm HDD (RAID1) per node
+-   <div>
+
+    two 100GB SLC SSD per node
+
+    
+
+-   <div>
+
+    bullx R423-E3 servers
+
+    
+
+-   <div>
+
+    cn[208-209]
+
+    
+
+
+
+ 
+
+
+**![](https://docs.it4i.cz/anselm-cluster-documentation/bullxB510.png)**
+
+****Figure Anselm bullx B510 servers****
+
+### Compute Nodes Summary********
+
+  Node type                    Count   Range           Memory   Cores         [Access](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy)
+  ---------------------------- ------- --------------- -------- ------------- -----------------------------------------------------------------------------------------------------------------------------------------------
+  Nodes without accelerator    180     cn[1-180]     64GB     16 @ 2.4Ghz   qexp, qprod, qlong, qfree
+  Nodes with GPU accelerator   23      cn[181-203]   96GB     16 @ 2.3Ghz   qgpu, qprod
+  Nodes with MIC accelerator   4       cn[204-207]   96GB     16 @ 2.3GHz   qmic, qprod
+  Fat compute nodes            2       cn[208-209]   512GB    16 @ 2.4GHz   qfat, qprod
+
+
+
+Processor Architecture
+----------------------
+
+
+
+Anselm is equipped with Intel Sandy Bridge processors Intel Xeon E5-2665
+(nodes without accelerator and fat nodes) and Intel Xeon E5-2470 (nodes
+with accelerator). Processors support Advanced Vector Extensions (AVX)
+256-bit instruction set.
+
+### Intel Sandy Bridge E5-2665 Processor
+-   eight-core
+-   speed2.4 GHz, up to 3.1 GHz using Turbo Boost Technology
+-   peak performance<span class="emphasis">19.2 Gflop/s</span> per
+    core
+-   caches:
+    <div class="itemizedlist">
+
+    -   L2256 KB per core
+    -   L320 MB per processor
+
+    
+
+-   memory bandwidth at the level of the processor51.2 GB/s
+
+### Intel Sandy Bridge E5-2470 Processor
+-   eight-core
+-   speed2.3 GHz, up to 3.1 GHz using Turbo Boost Technology
+-   peak performance<span class="emphasis">18.4 Gflop/s</span> per
+    core
+-   caches:
+    <div class="itemizedlist">
+
+    -   L2256 KB per core
+    -   L320 MB per processor
+
+    
+
+-   memory bandwidth at the level of the processor38.4 GB/s
+
+
+
+ 
+
+Nodes equipped with Intel Xeon E5-2665 CPU have set PBS resource
+attribute cpu_freq = 24, nodes equipped with Intel Xeon E5-2470 CPU
+have set PBS resource attribute cpu_freq = 23.
+
+
+
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=16:cpu_freq=24 -I
+```
+
+
+In this example, we allocate 4 nodes, 16 cores at 2.4GHhz per node.
+
+Intel Turbo Boost Technology is used by default,  you can disable it for
+all nodes of job by using resource attribute cpu_turbo_boost.
+
+
+
+    $ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=16 -l cpu_turbo_boost=0 -I
+
+Memory Architecture
+-------------------
+
+### Compute Node Without Accelerator
+-   2 sockets
+-   Memory Controllers are integrated into processors.
+    <div class="itemizedlist">
+
+    -   8 DDR3 DIMMS per node
+    -   4 DDR3 DIMMS per CPU
+    -   1 DDR3 DIMMS per channel
+    -   Data rate supportup to 1600MT/s
+
+    
+
+-   Populated memory8x 8GB DDR3 DIMM 1600Mhz
+
+### Compute Node With GPU or MIC Accelerator
+-   2 sockets
+-   Memory Controllers are integrated into processors.
+    <div class="itemizedlist">
+
+    -   6 DDR3 DIMMS per node
+    -   3 DDR3 DIMMS per CPU
+    -   1 DDR3 DIMMS per channel
+    -   Data rate supportup to 1600MT/s
+
+    
+
+-   Populated memory6x 16GB DDR3 DIMM 1600Mhz
+
+### Fat Compute Node
+-   2 sockets
+-   Memory Controllers are integrated into processors.
+    <div class="itemizedlist">
+
+    -   16 DDR3 DIMMS per node
+    -   8 DDR3 DIMMS per CPU
+    -   2 DDR3 DIMMS per channel
+    -   Data rate supportup to 1600MT/s
+
+    
+
+-   Populated memory16x 32GB DDR3 DIMM 1600Mhz
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/downloadfilesuccessfull.jpg/@@images/69842481-634a-484e-90cd-d65e0ddca1e8.jpeg b/docs.it4i.cz/anselm-cluster-documentation/downloadfilesuccessfull.jpg/@@images/69842481-634a-484e-90cd-d65e0ddca1e8.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..be0d8c671fbdb1631a53698c5f53d8708cb3758e
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/downloadfilesuccessfull.jpg/@@images/69842481-634a-484e-90cd-d65e0ddca1e8.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md b/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md
new file mode 100644
index 0000000000000000000000000000000000000000..c1dab93a26585802a2a66116bbcccc1aee483627
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/environment-and-modules.md
@@ -0,0 +1,114 @@
+Environment and Modules 
+=======================
+
+
+
+  
+
+### Environment Customization
+
+After logging in, you may want to configure the environment. Write your
+preferred path definitions, aliases, functions and module loads in the
+.bashrc file
+
+``` 
+# ./bashrc
+
+# Source global definitions
+if [ -f /etc/bashrc ]; then
+      . /etc/bashrc
+fi
+
+# User specific aliases and functions
+alias qs='qstat -a'
+module load PrgEnv-gnu
+
+# Display informations to standard output - only in interactive ssh session
+if [ -n "$SSH_TTY" ]
+then
+ module list # Display loaded modules
+fi
+```
+
+Do not run commands outputing to standard output (echo, module list,
+etc) in .bashrc  for non-interactive SSH sessions. It breaks fundamental
+functionality (scp, PBS) of your account! Take care for SSH session
+interactivity for such commands as <span id="result_box"
+class="short_text"><span class="hps alt-edited">stated</span> <span
+class="hps">in the previous example.</span></span>
+
+### Application Modules
+
+In order to configure your shell for  running particular application on
+Anselm we use Module package interface.
+
+The modules set up the application paths, library paths and environment
+variables for running particular application.
+
+We have also second modules repository. This modules repository is
+created using tool called EasyBuild. On Salomon cluster, all modules
+will be build by this tool. If you want to use software from this
+modules repository, please follow instructions in section [Application
+Modules Path Expansion](#EasyBuild).
+
+The modules may be loaded, unloaded and switched, according to momentary
+needs.
+
+To check available modules use
+
+``` 
+$ module avail
+```
+
+To load a module, for example the octave module  use
+
+``` 
+$ module load octave
+```
+
+loading the octave module will set up paths and environment variables of
+your active shell such that you are ready to run the octave software
+
+To check loaded modules use
+
+``` 
+$ module list
+```
+
+ To unload a module, for example the octave module use
+
+``` 
+$ module unload octave
+```
+
+Learn more on modules by reading the module man page
+
+``` 
+$ man module
+```
+
+Following modules set up the development environment
+
+PrgEnv-gnu sets up the GNU development environment in conjunction with
+the bullx MPI library
+
+PrgEnv-intel sets up the INTEL development environment in conjunction
+with the Intel MPI library
+
+### []()Application Modules Path Expansion
+
+All application modules on Salomon cluster (and further) will be build
+using tool called
+[EasyBuild](http://hpcugent.github.io/easybuild/ "EasyBuild").
+In case that you want to use some applications that are build by
+EasyBuild already, you have to modify your MODULEPATH environment
+variable.
+
+``` 
+export MODULEPATH=$MODULEPATH:/apps/easybuild/modules/all/
+```
+
+This command expands your searched paths to modules. You can also add
+this command to the .bashrc file to expand paths permanently. After this
+command, you can use same commands to list/add/remove modules as is
+described above.
diff --git a/docs.it4i.cz/anselm-cluster-documentation/executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg b/docs.it4i.cz/anselm-cluster-documentation/executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..24993c8e26e0d2c9951bbb47c24d5e37111e7ed1
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/executionaccess.jpg/@@images/4d6e7cb7-9aa7-419c-9583-6dfd92b2c015.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/executionaccess2.jpg/@@images/bed3998c-4b82-4b40-83bd-c3528dde2425.jpeg b/docs.it4i.cz/anselm-cluster-documentation/executionaccess2.jpg/@@images/bed3998c-4b82-4b40-83bd-c3528dde2425.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..179ef898f65dc73e40a87de8db17afa207468135
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/executionaccess2.jpg/@@images/bed3998c-4b82-4b40-83bd-c3528dde2425.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/firstrun.jpg b/docs.it4i.cz/anselm-cluster-documentation/firstrun.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fb26fe932626bfbf927874d3953606078a130fbb
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/firstrun.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md b/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..1a0159573003b2b354c28023de399e0704105e99
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/hardware-overview.md
@@ -0,0 +1,404 @@
+Hardware Overview 
+=================
+
+
+
+  
+
+The Anselm cluster consists of 209 computational nodes named cn[1-209]
+of which 180 are regular compute nodes, 23 GPU Kepler K20 accelerated
+nodes, 4 MIC Xeon Phi 5110 accelerated nodes and 2 fat nodes. Each node
+is a <span class="WYSIWYG_LINK">powerful</span> x86-64 computer,
+equipped with 16 cores (two eight-core Intel Sandy Bridge processors),
+at least 64GB RAM, and local hard drive. The user access to the Anselm
+cluster is provided by two login nodes login[1,2]. The nodes are
+interlinked by high speed InfiniBand and Ethernet networks. All nodes
+share 320TB /home disk storage to store the user files. The 146TB shared
+/scratch storage is available for the scratch data.
+
+The Fat nodes are equipped with large amount (512GB) of memory.
+Virtualization infrastructure provides resources to run long term
+servers and services in virtual mode. Fat nodes and virtual servers may
+access 45 TB of dedicated block storage. Accelerated nodes, fat nodes,
+and virtualization infrastructure are available [upon
+request](https://support.it4i.cz/rt) made by a PI.
+
+Schematic representation of the Anselm cluster. Each box represents a
+node (computer) or storage capacity:
+
+
+User-oriented infrastructure
+Storage
+Management infrastructure
+  --------
+  login1
+  login2
+  dm1
+  --------
+
+**Rack 01, Switch isw5
+**
+
+  -------------- -------------- -------------- -------------- --------------
+  cn186          cn187                         cn188          cn189
+  cn181          cn182          cn183          cn184          cn185
+  -------------- -------------- -------------- -------------- --------------
+
+**Rack 01, Switch isw4
+**
+
+cn29
+cn30
+cn31
+cn32
+cn33
+cn34
+cn35
+cn36
+cn19
+cn20
+cn21
+cn22
+cn23
+cn24
+cn25
+cn26
+cn27
+cn28
+<table>
+<colgroup>
+<col width="100%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td align="left"><p> </p>
+<p> </p>
+<p>Lustre FS</p>
+<p>/home<br />
+320TB</p>
+<p> </p>
+<p> </p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>Lustre FS</p>
+<p>/scratch<br />
+146TB</p></td>
+</tr>
+</tbody>
+</table>
+
+Management
+nodes
+Block storage
+45 TB
+Virtualization
+infrastructure
+servers
+...
+Srv node
+Srv node
+Srv node
+...
+**Rack 01, Switch isw0
+**
+
+cn11
+cn12
+cn13
+cn14
+cn15
+cn16
+cn17
+cn18
+cn1
+cn2
+cn3
+cn4
+cn5
+cn6
+cn7
+cn8
+cn9
+cn10
+**Rack 02, Switch isw10
+**
+
+cn73
+cn74
+cn75
+cn76
+cn77
+cn78
+cn79
+cn80
+cn190
+cn191
+cn192
+cn205
+cn206
+**Rack 02, Switch isw9
+**
+
+cn65
+cn66
+cn67
+cn68
+cn69
+cn70
+cn71
+cn72
+cn55
+cn56
+cn57
+cn58
+cn59
+cn60
+cn61
+cn62
+cn63
+cn64
+**Rack 02, Switch isw6
+**
+
+cn47
+cn48
+cn49
+cn50
+cn51
+cn52
+cn53
+cn54
+cn37
+cn38
+cn39
+cn40
+cn41
+cn42
+cn43
+cn44
+cn45
+cn46
+**Rack 03, Switch isw15
+**
+
+cn193
+cn194
+cn195
+cn207
+cn117
+cn118
+cn119
+cn120
+cn121
+cn122
+cn123
+cn124
+cn125
+cn126
+**Rack 03, Switch isw14
+**
+
+cn109
+cn110
+cn111
+cn112
+cn113
+cn114
+cn115
+cn116
+cn99
+cn100
+cn101
+cn102
+cn103
+cn104
+cn105
+cn106
+cn107
+cn108
+**Rack 03, Switch isw11
+**
+
+cn91
+cn92
+cn93
+cn94
+cn95
+cn96
+cn97
+cn98
+cn81
+cn82
+cn83
+cn84
+cn85
+cn86
+cn87
+cn88
+cn89
+cn90
+**Rack 04, Switch isw20
+**
+
+cn173
+cn174
+cn175
+cn176
+cn177
+cn178
+cn179
+cn180
+cn163
+cn164
+cn165
+cn166
+cn167
+cn168
+cn169
+cn170
+cn171
+cn172
+**Rack 04, **Switch** isw19
+**
+
+cn155
+cn156
+cn157
+cn158
+cn159
+cn160
+cn161
+cn162
+cn145
+cn146
+cn147
+cn148
+cn149
+cn150
+cn151
+cn152
+cn153
+cn154
+**Rack 04, Switch isw16
+**
+
+cn137
+cn138
+cn139
+cn140
+cn141
+cn142
+cn143
+cn144
+cn127
+cn128
+cn129
+cn130
+cn131
+cn132
+cn133
+cn134
+cn135
+cn136
+**Rack 05, Switch isw21
+**
+
+  -------------- -------------- -------------- -------------- --------------
+  cn201          cn202                         cn203          cn204
+  cn196          cn197          cn198          cn199          cn200
+  -------------- -------------- -------------- -------------- --------------
+
+  ----------------
+  Fat node cn208
+  Fat node cn209
+  ...
+  ----------------
+
+
+
+The cluster compute nodes cn[1-207] are organized within 13 chassis. 
+
+There are four types of compute nodes:
+
+-   180 compute nodes without the accelerator
+-   23 compute nodes with GPU accelerator - equipped with NVIDIA Tesla
+    Kepler K20
+-   4 compute nodes with MIC accelerator - equipped with Intel Xeon Phi
+    5110P
+-   2 fat nodes - equipped with 512GB RAM and two 100GB SSD drives
+
+[More about Compute
+nodes](https://docs.it4i.cz/anselm-cluster-documentation/compute-nodes).
+
+GPU and accelerated nodes are available upon request, see the [Resources
+Allocation
+Policy](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy).
+
+All these nodes are interconnected by fast <span
+class="WYSIWYG_LINK">InfiniBand <span class="WYSIWYG_LINK">QDR</span>
+network</span> and Ethernet network.  [More about the <span
+class="WYSIWYG_LINK">Network</span>](https://docs.it4i.cz/anselm-cluster-documentation/network).
+Every chassis provides Infiniband switch, marked **isw**, connecting all
+nodes in the chassis, as well as connecting the chassis to the upper
+level switches.
+
+All nodes share 360TB /home disk storage to store user files. The 146TB
+shared /scratch storage is available for the scratch data. These file
+systems are provided by Lustre parallel file system. There is also local
+disk storage available on all compute nodes /lscratch.  [More about
+<span
+class="WYSIWYG_LINK">Storage</span>](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage).
+
+The user access to the Anselm cluster is provided by two login nodes
+login1, login2, and data mover node dm1. [More about accessing
+cluster.](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster)
+
+ The parameters are summarized in the following tables:
+
+**In general**
+Primary purpose
+High Performance Computing
+Architecture of compute nodes
+x86-64
+Operating system
+Linux
+[**Compute
+nodes**](https://docs.it4i.cz/anselm-cluster-documentation/compute-nodes)
+Totally
+209
+Processor cores
+16 (2x8 cores)
+RAM
+min. 64 GB, min. 4 GB per core
+Local disk drive
+yes - usually 500 GB
+Compute network
+InfiniBand QDR, fully non-blocking, fat-tree
+w/o accelerator
+180, cn[1-180]
+GPU accelerated
+23, cn[181-203]
+MIC accelerated
+4, cn[204-207]
+Fat compute nodes
+2, cn[208-209]
+**In total**
+Total theoretical peak performance  (Rpeak)
+94 Tflop/s
+Total max. LINPACK performance  (Rmax)
+73 Tflop/s
+Total amount of RAM
+15.136 TB
+  Node               Processor                               Memory   Accelerator
+  ------------------ --------------------------------------- -------- ----------------------
+  w/o accelerator    2x Intel Sandy Bridge E5-2665, 2.4GHz   64GB     -
+  GPU accelerated    2x Intel Sandy Bridge E5-2470, 2.3GHz   96GB     NVIDIA Kepler K20
+  MIC accelerated    2x Intel Sandy Bridge E5-2470, 2.3GHz   96GB     Intel Xeon Phi P5110
+  Fat compute node   2x Intel Sandy Bridge E5-2665, 2.4GHz   512GB    -
+
+  For more details please refer to the [Compute
+nodes](https://docs.it4i.cz/anselm-cluster-documentation/compute-nodes),
+[Storage](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage),
+and
+[Network](https://docs.it4i.cz/anselm-cluster-documentation/network).
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/icon.jpg.1 b/docs.it4i.cz/anselm-cluster-documentation/icon.jpg.1
new file mode 100644
index 0000000000000000000000000000000000000000..4b30645c513fd2dbba558de87e03fd5e6330dfab
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/icon.jpg.1 differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/icon.jpg/@@images/56ee3417-80b8-4988-b9d5-8cda3f894963.jpeg b/docs.it4i.cz/anselm-cluster-documentation/icon.jpg/@@images/56ee3417-80b8-4988-b9d5-8cda3f894963.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..436d5d5c30252ad07d58972951ba6dd5c70172c3
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/icon.jpg/@@images/56ee3417-80b8-4988-b9d5-8cda3f894963.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/instalationfile.jpg/@@images/202d14e9-e2e1-450b-a584-e78c018d6b6a.jpeg b/docs.it4i.cz/anselm-cluster-documentation/instalationfile.jpg/@@images/202d14e9-e2e1-450b-a584-e78c018d6b6a.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..71fcc12197b4c6246d457bd3ecd75c5e971fc174
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/instalationfile.jpg/@@images/202d14e9-e2e1-450b-a584-e78c018d6b6a.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/introduction.md b/docs.it4i.cz/anselm-cluster-documentation/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..a70fcdf735aa7f3200e9440d36add6a88485b661
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/introduction.md
@@ -0,0 +1,42 @@
+Introduction 
+============
+
+
+
+  
+
+Welcome to Anselm supercomputer cluster. The Anselm cluster consists of
+209 compute nodes, totaling 3344 compute cores with 15TB RAM and giving
+over 94 Tflop/s theoretical peak performance. Each node is a <span
+class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped with 16
+cores, at least 64GB RAM, and 500GB harddrive. Nodes are interconnected
+by fully non-blocking fat-tree Infiniband network and equipped with
+Intel Sandy Bridge processors. A few nodes are also equipped with NVIDIA
+Kepler GPU or Intel Xeon Phi MIC accelerators. Read more in [Hardware
+Overview](https://docs.it4i.cz/anselm-cluster-documentation/hardware-overview).
+
+The cluster runs bullx Linux [<span
+class="WYSIWYG_LINK"></span>](http://www.bull.com/bullx-logiciels/systeme-exploitation.html)[operating
+system](https://docs.it4i.cz/anselm-cluster-documentation/software/operating-system),
+which is compatible with the <span class="WYSIWYG_LINK">RedHat</span>
+[<span class="WYSIWYG_LINK">Linux
+family.</span>](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)
+We have installed a wide range of
+[software](https://docs.it4i.cz/anselm-cluster-documentation/software)
+packages targeted at different scientific domains. These packages are
+accessible via the [modules
+environment](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules).
+
+User data shared file-system (HOME, 320TB) and job data shared
+file-system (SCRATCH, 146TB) are available to users.
+
+The PBS Professional workload manager provides [computing resources
+allocations and job
+execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution).
+
+Read more on how to [apply for
+resources](https://docs.it4i.cz/get-started-with-it4innovations/applying-for-resources),
+[obtain login
+credentials,](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials)
+and [access the
+cluster](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster).
diff --git a/docs.it4i.cz/anselm-cluster-documentation/java_detection.jpg/@@images/5498e1ba-2242-4b9c-a799-0377a73f779e.jpeg b/docs.it4i.cz/anselm-cluster-documentation/java_detection.jpg/@@images/5498e1ba-2242-4b9c-a799-0377a73f779e.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..0c1707c03f1b27c8490efdb4bc1305aa5adbb74a
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/java_detection.jpg/@@images/5498e1ba-2242-4b9c-a799-0377a73f779e.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/legend.png b/docs.it4i.cz/anselm-cluster-documentation/legend.png
new file mode 100644
index 0000000000000000000000000000000000000000..2950ff1bd7059f93195437476fa9333ec42da408
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/legend.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/login.jpg/@@images/30271119-b392-4db9-a212-309fb41925d6.jpeg b/docs.it4i.cz/anselm-cluster-documentation/login.jpg/@@images/30271119-b392-4db9-a212-309fb41925d6.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..a683564de8cf7ccd8bb24f2654fd3f2dca60bf79
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/login.jpg/@@images/30271119-b392-4db9-a212-309fb41925d6.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/logingui.jpg b/docs.it4i.cz/anselm-cluster-documentation/logingui.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2a11a13f8c511c801ce67a963ee145f2dcbb6db9
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/logingui.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/loginwithprofile.jpg/@@images/a6fd5f3f-bce4-45c9-85e1-8d93c6395eee.jpeg b/docs.it4i.cz/anselm-cluster-documentation/loginwithprofile.jpg/@@images/a6fd5f3f-bce4-45c9-85e1-8d93c6395eee.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..568c771e5e696085ec86ddc5fe71d2b190ff6a3f
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/loginwithprofile.jpg/@@images/a6fd5f3f-bce4-45c9-85e1-8d93c6395eee.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/network.md b/docs.it4i.cz/anselm-cluster-documentation/network.md
new file mode 100644
index 0000000000000000000000000000000000000000..416f594dee5d36da404daae3ecb283ec17732aec
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/network.md
@@ -0,0 +1,60 @@
+Network 
+=======
+
+
+
+  
+
+All compute and login nodes of Anselm are interconnected by
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+DR network and by Gigabit
+[Ethernet](http://en.wikipedia.org/wiki/Ethernet)
+network. Both networks may be used to transfer user data.
+
+Infiniband Network
+------------------
+
+All compute and login nodes of Anselm are interconnected by a
+high-bandwidth, low-latency
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+DR network (IB 4x QDR, 40 Gbps). The network topology is a fully
+non-blocking fat-tree.
+
+The compute nodes may be accessed via the Infiniband network using ib0
+network interface, in address range 10.2.1.1-209. The MPI may be used to
+establish native Infiniband connection among the nodes.
+
+The network provides **2170MB/s** transfer rates via the TCP connection
+(single stream) and up to **3600MB/s** via native Infiniband protocol.
+
+The Fat tree topology ensures that peak transfer rates are achieved
+between any two nodes, independent of network traffic exchanged among
+other nodes concurrently.
+
+Ethernet Network
+----------------
+
+The compute nodes may be accessed via the regular Gigabit Ethernet
+network interface eth0, in address range 10.1.1.1-209, or by using
+aliases cn1-cn209.
+The network provides **114MB/s** transfer rates via the TCP connection.
+
+Example
+-------
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=16 -N Name0 ./myjob
+$ qstat -n -u username
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+15209.srv11     username qexp     Name0        5530   4  64    --  01:00 R 00:00
+   cn17/0*16+cn108/0*16+cn109/0*16+cn110/0*16
+
+$ ssh 10.2.1.110
+$ ssh 10.1.1.108
+```
+
+In this example, we access the node cn110 by Infiniband network via the
+ib0 interface, then from cn110 to cn108 by Ethernet network.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/prace.md b/docs.it4i.cz/anselm-cluster-documentation/prace.md
new file mode 100644
index 0000000000000000000000000000000000000000..35c786fff9b9d8b14e42eadc8075d1bf627bfda5
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/prace.md
@@ -0,0 +1,376 @@
+PRACE User Support 
+==================
+
+
+
+  
+
+Intro
+-----
+
+PRACE users coming to Anselm as to TIER-1 system offered through the
+DECI calls are in general treated as standard users and so most of the
+general documentation applies to them as well. This section shows the
+main differences for quicker orientation, but often uses references to
+the original documentation. PRACE users who don't undergo the full
+procedure (including signing the IT4I AuP on top of the PRACE AuP) will
+not have a password and thus access to some services intended for
+regular users. This can lower their comfort, but otherwise they should
+be able to use the TIER-1 system as intended. Please see the [Obtaining
+Login Credentials
+section](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials),
+if the same level of access is required.
+
+All general [PRACE User
+Documentation](http://www.prace-ri.eu/user-documentation/)
+should be read before continuing reading the local documentation here.
+
+[]()Help and Support
+--------------------
+
+If you have any troubles, need information, request support or want to
+install additional software, please use [PRACE
+Helpdesk](http://www.prace-ri.eu/helpdesk-guide264/).
+
+Information about the local services are provided in the [introduction
+of general user
+documentation](https://docs.it4i.cz/anselm-cluster-documentation/introduction).
+Please keep in mind, that standard PRACE accounts don't have a password
+to access the web interface of the local (IT4Innovations) request
+tracker and thus a new ticket should be created by sending an e-mail to
+support[at]it4i.cz.
+
+Obtaining Login Credentials
+---------------------------
+
+In general PRACE users already have a PRACE account setup through their
+HOMESITE (institution from their country) as a result of rewarded PRACE
+project proposal. This includes signed PRACE AuP, generated and
+registered certificates, etc.
+
+If there's a special need a PRACE user can get a standard (local)
+account at IT4Innovations. To get an account on the Anselm cluster, the
+user needs to obtain the login credentials. The procedure is the same as
+for general users of the cluster, so please see the corresponding
+[section of the general documentation
+here](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials).
+
+Accessing the cluster
+---------------------
+
+### Access with GSI-SSH
+
+For all PRACE users the method for interactive access (login) and data
+transfer based on grid services from Globus Toolkit (GSI SSH and
+GridFTP) is supported.
+
+The user will need a valid certificate and to be present in the PRACE
+LDAP (please contact your HOME SITE or the primary investigator of your
+project for LDAP account creation).
+
+Most of the information needed by PRACE users accessing the Anselm
+TIER-1 system can be found here:
+
+-   [General user's
+    FAQ](http://www.prace-ri.eu/Users-General-FAQs)
+-   [Certificates
+    FAQ](http://www.prace-ri.eu/Certificates-FAQ)
+-   [Interactive access using
+    GSISSH](http://www.prace-ri.eu/Interactive-Access-Using-gsissh)
+-   [Data transfer with
+    GridFTP](http://www.prace-ri.eu/Data-Transfer-with-GridFTP-Details)
+-   [Data transfer with
+    gtransfer](http://www.prace-ri.eu/Data-Transfer-with-gtransfer)
+
+ 
+
+Before you start to use any of the services don't forget to create a
+proxy certificate from your certificate:
+
+    $ grid-proxy-init
+
+To check whether your proxy certificate is still valid (by default it's
+valid 12 hours), use:
+
+    $ grid-proxy-info
+
+ 
+
+To access Anselm cluster, two login nodes running GSI SSH service are
+available. The service is available from public Internet as well as from
+the internal PRACE network (accessible only from other PRACE partners).
+
+**Access from PRACE network:**
+
+It is recommended to use the single DNS name <span
+class="monospace">anselm-prace.it4i.cz</span> which is distributed
+between the two login nodes. If needed, user can login directly to one
+of the login nodes. The addresses are:
+
+  Login address                 Port   Protocol   Login node
+  ----------------------------- ------ ---------- ------------------
+  anselm-prace.it4i.cz          2222   gsissh     login1 or login2
+  login1-prace.anselm.it4i.cz   2222   gsissh     login1
+  login2-prace.anselm.it4i.cz   2222   gsissh     login2
+
+ 
+
+    $ gsissh -p 2222 anselm-prace.it4i.cz
+
+When logging from other PRACE system, the prace_service script can be
+used:
+
+    $ gsissh `prace_service -i -s anselm`
+
+ 
+
+**Access from public Internet:**
+
+It is recommended to use the single DNS name <span
+class="monospace">anselm.it4i.cz</span> which is distributed between the
+two login nodes. If needed, user can login directly to one of the login
+nodes. The addresses are:
+
+  Login address           Port   Protocol   Login node
+  ----------------------- ------ ---------- ------------------
+  anselm.it4i.cz          2222   gsissh     login1 or login2
+  login1.anselm.it4i.cz   2222   gsissh     login1
+  login2.anselm.it4i.cz   2222   gsissh     login2
+
+    $ gsissh -p 2222 anselm.it4i.cz
+
+When logging from other PRACE system, the <span
+class="monospace">prace_service</span> script can be used:
+
+    $ gsissh `prace_service -e -s anselm`
+
+ 
+
+Although the preferred and recommended file transfer mechanism is [using
+GridFTP](#file-transfers), the GSI SSH implementation on
+Anselm supports also SCP, so for small files transfer gsiscp can be
+used:
+
+    $ gsiscp -P 2222 _LOCAL_PATH_TO_YOUR_FILE_ anselm.it4i.cz:_ANSELM_PATH_TO_YOUR_FILE_
+
+    $ gsiscp -P 2222 anselm.it4i.cz:_ANSELM_PATH_TO_YOUR_FILE_ _LOCAL_PATH_TO_YOUR_FILE_ 
+
+    $ gsiscp -P 2222 _LOCAL_PATH_TO_YOUR_FILE_ anselm-prace.it4i.cz:_ANSELM_PATH_TO_YOUR_FILE_
+
+    $ gsiscp -P 2222 anselm-prace.it4i.cz:_ANSELM_PATH_TO_YOUR_FILE_ _LOCAL_PATH_TO_YOUR_FILE_ 
+
+### Access to X11 applications (VNC)
+
+If the user needs to run X11 based graphical application and does not
+have a X11 server, the applications can be run using VNC service. If the
+user is using regular SSH based access, please see the [section in
+general
+documentation](resolveuid/11e53ad0d2fd4c5187537f4baeedff33).
+
+If the user uses GSI SSH based access, then the procedure is similar to
+the SSH based access ([look
+here](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)),
+only the port forwarding must be done using GSI SSH:
+
+    $ gsissh -p 2222 anselm.it4i.cz -L 5961:localhost:5961
+
+### Access with SSH
+
+After successful obtainment of login credentials for the local
+IT4Innovations account, the PRACE users can access the cluster as
+regular users using SSH. For more information please see the [section in
+general
+documentation](resolveuid/5d3d6f3d873a42e584cbf4365c4e251b).
+
+[]()File transfers
+------------------
+
+PRACE users can use the same transfer mechanisms as regular users (if
+they've undergone the full registration procedure). For information
+about this, please see [the section in the general
+documentation](resolveuid/5d3d6f3d873a42e584cbf4365c4e251b).
+
+Apart from the standard mechanisms, for PRACE users to transfer data
+to/from Anselm cluster, a GridFTP server running Globus Toolkit GridFTP
+service is available. The service is available from public Internet as
+well as from the internal PRACE network (accessible only from other
+PRACE partners).
+
+There's one control server and three backend servers for striping and/or
+backup in case one of them would fail.
+
+**Access from PRACE network:**
+
+  Login address                  Port   Node role
+  ------------------------------ ------ -----------------------------
+  gridftp-prace.anselm.it4i.cz   2812   Front end /control server
+  login1-prace.anselm.it4i.cz    2813   Backend / data mover server
+  login2-prace.anselm.it4i.cz    2813   Backend / data mover server
+  dm1-prace.anselm.it4i.cz       2813   Backend / data mover server
+
+Copy files **to** Anselm by running the following commands on your local
+machine:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://gridftp-prace.anselm.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://`prace_service -i -f anselm`/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_
+
+Copy files **from** Anselm:
+
+    $ globus-url-copy gsiftp://gridftp-prace.anselm.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy gsiftp://`prace_service -i -f anselm`/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+ 
+
+**Access from public Internet:**
+
+  Login address            Port   Node role
+  ------------------------ ------ -----------------------------
+  gridftp.anselm.it4i.cz   2812   Front end /control server
+  login1.anselm.it4i.cz    2813   Backend / data mover server
+  login2.anselm.it4i.cz    2813   Backend / data mover server
+  dm1.anselm.it4i.cz       2813   Backend / data mover server
+
+Copy files **to** Anselm by running the following commands on your local
+machine:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://gridftp.anselm.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://`prace_service -e -f anselm`/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_
+
+Copy files **from** Anselm:
+
+    $ globus-url-copy gsiftp://gridftp.anselm.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy gsiftp://`prace_service -e -f anselm`/home/prace/_YOUR_ACCOUNT_ON_ANSELM_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+ 
+
+Generally both shared file systems are available through GridFTP:
+
+  File system mount point   Filesystem   Comment
+  ------------------------- ------------ ----------------------------------------------------------------
+  /home                     Lustre       Default HOME directories of users in format /home/prace/login/
+  /scratch                  Lustre       Shared SCRATCH mounted on the whole cluster
+
+More information about the shared file systems is available
+[here](https://docs.it4i.cz/anselm-cluster-documentation/storage).
+
+Usage of the cluster
+--------------------
+
+There are some limitations for PRACE user when using the cluster. By
+default PRACE users aren't allowed to access special queues in the PBS
+Pro to have high priority or exclusive access to some special equipment
+like accelerated nodes and high memory (fat) nodes. There may be also
+restrictions obtaining a working license for the commercial software
+installed on the cluster, mostly because of the license agreement or
+because of insufficient amount of licenses.
+
+For production runs always use scratch file systems, either the global
+shared or the local ones. The available file systems are described
+[here](https://docs.it4i.cz/anselm-cluster-documentation/hardware-overview).
+
+### Software, Modules and PRACE Common Production Environment
+
+All system wide installed software on the cluster is made available to
+the users via the modules. The information about the environment and
+modules usage is in this [section of general
+documentation](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules).
+
+PRACE users can use the "prace" module to use the [PRACE Common
+Production
+Environment](http://www.prace-ri.eu/PRACE-common-production).
+
+    $ module load prace
+
+ 
+
+### Resource Allocation and Job Execution
+
+General information about the resource allocation, job queuing and job
+execution is in this [section of general
+documentation](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction).
+
+For PRACE users, the default production run queue is "qprace". PRACE
+users can also use two other queues "qexp" and "qfree".
+
+  -------------------------------------------------------------------------------------------------------------------------
+  queue                 Active project   Project resources   Nodes                 priority   authorization   walltime
+                                                                                                              default/max
+  --------------------- ---------------- ------------------- --------------------- ---------- --------------- -------------
+  **qexp**             no               none required       2 reserved,          high       no              1 / 1h
+  Express queue                                              8 total                                          
+
+  **qprace**           yes             &gt; 0              178 w/o accelerator   medium     no              24 / 48h
+  Production queue                                                                                           
+                                                                                                              
+
+  **qfree**            yes              none required       178 w/o accelerator   very low   no              12 / 12h
+  Free resource queue                                                                                         
+  -------------------------------------------------------------------------------------------------------------------------
+
+**qprace**, the PRACE Production queue****This queue is intended for
+normal production runs. It is required that active project with nonzero
+remaining resources is specified to enter the qprace. The queue runs
+with medium priority and no special authorization is required to use it.
+The maximum runtime in qprace is 12 hours. If the job needs longer time,
+it must use checkpoint/restart functionality.
+
+### Accounting & Quota
+
+The resources that are currently subject to accounting are the core
+hours. The core hours are accounted on the wall clock basis. The
+accounting runs whenever the computational cores are allocated or
+blocked via the PBS Pro workload manager (the qsub command), regardless
+of whether the cores are actually used for any calculation. See [example
+in the general
+documentation](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy).
+
+PRACE users should check their project accounting using the [PRACE
+Accounting Tool
+(DART)](http://www.prace-ri.eu/accounting-report-tool/).
+
+Users who have undergone the full local registration procedure
+(including signing the IT4Innovations Acceptable Use Policy) and who
+have received local password may check at any time, how many core-hours
+have been consumed by themselves and their projects using the command
+"it4ifree". Please note that you need to know your user password to use
+the command and that the displayed core hours are "system core hours"
+which differ from PRACE "standardized core hours".
+
+The **it4ifree** command is a part of it4i.portal.clients package,
+located here:
+<https://pypi.python.org/pypi/it4i.portal.clients>
+
+    $ it4ifree
+    Password:
+         PID    Total   Used   ...by me Free
+       -------- ------- ------ -------- -------
+       OPEN-0-0 1500000 400644   225265 1099356
+       DD-13-1    10000   2606     2606    7394
+
+ 
+
+By default file system quota is applied. To check the current status of
+the quota use
+
+    $ lfs quota -u USER_LOGIN /home
+    $ lfs quota -u USER_LOGIN /scratch
+
+If the quota is insufficient, please contact the
+[support](#help-and-support) and request an increase.
+
+ 
+
+ 
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/quality1.png b/docs.it4i.cz/anselm-cluster-documentation/quality1.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed6304dd9c6d1acdd4f3f9e4514930d2a7853d8c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/quality1.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/quality2.png b/docs.it4i.cz/anselm-cluster-documentation/quality2.png
new file mode 100644
index 0000000000000000000000000000000000000000..73d9b9d31f7989d9e2c409d91494f872f97b9397
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/quality2.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/quality3.png b/docs.it4i.cz/anselm-cluster-documentation/quality3.png
new file mode 100644
index 0000000000000000000000000000000000000000..be279b83580528fcaaf2171c7c10f485e06420c7
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/quality3.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md b/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md
new file mode 100644
index 0000000000000000000000000000000000000000..0b1dc55241798efef14dce51f7526c57b020aa98
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/remote-visualization.md
@@ -0,0 +1,299 @@
+Remote visualization service 
+============================
+
+Introduction 
+------------
+
+The goal of this service is to provide the users a GPU accelerated use
+of OpenGL applications, especially for pre- and post- processing work,
+where not only the GPU performance is needed but also fast access to the
+shared file systems of the cluster and a reasonable amount of RAM.
+
+The service is based on integration of open source tools VirtualGL and
+TurboVNC together with the cluster's job scheduler PBS Professional.
+
+Currently two compute nodes are dedicated for this service with
+following configuration for each node:
+
+[**Visualization node
+configuration**](https://docs.it4i.cz/anselm-cluster-documentation/compute-nodes)
+CPU
+2x Intel Sandy Bridge E5-2670, 2.6GHz
+Processor cores
+16 (2x8 cores)
+RAM
+64 GB, min. 4 GB per core
+GPU
+NVIDIA Quadro 4000, 2GB RAM
+Local disk drive
+yes - 500 GB
+Compute network
+InfiniBand QDR
+Schematic overview
+------------------
+
+![rem_vis_scheme](https://docs.it4i.cz/anselm-cluster-documentation/scheme.png "rem_vis_scheme")
+
+![rem_vis_legend](https://docs.it4i.cz/anselm-cluster-documentation/legend.png "rem_vis_legend")
+
+How to use the service 
+----------------------
+
+### Setup and start your own TurboVNC server.
+
+TurboVNC is designed and implemented for cooperation with VirtualGL and
+available for free for all major platforms. For more information and
+download, please refer to<http://sourceforge.net/projects/turbovnc/>
+
+**Always use TurboVNC on both sides** (server and client) **don't mix
+TurboVNC and other VNC implementations** (TightVNC, TigerVNC, ...) as
+the VNC protocol implementation may slightly differ and diminish your
+user experience by introducing picture artifacts, etc.
+
+The procedure is:
+
+#### 1. Connect to a login node. {#1-connect-to-a-login-node}
+
+Please [follow the
+documentation](resolveuid/5d3d6f3d873a42e584cbf4365c4e251b).
+
+#### 2. Run your own instance of TurboVNC server. {#2-run-your-own-instance-of-turbovnc-server}
+
+To have the OpenGL acceleration, **24 bit color depth must be used**.
+Otherwise only the geometry (desktop size) definition is needed.
+
+*At first VNC server run you need to define a password.*
+
+This example defines desktop with dimensions 1200x700 pixels and 24 bit
+color depth.
+
+``` 
+$ module load turbovnc/1.2.2 
+$ vncserver -geometry 1200x700 -depth 24 
+
+Desktop 'TurboVNClogin2:1 (username)' started on display login2:1 
+
+Starting applications specified in /home/username/.vnc/xstartup.turbovnc 
+Log file is /home/username/.vnc/login2:1.log 
+```
+
+#### 3. Remember which display number your VNC server runs (you will need it in the future to stop the server). {#3-remember-which-display-number-your-vnc-server-runs-you-will-need-it-in-the-future-to-stop-the-server}
+
+``` 
+$ vncserver -list 
+
+TurboVNC server sessions
+
+X DISPLAY # PROCESS ID 
+:1 23269 
+```
+
+In this example the VNC server runs on display **:1**.
+
+#### 4. Remember the exact login node, where your VNC server runs. {#4-remember-the-exact-login-node-where-your-vnc-server-runs}
+
+``` 
+$ uname -n
+login2 
+```
+
+In this example the VNC server runs on **login2**.
+
+#### 5. Remember on which TCP port your own VNC server is running. {#5-remember-on-which-tcp-port-your-own-vnc-server-is-running}
+
+To get the port you have to look to the log file of your VNC server.
+
+``` 
+$ grep -E "VNC.*port" /home/username/.vnc/login2:1.log 
+20/02/2015 14:46:41 Listening for VNC connections on TCP port 5901 
+```
+
+In this example the VNC server listens on TCP port **5901**.
+
+#### 6. Connect to the login node where your VNC server runs with SSH to tunnel your VNC session. {#6-connect-to-the-login-node-where-your-vnc-server-runs-with-ssh-to-tunnel-your-vnc-session}
+
+Tunnel the TCP port on which your VNC server is listenning.
+
+``` 
+$ ssh login2.anselm.it4i.cz -L 5901:localhost:5901 
+```
+
+*If you use Windows and Putty, please refer to port forwarding setup
+<span class="internal-link">in the documentation</span>:*
+<https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/x-window-and-vnc#section-12>
+
+#### 7. If you don't have Turbo VNC installed on your workstation. {#7-if-you-don-t-have-turbo-vnc-installed-on-your-workstation}
+
+Get it from<http://sourceforge.net/projects/turbovnc/>
+
+#### 8. Run TurboVNC Viewer from your workstation. {#8-run-turbovnc-viewer-from-your-workstation}
+
+Mind that you should connect through the SSH tunneled port. In this
+example it is 5901 on your workstation (localhost).
+
+``` 
+$ vncviewer localhost:5901 
+```
+
+*If you use Windows version of TurboVNC Viewer, just run the Viewer and
+use address **localhost:5901**.*
+
+#### 9. Proceed to the chapter "Access the visualization node." {#9-proceed-to-the-chapter-access-the-visualization-node}
+
+*Now you should have working TurboVNC session connected to your
+workstation.*
+
+#### 10. After you end your visualization session. {#10-after-you-end-your-visualization-session}
+
+*Don't forget to correctly shutdown your own VNC server on the login
+node!*
+
+``` 
+$ vncserver -kill :1 
+```
+
+Access the visualization node
+-----------------------------
+
+To access the node use a dedicated PBS Professional scheduler queue
+**qviz**. The queue has following properties:
+
+<table>
+<colgroup>
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">queue</th>
+<th align="left">active project</th>
+<th align="left">project resources</th>
+<th align="left">nodes</th>
+<th align="left">min ncpus*</th>
+<th align="left">priority</th>
+<th align="left">authorization</th>
+<th align="left">walltime<br />
+default/max</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><p><strong>qviz              </strong> Visualization queue</p></td>
+<td align="left">yes</td>
+<td align="left">none required</td>
+<td align="left">2</td>
+<td align="left">4</td>
+<td align="left"><span><em>150</em></span></td>
+<td align="left">no</td>
+<td align="left">1 hour / 2 hours</td>
+</tr>
+</tbody>
+</table>
+
+Currently when accessing the node, each user gets 4 cores of a CPU
+allocated, thus approximately 16 GB of RAM and 1/4 of the GPU capacity.
+*If more GPU power or RAM is required, it is recommended to allocate one
+whole node per user, so that all 16 cores, whole RAM and whole GPU is
+exclusive. This is currently also the maximum allowed allocation per one
+user. One hour of work is allocated by default, the user may ask for 2
+hours maximum.*
+
+To access the visualization node, follow these steps:
+
+#### 1. In your VNC session, open a terminal and allocate a node using PBSPro qsub command. {#1-in-your-vnc-session-open-a-terminal-and-allocate-a-node-using-pbspro-qsub-command}
+
+*This step is necessary to allow you to proceed with next steps.*
+
+``` 
+$ qsub -I -q qviz -A PROJECT_ID 
+```
+
+In this example the default values for CPU cores and usage time are
+used.
+
+``` 
+$ qsub -I -q qviz -A PROJECT_ID -l select=1:ncpus=16 -l walltime=02:00:00 
+```
+
+*Substitute **PROJECT_ID** with the assigned project identification
+string.*
+
+In this example a whole node for 2 hours is requested.
+
+If there are free resources for your request, you will have a shell
+running on an assigned node. Please remember the name of the node.
+
+``` 
+$ uname -n
+srv8 
+```
+
+In this example the visualization session was assigned to node **srv8**.
+
+#### 2. In your VNC session open another terminal (keep the one with interactive PBSPro job open). {#2-in-your-vnc-session-open-another-terminal-keep-the-one-with-interactive-pbspro-job-open}
+
+Setup the VirtualGL connection to the node, which PBSPro allocated for
+your job.
+
+``` 
+$ vglconnect srv8 
+```
+
+You will be connected with created VirtualGL tunnel to the visualization
+node, where you will have a shell.
+
+#### 3. Load the VirtualGL module. {#3-load-the-virtualgl-module}
+
+``` 
+$ module load virtualgl/2.4 
+```
+
+#### 4. Run your desired OpenGL accelerated application using VirtualGL script "vglrun". {#4-run-your-desired-opengl-accelerated-application-using-virtualgl-script-vglrun}
+
+``` 
+$ vglrun glxgears 
+```
+
+Please note, that if you want to run an OpenGL application which is
+available through modules, you need at first load the respective module.
+E. g. to run the **Mentat** OpenGL application from **MARC** software
+package use:
+
+``` 
+$ module load marc/2013.1 
+$ vglrun mentat 
+```
+
+#### 5. After you end your work with the OpenGL application. {#5-after-you-end-your-work-with-the-opengl-application}
+
+Just logout from the visualization node and exit both opened terminals
+and end your VNC server session as described above.
+
+Tips and Tricks
+---------------
+
+If you want to increase the responsibility of the visualization, please
+adjust your TurboVNC client settings in this way:
+
+![rem_vis_settings](https://docs.it4i.cz/anselm-cluster-documentation/turbovncclientsetting.png "rem_vis_settings")
+
+To have an idea how the settings are affecting the resulting picture
+quality three levels of "JPEG image quality" are demonstrated:
+
+1. JPEG image quality = 30
+
+![rem_vis_q3](https://docs.it4i.cz/anselm-cluster-documentation/quality3.png "rem_vis_q3")
+
+2. JPEG image quality = 15
+
+![rem_vis_q2](https://docs.it4i.cz/anselm-cluster-documentation/quality2.png "rem_vis_q2")
+
+3. JPEG image quality = 10
+
+![rem_vis_q1](https://docs.it4i.cz/anselm-cluster-documentation/quality1.png "rem_vis_q1")
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution.md b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution.md
new file mode 100644
index 0000000000000000000000000000000000000000..3d5f8570f758288798ad79160ce3de4ac97c59ae
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution.md
@@ -0,0 +1,79 @@
+Resource Allocation and Job Execution 
+=====================================
+
+
+
+  
+
+To run a
+[job](https://docs.it4i.cz/anselm-cluster-documentation/introduction),
+[computational
+resources](https://docs.it4i.cz/anselm-cluster-documentation/introduction)
+for this particular job must be allocated. This is done via the PBS Pro
+job workload manager software, which efficiently distributes workloads
+across the supercomputer. Extensive informations about PBS Pro can be
+found in the [official documentation
+here](https://docs.it4i.cz/pbspro-documentation),
+especially in the [PBS Pro User's
+Guide](https://docs.it4i.cz/pbspro-documentation/pbspro-users-guide).
+
+Resources Allocation Policy
+---------------------------
+
+The resources are allocated to the job in a fairshare fashion, subject
+to constraints set by the queue and resources available to the Project.
+[The
+Fairshare](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority)
+at Anselm ensures that individual users may consume approximately equal
+amount of resources per week. The resources are accessible via several
+queues for queueing the jobs. The queues provide prioritized and
+exclusive access to the computational resources. Following queues are
+available to Anselm users:
+
+-   **qexp**, the Express queue
+-   **qprod**, the Production queue****
+-   **qlong**, the Long queue, regula
+-   **qnvidia, qmic, qfat**, the Dedicated queues
+-   **qfree,** the Free resource utilization queue
+
+Check the queue status at <https://extranet.it4i.cz/anselm/>
+
+Read more on the [Resource Allocation
+Policy](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy)
+page.
+
+Job submission and execution
+----------------------------
+
+Use the **qsub** command to submit your jobs.
+
+The qsub submits the job into the queue. The qsub command creates a
+request to the PBS Job manager for allocation of specified resources. 
+The **smallest allocation unit is entire node, 16 cores**, with
+exception of the qexp queue. The resources will be allocated when
+available, subject to allocation policies and constraints. **After the
+resources are allocated the jobscript or interactive shell is executed
+on first of the allocated nodes.**
+
+Read more on the [Job submission and
+execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)
+page.
+
+Capacity computing
+------------------
+
+Use Job arrays when running huge number of jobs.
+Use GNU Parallel and/or Job arrays when running (many) single core jobs.
+
+In many cases, it is useful to submit huge (<span>100+</span>) number of
+computational jobs into the PBS queue system. Huge number of (small)
+jobs is one of the most effective ways to execute embarrassingly
+parallel calculations, achieving best runtime, throughput and computer
+utilization. In this chapter, we discuss the the recommended way to run
+huge number of jobs, including **ways to run huge number of single core
+jobs**.
+
+Read more on [Capacity
+computing](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing)
+page.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing-examples b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing-examples
new file mode 100644
index 0000000000000000000000000000000000000000..747453323cdc23fabbf0105771445d560fd9ae93
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing-examples differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md
new file mode 100644
index 0000000000000000000000000000000000000000..5fe01696a1e3fdb97c277efd0afd8e0420c0ee3c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing.md
@@ -0,0 +1,430 @@
+Capacity computing 
+==================
+
+
+
+  
+
+Introduction
+------------
+
+In many cases, it is useful to submit huge (<span>100+</span>) number of
+computational jobs into the PBS queue system. Huge number of (small)
+jobs is one of the most effective ways to execute embarrassingly
+parallel calculations, achieving best runtime, throughput and computer
+utilization.
+
+However, executing huge number of jobs via the PBS queue may strain the
+system. This strain may result in slow response to commands, inefficient
+scheduling and overall degradation of performance and user experience,
+for all users. For this reason, the number of jobs is **limited to 100
+per user, 1000 per job array**
+
+Please follow one of the procedures below, in case you wish to schedule
+more than <span>100</span> jobs at a time.
+
+-   Use [Job arrays](#job-arrays) when running huge number
+    of [multithread](#shared-jobscript-on-one-node) (bound
+    to one node only) or multinode (multithread across several nodes)
+    jobs
+-   Use [GNU parallel](#gnu-parallel) when running single
+    core jobs
+-   Combine[GNU parallel with Job
+    arrays](#combining-job-arrays-and-gnu-parallel)  when
+    running huge number of single core jobs
+
+Policy
+------
+
+1.  A user is allowed to submit at most 100 jobs. Each job may be [a job
+    array](#job-arrays).
+2.  The array size is at most 1000 subjobs.
+
+[]()Job arrays
+--------------
+
+Huge number of jobs may be easily submitted and managed as a job array.
+
+A job array is a compact representation of many jobs, called subjobs.
+The subjobs share the same job script, and have the same values for all
+attributes and resources, with the following exceptions:
+
+-   each subjob has a unique index, $PBS_ARRAY_INDEX
+-   job Identifiers of subjobs only differ by their indices
+-   the state of subjobs can differ (R,Q,...etc.)
+
+All subjobs within a job array have the same scheduling priority and
+schedule as independent jobs.
+Entire job array is submitted through a single qsub command and may be
+managed by qdel, qalter, qhold, qrls and qsig commands as a single job.
+
+### []()Shared jobscript
+
+All subjobs in job array use the very same, single jobscript. Each
+subjob runs its own instance of the jobscript. The instances execute
+different work controlled by $PBS_ARRAY_INDEX variable.
+
+[]()Example:
+
+Assume we have 900 input files with name beginning with "file" (e. g.
+file001, ..., file900). Assume we would like to use each of these input
+files with program executable myprog.x, each as a separate job.
+
+First, we create a tasklist file (or subjobs list), listing all tasks
+(subjobs) - all input files in our example:
+
+``` 
+$ find . -name 'file*' > tasklist
+```
+
+Then we create jobscript:
+
+``` 
+#!/bin/bash
+#PBS -A PROJECT_ID
+#PBS -q qprod
+#PBS -l select=1:ncpus=16,walltime=02:00:00
+
+# change to local scratch directory
+SCR=/lscratch/$PBS_JOBID
+mkdir -p $SCR ; cd $SCR || exit
+
+# get individual tasks from tasklist with index from PBS JOB ARRAY
+TASK=$(sed -n "${PBS_ARRAY_INDEX}p" $PBS_O_WORKDIR/tasklist)  
+
+# copy input file and executable to scratch 
+cp $PBS_O_WORKDIR/$TASK input ; cp $PBS_O_WORKDIR/myprog.x .
+
+# execute the calculation
+./myprog.x < input > output
+
+# copy output file to submit directory
+cp output $PBS_O_WORKDIR/$TASK.out
+```
+
+In this example, the submit directory holds the 900 input files,
+executable myprog.x and the jobscript file. As input for each run, we
+take the filename of input file from created tasklist file. We copy the
+input file to local scratch /lscratch/$PBS_JOBID, execute the myprog.x
+and copy the output file back to <span>the submit directory</span>,
+under the $TASK.out name. The myprog.x runs on one node only and must
+use threads to run in parallel. Be aware, that if the myprog.x **is not
+multithreaded**, then all the **jobs are run as single thread programs
+in sequential** manner. Due to allocation of the whole node, the
+**accounted time is equal to the usage of whole node**, while using only
+1/16 of the node!
+
+If huge number of parallel multicore (in means of multinode multithread,
+e. g. MPI enabled) jobs is needed to run, then a job array approach
+should also be used. The main difference compared to previous example
+using one node is that the local scratch should not be used (as it's not
+shared between nodes) and MPI or other technique for parallel multinode
+run has to be used properly.
+
+### Submit the job array
+
+To submit the job array, use the qsub -J command. The 900 jobs of the
+[example above](#array_example) may be submitted like
+this:
+
+``` 
+$ qsub -N JOBNAME -J 1-900 jobscript
+12345[].dm2
+```
+
+In this example, we submit a job array of 900 subjobs. Each subjob will
+run on full node and is assumed to take less than 2 hours (please note
+the #PBS directives in the beginning of the jobscript file, dont'
+forget to set your valid PROJECT_ID and desired queue).
+
+Sometimes for testing purposes, you may need to submit only one-element
+array. This is not allowed by PBSPro, but there's a workaround:
+
+``` 
+$ qsub -N JOBNAME -J 9-10:2 jobscript
+```
+
+This will only choose the lower index (9 in this example) for
+submitting/running your job.
+
+### Manage the job array
+
+Check status of the job array by the qstat command.
+
+``` 
+$ qstat -a 12345[].dm2
+
+dm2:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+12345[].dm2     user2    qprod    xx          13516   1  16    --  00:50 B 00:02
+```
+
+The status B means that some subjobs are already running.
+
+Check status of the first 100 subjobs by the qstat command.
+
+``` 
+$ qstat -a 12345[1-100].dm2
+
+dm2:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+12345[1].dm2    user2    qprod    xx          13516   1  16    --  00:50 R 00:02
+12345[2].dm2    user2    qprod    xx          13516   1  16    --  00:50 R 00:02
+12345[3].dm2    user2    qprod    xx          13516   1  16    --  00:50 R 00:01
+12345[4].dm2    user2    qprod    xx          13516   1  16    --  00:50 Q   --
+     .             .        .      .             .    .   .     .    .   .    .
+     ,             .        .      .             .    .   .     .    .   .    . 
+12345[100].dm2  user2    qprod    xx          13516   1  16    --  00:50 Q   --
+```
+
+Delete the entire job array. Running subjobs will be killed, queueing
+subjobs will be deleted.
+
+``` 
+$ qdel 12345[].dm2
+```
+
+Deleting large job arrays may take a while.
+
+Display status information for all user's jobs, job arrays, and subjobs.
+
+``` 
+$ qstat -u $USER -t
+```
+
+Display status information for all user's subjobs.
+
+``` 
+$ qstat -u $USER -tJ
+```
+
+Read more on job arrays in the [PBSPro Users
+guide](https://docs.it4i.cz/pbspro-documentation).
+
+[]()GNU parallel
+----------------
+
+Use GNU parallel to run many single core tasks on one node.
+
+GNU parallel is a shell tool for executing jobs in parallel using one or
+more computers. A job can be a single command or a small script that has
+to be run for each of the lines in the input. GNU parallel is most
+useful in running single core jobs via the queue system on  Anselm.
+
+For more information and examples see the parallel man page:
+
+``` 
+$ module add parallel
+$ man parallel
+```
+
+### GNU parallel jobscript
+
+The GNU parallel shell executes multiple instances of the jobscript
+using all cores on the node. The instances execute different work,
+controlled by the $PARALLEL_SEQ variable.
+
+[]()Example:
+
+Assume we have 101 input files with name beginning with "file" (e. g.
+file001, ..., file101). Assume we would like to use each of these input
+files with program executable myprog.x, each as a separate single core
+job. We call these single core jobs tasks.
+
+First, we create a tasklist file, listing all tasks - all input files in
+our example:
+
+``` 
+$ find . -name 'file*' > tasklist
+```
+
+Then we create jobscript:
+
+``` 
+#!/bin/bash
+#PBS -A PROJECT_ID
+#PBS -q qprod
+#PBS -l select=1:ncpus=16,walltime=02:00:00
+
+[ -z "$PARALLEL_SEQ" ] && 
+{ module add parallel ; exec parallel -a $PBS_O_WORKDIR/tasklist $0 ; }
+
+# change to local scratch directory
+SCR=/lscratch/$PBS_JOBID/$PARALLEL_SEQ
+mkdir -p $SCR ; cd $SCR || exit
+
+# get individual task from tasklist
+TASK=$1  
+
+# copy input file and executable to scratch 
+cp $PBS_O_WORKDIR/$TASK input 
+
+# execute the calculation
+cat  input > output
+
+# copy output file to submit directory
+cp output $PBS_O_WORKDIR/$TASK.out
+```
+
+In this example, tasks from tasklist are executed via the GNU
+parallel. The jobscript executes multiple instances of itself in
+parallel, on all cores of the node. Once an instace of jobscript is
+finished, new instance starts until all entries in tasklist are
+processed. Currently processed entry of the joblist may be retrieved via
+$1 variable. Variable $TASK expands to one of the input filenames from
+tasklist. We copy the input file to local scratch, execute the myprog.x
+and copy the output file back to the submit directory, under the
+$TASK.out name. 
+
+### Submit the job
+
+To submit the job, use the qsub command. The 101 tasks' job of the
+[example above](#gp_example) may be submitted like this:
+
+``` 
+$ qsub -N JOBNAME jobscript
+12345.dm2
+```
+
+In this example, we submit a job of 101 tasks. 16 input files will be
+processed in  parallel. The 101 tasks on 16 cores are assumed to
+complete in less than 2 hours.
+
+Please note the #PBS directives in the beginning of the jobscript file,
+dont' forget to set your valid PROJECT_ID and desired queue.
+
+[]()Job arrays and GNU parallel
+-------------------------------
+
+Combine the Job arrays and GNU parallel for best throughput of single
+core jobs
+
+While job arrays are able to utilize all available computational nodes,
+the GNU parallel can be used to efficiently run multiple single-core
+jobs on single node. The two approaches may be combined to utilize all
+available (current and future) resources to execute single core jobs.
+
+Every subjob in an array runs GNU parallel to utilize all cores on the
+node
+
+### GNU parallel, shared jobscript
+
+Combined approach, very similar to job arrays, can be taken. Job array
+is submitted to the queuing system. The subjobs run GNU parallel. The
+GNU parallel shell executes multiple instances of the jobscript using
+all cores on the node. The instances execute different work, controlled
+by the $PBS_JOB_ARRAY and $PARALLEL_SEQ variables.
+
+[]()Example:
+
+Assume we have 992 input files with name beginning with "file" (e. g.
+file001, ..., file992). Assume we would like to use each of these input
+files with program executable myprog.x, each as a separate single core
+job. We call these single core jobs tasks.
+
+First, we create a tasklist file, listing all tasks - all input files in
+our example:
+
+``` 
+$ find . -name 'file*' > tasklist
+```
+
+Next we create a file, controlling how many tasks will be executed in
+one subjob
+
+``` 
+$ seq 32 > numtasks
+```
+
+Then we create jobscript:
+
+``` 
+#!/bin/bash
+#PBS -A PROJECT_ID
+#PBS -q qprod
+#PBS -l select=1:ncpus=16,walltime=02:00:00
+
+[ -z "$PARALLEL_SEQ" ] && 
+{ module add parallel ; exec parallel -a $PBS_O_WORKDIR/numtasks $0 ; }
+
+# change to local scratch directory
+SCR=/lscratch/$PBS_JOBID/$PARALLEL_SEQ
+mkdir -p $SCR ; cd $SCR || exit
+
+# get individual task from tasklist with index from PBS JOB ARRAY and index form Parallel
+IDX=$(($PBS_ARRAY_INDEX + $PARALLEL_SEQ - 1))
+TASK=$(sed -n "${IDX}p" $PBS_O_WORKDIR/tasklist)
+[ -z "$TASK" ] && exit
+
+# copy input file and executable to scratch 
+cp $PBS_O_WORKDIR/$TASK input 
+
+# execute the calculation
+cat input > output
+
+# copy output file to submit directory
+cp output $PBS_O_WORKDIR/$TASK.out
+```
+
+In this example, the jobscript executes in multiple instances in
+parallel, on all cores of a computing node.  Variable $TASK expands to
+one of the input filenames from tasklist. We copy the input file to
+local scratch, execute the myprog.x and copy the output file back to the
+submit directory, under the $TASK.out name.  The numtasks file controls
+how many tasks will be run per subjob. Once an task is finished, new
+task starts, until the number of tasks  in numtasks file is reached.
+
+Select  subjob walltime and number of tasks per subjob  carefully
+
+ When deciding this values, think about following guiding rules :
+
+1.  Let n=N/16.  Inequality (n+1) * T &lt; W should hold. The N is
+    number of tasks per subjob, T is expected single task walltime and W
+    is subjob walltime. Short subjob walltime improves scheduling and
+    job throughput.
+2.  Number of tasks should be modulo 16.
+3.  These rules are valid only when all tasks have similar task
+    walltimes T.
+
+### Submit the job array
+
+To submit the job array, use the qsub -J command. The 992 tasks' job of
+the [example above](#combined_example) may be submitted
+like this:
+
+``` 
+$ qsub -N JOBNAME -J 1-992:32 jobscript
+12345[].dm2
+```
+
+In this example, we submit a job array of 31 subjobs. Note the  -J
+1-992:**32**, this must be the same as the number sent to numtasks file.
+Each subjob will run on full node and process 16 input files in
+parallel, 32 in total per subjob.  Every subjob is assumed to complete
+in less than 2 hours.
+
+Please note the #PBS directives in the beginning of the jobscript file,
+dont' forget to set your valid PROJECT_ID and desired queue.
+
+Examples
+--------
+
+Download the examples in
+[capacity.zip](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing-examples), 
+illustrating the above listed ways to run huge number of jobs. We
+recommend to try out the examples, before using this for running
+production jobs.
+
+Unzip the archive in an empty directory on Anselm and follow the
+instructions in the README file
+
+``` 
+$ unzip capacity.zip
+$ cat README
+```
+
+ 
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png
new file mode 100644
index 0000000000000000000000000000000000000000..6a5a1443fa08cd9d3c62bea52bbb48136b2501dc
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..277a3850c574f2dfa6401f8e15cbc9003c2a0ece
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction.md
@@ -0,0 +1,81 @@
+Resource Allocation and Job Execution 
+=====================================
+
+
+
+  
+
+To run a
+[job](https://docs.it4i.cz/anselm-cluster-documentation/introduction),
+[computational
+resources](https://docs.it4i.cz/anselm-cluster-documentation/introduction)
+for this particular job must be allocated. This is done via the PBS Pro
+job workload manager software, which efficiently distributes workloads
+across the supercomputer. Extensive informations about PBS Pro can be
+found in the [official documentation
+here](https://docs.it4i.cz/pbspro-documentation),
+especially in the [PBS Pro User's
+Guide](https://docs.it4i.cz/pbspro-documentation/pbspro-users-guide).
+
+Resources Allocation Policy
+---------------------------
+
+The resources are allocated to the job in a fairshare fashion, subject
+to constraints set by the queue and resources available to the Project.
+[The
+Fairshare](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority)
+at Anselm ensures that individual users may consume approximately equal
+amount of resources per week. The resources are accessible via several
+queues for queueing the jobs. The queues provide prioritized and
+exclusive access to the computational resources. Following queues are
+available to Anselm users:
+
+-   **qexp**, the Express queue
+-   **qprod**, the Production queue****
+-   **qlong**, the Long queue, regula
+-   **qnvidia, qmic, qfat**, the Dedicated queues
+-   **qfree,** the Free resource utilization queue
+
+Check the queue status at <https://extranet.it4i.cz/anselm/>
+
+Read more on the [Resource Allocation
+Policy](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy)
+page.
+
+Job submission and execution
+----------------------------
+
+Use the **qsub** command to submit your jobs.
+
+The qsub submits the job into the queue. The qsub command creates a
+request to the PBS Job manager for allocation of specified resources. 
+The **smallest allocation unit is entire node, 16 cores**, with
+exception of the qexp queue. The resources will be allocated when
+available, subject to allocation policies and constraints. **After the
+resources are allocated the jobscript or interactive shell is executed
+on first of the allocated nodes.**
+
+Read more on the [Job submission and
+execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)
+page.
+
+Capacity computing
+------------------
+
+Use Job arrays when running huge number of jobs.
+Use GNU Parallel and/or Job arrays when running (many) single core jobs.
+
+In many cases, it is useful to submit huge (<span>100+</span>) number of
+computational jobs into the PBS queue system. Huge number of (small)
+jobs is one of the most effective ways to execute embarrassingly
+parallel calculations, achieving best runtime, throughput and computer
+utilization. In this chapter, we discuss the the recommended way to run
+huge number of jobs, including **ways to run huge number of single core
+jobs**.
+
+Read more on [Capacity
+computing](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing)
+page.
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md
new file mode 100644
index 0000000000000000000000000000000000000000..bd619ee4cd40066249ef20b9c07cb92719667b53
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority.md
@@ -0,0 +1,107 @@
+Job scheduling 
+==============
+
+Job execution priority
+----------------------
+
+Scheduler gives each job an execution priority and then uses this job
+execution priority to select which job(s) to run.
+
+Job execution priority on Anselm is determined by these job properties
+(in order of importance):
+
+1.  queue priority
+2.  fairshare priority
+3.  eligible time
+
+### Queue priority
+
+ueue priority is priority of queue where job is queued before
+execution.
+
+ueue priority has the biggest impact on job execution priority.
+Execution priority of jobs in higher priority queues is always greater
+than execution priority of jobs in lower priority queues. Other
+properties of job used for determining job execution priority (fairshare
+priority, eligible time) cannot compete with queue priority.
+
+ueue priorities can be seen at <https://extranet.it4i.cz/anselm/queues>
+
+### Fairshare priority
+
+Fairshare priority is priority calculated on recent usage of resources.
+Fairshare priority is calculated per project, all members of project
+share same fairshare priority. Projects with higher recent usage have
+lower fairshare priority than projects with lower or none recent usage.
+
+Fairshare priority is used for ranking jobs with equal queue priority.
+
+Fairshare priority is calculated as
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png)
+
+where MAX_FAIRSHARE has value 1E6,
+usage~Project~ is cumulated usage by all members of selected project,
+usage~Total~ is total usage by all users, by all projects.
+
+Usage counts allocated corehours (ncpus*walltime). Usage is decayed, or
+cut in half periodically, at the interval 168 hours (one week).
+Jobs queued in queue qexp are not calculated to project's usage.
+
+<span>Calculated usage and fairshare priority can be seen at
+<https://extranet.it4i.cz/anselm/projects>.</span>
+
+<span>
+<span>Calculated fairshare priority can be also seen as
+Resource_List.fairshare attribute of a job.</span>
+</span>
+
+### <span>Eligible time</span>
+
+Eligible time is amount (in seconds) of eligible time job accrued while
+waiting to run. Jobs with higher eligible time gains higher
+pri<span><span></span></span>ority.
+
+Eligible time has the least impact on execution priority. Eligible time
+is used for sorting jobs with equal queue priority and fairshare
+priority. It is very, very difficult for <span>eligible time</span> to
+compete with fairshare priority.
+
+<span><span>Eligible time can be seen as eligible_time attribute of
+job.</span></span>
+
+### Formula
+
+Job execution priority (job sort formula) is calculated as:
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png)
+
+### Job backfilling
+
+<span>Anselm cluster uses job backfilling.</span>
+
+Backfilling means fitting smaller jobs around the higher-priority jobs
+that the scheduler is going to run next, in such a way that the
+higher-priority jobs are not delayed. Backfilling allows us to keep
+resources from becoming idle when the top job (job with the highest
+execution priority) cannot run.
+
+The scheduler makes a list of jobs to run in order of execution
+priority. Scheduler looks for smaller jobs that can fit into the usage
+gaps
+around the highest-priority jobs in the list. The scheduler looks in the
+prioritized list of jobs and chooses the highest-priority smaller jobs
+that fit. Filler jobs are run only if they will not delay the start time
+of top jobs.
+
+It means, that jobs with lower execution priority can be run before jobs
+with higher execution priority.
+
+It is **very beneficial to specify the walltime** when submitting jobs.
+
+Specifying more accurate walltime enables better schedulling, better
+execution times and better resource usage. Jobs with suitable (small)
+walltime could be backfilled - and overtake job(s) with higher priority.
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md
new file mode 100644
index 0000000000000000000000000000000000000000..86329d849465edb38d8efdf5154a3997a6b6f305
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution.md
@@ -0,0 +1,552 @@
+Job submission and execution 
+============================
+
+
+
+  
+
+Job Submission
+--------------
+
+When allocating computational resources for the job, please specify
+
+1.  suitable queue for your job (default is qprod)
+2.  number of computational nodes required
+3.  number of cores per node required
+4.  maximum wall time allocated to your calculation, note that jobs
+    exceeding maximum wall time will be killed
+5.  Project ID
+6.  Jobscript or interactive switch
+
+Use the **qsub** command to submit your job to a queue for allocation of
+the computational resources.
+
+Submit the job using the qsub command:
+
+``` 
+$ qsub -A Project_ID -q queue -l select=x:ncpus=y,walltime=[[hh:]mm:]ss[.ms] jobscript
+```
+
+The qsub submits the job into the queue, in another words the qsub
+command creates a request to the PBS Job manager for allocation of
+specified resources. The resources will be allocated when available,
+subject to above described policies and constraints. **After the
+resources are allocated the jobscript or interactive shell is executed
+on first of the allocated nodes.**
+
+### Job Submission Examples
+
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=64:ncpus=16,walltime=03:00:00 ./myjob
+```
+
+In this example, we allocate 64 nodes, 16 cores per node, for 3 hours.
+We allocate these resources via the qprod queue, consumed resources will
+be accounted to the Project identified by Project ID OPEN-0-0. Jobscript
+myjob will be executed on the first node in the allocation.
+
+ 
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=16 -I
+```
+
+In this example, we allocate 4 nodes, 16 cores per node, for 1 hour. We
+allocate these resources via the qexp queue. The resources will be
+available interactively
+
+ 
+
+``` 
+$ qsub -A OPEN-0-0 -q qnvidia -l select=10:ncpus=16 ./myjob
+```
+
+In this example, we allocate 10 nvidia accelerated nodes, 16 cores per
+node, for  24 hours. We allocate these resources via the qnvidia queue.
+Jobscript myjob will be executed on the first node in the allocation.
+
+ 
+
+``` 
+$ qsub -A OPEN-0-0 -q qfree -l select=10:ncpus=16 ./myjob
+```
+
+In this example, we allocate 10  nodes, 16 cores per node, for 12 hours.
+We allocate these resources via the qfree queue. It is not required that
+the project OPEN-0-0 has any available resources left. Consumed
+resources are still accounted for. Jobscript myjob will be executed on
+the first node in the allocation.
+
+ 
+
+All qsub options may be [saved directly into the
+jobscript](#PBSsaved). In such a case, no options to qsub
+are needed.
+
+``` 
+$ qsub ./myjob
+```
+
+ 
+
+By default, the PBS batch system sends an e-mail only when the job is
+aborted. Disabling mail events completely can be done like this:
+
+``` 
+$ qsub -m n
+```
+
+Advanced job placement
+----------------------
+
+### Placement by name
+
+Specific nodes may be allocated via the PBS
+
+``` 
+qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=16:host=cn171+1:ncpus=16:host=cn172 -I
+```
+
+In this example, we allocate nodes cn171 and cn172, all 16 cores per
+node, for 24 hours.  Consumed resources will be accounted to the Project
+identified by Project ID OPEN-0-0. The resources will be available
+interactively.
+
+### Placement by CPU type
+
+Nodes equipped with Intel Xeon E5-2665 CPU have base clock frequency
+2.4GHz, nodes equipped with Intel Xeon E5-2470 CPU have base frequency
+2.3 GHz (see section Compute Nodes for details).  Nodes may be selected
+via the PBS resource attribute <span
+class="highlightedSearchTerm">cpu_freq</span> .
+
+  CPU Type             base freq.   Nodes                        cpu_freq attribute
+  -------------------- ------------ ---------------------------- ---------------------
+  Intel Xeon E5-2665   2.4GHz       cn[1-180], cn[208-209]   24
+  Intel Xeon E5-2470   2.3GHz       cn[181-207]                23
+
+ 
+
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=16:cpu_freq=24 -I
+```
+
+
+
+In this example, we allocate 4 nodes, 16 cores, selecting only the nodes
+with Intel Xeon E5-2665 CPU.
+
+
+
+### Placement by IB switch
+
+
+Groups of computational nodes are connected to chassis integrated
+Infiniband switches. These switches form the leaf switch layer of the
+[Infiniband 
+network](https://docs.it4i.cz/anselm-cluster-documentation/network)
+<span class="internal-link">fat</span> tree topology. Nodes sharing the
+leaf switch can communicate most efficiently. Sharing the same switch
+prevents hops in the network and provides for unbiased, most efficient
+network communication.
+
+Nodes sharing the same switch may be selected via the PBS resource
+attribute ibswitch. Values of this attribute are iswXX, where XX is the
+switch number. The node-switch mapping can be seen at [Hardware
+Overview](https://docs.it4i.cz/anselm-cluster-documentation/hardware-overview)
+section.
+
+We recommend allocating compute nodes of a single switch when best
+possible computational network performance is required to run the job
+efficiently:
+
+
+
+    qsub -A OPEN-0-0 -q qprod -l select=18:ncpus=16:ibswitch=isw11 ./myjob
+
+
+In this example, we request all the 18 nodes sharing the isw11 switch
+for 24 hours. Full chassis will be allocated.
+
+
+
+Advanced job handling
+---------------------
+
+### Selecting Turbo Boost off
+
+
+Intel Turbo Boost Technology is on by default. We strongly recommend
+keeping the default. 
+If necessary (such as in case of benchmarking) you can disable the Turbo
+for all nodes of the job by using the PBS resource attribute
+cpu_turbo_boost
+    $ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=16 -l cpu_turbo_boost=0 -I
+
+More about the Intel Turbo Boost in the TurboBoost section
+
+### Advanced examples
+
+In the following example, we select an allocation for benchmarking a
+very special and demanding MPI program. We request Turbo off, 2 full
+chassis of compute nodes (nodes sharing the same IB switches) for 30
+minutes:
+
+    $ qsub -A OPEN-0-0 -q qprod 
+    -l select=18:ncpus=16:ibswitch=isw10:mpiprocs=1:ompthreads=16+18:ncpus=16:ibswitch=isw20:mpiprocs=16:ompthreads=1 
+    -l cpu_turbo_boost=0,walltime=00:30:00 
+    -N Benchmark ./mybenchmark
+
+The MPI processes will be distributed differently on the nodes connected
+to the two switches. On the isw10 nodes, we will run 1 MPI process per
+node 16 threads per process, on isw20  nodes we will run 16 plain MPI
+processes.
+
+Although this example is somewhat artificial, it demonstrates the
+flexibility of the qsub command options.
+
+Job Management
+--------------
+
+Check status of your jobs using the **qstat** and **check-pbs-jobs**
+commands
+
+``` 
+$ qstat -a
+$ qstat -a -u username
+$ qstat -an -u username
+$ qstat -f 12345.srv11
+```
+
+[]()Example:
+
+``` 
+$ qstat -a
+
+srv11:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+16287.srv11     user1    qlong    job1         6183   4  64    --  144:0 R 38:25
+16468.srv11     user1    qlong    job2         8060   4  64    --  144:0 R 17:44
+16547.srv11     user2    qprod    job3x       13516   2  32    --  48:00 R 00:58
+```
+
+In this example user1 and user2 are running jobs named job1, job2 and
+job3x. The jobs job1 and job2 are using 4 nodes, 16 cores per node each.
+The job1 already runs for 38 hours and 25 minutes, job2 for 17 hours 44
+minutes. The job1 already consumed 64*38.41 = 2458.6 core hours. The
+job3x already consumed 0.96*32 = 30.93 core hours. These consumed core
+hours will be accounted on the respective project accounts, regardless
+of whether the allocated cores were actually used for computations.
+
+Check status of your jobs using check-pbs-jobs command. Check presence
+of user's PBS jobs' processes on execution hosts. Display load,
+processes. Display job standard and error output. Continuously display
+(tail -f) job standard or error output.
+
+``` 
+$ check-pbs-jobs --check-all
+$ check-pbs-jobs --print-load --print-processes
+$ check-pbs-jobs --print-job-out --print-job-err
+
+$ check-pbs-jobs --jobid JOBID --check-all --print-all
+
+$ check-pbs-jobs --jobid JOBID --tailf-job-out
+```
+
+Examples:
+
+``` 
+$ check-pbs-jobs --check-all
+JOB 35141.dm2, session_id 71995, user user2, nodes cn164,cn165
+Check session idOK
+Check processes
+cn164OK
+cn165No process
+```
+
+In this example we see that job 35141.dm2 currently runs no process on
+allocated node cn165, which may indicate an execution error.
+
+``` 
+$ check-pbs-jobs --print-load --print-processes
+JOB 35141.dm2, session_id 71995, user user2, nodes cn164,cn165
+Print load
+cn164LOAD16.01, 16.01, 16.00
+cn165LOAD 0.01,  0.00,  0.01
+Print processes
+       %CPU CMD
+cn164 0.0 -bash
+cn164 0.0 /bin/bash /var/spool/PBS/mom_priv/jobs/35141.dm2.SC
+cn16499.7 run-task
+...
+```
+
+In this example we see that job 35141.dm2 currently runs process
+run-task on node cn164, using one thread only, while node cn165 is
+empty, which may indicate an execution error.
+
+``` 
+$ check-pbs-jobs --jobid 35141.dm2 --print-job-out
+JOB 35141.dm2, session_id 71995, user user2, nodes cn164,cn165
+Print job standard output:
+======================== Job start  ==========================
+Started at    Fri Aug 30 02:47:53 CEST 2013
+Script name   script
+Run loop 1
+Run loop 2
+Run loop 3
+```
+
+In this example, we see actual output (some iteration loops) of the job
+35141.dm2
+
+Manage your queued or running jobs, using the **qhold**, **qrls**,
+**qdel,** **qsig** or **qalter** commands
+
+You may release your allocation at any time, using qdel command
+
+``` 
+$ qdel 12345.srv11
+```
+
+You may kill a running job by force, using qsig command
+
+``` 
+$ qsig -s 9 12345.srv11
+```
+
+Learn more by reading the pbs man page
+
+``` 
+$ man pbs_professional
+```
+
+Job Execution
+-------------
+
+### Jobscript
+
+Prepare the jobscript to run batch jobs in the PBS queue system
+
+The Jobscript is a user made script, controlling sequence of commands
+for executing the calculation. It is often written in bash, other
+scripts may be used as well. The jobscript is supplied to PBS **qsub**
+command as an argument and executed by the PBS Professional workload
+manager.
+
+The jobscript or interactive shell is executed on first of the allocated
+nodes.
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=16 -N Name0 ./myjob
+$ qstat -n -u username
+
+srv11:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+15209.srv11     username qexp     Name0        5530   4  64    --  01:00 R 00:00
+   cn17/0*16+cn108/0*16+cn109/0*16+cn110/0*16
+```
+
+ In this example, the nodes cn17, cn108, cn109 and cn110 were allocated
+for 1 hour via the qexp queue. The jobscript myjob will be executed on
+the node cn17, while the nodes cn108, cn109 and cn110 are available for
+use as well.
+
+The jobscript or interactive shell is by default executed in home
+directory
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=16 -I
+qsubwaiting for job 15210.srv11 to start
+qsubjob 15210.srv11 ready
+
+$ pwd
+/home/username
+```
+
+In this example, 4 nodes were allocated interactively for 1 hour via the
+qexp queue. The interactive shell is executed in the home directory.
+
+All nodes within the allocation may be accessed via ssh.  Unallocated
+nodes are not accessible to user.
+
+The allocated nodes are accessible via ssh from login nodes. The nodes
+may access each other via ssh as well.
+
+Calculations on allocated nodes may be executed remotely via the MPI,
+ssh, pdsh or clush. You may find out which nodes belong to the
+allocation by reading the $PBS_NODEFILE file
+
+``` 
+qsub -q qexp -l select=4:ncpus=16 -I
+qsubwaiting for job 15210.srv11 to start
+qsubjob 15210.srv11 ready
+
+$ pwd
+/home/username
+
+$ sort -u $PBS_NODEFILE
+cn17.bullx
+cn108.bullx
+cn109.bullx
+cn110.bullx
+ 
+$ pdsh -w cn17,cn[108-110] hostname
+cn17cn17
+cn108cn108
+cn109cn109
+cn110cn110
+```
+
+In this example, the hostname program is executed via pdsh from the
+interactive shell. The execution runs on all four allocated nodes. The
+same result would be achieved if the pdsh is called from any of the
+allocated nodes or from the login nodes.
+
+### Example Jobscript for MPI Calculation
+
+Production jobs must use the /scratch directory for I/O
+
+The recommended way to run production jobs is to change to /scratch
+directory early in the jobscript, copy all inputs to /scratch, execute
+the calculations and copy outputs to home directory.
+
+``` 
+#!/bin/bash
+
+# change to scratch directory, exit on failure
+SCRDIR=/scratch/$USER/myjob
+mkdir -p $SCRDIR
+cd $SCRDIR || exit
+
+# copy input file to scratch 
+cp $PBS_O_WORKDIR/input .
+cp $PBS_O_WORKDIR/mympiprog.x .
+
+# load the mpi module
+module load openmpi
+
+# execute the calculation
+mpiexec -pernode ./mympiprog.x
+
+# copy output file to home
+cp output $PBS_O_WORKDIR/.
+
+#exit
+exit
+```
+
+In this example, some directory on the /home holds the input file input
+and executable mympiprog.x . We create a directory myjob on the /scratch
+filesystem, copy input and executable files from the /home directory
+where the qsub was invoked ($PBS_O_WORKDIR) to /scratch, execute the
+MPI programm mympiprog.x and copy the output file back to the /home
+directory. The mympiprog.x is executed as one process per node, on all
+allocated nodes.
+
+Consider preloading inputs and executables onto [shared
+scratch](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage)
+before the calculation starts.
+
+In some cases, it may be impractical to copy the inputs to scratch and
+outputs to home. This is especially true when very large input and
+output files are expected, or when the files should be reused by a
+subsequent calculation. In such a case, it is users responsibility to
+preload the input files on shared /scratch before the job submission and
+retrieve the outputs manually, after all calculations are finished.
+
+[]()Store the qsub options within the jobscript.
+Use **mpiprocs** and **ompthreads** qsub options to control the MPI job
+execution.
+
+Example jobscript for an MPI job with preloaded inputs and executables,
+options for qsub are stored within the script :
+
+``` 
+#!/bin/bash
+#PBS -q qprod
+#PBS -N MYJOB
+#PBS -l select=100:ncpus=16:mpiprocs=1:ompthreads=16
+#PBS -A OPEN-0-0
+
+# change to scratch directory, exit on failure
+SCRDIR=/scratch/$USER/myjob
+cd $SCRDIR || exit
+
+
+# load the mpi module
+module load openmpi
+
+# execute the calculation
+mpiexec ./mympiprog.x
+
+
+#exit
+exit
+```
+
+In this example, input and executable files are assumed preloaded
+manually in /scratch/$USER/myjob directory. Note the **mpiprocs** and
+**ompthreads** qsub options, controlling behavior of the MPI execution.
+The mympiprog.x is executed as one process per node, on all 100
+allocated nodes. If mympiprog.x implements OpenMP threads, it will run
+16 threads per node.
+
+More information is found in the [Running
+OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI)
+and [Running
+MPICH2](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2)
+sections.
+
+### Example Jobscript for Single Node Calculation[]()
+
+Local scratch directory is often useful for single node jobs. Local
+scratch will be deleted immediately after the job ends.
+
+Example jobscript for single node calculation, using [local
+scratch](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage)
+on the node:
+
+``` 
+#!/bin/bash
+
+# change to local scratch directory
+cd /lscratch/$PBS_JOBID || exit
+
+# copy input file to scratch 
+cp $PBS_O_WORKDIR/input .
+cp $PBS_O_WORKDIR/myprog.x .
+
+# execute the calculation
+./myprog.x
+
+# copy output file to home
+cp output $PBS_O_WORKDIR/.
+
+#exit
+exit
+```
+
+In this example, some directory on the home holds the input file input
+and executable myprog.x . We copy input and executable files from the
+home directory where the qsub was invoked ($PBS_O_WORKDIR) to local
+scratch /lscratch/$PBS_JOBID, execute the myprog.x and copy the output
+file back to the /home directory. The myprog.x runs on one node only and
+may use threads.
+
+### Other Jobscript Examples
+
+Further jobscript examples may be found in the
+[Software](https://docs.it4i.cz/anselm-cluster-documentation/software)
+section and the [Capacity
+computing](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/capacity-computing)
+section.
+
+ 
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png
new file mode 100644
index 0000000000000000000000000000000000000000..6078911559aa56effb4b342fa4ffd074cfaed46f
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md
new file mode 100644
index 0000000000000000000000000000000000000000..07225507b3f1338a8d620992f9dd8e9848ac66b9
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/resources-allocation-policy.md
@@ -0,0 +1,303 @@
+Resources Allocation Policy 
+===========================
+
+
+
+  
+
+Resources Allocation Policy 
+---------------------------
+
+The resources are allocated to the job in a fairshare fashion, subject
+to constraints set by the queue and resources available to the Project.
+The Fairshare at Anselm ensures that individual users may consume
+approximately equal amount of resources per week. Detailed information
+in the [Job
+scheduling](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-priority)
+section. The resources are accessible via several queues for queueing
+the jobs. The queues provide prioritized and exclusive access to the
+computational resources. Following table provides the queue partitioning
+overview:     
+
+<table>
+<colgroup>
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">queue</th>
+<th align="left">active project</th>
+<th align="left">project resources</th>
+<th align="left">nodes</th>
+<th align="left">min ncpus*</th>
+<th align="left">priority</th>
+<th align="left">authorization</th>
+<th align="left">walltime<br />
+default/max</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>qexp</strong><br />
+Express queue</td>
+<td align="left">no</td>
+<td align="left">none required</td>
+<td align="left">2 reserved, 31 total<br />
+including MIC, GPU and FAT nodes</td>
+<td align="left">1</td>
+<td align="left"><span><em>150</em></span></td>
+<td align="left">no</td>
+<td align="left">1h</td>
+</tr>
+<tr class="even">
+<td align="left"><strong>qprod</strong><br />
+Production queue</td>
+<td align="left">yes<br />
+<br />
+</td>
+<td align="left">&gt; 0</td>
+<td align="left"><p><span><em>178 nodes w/o accelerator</em></span><br />
+<br />
+</p></td>
+<td align="left">16</td>
+<td align="left">0</td>
+<td align="left">no</td>
+<td align="left">24/48h</td>
+</tr>
+<tr class="odd">
+<td align="left"><p><strong>qlong</strong><br />
+Long queue</p></td>
+<td align="left">yes</td>
+<td align="left">&gt; 0</td>
+<td align="left">60 nodes w/o accelerator</td>
+<td align="left">16</td>
+<td align="left">0</td>
+<td align="left">no</td>
+<td align="left">72/144h</td>
+</tr>
+<tr class="even">
+<td align="left"><p><strong>qnvidia, qmic, qfat</strong><br />
+Dedicated queues</p></td>
+<td align="left">yes</td>
+<td align="left"><p>&gt; 0</p></td>
+<td align="left">23 total qnvidia<br />
+4 total qmic<br />
+2 total qfat</td>
+<td align="left">16</td>
+<td align="left"><span><em>200</em></span></td>
+<td align="left">yes</td>
+<td align="left">24/48h</td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>qfree</strong><br />
+Free resource queue</td>
+<td align="left">yes</td>
+<td align="left">none required</td>
+<td align="left">178 w/o accelerator</td>
+<td align="left">16</td>
+<td align="left">-1024</td>
+<td align="left">no</td>
+<td align="left">12h</td>
+</tr>
+</tbody>
+</table>
+
+**The qfree queue is not free of charge**. [Normal
+accounting](#resources-accounting-policy) applies.
+However, it allows for utilization of free resources, once a Project
+exhausted all its allocated computational resources. This does not apply
+for Directors Discreation's projects (DD projects) by default. Usage of
+qfree after exhaustion of DD projects computational resources is allowed
+after request for this queue.
+
+**The qexp queue is equipped with the nodes not having the very same CPU
+clock speed.** Should you need the very same CPU speed, you have to
+select the proper nodes during the PSB job submission.
+****
+
+-   **qexp**, the Express queueThis queue is dedicated for testing and
+    running very small jobs. It is not required to specify a project to
+    enter the qexp. <span>*<span>There are 2 nodes always reserved for
+    this queue (w/o accelerator), maximum 8 nodes are available via the
+    qexp for a particular user, from a pool of nodes containing
+    **Nvidia** accelerated nodes (cn181-203), **MIC** accelerated
+    nodes (cn204-207) and **Fat** nodes with 512GB RAM (cn208-209). This
+    enables to test and tune also accelerated code or code with higher
+    RAM requirements</span>.*</span> The nodes may be allocated on per
+    core basis. No special authorization is required to use it. The
+    maximum runtime in qexp is 1 hour.
+-   **qprod**, the Production queue****This queue is intended for
+    normal production runs. It is required that active project with
+    nonzero remaining resources is specified to enter the qprod. All
+    nodes may be accessed via the qprod queue, except the reserved ones.
+    <span>*<span>178 nodes without accelerator are
+    included</span>.*</span> Full nodes, 16 cores per node
+    are allocated. The queue runs with medium priority and no special
+    authorization is required to use it. The maximum runtime in qprod is
+    48 hours.
+-   **qlong**, the Long queue****This queue is intended for long
+    production runs. It is required that active project with nonzero
+    remaining resources is specified to enter the qlong. Only 60 nodes
+    without acceleration may be accessed via the qlong queue. Full
+    nodes, 16 cores per node are allocated. The queue runs with medium
+    priority and no special authorization is required to use it.<span>
+    *The maximum runtime in qlong is 144 hours (three times of the
+    standard qprod time - 3 * 48 h).*</span>
+-   **qnvidia, qmic, qfat**, the Dedicated queues****The queue qnvidia
+    is dedicated to access the Nvidia accelerated nodes, the qmic to
+    access MIC nodes and qfat the Fat nodes. It is required that active
+    project with nonzero remaining resources is specified to enter
+    these queues. 23 nvidia, 4 mic and 2 fat nodes are included. Full
+    nodes, 16 cores per node are allocated. The queues run with<span>
+    *very high priority*</span>, the jobs will be scheduled before the
+    jobs coming from the<span> *qexp* </span>queue. An PI<span> *needs
+    explicitly* </span>ask
+    [support](https://support.it4i.cz/rt/) for
+    authorization to enter the dedicated queues for all users associated
+    to her/his Project.
+-   **qfree**, The Free resource queue****The queue qfree is intended
+    for utilization of free resources, after a Project exhausted all its
+    allocated computational resources (Does not apply to DD projects
+    by default. DD projects have to request for persmission on qfree
+    after exhaustion of computational resources.). It is required that
+    active project is specified to enter the queue, however no remaining
+    resources are required. Consumed resources will be accounted to
+    the Project. Only 178 nodes without accelerator may be accessed from
+    this queue. Full nodes, 16 cores per node are allocated. The queue
+    runs with very low priority and no special authorization is required
+    to use it. The maximum runtime in qfree is 12 hours.
+
+### Notes **
+**
+
+The job wall clock time defaults to **half the maximum time**, see table
+above. Longer wall time limits can be  [set manually, see
+examples](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+
+Jobs that exceed the reserved wall clock time (Req'd Time) get killed
+automatically. Wall clock time limit can be changed for queuing jobs
+(state Q) using the qalter command, however can not be changed for a
+running job (state R).
+
+Anselm users may check current queue configuration at
+<https://extranet.it4i.cz/anselm/queues>.
+
+### Queue status
+
+Check the status of jobs, queues and compute nodes at
+<https://extranet.it4i.cz/anselm/>
+
+![rspbs web
+interface](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/rsweb.png)
+
+Display the queue status on Anselm:
+
+``` 
+$ qstat -q
+```
+
+The PBS allocation overview may be obtained also using the rspbs
+command.
+
+``` 
+$ rspbs
+Usagerspbs [options]
+
+Options:
+  --version             show program's version number and exit
+  -h, --help            show this help message and exit
+  --get-node-ncpu-chart
+                        Print chart of allocated ncpus per node
+  --summary             Print summary
+  --get-server-details  Print server
+  --get-queues          Print queues
+  --get-queues-details  Print queues details
+  --get-reservations    Print reservations
+  --get-reservations-details
+                        Print reservations details
+  --get-nodes           Print nodes of PBS complex
+  --get-nodeset         Print nodeset of PBS complex
+  --get-nodes-details   Print nodes details
+  --get-jobs            Print jobs
+  --get-jobs-details    Print jobs details
+  --get-jobs-check-params
+                        Print jobid, job state, session_id, user, nodes
+  --get-users           Print users of jobs
+  --get-allocated-nodes
+                        Print allocated nodes of jobs
+  --get-allocated-nodeset
+                        Print allocated nodeset of jobs
+  --get-node-users      Print node users
+  --get-node-jobs       Print node jobs
+  --get-node-ncpus      Print number of ncpus per node
+  --get-node-allocated-ncpus
+                        Print number of allocated ncpus per node
+  --get-node-qlist      Print node qlist
+  --get-node-ibswitch   Print node ibswitch
+  --get-user-nodes      Print user nodes
+  --get-user-nodeset    Print user nodeset
+  --get-user-jobs       Print user jobs
+  --get-user-jobc       Print number of jobs per user
+  --get-user-nodec      Print number of allocated nodes per user
+  --get-user-ncpus      Print number of allocated ncpus per user
+  --get-qlist-nodes     Print qlist nodes
+  --get-qlist-nodeset   Print qlist nodeset
+  --get-ibswitch-nodes  Print ibswitch nodes
+  --get-ibswitch-nodeset
+                        Print ibswitch nodeset
+  --state=STATE         Only for given job state
+  --jobid=JOBID         Only for given job ID
+  --user=USER           Only for given user
+  --node=NODE           Only for given node
+  --nodestate=NODESTATE
+                        Only for given node state (affects only --get-node*
+                        --get-qlist-* --get-ibswitch-* actions)
+  --incl-finished       Include finished jobs
+```
+
+[]()Resources Accounting Policy
+-------------------------------
+
+### The Core-Hour
+
+The resources that are currently subject to accounting are the
+core-hours. The core-hours are accounted on the wall clock basis. The
+accounting runs whenever the computational cores are allocated or
+blocked via the PBS Pro workload manager (the qsub command), regardless
+of whether the cores are actually used for any calculation. 1 core-hour
+is defined as 1 processor core allocated for 1 hour of wall clock time.
+Allocating a full node (16 cores) for 1 hour accounts to 16 core-hours.
+See example in the  [Job submission and
+execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)
+section.
+
+### Check consumed resources
+
+The **it4ifree** command is a part of it4i.portal.clients package,
+located here:
+<https://pypi.python.org/pypi/it4i.portal.clients>
+
+User may check at any time, how many core-hours have been consumed by
+himself/herself and his/her projects. The command is available on
+clusters' login nodes.
+
+``` 
+$ it4ifree
+Password:
+     PID    Total   Used   ...by me Free
+   -------- ------- ------ -------- -------
+   OPEN-0-0 1500000 400644   225265 1099356
+   DD-13-1    10000   2606     2606    7394
+```
+
+ 
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/rsweb.png b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/rsweb.png
new file mode 100644
index 0000000000000000000000000000000000000000..568d23763fe2dacc3a86df3a2d4f37018bdf8399
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/rsweb.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/scheme.png b/docs.it4i.cz/anselm-cluster-documentation/scheme.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f23978b92279535e42d93be79db253b03290c31
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/scheme.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software.1.md b/docs.it4i.cz/anselm-cluster-documentation/software.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..b28b04f643122b019e912540f228c8ed20be9eeb
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software.1.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/anselm-cluster-documentation/software/mpi-1/running-mpich2.md b/docs.it4i.cz/anselm-cluster-documentation/software/anselm-cluster-documentation/software/mpi-1/running-mpich2.md
new file mode 100644
index 0000000000000000000000000000000000000000..253d4f5a4e693e8992ccaddecf0dbc9f7b5fb8d7
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/anselm-cluster-documentation/software/mpi-1/running-mpich2.md
@@ -0,0 +1,195 @@
+Running MPICH2 
+==============
+
+
+
+  
+
+MPICH2 program execution
+------------------------
+
+The MPICH2 programs use mpd daemon or ssh connection to spawn processes,
+no PBS support is needed. However the PBS allocation is required to
+access compute nodes. On Anselm, the **Intel MPI** and **mpich2 1.9**
+are MPICH2 based MPI implementations.
+
+### Basic usage
+
+Use the mpirun to execute the MPICH2 code.
+
+Example:
+
+    $ qsub -q qexp -l select=4:ncpus=16 -I
+    qsubwaiting for job 15210.srv11 to start
+    qsubjob 15210.srv11 ready
+
+    $ module load impi
+
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn17
+    Hello world! from rank 1 of 4 on host cn108
+    Hello world! from rank 2 of 4 on host cn109
+    Hello world! from rank 3 of 4 on host cn110
+
+In this example, we allocate 4 nodes via the express queue
+interactively. We set up the intel MPI environment and interactively run
+the helloworld_mpi.x program. We request MPI to spawn 1 process per
+node.
+Note that the executable helloworld_mpi.x must be available within the
+same path on all nodes. This is automatically fulfilled on the /home and
+/scratch filesystem.
+
+You need to preload the executable, if running on the local scratch
+/lscratch filesystem
+
+    $ pwd
+    /lscratch/15210.srv11
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE cp /home/username/helloworld_mpi.x .
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn17
+    Hello world! from rank 1 of 4 on host cn108
+    Hello world! from rank 2 of 4 on host cn109
+    Hello world! from rank 3 of 4 on host cn110
+
+In this example, we assume the executable helloworld_mpi.x is present
+on shared home directory. We run the cp command via mpirun, copying the
+executable from shared home to local scratch . Second  mpirun will
+execute the binary in the /lscratch/15210.srv11 directory on nodes cn17,
+cn108, cn109 and cn110, one process per node.
+
+MPI process mapping may be controlled by PBS parameters.
+
+The mpiprocs and ompthreads parameters allow for selection of number of
+running MPI processes per node as well as number of OpenMP threads per
+MPI process.
+
+### One MPI process per node
+
+Follow this example to run one MPI process per node, 16 threads per
+process. Note that no options to mpirun are needed
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=1:ompthreads=16 -I
+
+    $ module load mvapich2
+
+    $ mpirun ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 1 MPI processes per node and 16 threads per socket,
+on 4 nodes.
+
+### Two MPI processes per node
+
+Follow this example to run two MPI processes per node, 8 threads per
+process. Note the options to mpirun for mvapich2. No options are needed
+for impi.
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=2:ompthreads=8 -I
+
+    $ module load mvapich2
+
+    $ mpirun -bind-to numa ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 2 MPI processes per node and 8 threads per socket,
+each process and its threads bound to a separate processor socket of the
+node, on 4 nodes
+
+### 16 MPI processes per node
+
+Follow this example to run 16 MPI processes per node, 1 thread per
+process. Note the options to mpirun for mvapich2. No options are needed
+for impi.
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=16:ompthreads=1 -I
+
+    $ module load mvapich2
+
+    $ mpirun -bind-to core ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 16 MPI processes per node, single threaded. Each
+process is bound to separate processor core, on 4 nodes.
+
+### OpenMP thread affinity
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two examples with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+might want to avoid this by setting these environment variable for GCC
+OpenMP:
+
+    $ export GOMP_CPU_AFFINITY="0-15"
+
+or this one for Intel OpenMP:
+
+    $ export KMP_AFFINITY=granularity=fine,compact,1,0
+
+As of OpenMP 4.0 (supported by GCC 4.9 and later and Intel 14.0 and
+later) the following variables may be used for Intel or GCC:
+
+    $ export OMP_PROC_BIND=true
+    $ export OMP_PLACES=cores 
+
+ 
+
+MPICH2 Process Mapping and Binding
+----------------------------------
+
+The mpirun allows for precise selection of how the MPI processes will be
+mapped to the computational nodes and how these processes will bind to
+particular processor sockets and cores.
+
+### Machinefile
+
+Process mapping may be controlled by specifying a machinefile input to
+the mpirun program. Altough all implementations of MPI provide means for
+process mapping and binding, following examples are valid for the impi
+and mvapich2 only.
+
+Example machinefile
+
+    cn110.bullx
+    cn109.bullx
+    cn108.bullx
+    cn17.bullx
+    cn108.bullx
+
+Use the machinefile to control process placement
+
+    $ mpirun -machinefile machinefile helloworld_mpi.x
+    Hello world! from rank 0 of 5 on host cn110
+    Hello world! from rank 1 of 5 on host cn109
+    Hello world! from rank 2 of 5 on host cn108
+    Hello world! from rank 3 of 5 on host cn17
+    Hello world! from rank 4 of 5 on host cn108
+
+In this example, we see that ranks have been mapped on nodes according
+to the order in which nodes show in the machinefile
+
+### Process Binding
+
+The Intel MPI automatically binds each process and its threads to the
+corresponding portion of cores on the processor socket of the node, no
+options needed. The binding is primarily controlled by environment
+variables. Read more about mpi process binding on [Intel
+website](https://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/Environment_Variables_Process_Pinning.htm).
+The MPICH2 uses the -bind-to option Use -bind-to numa or -bind-to core
+to bind the process on single core or entire socket.
+
+### Bindings verification
+
+In all cases, binding and threading may be verified by executing
+
+    $ mpirun  -bindto numa numactl --show
+    $ mpirun  -bindto numa echo $OMP_NUM_THREADS
+
+Intel MPI on Xeon Phi
+---------------------
+
+The[MPI section of Intel Xeon Phi
+chapter](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi)
+provides details on how to run Intel MPI code on Xeon Phi architecture.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md
new file mode 100644
index 0000000000000000000000000000000000000000..c029067adefdfd5017895fc9dec8c74047335f88
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys.md
@@ -0,0 +1,34 @@
+Overview of ANSYS Products 
+==========================
+
+**[SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS
+Channel partner](http://www.ansys.com/)*** for Czech
+Republic provided all ANSYS licenses for ANSELM cluster and supports of
+all ANSYS Products (Multiphysics, Mechanical, MAPDL, CFX, Fluent,
+Maxwell, LS-DYNA...) to IT staff and ANSYS users. If you are challenging
+to problem of ANSYS functionality contact
+please [hotline@svsfem.cz](mailto:hotline@svsfem.cz?subject=Ostrava%20-%20ANSELM)
+
+Anselm provides as commercial as academic variants. Academic variants
+are distinguished by "**Academic...**" word in the name of  license or
+by two letter preposition "**aa_**" in the license feature name. Change
+of license is realized on command line respectively directly in user's
+pbs file (see individual products). [<span id="result_box"
+class="short_text"><span class="hps">More</span> <span class="hps">about
+licensing</span> <span
+class="hps">here</span></span>](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing)
+
+To load the latest version of any ANSYS product (Mechanical, Fluent,
+CFX, MAPDL,...) load the module:
+
+    $ module load ansys
+
+ANSYS supports interactive regime, but due to assumed solution of
+extremely difficult tasks it is not recommended.
+
+If user needs to work in interactive regime we recommend to configure
+the RSM service on the client machine which allows to forward the
+solution to the Anselm directly from the client's Workbench project
+(see ANSYS RSM service).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_1.jpg b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..786e9ce1f0c190e5ef83bfe691596d298b9efc15
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_1.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_2.jpg b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..77dc3d7cfeddad08626234586cdf4228fdb69ee9
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_2.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_3.jpg b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9a9d57cba8fc61ee756b49ced8888a95da46737b
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_3.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_4.jpg b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..3027bc33158c70fd3b2844de87dbd3e0649300c2
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_4.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file.1 b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..51a7614bd3483479099938f533024ab16451ba1e
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file.1
@@ -0,0 +1,32 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-CFX-Project
+#PBS -A XX-YY-ZZ
+#! Mail to user when job terminate or abort
+#PBS -m ae
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+module load ansys
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+echo Machines: $hl
+#-dev input.def includes the input of CFX analysis in DEF format
+/ansys_inc/v145/CFX/bin/cfx5solve -def input.def -size 4 -size-ni 4x -part-large -start-method "Platform MPI Distributed Parallel" -par-dist $hl
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/at_download/file b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..51a7614bd3483479099938f533024ab16451ba1e
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/at_download/file
@@ -0,0 +1,32 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-CFX-Project
+#PBS -A XX-YY-ZZ
+#! Mail to user when job terminate or abort
+#PBS -m ae
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+module load ansys
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+echo Machines: $hl
+#-dev input.def includes the input of CFX analysis in DEF format
+/ansys_inc/v145/CFX/bin/cfx5solve -def input.def -size 4 -size-ni 4x -part-large -start-method "Platform MPI Distributed Parallel" -par-dist $hl
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx-pbs-file/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md
new file mode 100644
index 0000000000000000000000000000000000000000..95d316a739724140a0d69c2a60753105c019e83a
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-cfx.md
@@ -0,0 +1,90 @@
+ANSYS CFX 
+=========
+
+[ANSYS
+CFX](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+CFX)
+software is a high-performance, general purpose fluid dynamics program
+that has been applied to solve wide-ranging fluid flow problems for over
+20 years. At the heart of ANSYS CFX is its advanced solver technology,
+the key to achieving reliable and accurate solutions quickly and
+robustly. The modern, highly parallelized solver is the foundation for
+an abundant choice of physical models to capture virtually any type of
+phenomena related to fluid flow. The solver and its many physical models
+are wrapped in a modern, intuitive, and flexible GUI and user
+environment, with extensive capabilities for customization and
+automation using session files, scripting and a powerful expression
+language.
+
+<span>To run ANSYS CFX in batch mode you can utilize/modify the default
+cfx.pbs script and execute it via the qsub command.</span>
+
+``` 
+#!/bin/bash
+#PBS -l nodes=2:ppn=16
+#PBS -q qprod
+#PBS -N $USER-CFX-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="$:$host:$procs_per_host"
+ fi
+done
+
+echo Machines$hl
+
+#-dev input.def includes the input of CFX analysis in DEF format
+#-P the name of prefered license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial))
+/ansys_inc/v145/CFX/bin/cfx5solve -def input.def -size 4 -size-ni 4x -part-large -start-method "Platform MPI Distributed Parallel" -par-dist $hl -P aa_r
+```
+
+Header of the pbs file (above) is common and description can be find
+on [this
+site](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+SVS FEM recommends to utilize sources by keywordsnodes, ppn. These
+keywords allows to address directly the number of nodes (computers) and
+cores (ppn) which will be utilized in the job. Also the rest of code
+assumes such structure of allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. <span>Input file has to be defined by common
+CFX def file which is attached to the cfx solver via parameter
+-def</span>
+
+**License** should be selected by parameter -P (Big letter **P**).
+Licensed products are the followingaa_r
+(ANSYS **Academic** Research), ane3fl (ANSYS
+Multiphysics)-**Commercial.**
+[<span id="result_box" class="short_text"><span class="hps">More</span>
+<span class="hps">about licensing</span> <span
+class="hps">here</span></span>](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing)
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file.1 b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..b5c0bcd7d40180c6706a5f2babc0d598ed7f866d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file.1
@@ -0,0 +1,28 @@
+#!/bin/bash
+#PBS -S /bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-Fluent-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#### Load ansys module so that we find the cfx5solve command
+module load ansys
+
+# Use following line to specify MPI for message-passing instead
+NCORES=`wc -l $PBS_NODEFILE |awk '{print $1}'`
+
+/ansys_inc/v145/fluent/bin/fluent 3d -t$NCORES -cnf=$PBS_NODEFILE -g -i fluent.jou
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/at_download/file b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..b5c0bcd7d40180c6706a5f2babc0d598ed7f866d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/at_download/file
@@ -0,0 +1,28 @@
+#!/bin/bash
+#PBS -S /bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-Fluent-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#### Load ansys module so that we find the cfx5solve command
+module load ansys
+
+# Use following line to specify MPI for message-passing instead
+NCORES=`wc -l $PBS_NODEFILE |awk '{print $1}'`
+
+/ansys_inc/v145/fluent/bin/fluent 3d -t$NCORES -cnf=$PBS_NODEFILE -g -i fluent.jou
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent-pbs-file/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md
new file mode 100644
index 0000000000000000000000000000000000000000..9f4323f2855e9bdbb05bc9aa2fb9ed64c20b18f8
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-fluent.md
@@ -0,0 +1,241 @@
+ANSYS Fluent 
+============
+
+[ANSYS
+Fluent](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+Fluent)
+software contains the broad physical modeling capabilities needed to
+model flow, turbulence, heat transfer, and reactions for industrial
+applications ranging from air flow over an aircraft wing to combustion
+in a furnace, from bubble columns to oil platforms, from blood flow to
+semiconductor manufacturing, and from clean room design to wastewater
+treatment plants. Special models that give the software the ability to
+model in-cylinder combustion, aeroacoustics, turbomachinery, and
+multiphase systems have served to broaden its reach.
+
+<span>1. Common way to run Fluent over pbs file</span>
+------------------------------------------------------
+
+<span>To run ANSYS Fluent in batch mode you can utilize/modify the
+default fluent.pbs script and execute it via the qsub command.</span>
+
+``` 
+#!/bin/bash
+#PBS -S /bin/bash
+#PBS -l nodes=2:ppn=16
+#PBS -q qprod
+#PBS -N $USER-Fluent-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#### Load ansys module so that we find the cfx5solve command
+module load ansys
+
+# Use following line to specify MPI for message-passing instead
+NCORES=`wc -l $PBS_NODEFILE |awk '{print $1}'`
+
+/ansys_inc/v145/fluent/bin/fluent 3d -t$NCORES -cnf=$PBS_NODEFILE -g -i fluent.jou
+```
+
+Header of the pbs file (above) is common and description can be find
+on [this
+site](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common Fluent
+journal file which is attached to the Fluent solver via parameter -i
+fluent.jou
+
+Journal file with definition of the input geometry and boundary
+conditions and defined process of solution has e.g. the following
+structure:
+
+    /file/read-case aircraft_2m.cas.gz
+    /solve/init
+    init
+    /solve/iterate
+    10
+    /file/write-case-dat aircraft_2m-solution
+    /exit yes
+
+<span>The appropriate dimension of the problem has to be set by
+parameter (2d/3d). </span>
+
+<span>2. Fast way to run Fluent from command line</span>
+--------------------------------------------------------
+
+
+``` 
+fluent solver_version [FLUENT_options] -i journal_file -pbs
+```
+
+
+This syntax will start the ANSYS FLUENT job under PBS Professional using
+the <span class="monospace">qsub</span> command in a batch manner. When
+resources are available, PBS Professional will start the job and return
+a job ID, usually in the form of <span
+class="emphasis">*job_ID.hostname*</span>. This job ID can then be used
+to query, control, or stop the job using standard PBS Professional
+commands, such as <span class="monospace">qstat</span> or <span
+class="monospace">qdel</span>. The job will be run out of the current
+working directory, and all output will be written to the file <span
+class="monospace">fluent.o</span><span> </span><span
+class="emphasis">*job_ID*</span>.       
+
+3. Running Fluent via user's config file
+----------------------------------------
+
+
+The sample script uses a configuration file called <span
+class="monospace">pbs_fluent.conf</span>  if no command line arguments
+are present. This configuration file should be present in the directory
+from which the jobs are submitted (which is also the directory in which
+the jobs are executed). The following is an example of what the content
+of <span class="monospace">pbs_fluent.conf</span> can be:
+
+``` 
+input="example_small.flin"
+case="Small-1.65m.cas"
+fluent_args="3d -pmyrinet"
+outfile="fluent_test.out"
+mpp="true"
+```
+
+The following is an explanation of the parameters:
+
+
+
+<span><span class="monospace">input</span> is the name of the input
+file.</span>
+
+<span class="monospace">case</span> is the name of the <span
+class="monospace">.cas</span> file that the input file will utilize.
+
+<span class="monospace">fluent_args</span> are extra ANSYS FLUENT
+arguments. As shown in the previous example, you can specify the
+interconnect by using the <span class="monospace">-p</span> interconnect
+command. The available interconnects include <span
+class="monospace">ethernet</span> (the default), <span
+class="monospace">myrinet</span>,<span class="monospace">
+infiniband</span>, <span class="monospace">vendor</span>, <span
+class="monospace">altix</span><span>,</span> and <span
+class="monospace">crayx</span>. The MPI is selected automatically, based
+on the specified interconnect.
+
+<span class="monospace">outfile</span> is the name of the file to which
+the standard output will be sent.
+
+<span class="monospace">mpp="true"</span> will tell the job script to
+execute the job across multiple processors.               
+
+
+
+<span>To run ANSYS Fluent in batch mode with user's config file you can
+utilize/modify the following script and execute it via the qsub
+command.</span>
+
+
+``` 
+#!/bin/sh
+#PBS -l nodes=2:ppn=4
+#PBS -1 qprod
+#PBS -N $USE-Fluent-Project
+#PBS -A XX-YY-ZZ
+
+ cd $PBS_O_WORKDIR
+ 
+ #We assume that if they didn’t specify arguments then they should use the
+ #config file if [ "xx${input}${case}${mpp}${fluent_args}zz" = "xxzz" ]; then
+   if [ -f pbs_fluent.conf ]; then
+     . pbs_fluent.conf
+   else
+     printf "No command line arguments specified, "
+     printf "and no configuration file found.  Exiting n"
+   fi
+ fi
+ 
+
+ #Augment the ANSYS FLUENT command line arguments case "$mpp" in
+   true)
+     #MPI job execution scenario
+     num_nodes=‘cat $PBS_NODEFILE | sort -u | wc -l‘
+     cpus=‘expr $num_nodes * $NCPUS‘
+     #Default arguments for mpp jobs, these should be changed to suit your
+     #needs.
+     fluent_args="-t$ $fluent_args -cnf=$PBS_NODEFILE"
+     ;;
+   *)
+     #SMP case
+     #Default arguments for smp jobs, should be adjusted to suit your
+     #needs.
+     fluent_args="-t$NCPUS $fluent_args"
+     ;;
+ esac
+ #Default arguments for all jobs
+ fluent_args="-ssh -g -i $input $fluent_args"
+
+ echo "---------- Going to start a fluent job with the following settings:
+ Input$input
+ Case$case
+ Output$outfile
+ Fluent arguments$fluent_args"
+ 
+ #run the solver
+ /ansys_inc/v145/fluent/bin/fluent $fluent_args  > $outfile
+```
+
+
+
+<span>It runs the jobs out of the directory from which they are
+submitted (PBS_O_WORKDIR).</span>
+
+4. Running Fluent in parralel
+-----------------------------
+
+Fluent could be run in parallel only under Academic Research license. To
+do so this ANSYS Academic Research license must be placed before ANSYS
+CFD license in user preferences. To make this change anslic_admin
+utility should be run
+
+``` 
+/ansys_inc/shared_les/licensing/lic_admin/anslic_admin
+```
+
+ANSLIC_ADMIN Utility will be run
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_1.jpg)
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_2.jpg)
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_3.jpg)
+
+ 
+
+ANSYS Academic Research license should be moved up to the top of the
+list.
+
+ 
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/Fluent_Licence_4.jpg)
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file.1 b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..0f07a5b5016d7d9873cdb2bc93f8f547e639e51d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file.1
@@ -0,0 +1,43 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=8
+#PBS -q qprod
+#PBS -N $USER-DYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory>
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#! Counts the number of processors
+NPROCS=`wc -l < $PBS_NODEFILE`
+
+echo This job has allocated $NPROCS nodes
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+/ansys_inc/v145/ansys/bin/ansys145 -dis -lsdynampp i=input.k -machines $hl
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/at_download/file b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..0f07a5b5016d7d9873cdb2bc93f8f547e639e51d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/at_download/file
@@ -0,0 +1,43 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=8
+#PBS -q qprod
+#PBS -N $USER-DYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory>
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#! Counts the number of processors
+NPROCS=`wc -l < $PBS_NODEFILE`
+
+echo This job has allocated $NPROCS nodes
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+/ansys_inc/v145/ansys/bin/ansys145 -dis -lsdynampp i=input.k -machines $hl
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna-pbs-file/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md
new file mode 100644
index 0000000000000000000000000000000000000000..ef9d5591a9f17e8440367a1276d7fa7923a648b0
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-ls-dyna.md
@@ -0,0 +1,89 @@
+ANSYS LS-DYNA 
+=============
+
+[ANSYS
+LS-DYNA](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/Explicit+Dynamics/ANSYS+LS-DYNA)
+software provides convenient and easy-to-use access to the
+technology-rich, time-tested explicit solver without the need to contend
+with the complex input requirements of this sophisticated program.
+Introduced in 1996, ANSYS LS-DYNA capabilities have helped customers in
+numerous industries to resolve highly intricate design
+issues. <span>ANSYS Mechanical users have been able take advantage of
+complex explicit solutions for a long time utilizing the traditional
+ANSYS Parametric Design Language (APDL) environment. <span>These
+explicit capabilities are available to ANSYS Workbench users as well.
+The Workbench platform is a powerful, comprehensive, easy-to-use
+environment for engineering simulation. CAD import from all sources,
+geometry cleanup, automatic meshing, solution, parametric optimization,
+result visualization and comprehensive report generation are all
+available within a single fully interactive modern  graphical user
+environment.</span></span>
+
+<span>To run ANSYS LS-DYNA in batch mode you can utilize/modify the
+default ansysdyna.pbs script and execute it via the qsub command.</span>
+
+``` 
+#!/bin/bash
+#PBS -l nodes=2:ppn=16
+#PBS -q qprod
+#PBS -N $USER-DYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory>
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#! Counts the number of processors
+NPROCS=`wc -l < $PBS_NODEFILE`
+
+echo This job has allocated $NPROCS nodes
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="$:$host:$procs_per_host"
+ fi
+done
+
+echo Machines$hl
+
+/ansys_inc/v145/ansys/bin/ansys145 -dis -lsdynampp i=input.k -machines $hl
+```
+
+<span>Header of the pbs file (above) is common and description can be
+find on </span>[this
+site](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)<span>.
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.</span>
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common LS-DYNA
+.**k** file which is attached to the ansys solver via parameter i=
+
+<span><span> </span></span>
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file.1 b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..5d701c7e3bba9af76b303b3e6e8523aae1042ea9
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file.1
@@ -0,0 +1,41 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-ANSYS-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+#-i input.dat includes the input of analysis in APDL format
+#-o file.out is output file from ansys where all text outputs will be redirected 
+#-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+/ansys_inc/v145/ansys/bin/ansys145 -b -dis -p aa_r -i input.dat -o file.out -machines $hl -dir $WORK_DIR
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/at_download/file b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..5d701c7e3bba9af76b303b3e6e8523aae1042ea9
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/at_download/file
@@ -0,0 +1,41 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-ANSYS-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+#-i input.dat includes the input of analysis in APDL format
+#-o file.out is output file from ansys where all text outputs will be redirected 
+#-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+/ansys_inc/v145/ansys/bin/ansys145 -b -dis -p aa_r -i input.dat -o file.out -machines $hl -dir $WORK_DIR
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mapdl-pbs-file/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md
new file mode 100644
index 0000000000000000000000000000000000000000..43cf73d61f565e5cd5df35714ed7cb0dff155bb8
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-mechanical-apdl.md
@@ -0,0 +1,85 @@
+ANSYS MAPDL 
+===========
+
+<span>**[ANSYS
+Multiphysics](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/ANSYS+Multiphysics)**
+software offers a comprehensive product solution for both multiphysics
+and single-physics analysis. The product includes structural, thermal,
+fluid and both high- and low-frequency electromagnetic analysis. The
+product also contains solutions for both direct and sequentially coupled
+physics problems including direct coupled-field elements and the ANSYS
+multi-field solver.</span>
+
+<span>To run ANSYS MAPDL in batch mode you can utilize/modify the
+default mapdl.pbs script and execute it via the qsub command.</span>
+
+``` 
+#!/bin/bash
+#PBS -l nodes=2:ppn=16
+#PBS -q qprod
+#PBS -N $USER-ANSYS-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="$:$host:$procs_per_host"
+ fi
+done
+
+echo Machines$hl
+
+#-i input.dat includes the input of analysis in APDL format
+#-o file.out is output file from ansys where all text outputs will be redirected 
+#-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+/ansys_inc/v145/ansys/bin/ansys145 -b -dis -p aa_r -i input.dat -o file.out -machines $hl -dir $WORK_DIR
+```
+
+Header of the pbs file (above) is common and description can be find on
+[this
+site](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common APDL
+file which is attached to the ansys solver via parameter -i
+
+**License** should be selected by parameter -p. Licensed products are
+the followingaa_r (ANSYS **Academic** Research), ane3fl (ANSYS
+Multiphysics)-**Commercial**, aa_r_dy (ANSYS **Academic**
+AUTODYN)<span>
+[<span id="result_box" class="short_text"><span class="hps">More</span>
+<span class="hps">about licensing</span> <span
+class="hps">here</span></span>](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing)
+</span>
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md
new file mode 100644
index 0000000000000000000000000000000000000000..1df8e10f45ac128832ef90718d701511e319ddd9
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md
@@ -0,0 +1,36 @@
+Overview of ANSYS Products 
+==========================
+
+**[SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS
+Channel partner](http://www.ansys.com/)*** for Czech
+Republic provided all ANSYS licenses for ANSELM cluster and supports of
+all ANSYS Products (Multiphysics, Mechanical, MAPDL, CFX, Fluent,
+Maxwell, LS-DYNA...) to IT staff and ANSYS users. If you are challenging
+to problem of ANSYS functionality contact
+please [hotline@svsfem.cz](mailto:hotline@svsfem.cz?subject=Ostrava%20-%20ANSELM)
+
+Anselm provides as commercial as academic variants. Academic variants
+are distinguished by "**Academic...**" word in the name of  license or
+by two letter preposition "**aa_**" in the license feature name. Change
+of license is realized on command line respectively directly in user's
+pbs file (see individual products). [<span id="result_box"
+class="short_text"><span class="hps">More</span> <span class="hps">about
+licensing</span> <span
+class="hps">here</span></span>](https://docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing)
+
+To load the latest version of any ANSYS product (Mechanical, Fluent,
+CFX, MAPDL,...) load the module:
+
+    $ module load ansys
+
+ANSYS supports interactive regime, but due to assumed solution of
+extremely difficult tasks it is not recommended.
+
+If user needs to work in interactive regime we recommend to configure
+the RSM service on the client machine which allows to forward the
+solution to the Anselm directly from the client's Workbench project
+(see ANSYS RSM service).
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/licensing.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file.1 b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..81fb179a41c7545facdc5ae4d10ccff410874e20
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file.1
@@ -0,0 +1,21 @@
+#!/bin/bash
+#PBS -l nodes=1:ppn=1
+#PBS -q qprod
+#PBS -N $USER-LSDYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+
+module load lsdyna
+
+/apps/engineering/lsdyna/lsdyna700s i=input.k
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/at_download/file b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..81fb179a41c7545facdc5ae4d10ccff410874e20
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/at_download/file
@@ -0,0 +1,21 @@
+#!/bin/bash
+#PBS -l nodes=1:ppn=1
+#PBS -q qprod
+#PBS -N $USER-LSDYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+
+module load lsdyna
+
+/apps/engineering/lsdyna/lsdyna700s i=input.k
\ No newline at end of file
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna-pbs-file/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md
new file mode 100644
index 0000000000000000000000000000000000000000..597566ba2e54467231d07ae2dbcb7283e7b9932c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/ansys/ls-dyna.md
@@ -0,0 +1,68 @@
+LS-DYNA 
+=======
+
+[LS-DYNA](http://www.lstc.com/) is a multi-purpose,
+explicit and implicit finite element program used to analyze the
+nonlinear dynamic response of structures. Its fully automated contact
+analysis capability, a wide range of constitutive models to simulate a
+whole range of engineering materials (steels, composites, foams,
+concrete, etc.), error-checking features and the high scalability have
+enabled users worldwide to solve successfully many complex
+problems. <span>Additionally LS-DYNA is extensively used to simulate
+impacts on structures from drop tests, underwater shock, explosions or
+high-velocity impacts. Explosive forming, process engineering, accident
+reconstruction, vehicle dynamics, thermal brake disc analysis or nuclear
+safety are further areas in the broad range of possible applications. In
+leading-edge research LS-DYNA is used to investigate the behaviour of
+materials like composites, ceramics, concrete, or wood. Moreover, it is
+used in biomechanics, human modelling, molecular structures, casting,
+forging, or virtual testing.</span>
+
+<span>Anselm provides **1 commercial license of LS-DYNA without HPC**
+support now. </span>
+
+<span><span>To run LS-DYNA in batch mode you can utilize/modify the
+default lsdyna.pbs script and execute it via the qsub
+command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l nodes=1:ppn=16
+#PBS -q qprod
+#PBS -N $USER-LSDYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+
+module load lsdyna
+
+/apps/engineering/lsdyna/lsdyna700s i=input.k
+```
+
+Header of the pbs file (above) is common and description can be find
+on [this
+site](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common LS-DYNA
+**.k** file which is attached to the LS-DYNA solver via parameter i=
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/chemistry.md b/docs.it4i.cz/anselm-cluster-documentation/software/chemistry.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/chemistry.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md b/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md
new file mode 100644
index 0000000000000000000000000000000000000000..e155ee917c9adc805998856f2c7a42f34bb527de
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/molpro.md
@@ -0,0 +1,91 @@
+Molpro 
+======
+
+Molpro is a complete system of ab initio programs for molecular
+electronic structure calculations.
+About Molpro
+------------
+
+Molpro is a software package used for accurate ab-initio quantum
+chemistry calculations. More information can be found at the [official
+webpage](http://www.molpro.net/).
+
+License
+-------
+
+Molpro software package is available only to users that have a valid
+license. Please contact support to enable access to Molpro if you have a
+valid license appropriate for running on our cluster (eg. <span>academic
+research group licence, parallel execution).</span>
+
+<span>To run Molpro, you need to have a valid license token present in
+"<span class="monospace">$HOME/.molpro/token"</span></span>. You can
+download the token from [Molpro
+website](https://www.molpro.net/licensee/?portal=licensee).
+
+Installed version
+-----------------
+
+Currently on Anselm is installed version 2010.1, patch level 45,
+parallel version compiled with Intel compilers and Intel MPI.
+
+Compilation parameters are default :
+
+  Parameter                                         Value
+  ------------------------------------------------- -----------------------------
+  <span>max number of atoms</span>                  200
+  <span>max number of valence orbitals</span>       300
+  <span>max number of basis functions</span>        4095
+  <span>max number of states per symmmetry</span>   20
+  <span>max number of state symmetries</span>       16
+  <span>max number of records</span>                200
+  <span>max number of primitives</span>             <span>maxbfn x [2]</span>
+
+ 
+
+Running
+-------
+
+Molpro is compiled for parallel execution using MPI and OpenMP. By
+default, Molpro reads the number of allocated nodes from PBS and
+launches a data server on one node. On the remaining allocated nodes,
+compute processes are launched, one process per node, each with 16
+threads. You can modify this behavior by using -n, -t and helper-server
+options. Please refer to the [Molpro
+documentation](http://www.molpro.net/info/2010.1/doc/manual/node9.html)
+for more details. 
+
+The OpenMP parallelization in Molpro is limited and has been observed to
+produce limited scaling. We therefore recommend to use MPI
+parallelization only. This can be achieved by passing option <span
+class="monospace">mpiprocs=16:ompthreads=1</span> to PBS.
+
+You are advised to use the -d option to point to a directory in [SCRATCH
+filesystem](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage).
+Molpro can produce a large amount of temporary data during its run, and
+it is important that these are placed in the fast scratch filesystem.
+
+### Example jobscript
+
+    #PBS -A IT4I-0-0
+    #PBS -q qprod
+    #PBS -l select=1:ncpus=16:mpiprocs=16:ompthreads=1
+
+    cd $PBS_O_WORKDIR
+
+    # load Molpro module
+    module add molpro
+
+    # create a directory in the SCRATCH filesystem
+    mkdir -p /scratch/$USER/$PBS_JOBID
+
+    # copy an example input
+    cp /apps/chem/molpro/2010.1/molprop_2010_1_Linux_x86_64_i8/examples/caffeine_opt_diis.com .
+
+    # run Molpro with default options
+    molpro -d /scratch/$USER/$PBS_JOBID caffeine_opt_diis.com
+
+    # delete scratch directory
+    rm -rf /scratch/$USER/$PBS_JOBID 
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md b/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md
new file mode 100644
index 0000000000000000000000000000000000000000..eb1643e8bdef4e8b38f9884dac28d41961d0f1e1
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/chemistry/nwchem.md
@@ -0,0 +1,66 @@
+NWChem 
+======
+
+High-Performance Computational Chemistry
+<span>Introduction</span>
+-------------------------
+
+<span>NWChem aims to provide its users with computational chemistry
+tools that are scalable both in their ability to treat large scientific
+computational chemistry problems efficiently, and in their use of
+available parallel computing resources from high-performance parallel
+supercomputers to conventional workstation clusters.</span>
+
+[Homepage](http://www.nwchem-sw.org/index.php/Main_Page)
+
+Installed versions
+------------------
+
+The following versions are currently installed : 
+
+-   6.1.1, not recommended, problems have been observed with this
+    version
+
+-   6.3-rev2-patch1, current release with QMD patch applied. Compiled
+    with Intel compilers, MKL and Intel MPI
+
+-   6.3-rev2-patch1-openmpi, same as above, but compiled with OpenMPI
+    and NWChem provided BLAS instead of MKL. This version is expected to
+    be slower
+
+-   6.3-rev2-patch1-venus, this version contains only libraries for
+    VENUS interface linking. Does not provide standalone NWChem
+    executable
+
+For a current list of installed versions, execute : 
+
+    module avail nwchem
+
+Running
+-------
+
+NWChem is compiled for parallel MPI execution. Normal procedure for MPI
+jobs applies. Sample jobscript :
+
+    #PBS -A IT4I-0-0
+    #PBS -q qprod
+    #PBS -l select=1:ncpus=16
+
+    module add nwchem/6.3-rev2-patch1
+    mpirun -np 16 nwchem h2o.nw
+
+<span>Options</span>
+--------------------
+
+Please refer to [the
+documentation](http://www.nwchem-sw.org/index.php/Release62:Top-level) and
+in the input file set the following directives :
+
+-   <span>MEMORY controls the amount of memory NWChem will use</span>
+-   <span>SCRATCH_DIR set this to a directory in [SCRATCH
+    filesystem](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage#scratch) (or
+    run the calculation completely in a scratch directory). For certain
+    calculations, it might be advisable to reduce I/O by forcing
+    "direct" mode, eg. "scf direct"</span>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md b/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md
new file mode 100644
index 0000000000000000000000000000000000000000..72ba97fa514a968085498b93614952ca3ed84a78
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/compilers.md
@@ -0,0 +1,168 @@
+Compilers 
+=========
+
+Available compilers, including GNU, INTEL and UPC compilers
+
+
+  
+
+Currently there are several compilers for different programming
+languages available on the Anselm cluster:
+
+-   C/C++
+-   Fortran 77/90/95
+-   Unified Parallel C
+-   Java
+-   nVidia CUDA
+
+ 
+
+The C/C++ and Fortran compilers are divided into two main groups GNU and
+Intel.
+
+Intel Compilers
+---------------
+
+For information about the usage of Intel Compilers and other Intel
+products, please read the [Intel Parallel
+studio](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite)
+page.
+
+GNU C/C++ and Fortran Compilers
+-------------------------------
+
+For compatibility reasons there are still available the original (old
+4.4.6-4) versions of GNU compilers as part of the OS. These are
+accessible in the search path  by default.
+
+It is strongly recommended to use the up to date version (4.8.1) which
+comes with the module gcc:
+
+    $ module load gcc
+    $ gcc -v
+    $ g++ -v
+    $ gfortran -v
+
+With the module loaded two environment variables are predefined. One for
+maximum optimizations on the Anselm cluster architecture, and the other
+for debugging purposes:
+
+    $ echo $OPTFLAGS
+    -O3 -march=corei7-avx
+
+    $ echo $DEBUGFLAGS
+    -O0 -g
+
+For more informations about the possibilities of the compilers, please
+see the man pages.
+
+Unified Parallel C
+------------------
+
+UPC is supported by two compiler/runtime implementations:
+
+-   GNU - SMP/multi-threading support only
+-   Berkley - multi-node support as well as SMP/multi-threading support
+
+### GNU UPC Compiler
+
+To use the GNU UPC compiler and run the compiled binaries use the module
+gupc
+
+    $ module add gupc
+    $ gupc -v
+    $ g++ -v
+
+Simple program to test the compiler
+
+    $ cat count.upc 
+
+    /* hello.upc - a simple UPC example */
+    #include <upc.h>
+    #include <stdio.h>
+
+    int main() {
+      if (MYTHREAD == 0) {
+        printf("Welcome to GNU UPC!!!n");
+      }
+      upc_barrier;
+      printf(" - Hello from thread %in", MYTHREAD);
+      return 0;
+    } 
+
+To compile the example use
+
+    $ gupc -o count.upc.x count.upc
+
+To run the example with 5 threads issue
+
+    $ ./count.upc.x -fupc-threads-5
+
+For more informations see the man pages.
+
+### Berkley UPC Compiler
+
+To use the Berkley UPC compiler and runtime environment to run the
+binaries use the module bupc
+
+    $ module add bupc
+    $ upcc -version
+
+As default UPC network the "smp" is used. This is very quick and easy
+way for testing/debugging, but limited to one node only.
+
+For production runs, it is recommended to use the native Infiband
+implementation of UPC network "ibv". For testing/debugging using
+multiple nodes, the "mpi" UPC network is recommended. Please note, that
+**the selection of the network is done at the compile time** and not at
+runtime (as expected)!
+
+Example UPC code:
+
+    $ cat hello.upc 
+
+    /* hello.upc - a simple UPC example */
+    #include <upc.h>
+    #include <stdio.h>
+
+    int main() {
+      if (MYTHREAD == 0) {
+        printf("Welcome to Berkeley UPC!!!n");
+      }
+      upc_barrier;
+      printf(" - Hello from thread %in", MYTHREAD);
+      return 0;
+    } 
+
+To compile the example with the "ibv" UPC network use
+
+    $ upcc -network=ibv -o hello.upc.x hello.upc 
+
+To run the example with 5 threads issue
+
+    $ upcrun -n 5 ./hello.upc.x
+
+To run the example on two compute nodes using all 32 cores, with 32
+threads, issue
+
+    $ qsub -I -q qprod -A PROJECT_ID -l select=2:ncpus=16 
+    $ module add bupc
+    $ upcrun -n 32 ./hello.upc.x
+
+ For more informations see the man pages.
+
+Java
+----
+
+For information how to use Java (runtime and/or compiler), please read
+the [Java
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/java).
+
+nVidia CUDA
+-----------
+
+For information how to work with nVidia CUDA, please read the [nVidia
+CUDA
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/comsol.md b/docs.it4i.cz/anselm-cluster-documentation/software/comsol.md
new file mode 100644
index 0000000000000000000000000000000000000000..2ccf648f8653e908256928e9641b98380b1d0db0
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/comsol.md
@@ -0,0 +1,207 @@
+COMSOL Multiphysics® 
+====================
+
+
+
+  
+
+<span><span>Introduction
+</span></span>
+-------------------------
+
+<span><span>[COMSOL](http://www.comsol.com)</span></span><span><span>
+is a powerful environment for modelling and solving various engineering
+and scientific problems based on partial differential equations. COMSOL
+is designed to solve coupled or multiphysics phenomena. For many
+standard engineering problems COMSOL provides add-on products such as
+electrical, mechanical, fluid flow, and chemical
+applications.</span></span>
+
+-   <span><span>[Structural Mechanics
+    Module](http://www.comsol.com/structural-mechanics-module),
+    </span></span>
+
+-   <span><span>[Heat Transfer
+    Module](http://www.comsol.com/heat-transfer-module),
+    </span></span>
+
+-   <span><span>[CFD
+    Module](http://www.comsol.com/cfd-module),
+    </span></span>
+
+-   <span><span>[Acoustics
+    Module](http://www.comsol.com/acoustics-module),
+    </span></span>
+
+-   <span><span>and [many
+    others](http://www.comsol.com/products)</span></span>
+
+<span><span>COMSOL also allows an
+</span></span><span><span><span><span>interface support for
+equation-based modelling of
+</span></span></span></span><span><span>partial differential
+equations.</span></span>
+
+<span><span>Execution
+</span></span>
+----------------------
+
+<span><span>On the Anselm cluster COMSOL is available in the latest
+stable version. There are two variants of the release:</span></span>
+
+-   <span><span>**Non commercial**</span></span><span><span> or so
+    called </span></span><span><span>**EDU
+    variant**</span></span><span><span>, which can be used for research
+    and educational purposes.</span></span>
+
+-   <span><span>**Commercial**</span></span><span><span> or so called
+    </span></span><span><span>**COM variant**</span></span><span><span>,
+    which can used also for commercial activities.
+    </span></span><span><span>**COM variant**</span></span><span><span>
+    has only subset of features compared to the
+    </span></span><span><span>**EDU
+    variant**</span></span><span><span> available. <span
+    class="internal-link"><span id="result_box" class="short_text"><span
+    class="hps">More</span> <span class="hps">about
+    licensing</span> will be posted <span class="hps">here
+    soon</span>.</span></span>
+    </span></span>
+
+<span><span>To load the of COMSOL load the module</span></span>
+
+``` 
+$ module load comsol
+```
+
+<span><span>By default the </span></span><span><span>**EDU
+variant**</span></span><span><span> will be loaded. If user needs other
+version or variant, load the particular version. To obtain the list of
+available versions use</span></span>
+
+``` 
+$ module avail comsol
+```
+
+<span><span>If user needs to prepare COMSOL jobs in the interactive mode
+it is recommend to use COMSOL on the compute nodes via PBS Pro
+scheduler. In order run the COMSOL Desktop GUI on Windows is recommended
+to use the [Virtual Network Computing
+(VNC)](resolveuid/11e53ad0d2fd4c5187537f4baeedff33).</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qprod -l select=1:ncpus=16
+$ module load comsol
+$ comsol
+```
+
+<span><span>To run COMSOL in batch mode, without the COMSOL Desktop GUI
+environment, user can utilized the default (comsol.pbs) job script and
+execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ncpus=16
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A  PROJECT_ID
+
+cd /scratch/$USER/ || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load comsol
+# module load comsol/43b-COM
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log
+```
+
+<span><span>Working directory has to be created before sending the
+(comsol.pbs) job script into the queue. Input file (name_input_f.mph)
+has to be in working directory or full path to input file has to be
+specified. The appropriate path to the temp directory of the job has to
+be set by command option (-tmpdir).</span></span>
+
+LiveLink™* *for MATLAB^®^
+-------------------------
+
+<span><span>COMSOL is the software package for the numerical solution of
+the partial differential equations. LiveLink for MATLAB allows
+connection to the
+COMSOL</span></span><span><span>^<span><span><span><span><span><span><span>**®**</span></span></span></span></span></span></span>^</span></span><span><span>
+API (Application Programming Interface) with the benefits of the
+programming language and computing environment of the MATLAB.
+</span></span>
+
+<span><span>LiveLink for MATLAB is available in both
+</span></span><span><span>**EDU**</span></span><span><span> and
+</span></span><span><span>**COM**</span></span><span><span>
+</span></span><span><span>**variant**</span></span><span><span> of the
+COMSOL release. On Anselm 1 commercial
+(</span></span><span><span>**COM**</span></span><span><span>) license
+and the 5 educational
+(</span></span><span><span>**EDU**</span></span><span><span>) licenses
+of LiveLink for MATLAB (please see the [ISV
+Licenses](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses))
+are available. Following example shows how to start COMSOL model from
+MATLAB via LiveLink in the interactive mode.</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qexp -l select=1:ncpus=16
+$ module load matlab
+$ module load comsol
+$ comsol server matlab
+```
+
+<span><span>At the first time to launch the LiveLink for MATLAB
+(client-MATLAB/server-COMSOL connection) the login and password is
+requested and this information is not requested again.</span></span>
+
+<span><span>To run LiveLink for MATLAB in batch mode with
+(comsol_matlab.pbs) job script you can utilize/modify the following
+script and execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ncpus=16
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A  PROJECT_ID
+
+cd /scratch/$USER || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load matlab
+module load comsol/43b-EDU
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/$USER &
+cd /apps/engineering/comsol/comsol43b/mli
+matlab -nodesktop -nosplash -r "mphstart; addpath /scratch/$USER; test_job"
+```
+
+This example shows how to run Livelink for MATLAB with following
+configuration3 nodes and 16 cores per node. Working directory has to
+be created before submitting (comsol_matlab.pbs) job script into the
+queue. Input file (test_job.m) has to be in working directory or full
+path to input file has to be specified. The Matlab command option (-r
+”mphstart”) created a connection with a COMSOL server using the default
+port number.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md b/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md
new file mode 100644
index 0000000000000000000000000000000000000000..2ccf648f8653e908256928e9641b98380b1d0db0
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/comsol/comsol-multiphysics.md
@@ -0,0 +1,207 @@
+COMSOL Multiphysics® 
+====================
+
+
+
+  
+
+<span><span>Introduction
+</span></span>
+-------------------------
+
+<span><span>[COMSOL](http://www.comsol.com)</span></span><span><span>
+is a powerful environment for modelling and solving various engineering
+and scientific problems based on partial differential equations. COMSOL
+is designed to solve coupled or multiphysics phenomena. For many
+standard engineering problems COMSOL provides add-on products such as
+electrical, mechanical, fluid flow, and chemical
+applications.</span></span>
+
+-   <span><span>[Structural Mechanics
+    Module](http://www.comsol.com/structural-mechanics-module),
+    </span></span>
+
+-   <span><span>[Heat Transfer
+    Module](http://www.comsol.com/heat-transfer-module),
+    </span></span>
+
+-   <span><span>[CFD
+    Module](http://www.comsol.com/cfd-module),
+    </span></span>
+
+-   <span><span>[Acoustics
+    Module](http://www.comsol.com/acoustics-module),
+    </span></span>
+
+-   <span><span>and [many
+    others](http://www.comsol.com/products)</span></span>
+
+<span><span>COMSOL also allows an
+</span></span><span><span><span><span>interface support for
+equation-based modelling of
+</span></span></span></span><span><span>partial differential
+equations.</span></span>
+
+<span><span>Execution
+</span></span>
+----------------------
+
+<span><span>On the Anselm cluster COMSOL is available in the latest
+stable version. There are two variants of the release:</span></span>
+
+-   <span><span>**Non commercial**</span></span><span><span> or so
+    called </span></span><span><span>**EDU
+    variant**</span></span><span><span>, which can be used for research
+    and educational purposes.</span></span>
+
+-   <span><span>**Commercial**</span></span><span><span> or so called
+    </span></span><span><span>**COM variant**</span></span><span><span>,
+    which can used also for commercial activities.
+    </span></span><span><span>**COM variant**</span></span><span><span>
+    has only subset of features compared to the
+    </span></span><span><span>**EDU
+    variant**</span></span><span><span> available. <span
+    class="internal-link"><span id="result_box" class="short_text"><span
+    class="hps">More</span> <span class="hps">about
+    licensing</span> will be posted <span class="hps">here
+    soon</span>.</span></span>
+    </span></span>
+
+<span><span>To load the of COMSOL load the module</span></span>
+
+``` 
+$ module load comsol
+```
+
+<span><span>By default the </span></span><span><span>**EDU
+variant**</span></span><span><span> will be loaded. If user needs other
+version or variant, load the particular version. To obtain the list of
+available versions use</span></span>
+
+``` 
+$ module avail comsol
+```
+
+<span><span>If user needs to prepare COMSOL jobs in the interactive mode
+it is recommend to use COMSOL on the compute nodes via PBS Pro
+scheduler. In order run the COMSOL Desktop GUI on Windows is recommended
+to use the [Virtual Network Computing
+(VNC)](resolveuid/11e53ad0d2fd4c5187537f4baeedff33).</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qprod -l select=1:ncpus=16
+$ module load comsol
+$ comsol
+```
+
+<span><span>To run COMSOL in batch mode, without the COMSOL Desktop GUI
+environment, user can utilized the default (comsol.pbs) job script and
+execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ncpus=16
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A  PROJECT_ID
+
+cd /scratch/$USER/ || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load comsol
+# module load comsol/43b-COM
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log
+```
+
+<span><span>Working directory has to be created before sending the
+(comsol.pbs) job script into the queue. Input file (name_input_f.mph)
+has to be in working directory or full path to input file has to be
+specified. The appropriate path to the temp directory of the job has to
+be set by command option (-tmpdir).</span></span>
+
+LiveLink™* *for MATLAB^®^
+-------------------------
+
+<span><span>COMSOL is the software package for the numerical solution of
+the partial differential equations. LiveLink for MATLAB allows
+connection to the
+COMSOL</span></span><span><span>^<span><span><span><span><span><span><span>**®**</span></span></span></span></span></span></span>^</span></span><span><span>
+API (Application Programming Interface) with the benefits of the
+programming language and computing environment of the MATLAB.
+</span></span>
+
+<span><span>LiveLink for MATLAB is available in both
+</span></span><span><span>**EDU**</span></span><span><span> and
+</span></span><span><span>**COM**</span></span><span><span>
+</span></span><span><span>**variant**</span></span><span><span> of the
+COMSOL release. On Anselm 1 commercial
+(</span></span><span><span>**COM**</span></span><span><span>) license
+and the 5 educational
+(</span></span><span><span>**EDU**</span></span><span><span>) licenses
+of LiveLink for MATLAB (please see the [ISV
+Licenses](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses))
+are available. Following example shows how to start COMSOL model from
+MATLAB via LiveLink in the interactive mode.</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qexp -l select=1:ncpus=16
+$ module load matlab
+$ module load comsol
+$ comsol server matlab
+```
+
+<span><span>At the first time to launch the LiveLink for MATLAB
+(client-MATLAB/server-COMSOL connection) the login and password is
+requested and this information is not requested again.</span></span>
+
+<span><span>To run LiveLink for MATLAB in batch mode with
+(comsol_matlab.pbs) job script you can utilize/modify the following
+script and execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ncpus=16
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A  PROJECT_ID
+
+cd /scratch/$USER || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load matlab
+module load comsol/43b-EDU
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/$USER &
+cd /apps/engineering/comsol/comsol43b/mli
+matlab -nodesktop -nosplash -r "mphstart; addpath /scratch/$USER; test_job"
+```
+
+This example shows how to run Livelink for MATLAB with following
+configuration3 nodes and 16 cores per node. Working directory has to
+be created before submitting (comsol_matlab.pbs) job script into the
+queue. Input file (test_job.m) has to be in working directory or full
+path to input file has to be specified. The Matlab command option (-r
+”mphstart”) created a connection with a COMSOL server using the default
+port number.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.1.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..19b203c5fb4b39fcb0306b07fecae37c546ecd1f
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers.1.md
@@ -0,0 +1,97 @@
+Debuggers and profilers summary 
+===============================
+
+
+
+  
+
+Introduction
+------------
+
+We provide state of the art programms and tools to develop, profile and
+debug HPC codes at IT4Innovations.
+On these pages, we provide an overview of the profiling and debugging
+tools available on Anslem at IT4I.
+
+Intel debugger
+--------------
+
+The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger)
+page.
+
+Allinea Forge (DDT/MAP)
+-----------------------
+
+Allinea DDT, is a commercial debugger primarily for debugging parallel
+MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel
+Xeon Phi accelerators. DDT provides all the standard debugging features
+(stack trace, breakpoints, watches, view variables, threads etc.) for
+every thread running as part of your program, or for every process -
+even if these processes are distributed across a cluster using an MPI
+implementation.
+
+    $ module load Forge
+    $ forge
+
+Read more at the [Allinea
+DDT](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt)
+page.
+
+Allinea Performance Reports
+---------------------------
+
+Allinea Performance Reports characterize the performance of HPC
+application runs. After executing your application through the tool, a
+synthetic HTML report is generated automatically, containing information
+about several metrics along with clear behavior statements and hints to
+help you improve the efficiency of your runs. Our license is limited to
+64 MPI processes.
+
+    $ module load PerformanceReports/6.0 
+    $ perf-report mpirun -n 64 ./my_application argument01 argument02
+
+Read more at the [Allinea Performance
+Reports](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports)
+page.
+
+RougeWave Totalview
+-------------------
+
+TotalView is a source- and machine-level debugger for multi-process,
+multi-threaded programs. Its wide range of tools provides ways to
+analyze, organize, and test programs, making it easy to isolate and
+identify problems in individual threads and processes in programs of
+great complexity.
+
+    $ module load totalview
+    $ totalview
+
+Read more at the
+[Totalview](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view)
+page.
+
+Vampir trace analyzer
+---------------------
+
+Vampir is a GUI trace analyzer for traces in OTF format.
+
+    $ module load Vampir/8.5.0
+    $ vampir
+
+Read more at
+the [Vampir](https://docs.it4i.cz/salomon/software/debuggers/vampir) page.
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20141204v12.56.36.png b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20141204v12.56.36.png
new file mode 100644
index 0000000000000000000000000000000000000000..2d0009c34c6c861c018b7999079cbd5aa6e0401d
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20141204v12.56.36.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md
new file mode 100644
index 0000000000000000000000000000000000000000..9028cf65ecf8a2d708f3152407c668e619e906c8
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt.md
@@ -0,0 +1,133 @@
+Allinea Forge (DDT,MAP) 
+=======================
+
+
+
+  
+
+Allinea Forge consist of two tools - debugger DDT and profiler MAP.
+
+Allinea DDT, is a commercial debugger primarily for debugging parallel
+MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel
+Xeon Phi accelerators. DDT provides all the standard debugging features
+(stack trace, breakpoints, watches, view variables, threads etc.) for
+every thread running as part of your program, or for every process -
+even if these processes are distributed across a cluster using an MPI
+implementation.
+
+Allinea MAP is a profiler for C/C++/Fortran HPC codes. It is designed
+for profiling parallel code, which uses pthreads, OpenMP or MPI.
+
+License and Limitations for Anselm Users
+----------------------------------------
+
+On Anselm users can debug OpenMP or MPI code that runs up to 64 parallel
+processes. In case of debugging GPU or Xeon Phi accelerated codes the
+limit is 8 accelerators. These limitation means that:
+
+-   1 user can debug up 64 processes, or
+-   32 users can debug 2 processes, etc.
+
+In case of debugging on accelerators:
+
+-   1 user can debug on up to 8 accelerators, or 
+-   8 users can debug on single accelerator. 
+
+Compiling Code to run with DDT
+------------------------------
+
+### Modules
+
+Load all necessary modules to compile the code. For example: 
+
+    $ module load intel
+    $ module load impi   ... or ... module load openmpi/X.X.X-icc 
+
+Load the Allinea DDT module:
+
+    $ module load Forge
+
+Compile the code:
+
+``` {.code-basic style="text-alignstart; "}
+$ mpicc -g -O0 -o test_debug test.c
+
+$ mpif90 -g -O0 -o test_debug test.f
+```
+
+ 
+
+### Compiler flags
+
+Before debugging, you need to compile your code with theses flags:
+
+**-g** Generates extra debugging information usable by GDB. -g3
+includes even more debugging information. This option is available for
+GNU and INTEL C/C++ and Fortran compilers.
+
+**-O0** Suppress all optimizations.
+
+ 
+
+Starting a Job with DDT
+-----------------------
+
+Be sure to log in with an <span class="internal-link">X window
+forwarding</span> enabled. This could mean using the -X in the ssh 
+
+    $ ssh -X username@anselm.it4i.cz 
+
+Other options is to access login node using VNC. Please see the detailed
+information on how to [use graphic user interface on
+Anselm](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)<span
+class="internal-link"></span>.
+
+From the login node an interactive session **with X windows forwarding**
+(-X option) can be started by following command: 
+
+    $ qsub -I -X -A NONE-0-0 -q qexp -lselect=1:ncpus=16:mpiprocs=16,walltime=01:00:00 
+
+Then launch the debugger with the ddt command followed by the name of
+the executable to debug:
+
+    $ ddt test_debug
+
+A<span style="text-alignstart; "> submission window that appears have
+a prefilled path to the executable to debug. You can select the number
+of MPI processors and/or OpenMP threads on which to run and press run.
+Command line arguments to a program can be entered to the</span>
+"Arguments<span class="Apple-converted-space">" </span><span
+style="text-alignstart; ">box.</span>
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/ddt1.png){.image-inline
+width="451" height="513"} 
+
+To start the debugging directly without the submission window, user can
+specify the debugging and execution parameters from the command line.
+For example the number of MPI processes is set by option "-np 4".
+Skipping the dialog is done by "-start" option. To see the list of the
+"ddt" command line parameters, run "ddt --help".  
+
+    ddt -start -np 4 ./hello_debug_impi
+
+ 
+
+Documentation
+-------------
+
+Users can find original User Guide after loading the DDT module: 
+
+    $DDTPATH/doc/userguide.pdf
+
+ 
+
+ 
+
+ [1] Discipline, Magic, Inspiration and ScienceBest Practice
+Debugging with Allinea DDT, Workshop conducted at LLNL by Allinea on May
+10, 2013,
+[link](https://computing.llnl.gov/tutorials/allineaDDT/index.html)
+
+ 
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md
new file mode 100644
index 0000000000000000000000000000000000000000..22b1369339cdd084c3659abc7f347d5d98d7e14b
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports.md
@@ -0,0 +1,79 @@
+Allinea Performance Reports 
+===========================
+
+quick application profiling
+
+
+  
+
+Introduction
+------------
+
+Allinea Performance Reports characterize the performance of HPC
+application runs. After executing your application through the tool, a
+synthetic HTML report is generated automatically, containing information
+about several metrics along with clear behavior statements and hints to
+help you improve the efficiency of your runs.
+
+The Allinea Performance Reports is most useful in profiling MPI
+programs.
+
+Our license is limited to 64 MPI processes.
+
+Modules
+-------
+
+Allinea Performance Reports version 6.0 is available
+
+    $ module load PerformanceReports/6.0
+
+The module sets up environment variables, required for using the Allinea
+Performance Reports. This particular command loads the default module,
+which is performance reports version 4.2.
+
+Usage
+-----
+
+Use the the perf-report wrapper on your (MPI) program.
+
+Instead of [running your MPI program the usual
+way](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1),
+use the the perf report wrapper:
+
+    $ perf-report mpirun ./mympiprog.x
+
+The mpi program will run as usual. The perf-report creates two
+additional files, in *.txt and *.html format, containing the
+performance report. Note that [demanding MPI codes should be run within
+the queue
+system](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+
+Example
+-------
+
+In this example, we will be profiling the mympiprog.x MPI program, using
+Allinea performance reports. Assume that the code is compiled with intel
+compilers and linked against intel MPI library:
+
+First, we allocate some nodes via the express queue:
+
+    $ qsub -q qexp -l select=2:ncpus=16:mpiprocs=16:ompthreads=1 -I
+    qsubwaiting for job 262197.dm2 to start
+    qsubjob 262197.dm2 ready
+
+Then we load the modules and run the program the usual way:
+
+    $ module load intel impi allinea-perf-report/4.2
+    $ mpirun ./mympiprog.x
+
+Now lets profile the code:
+
+    $ perf-report mpirun ./mympiprog.x
+
+Performance report files
+[mympiprog_32p*.txt](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt)
+and
+[mympiprog_32p*.html](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.html)
+were created. We can see that the code is very efficient on MPI and is
+CPU bounded.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md
new file mode 100644
index 0000000000000000000000000000000000000000..aa664e67f872a478cf53c87dfc7af9030722542b
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube.md
@@ -0,0 +1,73 @@
+CUBE 
+====
+
+Introduction
+------------
+
+CUBE is a graphical performance report explorer for displaying data from
+Score-P and Scalasca (and other compatible tools). The name comes from
+the fact that it displays performance data in a three-dimensions :
+
+-   **performance metric**, where a number of metrics are available,
+    such as communication time or cache misses,
+-   **call path**, which contains the call tree of your program
+-   s**ystem resource**, which contains system's nodes, processes and
+    threads, depending on the parallel programming model.
+
+
+Each dimension is organized in a tree, for example the time performance
+metric is divided into Execution time and Overhead time, call path
+dimension is organized by files and routines in your source code etc.
+
+
+
+![CUBE
+Screenshot](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/Snmekobrazovky20141204v12.56.36.png "CUBE Screenshot")
+
+
+
+*Figure 1. Screenshot of CUBE displaying data from Scalasca.*
+
+*
+*Each node in the tree is colored by severity (the color scheme is
+displayed at the bottom of the window, ranging from the least severe
+blue to the most severe being red). For example in Figure 1, we can see
+that most of the point-to-point MPI communication happens in routine
+exch_qbc, colored red.
+
+Installed versions
+------------------
+
+Currently, there are two versions of CUBE 4.2.3 available as
+[modules](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules)
+:
+
+-   <span class="s1"><span class="monospace">cube/4.2.3-gcc</span>,
+    compiled with GCC</span>
+
+-   <span class="s1"><span class="monospace">cube/4.2.3-icc</span>,
+    compiled with Intel compiler</span>
+
+Usage
+-----
+
+CUBE is a graphical application. Refer to [Graphical User Interface
+documentation](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+for a list of methods to launch graphical applications on Anselm.
+
+Analyzing large data sets can consume large amount of CPU and RAM. Do
+not perform large analysis on login nodes.
+
+After loading the apropriate module, simply launch <span
+class="monospace">cube</span> command, or alternatively you can use
+<span class="monospace">scalasca -examine</span> command to launch the
+GUI. Note that for Scalasca datasets, if you do not analyze the data
+with <span><span class="monospace">scalasca
+-examine </span></span>before to opening them with CUBE, not all
+performance data will be available.
+
+ <span>References</span>
+
+1.  <http://www.scalasca.org/software/cube-4.x/download.html>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/ddt1.png b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/ddt1.png
new file mode 100644
index 0000000000000000000000000000000000000000..57a18f48908f0b8a4857bc14a820b450fcdd9652
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/ddt1.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md
new file mode 100644
index 0000000000000000000000000000000000000000..79f93349cda5b08eaf7b2d38c4366159663a43c2
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-performance-counter-monitor.md
@@ -0,0 +1,303 @@
+Intel Performance Counter Monitor 
+=================================
+
+Introduction
+------------
+
+Intel PCM (Performance Counter Monitor) is a tool to monitor performance
+hardware counters on Intel<span>®</span> processors, similar to
+[PAPI](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi).
+The difference between PCM and PAPI is that PCM supports only Intel
+hardware, but PCM can monitor also uncore metrics, like memory
+controllers and <span>QuickPath Interconnect links.</span>
+
+<span>Installed version</span>
+------------------------------
+
+Currently installed version 2.6. To load the
+[module](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules),
+issue :
+
+    $ module load intelpcm
+
+Command line tools
+------------------
+
+PCM provides a set of tools to monitor system/or application. 
+
+### pcm-memory
+
+Measures memory bandwidth of your application or the whole system.
+Usage:
+
+    $ pcm-memory.x <delay>|[external_program parameters]
+
+Specify either a delay of updates in seconds or an external program to
+monitor. If you get an error about PMU in use, respond "y" and relaunch
+the program.
+
+Sample output:
+
+    ---------------------------------------||---------------------------------------
+    --             Socket 0              --||--             Socket 1              --
+    ---------------------------------------||---------------------------------------
+    ---------------------------------------||---------------------------------------
+    ---------------------------------------||---------------------------------------
+    --   Memory Performance Monitoring   --||--   Memory Performance Monitoring   --
+    ---------------------------------------||---------------------------------------
+    --  Mem Ch 0Reads (MB/s)   2.44  --||--  Mem Ch 0Reads (MB/s)   0.26  --
+    --            Writes(MB/s)   2.16  --||--            Writes(MB/s)   0.08  --
+    --  Mem Ch 1Reads (MB/s)   0.35  --||--  Mem Ch 1Reads (MB/s)   0.78  --
+    --            Writes(MB/s)   0.13  --||--            Writes(MB/s)   0.65  --
+    --  Mem Ch 2Reads (MB/s)   0.32  --||--  Mem Ch 2Reads (MB/s)   0.21  --
+    --            Writes(MB/s)   0.12  --||--            Writes(MB/s)   0.07  --
+    --  Mem Ch 3Reads (MB/s)   0.36  --||--  Mem Ch 3Reads (MB/s)   0.20  --
+    --            Writes(MB/s)   0.13  --||--            Writes(MB/s)   0.07  --
+    -- NODE0 Mem Read (MB/s)     3.47  --||-- NODE1 Mem Read (MB/s)     1.45  --
+    -- NODE0 Mem Write (MB/s)    2.55  --||-- NODE1 Mem Write (MB/s)    0.88  --
+    -- NODE0 P. Write (T/s)     31506  --||-- NODE1 P. Write (T/s)      9099  --
+    -- NODE0 Memory (MB/s)       6.02  --||-- NODE1 Memory (MB/s)       2.33  --
+    ---------------------------------------||---------------------------------------
+    --                   System Read Throughput(MB/s)     4.93                  --
+    --                  System Write Throughput(MB/s)     3.43                  --
+    --                 System Memory Throughput(MB/s)     8.35                  --
+    ---------------------------------------||--------------------------------------- 
+
+### pcm-msr
+
+Command <span class="monospace">pcm-msr.x</span> can be used to
+read/write model specific registers of the CPU.
+
+### pcm-numa
+
+NUMA monitoring utility does not work on Anselm.
+
+### pcm-pcie
+
+Can be used to monitor PCI Express bandwith. Usage<span
+class="monospace">pcm-pcie.x &lt;delay&gt;</span>
+
+### pcm-power
+
+Displays energy usage and thermal headroom for CPU and DRAM sockets.
+Usage: <span> </span><span class="monospace">pcm-power.x &lt;delay&gt; |
+&lt;external program&gt;</span>
+
+### pcm
+
+This command provides an overview of performance counters and memory
+usage. <span>Usage: </span><span> </span><span class="monospace">pcm.x
+&lt;delay&gt; | &lt;external program&gt;</span>
+
+Sample output :
+
+    $ pcm.x ./matrix
+
+     Intel(r) Performance Counter Monitor V2.6 (2013-11-04 13:43:31 +0100 ID=db05e43)
+
+     Copyright (c) 2009-2013 Intel Corporation
+
+    Number of physical cores16
+    Number of logical cores16
+    Threads (logical cores) per physical core1
+    Num sockets2
+    Core PMU (perfmon) version3
+    Number of core PMU generic (programmable) counters8
+    Width of generic (programmable) counters48 bits
+    Number of core PMU fixed counters3
+    Width of fixed counters48 bits
+    Nominal core frequency2400000000 Hz
+    Package thermal spec power115 Watt; Package minimum power51 Watt; Package maximum power180 Watt; 
+    Socket 01 memory controllers detected with total number of 4 channels. 2 QPI ports detected.
+    Socket 11 memory controllers detected with total number of 4 channels. 2 QPI ports detected.
+    Number of PCM instances2
+    Max QPI link speed16.0 GBytes/second (8.0 GT/second)
+
+    Detected Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz "Intel(r) microarchitecture codename Sandy Bridge-EP/Jaketown"
+
+     Executing "./matrix" command:
+
+    Exit code0
+
+
+     EXEC  instructions per nominal CPU cycle
+     IPC   instructions per CPU cycle
+     FREQ  relation to nominal CPU frequency='unhalted clock ticks'/'invariant timer ticks' (includes Intel Turbo Boost)
+     AFREQ relation to nominal CPU frequency while in active state (not in power-saving C state)='unhalted clock ticks'/'invariant timer ticks while in C0-state'  (includes Intel Turbo Boost)
+     L3MISSL3 cache misses 
+     L2MISSL2 cache misses (including other core's L2 cache *hits*) 
+     L3HIT L3 cache hit ratio (0.00-1.00)
+     L2HIT L2 cache hit ratio (0.00-1.00)
+     L3CLK ratio of CPU cycles lost due to L3 cache misses (0.00-1.00), in some cases could be >1.0 due to a higher memory latency
+     L2CLK ratio of CPU cycles lost due to missing L2 cache but still hitting L3 cache (0.00-1.00)
+     READ  bytes read from memory controller (in GBytes)
+     WRITE bytes written to memory controller (in GBytes)
+     TEMP  Temperature reading in 1 degree Celsius relative to the TjMax temperature (thermal headroom)0 corresponds to the max temperature
+
+
+     Core (SKT) | EXEC | IPC  | FREQ  | AFREQ | L3MISS | L2MISS | L3HIT | L2HIT | L3CLK | L2CLK  | READ  | WRITE | TEMP
+
+       0    0     0.00   0.64   0.01    0.80    5592       11 K    0.49    0.13    0.32    0.06     N/A     N/A     67
+       1    0     0.00   0.18   0.00    0.69    3086     5552      0.44    0.07    0.48    0.08     N/A     N/A     68
+       2    0     0.00   0.23   0.00    0.81     300      562      0.47    0.06    0.43    0.08     N/A     N/A     67
+       3    0     0.00   0.21   0.00    0.99     437      862      0.49    0.06    0.44    0.09     N/A     N/A     73
+       4    0     0.00   0.23   0.00    0.93     293      559      0.48    0.07    0.42    0.09     N/A     N/A     73
+       5    0     0.00   0.21   0.00    1.00     423      849      0.50    0.06    0.43    0.10     N/A     N/A     69
+       6    0     0.00   0.23   0.00    0.94     285      558      0.49    0.06    0.41    0.09     N/A     N/A     71
+       7    0     0.00   0.18   0.00    0.81     674     1130      0.40    0.05    0.53    0.08     N/A     N/A     65
+       8    1     0.00   0.47   0.01    1.26    6371       13 K    0.51    0.35    0.31    0.07     N/A     N/A     64
+       9    1     2.30   1.80   1.28    1.29     179 K     15 M    0.99    0.59    0.04    0.71     N/A     N/A     60
+      10    1     0.00   0.22   0.00    1.26     315      570      0.45    0.06    0.43    0.08     N/A     N/A     67
+      11    1     0.00   0.23   0.00    0.74     321      579      0.45    0.05    0.45    0.07     N/A     N/A     66
+      12    1     0.00   0.22   0.00    1.25     305      570      0.46    0.05    0.42    0.07     N/A     N/A     68
+      13    1     0.00   0.22   0.00    1.26     336      581      0.42    0.04    0.44    0.06     N/A     N/A     69
+      14    1     0.00   0.22   0.00    1.25     314      565      0.44    0.06    0.43    0.07     N/A     N/A     69
+      15    1     0.00   0.29   0.00    1.19    2815     6926      0.59    0.39    0.29    0.08     N/A     N/A     69
+    -------------------------------------------------------------------------------------------------------------------
+     SKT    0     0.00   0.46   0.00    0.79      11 K     21 K    0.47    0.10    0.38    0.07    0.00    0.00     65
+     SKT    1     0.29   1.79   0.16    1.29     190 K     15 M    0.99    0.59    0.05    0.70    0.01    0.01     61
+    -------------------------------------------------------------------------------------------------------------------
+     TOTAL  *     0.14   1.78   0.08    1.28     201 K     15 M    0.99    0.59    0.05    0.70    0.01    0.01     N/A
+
+     Instructions retired1345 M ; Active cycles 755 M ; Time (TSC) 582 Mticks ; C0 (active,non-halted) core residency6.30 %
+
+     C1 core residency0.14 %; C3 core residency0.20 %; C6 core residency0.00 %; C7 core residency93.36 %;
+     C2 package residency48.81 %; C3 package residency0.00 %; C6 package residency0.00 %; C7 package residency0.00 %;
+
+     PHYSICAL CORE IPC                 1.78 => corresponds to 44.50 % utilization for cores in active state
+     Instructions per nominal CPU cycle0.14 => corresponds to 3.60 % core utilization over time interval
+
+    Intel(r) QPI data traffic estimation in bytes (data traffic coming to CPU/socket through QPI links):
+
+                   QPI0     QPI1    |  QPI0   QPI1  
+    ----------------------------------------------------------------------------------------------
+     SKT    0        0        0     |    0%     0%   
+     SKT    1        0        0     |    0%     0%   
+    ----------------------------------------------------------------------------------------------
+    Total QPI incoming data traffic   0       QPI data traffic/Memory controller traffic0.00
+
+    Intel(r) QPI traffic estimation in bytes (data and non-data traffic outgoing from CPU/socket through QPI links):
+
+                   QPI0     QPI1    |  QPI0   QPI1  
+    ----------------------------------------------------------------------------------------------
+     SKT    0        0        0     |    0%     0%   
+     SKT    1        0        0     |    0%     0%   
+    ----------------------------------------------------------------------------------------------
+    Total QPI outgoing data and non-data traffic   0  
+
+    ----------------------------------------------------------------------------------------------
+     SKT    0 package consumed 4.06 Joules
+     SKT    1 package consumed 9.40 Joules
+    ----------------------------------------------------------------------------------------------
+     TOTAL                   13.46 Joules
+
+    ----------------------------------------------------------------------------------------------
+     SKT    0 DIMMs consumed 4.18 Joules
+     SKT    1 DIMMs consumed 4.28 Joules
+    ----------------------------------------------------------------------------------------------
+     TOTAL                 8.47 Joules
+    Cleaning up
+
+ 
+
+### pcm-sensor
+
+Can be used as a sensor for ksysguard GUI, which is currently not
+installed on Anselm. 
+
+API
+---
+
+In a similar fashion to PAPI, PCM provides a C++ API to access the
+performance counter from within your application. Refer to the [doxygen
+documentation](http://intel-pcm-api-documentation.github.io/classPCM.html)
+for details of the API.
+
+Due to security limitations, using PCM API to monitor your applications
+is currently not possible on Anselm. (The application must be run as
+root user)
+
+Sample program using the API :
+
+    #include <stdlib.h>
+    #include <stdio.h>
+    #include "cpucounters.h"
+
+    #define SIZE 1000
+
+    using namespace std;
+
+    int main(int argc, char **argv) {
+      float matrixa[SIZE][SIZE], matrixb[SIZE][SIZE], mresult[SIZE][SIZE];
+      float real_time, proc_time, mflops;
+      long long flpins;
+      int retval;
+      int i,j,k;
+
+      PCM * m = PCM::getInstance();
+
+      if (m->program() != PCM::Success) return 1;
+
+      SystemCounterState before_sstate = getSystemCounterState();
+
+      /* Initialize the Matrix arrays */
+      for ( i=0; i<SIZE*SIZE; i++ ){
+        mresult[0][i] = 0.0;
+        matrixa[0][i] = matrixb[0][i] = rand()*(float)1.1; }
+
+      /* A naive Matrix-Matrix multiplication */
+      for (i=0;i<SIZE;i++)
+        for(j=0;j<SIZE;j++)
+          for(k=0;k<SIZE;k++)
+            mresult[i][j]=mresult[i][j] + matrixa[i][k]*matrixb[k][j];
+
+      SystemCounterState after_sstate = getSystemCounterState();
+
+      cout << "Instructions per clock:" << getIPC(before_sstate,after_sstate)
+      << "L3 cache hit ratio:" << getL3CacheHitRatio(before_sstate,after_sstate)
+      << "Bytes read:" << getBytesReadFromMC(before_sstate,after_sstate);
+
+      for (i=0; i<SIZE;i++)
+        for (j=0; j<SIZE; j++)
+           if (mresult[i][j] == -1) printf("x");
+
+      return 0;
+    }
+
+Compile it with :
+
+    $ icc matrix.cpp -o matrix -lpthread -lpcm
+
+Sample output : 
+
+    $ ./matrix
+    Number of physical cores16
+    Number of logical cores16
+    Threads (logical cores) per physical core1
+    Num sockets2
+    Core PMU (perfmon) version3
+    Number of core PMU generic (programmable) counters8
+    Width of generic (programmable) counters48 bits
+    Number of core PMU fixed counters3
+    Width of fixed counters48 bits
+    Nominal core frequency2400000000 Hz
+    Package thermal spec power115 Watt; Package minimum power51 Watt; Package maximum power180 Watt; 
+    Socket 01 memory controllers detected with total number of 4 channels. 2 QPI ports detected.
+    Socket 11 memory controllers detected with total number of 4 channels. 2 QPI ports detected.
+    Number of PCM instances2
+    Max QPI link speed16.0 GBytes/second (8.0 GT/second)
+    Instructions per clock:1.7
+    L3 cache hit ratio:1.0
+    Bytes read:12513408
+
+References
+----------
+
+1.  <https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization>
+2.  <https://software.intel.com/sites/default/files/m/3/2/2/xeon-e5-2600-uncore-guide.pdf> Intel®
+    Xeon® Processor E5-2600 Product Family Uncore Performance
+    Monitoring Guide.
+3.  <http://intel-pcm-api-documentation.github.io/classPCM.html> API
+    Documentation
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md
new file mode 100644
index 0000000000000000000000000000000000000000..da8dd79bcea884bead5a8e905c3224a127688687
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/intel-vtune-amplifier.md
@@ -0,0 +1,113 @@
+Intel VTune Amplifier 
+=====================
+
+
+
+  
+
+Introduction
+------------
+
+Intel*® *VTune™ <span>Amplifier, part of Intel Parallel studio, is a GUI
+profiling tool designed for Intel processors. It offers a graphical
+performance analysis of single core and multithreaded applications. A
+highlight of the features:</span>
+
+-   Hotspot analysis
+-   Locks and waits analysis
+-   Low level specific counters, such as branch analysis and memory
+    bandwidth
+-   Power usage analysis - frequency and sleep states.
+
+![screenshot](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vtune-amplifier/@@images/3d4533af-8ce5-4aed-9bac-09fbbcd2650a.png "VTune Amplifier")
+
+
+
+Usage
+-----
+
+To launch the GUI, first load the module:
+
+    $ module add VTune/2016_update1
+
+<span class="s1">and launch the GUI :</span>
+
+    $ amplxe-gui
+
+<span>To profile an application with VTune Amplifier, special kernel
+modules need to be loaded. The modules are not loaded on Anselm login
+nodes, thus direct profiling on login nodes is not possible. Use VTune
+on compute nodes and refer to the documentation on [using GUI
+applications](resolveuid/11e53ad0d2fd4c5187537f4baeedff33).</span>
+
+<span>The GUI will open in new window. Click on "*New Project...*" to
+create a new project. After clicking *OK*, a new window with project
+properties will appear.  At "*Application:*", select the bath to your
+binary you want to profile (the binary should be compiled with -g flag).
+Some additional options such as command line arguments can be selected.
+At "*Managed code profiling mode:*" select "*Native*" (unless you want
+to profile managed mode .NET/Mono applications). After clicking *OK*,
+your project is created.</span>
+
+To run a new analysis, click "*New analysis...*". You will see a list of
+possible analysis. Some of them will not be possible on the current CPU
+(eg. Intel Atom analysis is not possible on Sandy Bridge CPU), the GUI
+will show an error box if you select the wrong analysis. For example,
+select "*Advanced Hotspots*". Clicking on *Start *will start profiling
+of the application.
+
+Remote Analysis
+---------------
+
+VTune Amplifier also allows a form of remote analysis. In this mode,
+data for analysis is collected from the command line without GUI, and
+the results are then loaded to GUI on another machine. This allows
+profiling without interactive graphical jobs. To perform a remote
+analysis, launch a GUI somewhere, open the new analysis window and then
+click the button "*Command line*" in bottom right corner. It will show
+the command line needed to perform the selected analysis.
+
+The command line will look like this:
+
+    /apps/all/VTune/2016_update1/vtune_amplifier_xe_2016.1.1.434111/bin64/amplxe-cl -collect advanced-hotspots -knob collection-detail=stack-and-callcount -mrte-mode=native -target-duration-type=veryshort -app-working-dir /home/sta545/test -- /home/sta545/test_pgsesv
+
+Copy the line to clipboard and then you can paste it in your jobscript
+or in command line. After the collection is run, open the GUI once
+again, click the menu button in the upper right corner, and select
+"*Open &gt; Result...*". The GUI will load the results from the run.
+
+Xeon Phi
+--------
+
+This section is outdated. It will be updated with new information soon.
+
+It is possible to analyze both native and offload Xeon Phi applications.
+For offload mode, just specify the path to the binary. For native mode,
+you need to specify in project properties:
+
+Application<span class="monospace">ssh</span>
+
+Application parameters<span class="monospace">mic0 source ~/.profile
+&& /path/to/your/bin</span>
+
+Note that we include <span class="monospace">source ~/.profile
+</span>in the command to setup environment paths [as described
+here](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi). 
+
+If the analysis is interrupted or aborted, further analysis on the card
+might be impossible and you will get errors like "ERROR connecting to
+MIC card". In this case please contact our support to reboot the MIC
+card.
+
+You may also use remote analysis to collect data from the MIC and then
+analyze it in the GUI later :
+
+    $ amplxe-cl -collect knc-hotspots -no-auto-finalize -- ssh mic0
+    "export LD_LIBRARY_PATH=/apps/intel/composer_xe_2015.2.164/compiler/lib/mic/:/apps/intel/composer_xe_2015.2.164/mkl/lib/mic/; export KMP_AFFINITY=compact; /tmp/app.mic"
+
+References
+----------
+
+1.  <span><https://www.rcac.purdue.edu/tutorials/phi/PerformanceTuningXeonPhi-Tullos.pdf> Performance
+    Tuning for Intel® Xeon Phi™ Coprocessors</span>
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.md
new file mode 100644
index 0000000000000000000000000000000000000000..b28b04f643122b019e912540f228c8ed20be9eeb
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt
new file mode 100644
index 0000000000000000000000000000000000000000..de8449179640fd943a9f007f9eda084b11f2a455
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt
@@ -0,0 +1,50 @@
+Executable:	mympiprog.x
+Resources:	32 processes, 2 nodes
+Machine:	cn182
+Started on:	Wed Oct 15 16:56:23 2014
+Total time:	7 seconds (0 minutes)
+Full path:	/home/user
+Notes:		
+
+Summary: mympiprog.x is CPU-bound in this configuration
+CPU:				  88.6% |========|
+MPI:				  11.4% ||
+I/O:				   0.0% |
+This application run was CPU-bound. A breakdown of this time and advice for investigating further is found in the CPU section below.
+As very little time is spent in MPI calls, this code may also benefit from running at larger scales.
+
+CPU:
+A breakdown of how the 88.6% total CPU time was spent:
+Scalar numeric ops:		   50.0% |====|
+Vector numeric ops:		   50.0% |====|
+Memory accesses:		    0.0% |
+Other:				    0.0% |
+The per-core performance is arithmetic-bound. Try to increase the amount of time spent in vectorized instructions by analyzing the compiler's vectorization reports.
+
+
+MPI:
+A breakdown of how the 11.4% total MPI time was spent:
+Time in collective calls:	  100.0% |=========|
+Time in point-to-point calls:	    0.0% |
+Effective collective rate:	1.65e+02 bytes/s
+Effective point-to-point rate:	0.00e+00 bytes/s
+Most of the time is spent in collective calls with a very low transfer rate. This suggests load imbalance is causing synchonization overhead; use an MPI profiler to investigate further.
+
+
+I/O:
+A breakdown of how the 0.0% total I/O time was spent:
+Time in reads:			    0.0% |
+Time in writes:			    0.0% |
+Effective read rate:		0.00e+00 bytes/s
+Effective write rate:		0.00e+00 bytes/s
+No time is spent in I/O operations. There's nothing to optimize here!
+
+
+Memory:
+Per-process memory usage may also affect scaling:
+Mean process memory usage:	2.33e+07 bytes
+Peak process memory usage:	2.35e+07 bytes
+Peak node memory usage:		    2.8% |
+The peak node memory usage is very low. You may be able to reduce the amount of allocation time used by running with fewer MPI processes and more data on each process.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md
new file mode 100644
index 0000000000000000000000000000000000000000..d2b6d52859fe50fba2e1dc34bdff38c53e11f286
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/papi.md
@@ -0,0 +1,272 @@
+PAPI 
+====
+
+
+
+  
+
+Introduction
+------------
+
+<span dir="auto">Performance Application Programming
+Interface </span><span>(PAPI)  is a portable interface to access
+hardware performance counters (such as instruction counts and cache
+misses) found in most modern architectures. With the new component
+framework, PAPI is not limited only to CPU counters, but offers also
+components for CUDA, network, Infiniband etc.</span>
+
+<span>PAPI provides two levels of interface - a simpler, high level
+interface and more detailed low level interface.</span>
+
+<span>PAPI can be used with parallel as well as serial programs.</span>
+
+Usage
+-----
+
+To use PAPI, load
+[module](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules)
+<span class="monospace">papi</span> :
+
+    $ module load papi
+
+This will load the default version. Execute <span
+class="monospace">module avail papi</span> for a list of installed
+versions.
+
+Utilites
+--------
+
+The <span class="monospace">bin</span> directory of PAPI (which is
+automatically added to <span class="monospace">$PATH</span> upon
+loading the module) contains various utilites.
+
+### papi_avail
+
+Prints which preset events are available on the current CPU. The third
+column indicated whether the preset event is available on the current
+CPU.
+
+    $ papi_avail
+    Available events and hardware information.
+    --------------------------------------------------------------------------------
+    PAPI Version 5.3.2.0
+    Vendor string and code GenuineIntel (1)
+    Model string and code Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (45)
+    CPU Revision 7.000000
+    CPUID Info Family6 Model45 Stepping7
+    CPU Max Megahertz 2601
+    CPU Min Megahertz 1200
+    Hdw Threads per core 1
+    Cores per Socket 8
+    Sockets 2
+    NUMA Nodes 2
+    CPUs per Node 8
+    Total CPUs 16
+    Running in a VM no
+    Number Hardware Counters 11
+    Max Multiplex Counters 32
+    --------------------------------------------------------------------------------
+    Name Code Avail Deriv Description (Note)
+    PAPI_L1_DCM 0x80000000 Yes No Level 1 data cache misses
+    PAPI_L1_ICM 0x80000001 Yes No Level 1 instruction cache misses
+    PAPI_L2_DCM 0x80000002 Yes Yes Level 2 data cache misses
+    PAPI_L2_ICM 0x80000003 Yes No Level 2 instruction cache misses
+    PAPI_L3_DCM 0x80000004 No No Level 3 data cache misses
+    PAPI_L3_ICM 0x80000005 No No Level 3 instruction cache misses
+    PAPI_L1_TCM 0x80000006 Yes Yes Level 1 cache misses
+    PAPI_L2_TCM 0x80000007 Yes No Level 2 cache misses
+    PAPI_L3_TCM 0x80000008 Yes No Level 3 cache misses
+    .... 
+
+### papi_native_avail
+
+<span>Prints which native events are available on the current
+CPU.</span>
+
+### <span class="s1">papi_cost</span>
+
+<span>Measures the cost (in cycles) of basic PAPI operations.</span>
+
+### <span>papi_mem_info</span>
+
+<span>Prints information about the memory architecture of the current
+CPU.</span>
+
+PAPI API
+--------
+
+PAPI provides two kinds of events: 
+
+-   **Preset events** is a set of predefined common CPU events,
+    <span>standardized</span> across platforms.
+-   **Native events **is a set of all events supported by the
+    current hardware. This is a larger set of features than preset. For
+    other components than CPU, only native events are usually available.
+To use PAPI in your application, you need to link the appropriate
+include file.
+
+-   <span class="monospace">papi.h</span> for C
+-   <span class="monospace">f77papi.h</span> for Fortran 77
+-   <span class="monospace">f90papi.h</span> for Fortran 90
+-   <span class="monospace">fpapi.h</span> for Fortran with preprocessor
+
+The include path is automatically added by papi module to <span
+class="monospace">$INCLUDE</span>.
+
+
+
+### High level API
+
+Please refer
+to <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:High_Level> for a
+description of the High level API.
+
+### Low level API
+
+Please refer
+to <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:Low_Level> for a
+description of the Low level API.
+
+### Timers
+
+PAPI provides the most accurate timers the platform can support.
+See <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:Timers>
+
+### System information
+
+PAPI can be used to query some system infromation, such as CPU name and
+MHz.
+See <http://icl.cs.utk.edu/projects/papi/wiki/PAPIC:System_Information>
+
+Example
+-------
+
+The following example prints MFLOPS rate of a naive matrix-matrix
+multiplication :
+
+    #include <stdlib.h>
+    #include <stdio.h>
+    #include "papi.h"
+    #define SIZE 1000
+
+    int main(int argc, char **argv) {
+     float matrixa[SIZE][SIZE], matrixb[SIZE][SIZE], mresult[SIZE][SIZE];
+     float real_time, proc_time, mflops;
+     long long flpins;
+     int retval;
+     int i,j,k;
+
+     /* Initialize the Matrix arrays */
+     for ( i=0; i<SIZE*SIZE; i++ ){
+     mresult[0][i] = 0.0;
+     matrixa[0][i] = matrixb[0][i] = rand()*(float)1.1; 
+     }
+      
+     /* Setup PAPI library and begin collecting data from the counters */
+     if((retval=PAPI_flops( &real_time, &proc_time, &flpins, &mflops))<PAPI_OK)
+     printf("Error!");
+
+     /* A naive Matrix-Matrix multiplication */
+     for (i=0;i<SIZE;i++)
+     for(j=0;j<SIZE;j++)
+     for(k=0;k<SIZE;k++)
+     mresult[i][j]=mresult[i][j] + matrixa[i][k]*matrixb[k][j];
+
+     /* Collect the data into the variables passed in */
+     if((retval=PAPI_flops( &real_time, &proc_time, &flpins, &mflops))<PAPI_OK)
+     printf("Error!");
+     
+     printf("Real_time:t%fnProc_time:t%fnTotal flpins:t%lldnMFLOPS:tt%fn", real_time, proc_time, flpins, mflops);
+     PAPI_shutdown();
+     return 0;
+    }
+
+ Now compile and run the example :
+
+    $ gcc matrix.c -o matrix -lpapi
+    $ ./matrix
+    Real_time8.852785
+    Proc_time8.850000
+    Total flpins6012390908
+    MFLOPS679.366211 
+
+Let's try with optimizations enabled :
+
+    $ gcc -O3 matrix.c -o matrix -lpapi
+    $ ./matrix
+    Real_time0.000020
+    Proc_time0.000000
+    Total flpins6
+    MFLOPSinf
+
+Now we see a seemingly strange result - the multiplication took no time
+and only 6 floating point instructions were issued. This is because the
+compiler optimizations have completely removed the multiplication loop,
+as the result is actually not used anywhere in the program. We can fix
+this by adding some "dummy" code at the end of the Matrix-Matrix
+multiplication routine :
+
+    for (i=0; i<SIZE;i++)
+     for (j=0; j<SIZE; j++)
+       if (mresult[i][j] == -1.0) printf("x");
+
+Now the compiler won't remove the multiplication loop. (However it is
+still not that smart to see that the result won't ever be negative). Now
+run the code again:
+
+    $ gcc -O3 matrix.c -o matrix -lpapi
+    $ ./matrix
+    Real_time8.795956
+    Proc_time8.790000
+    Total flpins18700983160
+    MFLOPS2127.529297 
+
+### Intel Xeon Phi
+
+PAPI currently supports only a subset of counters on the Intel Xeon Phi
+processor compared to Intel Xeon, for example the floating point
+operations counter is missing.
+
+To use PAPI in [Intel Xeon
+Phi](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi) native
+applications, you need to load module with "<span
+class="monospace">-mic</span>" suffix, for example "<span
+class="monospace">papi/5.3.2-mic</span>" :
+
+    $ module load papi/5.3.2-mic
+
+Then, compile your application in the following way:
+
+    $ module load intel
+    $ icc -mmic -Wl,-rpath,/apps/intel/composer_xe_2013.5.192/compiler/lib/mic matrix-mic.c -o matrix-mic -lpapi -lpfm
+
+To execute the application on MIC, you need to manually set <span
+class="monospace">LD_LIBRARY_PATH :</span>
+
+    $ qsub -q qmic -A NONE-0-0 -I
+    $ ssh mic0
+    $ export LD_LIBRARY_PATH=/apps/tools/papi/5.4.0-mic/lib/ 
+    $ ./matrix-mic 
+
+Alternatively, you can link PAPI statically (<span
+class="monospace">-static</span> flag), then <span
+class="monospace">LD_LIBRARY_PATH</span> does not need to be set.
+
+You can also execute the PAPI tools on MIC :
+
+    $ /apps/tools/papi/5.4.0-mic/bin/papi_native_avail
+
+To use PAPI in offload mode, you need to provide both host and MIC
+versions of PAPI:
+
+    $ module load papi/5.4.0
+    $ icc matrix-offload.c -o matrix-offload -offload-option,mic,compiler,"-L$PAPI_HOME-mic/lib -lpapi" -lpapi
+
+References
+----------
+
+1.  <http://icl.cs.utk.edu/papi/> Main project page
+2.  <http://icl.cs.utk.edu/projects/papi/wiki/Main_Page> Wiki
+3.  <http://icl.cs.utk.edu/papi/docs/> API Documentation
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md
new file mode 100644
index 0000000000000000000000000000000000000000..d98a4479b01168dd1cc1b26a5b4c312879b4aa76
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca.md
@@ -0,0 +1,116 @@
+Scalasca 
+========
+
+<span>Introduction</span>
+-------------------------
+
+[Scalasca](http://www.scalasca.org/) is a software tool
+that supports the performance optimization of parallel programs by
+measuring and analyzing their runtime behavior. The analysis identifies
+potential performance bottlenecks – in particular those concerning
+communication and synchronization – and offers guidance in exploring
+their causes.
+
+Scalasca supports profiling of MPI, OpenMP and hybrid MPI+OpenMP
+applications.
+
+Installed versions
+------------------
+
+There are currently two versions of Scalasca 2.0
+[modules](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules)
+installed on Anselm:
+
+-   <span class="s1"><span
+    class="monospace">scalasca2/2.0-gcc-openmpi</span>, for usage with
+    [GNU
+    Compiler](https://docs.it4i.cz/anselm-cluster-documentation/software/compilers)
+    and
+    [OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI),</span>
+
+-   <span class="s1"><span
+    class="monospace">scalasca2/2.0-icc-impi</span>, for usage with
+    [Intel
+    Compiler](https://docs.it4i.cz/anselm-cluster-documentation/software/compilers)
+    and [Intel
+    MPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2).</span>
+
+Usage
+-----
+
+Profiling a parallel application with Scalasca consists of three steps:
+
+1.  Instrumentation, compiling the application such way, that the
+    profiling data can be generated.
+2.  Runtime measurement, running the application with the Scalasca
+    profiler to collect performance data.
+3.  Analysis of reports
+
+### Instrumentation
+
+Instrumentation via "<span class="monospace">scalasca
+-instrument</span>" is discouraged. Use [Score-P
+instrumentation](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p).
+
+### Runtime measurement
+
+After the application is instrumented, runtime measurement can be
+performed with the "<span class="monospace">scalasca -analyze</span>"
+command. The syntax is :
+
+<span class="monospace">scalasca -analyze [scalasca options]
+[launcher] [launcher options] [program] [program options]</span>
+
+An example :
+
+    $ scalasca -analyze mpirun -np 4 ./mympiprogram
+
+Some notable Scalsca options are:
+
+-t Enable trace data collection. By default, only summary data are
+collected.
+-e &lt;directory&gt; Specify a directory to save the collected data to.
+By default, Scalasca saves the data to a directory with
+prefix <span>scorep_, followed by name of the executable and launch
+configuration.</span>
+<span>
+</span>
+Scalasca can generate a huge amount of data, especially if tracing is
+enabled. Please consider saving the data to a [scratch
+directory](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage).
+
+### Analysis of reports
+
+For the analysis, you must have
+[Score-P](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p)
+and
+[CUBE](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube)
+modules loaded. The analysis is done in two steps, first, the data is
+preprocessed and then CUBE GUI tool is launched.
+
+To launch the analysis, run :
+
+``` 
+scalasca -examine [options] <experiment_directory>
+```
+
+If you do not wish to launch the GUI tool, use the "-s" option :
+
+``` 
+scalasca -examine -s <experiment_directory>
+```
+
+Alternatively you can open CUBE and load the data directly from here.
+Keep in mind that in that case the preprocessing is not done and not all
+metrics will be shown in the viewer.
+
+Refer to [CUBE
+documentation](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/cube) on
+usage of the GUI viewer.
+
+References
+----------
+
+1.  <http://www.scalasca.org/>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md
new file mode 100644
index 0000000000000000000000000000000000000000..70d19ad27fe0e6e4c6ba04a30d63940e1338fd64
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/score-p.md
@@ -0,0 +1,149 @@
+Score-P 
+=======
+
+Introduction
+------------
+
+The [Score-P measurement
+infrastructure](http://www.vi-hps.org/projects/score-p/)
+is a highly scalable and easy-to-use tool suite for profiling, event
+tracing, and online analysis of HPC applications. 
+
+Score-P can be used as an instrumentation tool for
+[Scalasca](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/scalasca).
+
+Installed versions
+------------------
+
+There are currently two versions of Score-P version 1.2.6
+[modules](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules) installed
+on Anselm :
+
+-   <span class="s1">scorep/1.2.3-gcc-openmpi<span>, for usage
+    with </span>[GNU
+    Compiler](https://docs.it4i.cz/anselm-cluster-documentation/software/compilers)<span> and </span>[OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI)<span>,</span></span>
+
+-   <span class="s1">scorep/1.2.3-icc-impi<span>, for usage
+    with </span>[Intel
+    Compiler](https://docs.it4i.cz/anselm-cluster-documentation/software/compilers)<span> and </span>[Intel
+    MPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2)<span>.</span></span>
+
+Instrumentation
+---------------
+
+<span>There are three ways to instrument your parallel applications in
+order to enable performance data collection :</span>
+
+1.  <span>Automated instrumentation using compiler</span>
+2.  <span>Manual instrumentation using API calls</span>
+3.  <span>Manual instrumentation using directives</span>
+
+### Automated instrumentation
+
+is the easiest method. Score-P will automatically add instrumentation to
+every routine entry and exit using compiler hooks, and will intercept
+MPI calls and OpenMP regions. This method might, however, produce a
+large number of data. If you want to focus on profiler a specific
+regions of your code, consider using the manual instrumentation methods.
+To use automated instrumentation, simply prepend <span
+class="monospace">scorep</span> to your compilation command. For
+example, replace : 
+
+``` 
+$ mpif90 -c foo.f90
+$ mpif90 -c bar.f90
+$ mpif90 -o myapp foo.o bar.o
+```
+
+with :
+
+``` 
+$ scorep  mpif90 -c foo.f90
+$ scorep  mpif90 -c bar.f90
+$ scorep  mpif90 -o myapp foo.o bar.o
+```
+
+Usually your program is compiled using a Makefile or similar script, so
+it advisable to add the <span class="monospace">scorep</span> command to
+your definition of variables <span class="monospace">CC</span>, <span
+class="monospace">CXX</span>, <span class="monospace">FCC</span> etc.
+
+It is important that <span class="monospace">scorep</span> is prepended
+also to the linking command, in order to link with Score-P
+instrumentation libraries.
+
+### <span>Manual instrumentation using API calls</span>
+
+To use this kind of instrumentation, use <span
+class="monospace">scorep</span> with switch <span
+class="monospace">--user</span>. You will then mark regions to be
+instrumented by inserting API calls.
+
+An example in C/C++ :
+
+    #include <scorep/SCOREP_User.h>
+    void foo()
+    {
+        SCOREP_USER_REGION_DEFINE( my_region_handle )
+        // more declarations
+        SCOREP_USER_REGION_BEGIN( my_region_handle, "foo", SCOREP_USER_REGION_TYPE_COMMON )
+        // do something
+        SCOREP_USER_REGION_END( my_region_handle )
+    }
+
+ and Fortran :
+
+    #include "scorep/SCOREP_User.inc"
+    subroutine foo
+        SCOREP_USER_REGION_DEFINE( my_region_handle )
+        ! more declarations
+        SCOREP_USER_REGION_BEGIN( my_region_handle, "foo", SCOREP_USER_REGION_TYPE_COMMON )
+        ! do something
+        SCOREP_USER_REGION_END( my_region_handle )
+    end subroutine foo
+
+Please refer to the [documentation for description of the
+API](https://silc.zih.tu-dresden.de/scorep-current/pdf/scorep.pdf).
+
+### <span>Manual instrumentation using directives</span>
+
+This method uses POMP2 directives to mark regions to be instrumented. To
+use this method, use command <span class="monospace">scorep
+--pomp.</span>
+
+Example directives in C/C++ :
+
+    void foo(...)
+    {
+        /* declarations */
+        #pragma pomp inst begin(foo)
+        ...
+        if (<condition>)
+        {
+            #pragma pomp inst altend(foo)
+            return;
+        }
+        ...
+        #pragma pomp inst end(foo)
+    }
+
+<span>and in Fortran :</span>
+
+    subroutine foo(...)
+        !declarations
+        !POMP$ INST BEGIN(foo)
+        ...
+        if (<condition>) then
+     !POMP$ INST ALTEND(foo)
+     return
+     end if
+     ...
+     !POMP$ INST END(foo)
+    end subroutine foo
+
+The directives are ignored if the program is compiled without Score-P.
+Again, please refer to the
+[documentation](https://silc.zih.tu-dresden.de/scorep-current/pdf/scorep.pdf)
+for a more elaborate description.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md
new file mode 100644
index 0000000000000000000000000000000000000000..452f91aacdaf6a19189a010371d51112146ed194
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary.md
@@ -0,0 +1,94 @@
+Debuggers and profilers summary 
+===============================
+
+
+
+  
+
+Introduction
+------------
+
+We provide state of the art programms and tools to develop, profile and
+debug HPC codes at IT4Innovations.
+On these pages, we provide an overview of the profiling and debugging
+tools available on Anslem at IT4I.
+
+Intel debugger
+--------------
+
+The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger)
+page.
+
+Allinea Forge (DDT/MAP)
+-----------------------
+
+Allinea DDT, is a commercial debugger primarily for debugging parallel
+MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel
+Xeon Phi accelerators. DDT provides all the standard debugging features
+(stack trace, breakpoints, watches, view variables, threads etc.) for
+every thread running as part of your program, or for every process -
+even if these processes are distributed across a cluster using an MPI
+implementation.
+
+    $ module load Forge
+    $ forge
+
+Read more at the [Allinea
+DDT](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt)
+page.
+
+Allinea Performance Reports
+---------------------------
+
+Allinea Performance Reports characterize the performance of HPC
+application runs. After executing your application through the tool, a
+synthetic HTML report is generated automatically, containing information
+about several metrics along with clear behavior statements and hints to
+help you improve the efficiency of your runs. Our license is limited to
+64 MPI processes.
+
+    $ module load PerformanceReports/6.0 
+    $ perf-report mpirun -n 64 ./my_application argument01 argument02
+
+Read more at the [Allinea Performance
+Reports](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports)
+page.
+
+RougeWave Totalview
+-------------------
+
+TotalView is a source- and machine-level debugger for multi-process,
+multi-threaded programs. Its wide range of tools provides ways to
+analyze, organize, and test programs, making it easy to isolate and
+identify problems in individual threads and processes in programs of
+great complexity.
+
+    $ module load totalview
+    $ totalview
+
+Read more at the
+[Totalview](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view)
+page.
+
+Vampir trace analyzer
+---------------------
+
+Vampir is a GUI trace analyzer for traces in OTF format.
+
+    $ module load Vampir/8.5.0
+    $ vampir
+
+Read more at
+the [Vampir](https://docs.it4i.cz/salomon/software/debuggers/vampir) page.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md
new file mode 100644
index 0000000000000000000000000000000000000000..dc1187e06a4e7680278b0a71dc7294df8751f9d9
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view.md
@@ -0,0 +1,164 @@
+Total View 
+==========
+
+TotalView is a GUI-based source code multi-process, multi-thread
+debugger.
+License and Limitations for Anselm Users
+----------------------------------------
+
+On Anselm users can debug OpenMP or MPI code that runs up to 64 parallel
+processes. These limitation means that:
+
+    1 user can debug up 64 processes, or
+    32 users can debug 2 processes, etc.
+
+Debugging of GPU accelerated codes is also supported.
+
+You can check the status of the licenses here:
+
+    cat /apps/user/licenses/totalview_features_state.txt
+
+    # totalview
+    # -------------------------------------------------
+    # FEATURE                       TOTAL   USED  AVAIL
+    # -------------------------------------------------
+    TotalView_Team                     64      0     64
+    Replay                             64      0     64
+    CUDA                               64      0     64
+
+Compiling Code to run with TotalView
+------------------------------------
+
+### Modules
+
+Load all necessary modules to compile the code. For example:
+
+    module load intel
+
+    module load impi   ... or ... module load openmpi/X.X.X-icc
+
+Load the TotalView module:
+
+    module load totalview/8.12
+
+Compile the code:
+
+    mpicc -g -O0 -o test_debug test.c
+
+    mpif90 -g -O0 -o test_debug test.f
+
+### Compiler flags
+
+Before debugging, you need to compile your code with theses flags:
+
+**-g** Generates extra debugging information usable by GDB. -g3
+includes even more debugging information. This option is available for
+GNU and INTEL C/C++ and Fortran compilers.
+
+**-O0** Suppress all optimizations.
+
+Starting a Job with TotalView
+-----------------------------
+
+Be sure to log in with an X window forwarding enabled. This could mean
+using the -X in the ssh: 
+
+    ssh -X username@anselm.it4i.cz 
+
+Other options is to access login node using VNC. Please see the detailed
+information on how to use graphic user interface on Anselm
+[here](resolveuid/11e53ad0d2fd4c5187537f4baeedff33#VNC).
+
+From the login node an interactive session with X windows forwarding (-X
+option) can be started by following command:
+
+    qsub -I -X -A NONE-0-0 -q qexp -lselect=1:ncpus=16:mpiprocs=16,walltime=01:00:00 
+
+Then launch the debugger with the totalview command followed by the name
+of the executable to debug.
+
+### Debugging a serial code
+
+To debug a serial code use:
+
+    totalview test_debug
+
+### Debugging a parallel code - option 1
+
+To debug a parallel code compiled with <span>**OpenMPI**</span> you need
+to setup your TotalView environment: 
+
+**Please note:** To be able to run parallel debugging procedure from the
+command line without stopping the debugger in the mpiexec source code
+you have to add the following function to your **~/.tvdrc** file:
+
+    proc mpi_auto_run_starter  {
+        set starter_programs 
+        set executable_name [TV::symbol get $loaded_id full_pathname]
+        set file_component [file tail $executable_name]
+
+        if {[lsearch -exact $starter_programs $file_component] != -1} {
+            puts "**************************************"
+            puts "Automatically starting $file_component"
+            puts "**************************************"
+            dgo
+        }
+    }
+
+    # Append this function to TotalView's image load callbacks so that
+    # TotalView run this program automatically.
+
+    dlappend TV::image_load_callbacks mpi_auto_run_starter
+
+The source code of this function can be also found in
+
+    /apps/mpi/openmpi/intel/1.6.5/etc/openmpi-totalview.tcl
+
+You can also add only following line to you ~/.tvdrc file instead of
+the entire function:
+
+**source /apps/mpi/openmpi/intel/1.6.5/etc/openmpi-totalview.tcl**
+
+You need to do this step only once.
+
+Now you can run the parallel debugger using:
+
+    mpirun -tv -n 5 ./test_debug
+
+When following dialog appears click on "Yes"
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview1.png)
+
+At this point the main TotalView GUI window will appear and you can
+insert the breakpoints and start debugging:
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview2.png)
+
+### Debugging a parallel code - option 2
+
+Other option to start new parallel debugging session from a command line
+is to let TotalView to execute mpirun by itself. In this case user has
+to specify a MPI implementation used to compile the source code. 
+
+The following example shows how to start debugging session with Intel
+MPI:
+
+    module load intel/13.5.192 impi/4.1.1.036 totalview/8/13
+
+    totalview -mpi "Intel MPI-Hydra" -np 8 ./hello_debug_impi
+
+After running previous command you will see the same window as shown in
+the screenshot above.
+
+More information regarding the command line parameters of the TotalView
+can be found TotalView Reference Guide, Chapter 7TotalView Command
+Syntax.   
+
+Documentation
+-------------
+
+[1] The [TotalView
+documentation](http://www.roguewave.com/support/product-documentation/totalview-family.aspx#totalview)
+web page is a good resource for learning more about some of the advanced
+TotalView features.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview1.png b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview1.png
new file mode 100644
index 0000000000000000000000000000000000000000..09678f174b4f5d05ccda08cc11de059ee53e7e09
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview1.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview2.png b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview2.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d26ffd97db190a6b8161dd6358fc759ad2cb2ca
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/totalview2.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md
new file mode 100644
index 0000000000000000000000000000000000000000..cf54bcae3b3a48e65a78d1d52b617f7de94d8466
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/valgrind.md
@@ -0,0 +1,291 @@
+Valgrind 
+========
+
+Valgrind is a tool for memory debugging and profiling.
+About Valgrind
+--------------
+
+Valgrind is an open-source tool, used mainly for debuggig memory-related
+problems, such as memory leaks, use of uninitalized memory etc. in C/C++
+applications. The toolchain was however extended over time with more
+functionality, such as debugging of threaded applications, cache
+profiling, not limited only to C/C++.
+
+Valgind is an extremely useful tool for debugging memory errors such as
+[off-by-one](http://en.wikipedia.org/wiki/Off-by-one_error).
+Valgrind uses a virtual machine and dynamic recompilation of binary
+code, because of that, you can expect that programs being debugged by
+Valgrind run 5-100 times slower.
+
+The main tools available in Valgrind are :
+
+-   **Memcheck**, the original, must used and default tool. Verifies
+    memory access in you program and can detect use of unitialized
+    memory, out of bounds memory access, memory leaks, double free, etc.
+-   **Massif**, a heap profiler.
+-   **Hellgrind** and **DRD** can detect race conditions in
+    multi-threaded applications.
+-   **Cachegrind**, a cache profiler.
+-   **Callgrind**, a callgraph analyzer.
+-   For a full list and detailed documentation, please refer to the
+    [official Valgrind
+    documentation](http://valgrind.org/docs/).
+
+Installed versions
+------------------
+
+There are two versions of Valgrind available on Anselm.
+
+-   <span>Version 3.6.0, installed by operating system vendor
+    in </span><span class="monospace">/usr/bin/valgrind.
+    </span><span>This version is available by default, without the need
+    to load any module. This version however does not provide additional
+    MPI support.</span>
+-   <span><span>Version 3.9.0 with support for Intel MPI, available in
+    [module](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules) </span></span><span
+    class="monospace">valgrind/3.9.0-impi. </span>After loading the
+    module, this version replaces the default valgrind.
+
+Usage
+-----
+
+Compile the application which you want to debug as usual. It is
+advisable to add compilation flags <span class="monospace">-g </span>(to
+add debugging information to the binary so that you will see original
+source code lines in the output) and <span class="monospace">-O0</span>
+(to disable compiler optimizations). 
+
+For example, lets look at this C code, which has two problems :
+
+    #include <stdlib.h>
+
+    void f(void) 
+    {
+       int* x = malloc(10 * sizeof(int));
+       x[10] = 0; // problem 1heap block overrun
+    }             // problem 2memory leak -- x not freed
+
+    int main(void)
+    {
+       f();
+       return 0;
+    }
+
+Now, compile it with Intel compiler :
+
+    $ module add intel
+    $ icc -g valgrind-example.c -o valgrind-example 
+
+Now, lets run it with Valgrind. The syntax is :
+
+<span class="monospace">valgrind [valgrind options] &lt;your program
+binary&gt; [your program options]</span>
+
+If no Valgrind options are specified, Valgrind defaults to running
+Memcheck tool. Please refer to the Valgrind documentation for a full
+description of command line options.
+
+    $ valgrind ./valgrind-example
+    ==12652== Memcheck, a memory error detector
+    ==12652== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
+    ==12652== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
+    ==12652== Command./valgrind-example
+    ==12652== 
+    ==12652== Invalid write of size 4
+    ==12652== at 0x40053Ef (valgrind-example.c:6)
+    ==12652== by 0x40054Emain (valgrind-example.c:11)
+    ==12652== Address 0x5861068 is 0 bytes after a block of size 40 alloc'd
+    ==12652== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==12652== by 0x400528f (valgrind-example.c:5)
+    ==12652== by 0x40054Emain (valgrind-example.c:11)
+    ==12652== 
+    ==12652== 
+    ==12652== HEAP SUMMARY:
+    ==12652== in use at exit40 bytes in 1 blocks
+    ==12652== total heap usage1 allocs, 0 frees, 40 bytes allocated
+    ==12652== 
+    ==12652== LEAK SUMMARY:
+    ==12652== definitely lost40 bytes in 1 blocks
+    ==12652== indirectly lost0 bytes in 0 blocks
+    ==12652== possibly lost0 bytes in 0 blocks
+    ==12652== still reachable0 bytes in 0 blocks
+    ==12652== suppressed0 bytes in 0 blocks
+    ==12652== Rerun with --leak-check=full to see details of leaked memory
+    ==12652== 
+    ==12652== For counts of detected and suppressed errors, rerun with-v
+    ==12652== ERROR SUMMARY1 errors from 1 contexts (suppressed6 from 6)
+
+In the output we can see that Valgrind has detected both errors - the
+off-by-one memory access at line 5 and a memory leak of 40 bytes. If we
+want a detailed analysis of the memory leak, we need to run Valgrind
+with <span class="monospace">--leak-check=full</span> option :
+
+    $ valgrind --leak-check=full ./valgrind-example
+    ==23856== Memcheck, a memory error detector
+    ==23856== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
+    ==23856== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
+    ==23856== Command./valgrind-example
+    ==23856== 
+    ==23856== Invalid write of size 4
+    ==23856== at 0x40067Ef (valgrind-example.c:6)
+    ==23856== by 0x40068Emain (valgrind-example.c:11)
+    ==23856== Address 0x66e7068 is 0 bytes after a block of size 40 alloc'd
+    ==23856== at 0x4C26FDEmalloc (vg_replace_malloc.c:236)
+    ==23856== by 0x400668f (valgrind-example.c:5)
+    ==23856== by 0x40068Emain (valgrind-example.c:11)
+    ==23856== 
+    ==23856== 
+    ==23856== HEAP SUMMARY:
+    ==23856== in use at exit40 bytes in 1 blocks
+    ==23856== total heap usage1 allocs, 0 frees, 40 bytes allocated
+    ==23856== 
+    ==23856== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1
+    ==23856== at 0x4C26FDEmalloc (vg_replace_malloc.c:236)
+    ==23856== by 0x400668f (valgrind-example.c:5)
+    ==23856== by 0x40068Emain (valgrind-example.c:11)
+    ==23856== 
+    ==23856== LEAK SUMMARY:
+    ==23856== definitely lost40 bytes in 1 blocks
+    ==23856== indirectly lost0 bytes in 0 blocks
+    ==23856== possibly lost0 bytes in 0 blocks
+    ==23856== still reachable0 bytes in 0 blocks
+    ==23856== suppressed0 bytes in 0 blocks
+    ==23856== 
+    ==23856== For counts of detected and suppressed errors, rerun with-v
+    ==23856== ERROR SUMMARY2 errors from 2 contexts (suppressed6 from 6)
+
+Now we can see that the memory leak is due to the <span
+class="monospace">malloc()</span> at line 6.
+
+<span>Usage with MPI</span>
+---------------------------
+
+Although Valgrind is not primarily a parallel debugger, it can be used
+to debug parallel applications as well. When launching your parallel
+applications, prepend the valgrind command. For example :
+
+    $ mpirun -np 4 valgrind myapplication
+
+The default version without MPI support will however report a large
+number of false errors in the MPI library, such as :
+
+    ==30166== Conditional jump or move depends on uninitialised value(s)
+    ==30166== at 0x4C287E8strlen (mc_replace_strmem.c:282)
+    ==30166== by 0x55443BDI_MPI_Processor_model_number (init_interface.c:427)
+    ==30166== by 0x55439E0I_MPI_Processor_arch_code (init_interface.c:171)
+    ==30166== by 0x558D5AEMPID_nem_impi_init_shm_configuration (mpid_nem_impi_extensions.c:1091)
+    ==30166== by 0x5598F4CMPID_nem_init_ckpt (mpid_nem_init.c:566)
+    ==30166== by 0x5598B65MPID_nem_init (mpid_nem_init.c:489)
+    ==30166== by 0x539BD75MPIDI_CH3_Init (ch3_init.c:64)
+    ==30166== by 0x5578743MPID_Init (mpid_init.c:193)
+    ==30166== by 0x554650AMPIR_Init_thread (initthread.c:539)
+    ==30166== by 0x553369FPMPI_Init (init.c:195)
+    ==30166== by 0x4008BDmain (valgrind-example-mpi.c:18)
+
+so it is better to use the MPI-enabled valgrind from module. The MPI
+version requires library  <span
+class="monospace">/apps/tools/valgrind/3.9.0/impi/lib/valgrind/libmpiwrap-amd64-linux.so</span>,
+which must be included in the<span class="monospace"> LD_PRELOAD
+</span>environment variable.
+
+Lets look at this MPI example :
+
+    #include <stdlib.h>
+    #include <mpi.h> 
+
+    int main(int argc, char *argv[])
+    {
+            int *data = malloc(sizeof(int)*99);
+
+            MPI_Init(&argc, &argv);
+            MPI_Bcast(data, 100, MPI_INT, 0, MPI_COMM_WORLD);
+            MPI_Finalize(); 
+
+            return 0;
+    }
+
+There are two errors - use of uninitialized memory and invalid length of
+the buffer. Lets debug it with valgrind :
+
+    $ module add intel impi
+    $ mpicc -g valgrind-example-mpi.c -o valgrind-example-mpi
+    $ module add valgrind/3.9.0-impi
+    $ mpirun -np 2 -env LD_PRELOAD /apps/tools/valgrind/3.9.0/impi/lib/valgrind/libmpiwrap-amd64-linux.so valgrind ./valgrind-example-mpi
+
+Prints this output (note that there is output printed for every
+launched MPI process)
+
+    ==31318== Memcheck, a memory error detector
+    ==31318== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
+    ==31318== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
+    ==31318== Command./valgrind-example-mpi
+    ==31318== 
+    ==31319== Memcheck, a memory error detector
+    ==31319== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
+    ==31319== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
+    ==31319== Command./valgrind-example-mpi
+    ==31319== 
+    valgrind MPI wrappers 31319Active for pid 31319
+    valgrind MPI wrappers 31319Try MPIWRAP_DEBUG=help for possible options
+    valgrind MPI wrappers 31318Active for pid 31318
+    valgrind MPI wrappers 31318Try MPIWRAP_DEBUG=help for possible options
+    ==31319== Unaddressable byte(s) found during client check request
+    ==31319== at 0x4E35974check_mem_is_addressable_untyped (libmpiwrap.c:960)
+    ==31319== by 0x4E5D0FEPMPI_Bcast (libmpiwrap.c:908)
+    ==31319== by 0x400911main (valgrind-example-mpi.c:20)
+    ==31319== Address 0x69291cc is 0 bytes after a block of size 396 alloc'd
+    ==31319== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==31319== by 0x4007BCmain (valgrind-example-mpi.c:8)
+    ==31319== 
+    ==31318== Uninitialised byte(s) found during client check request
+    ==31318== at 0x4E3591Dcheck_mem_is_defined_untyped (libmpiwrap.c:952)
+    ==31318== by 0x4E5D06DPMPI_Bcast (libmpiwrap.c:908)
+    ==31318== by 0x400911main (valgrind-example-mpi.c:20)
+    ==31318== Address 0x6929040 is 0 bytes inside a block of size 396 alloc'd
+    ==31318== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==31318== by 0x4007BCmain (valgrind-example-mpi.c:8)
+    ==31318== 
+    ==31318== Unaddressable byte(s) found during client check request
+    ==31318== at 0x4E3591Dcheck_mem_is_defined_untyped (libmpiwrap.c:952)
+    ==31318== by 0x4E5D06DPMPI_Bcast (libmpiwrap.c:908)
+    ==31318== by 0x400911main (valgrind-example-mpi.c:20)
+    ==31318== Address 0x69291cc is 0 bytes after a block of size 396 alloc'd
+    ==31318== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==31318== by 0x4007BCmain (valgrind-example-mpi.c:8)
+    ==31318== 
+    ==31318== 
+    ==31318== HEAP SUMMARY:
+    ==31318== in use at exit3,172 bytes in 67 blocks
+    ==31318== total heap usage191 allocs, 124 frees, 81,203 bytes allocated
+    ==31318== 
+    ==31319== 
+    ==31319== HEAP SUMMARY:
+    ==31319== in use at exit3,172 bytes in 67 blocks
+    ==31319== total heap usage175 allocs, 108 frees, 48,435 bytes allocated
+    ==31319== 
+    ==31318== LEAK SUMMARY:
+    ==31318== definitely lost408 bytes in 3 blocks
+    ==31318== indirectly lost256 bytes in 1 blocks
+    ==31318== possibly lost0 bytes in 0 blocks
+    ==31318== still reachable2,508 bytes in 63 blocks
+    ==31318== suppressed0 bytes in 0 blocks
+    ==31318== Rerun with --leak-check=full to see details of leaked memory
+    ==31318== 
+    ==31318== For counts of detected and suppressed errors, rerun with-v
+    ==31318== Use --track-origins=yes to see where uninitialised values come from
+    ==31318== ERROR SUMMARY2 errors from 2 contexts (suppressed4 from 4)
+    ==31319== LEAK SUMMARY:
+    ==31319== definitely lost408 bytes in 3 blocks
+    ==31319== indirectly lost256 bytes in 1 blocks
+    ==31319== possibly lost0 bytes in 0 blocks
+    ==31319== still reachable2,508 bytes in 63 blocks
+    ==31319== suppressed0 bytes in 0 blocks
+    ==31319== Rerun with --leak-check=full to see details of leaked memory
+    ==31319== 
+    ==31319== For counts of detected and suppressed errors, rerun with-v
+    ==31319== ERROR SUMMARY1 errors from 1 contexts (suppressed4 from 4)
+
+We can see that Valgrind has reported use of unitialised memory on the
+master process (which reads the array to be broadcasted) and use of
+unaddresable memory on both processes.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md
new file mode 100644
index 0000000000000000000000000000000000000000..ae593ae755c912b6879e5d2a559cee832c80b688
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir.md
@@ -0,0 +1,34 @@
+Vampir 
+======
+
+Vampir is a commercial trace analysis and visualisation tool. It can
+work with traces in OTF and OTF2 formats. It does not have the
+functionality to collect traces, you need to use a trace collection tool
+(such
+as [Score-P](https://docs.it4i.cz/salomon/software/debuggers/score-p))
+first to collect the traces.
+
+![Vampir screenshot](https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png "Vampir screenshot")
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+Installed versions
+------------------
+
+Version 8.5.0 is currently installed as module <span
+class="monospace">Vampir/8.5.0</span> :
+
+    $ module load Vampir/8.5.0
+    $ vampir &
+
+User manual
+-----------
+
+You can find the detailed user manual in PDF format in <span
+class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span>
+
+References
+----------
+
+1.  <https://www.vampir.eu>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vtune-amplifier/@@images/3d4533af-8ce5-4aed-9bac-09fbbcd2650a.png b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vtune-amplifier/@@images/3d4533af-8ce5-4aed-9bac-09fbbcd2650a.png
new file mode 100644
index 0000000000000000000000000000000000000000..75ee99d84b87649151f22edad65de021ec348f1c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vtune-amplifier/@@images/3d4533af-8ce5-4aed-9bac-09fbbcd2650a.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md b/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md
new file mode 100644
index 0000000000000000000000000000000000000000..c8cbc6c6bfff5e6e333e91d51bff7af9272e3dd7
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/gpi2.md
@@ -0,0 +1,186 @@
+GPI-2 
+=====
+
+A library that implements the GASPI specification
+
+
+  
+
+Introduction
+------------
+
+Programming Next Generation SupercomputersGPI-2 is an API library for
+asynchronous interprocess, cross-node communication. It provides a
+flexible, scalable and fault tolerant interface for parallel
+applications.
+
+The GPI-2 library
+([www.gpi-site.com/gpi2/](http://www.gpi-site.com/gpi2/))
+implements the GASPI specification (Global Address Space Programming
+Interface,
+[www.gaspi.de](http://www.gaspi.de/en/project.html)).
+<span>GASPI is a Partitioned Global Address Space (PGAS) API. It aims at
+scalable, flexible and failure tolerant computing in massively parallel
+environments.</span>
+
+Modules
+-------
+
+The GPI-2, version 1.0.2 is available on Anselm via module gpi2:
+
+    $ module load gpi2
+
+The module sets up environment variables, required for linking and
+running GPI-2 enabled applications. This particular command loads the
+default module, which is gpi2/1.0.2
+
+Linking
+-------
+
+Link with -lGPI2 -libverbs
+
+Load the gpi2 module. Link using **-lGPI2** and **** **-libverbs**
+switches to link your code against GPI-2. The GPI-2 requires the OFED
+infinband communication library ibverbs.
+
+### Compiling and linking with Intel compilers
+
+    $ module load intel
+    $ module load gpi2
+    $ icc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -lGPI2 -libverbs
+
+### Compiling and linking with GNU compilers
+
+    $ module load gcc
+    $ module load gpi2
+    $ gcc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -lGPI2 -libverbs
+
+Running the GPI-2 codes
+-----------------------
+
+<span>gaspi_run</span>
+
+gaspi_run starts the GPI-2 application
+
+The gaspi_run utility is used to start and run GPI-2 applications:
+
+    $ gaspi_run -m machinefile ./myprog.x
+
+A machine file (**machinefile**) with the hostnames of nodes where the
+application will run, must be provided. The**** machinefile lists all
+nodes on which to run, one entry per node per process. This file may be
+hand created or obtained from standard $PBS_NODEFILE:
+
+    $ cut -f1 -d"." $PBS_NODEFILE > machinefile
+
+machinefile:
+
+    cn79
+    cn80
+
+This machinefile will run 2 GPI-2 processes, one on node cn79 other on
+node cn80.
+
+machinefle:
+
+    cn79
+    cn79
+    cn80
+    cn80
+
+This machinefile will run 4 GPI-2 processes, 2 on node cn79 o 2 on node
+cn80.
+
+Use the **mpiprocs** to control how many GPI-2 processes will run per
+node
+
+Example:
+
+    $ qsub -A OPEN-0-0 -q qexp -l select=2:ncpus=16:mpiprocs=16 -I 
+
+This example will produce $PBS_NODEFILE with 16 entries per node.
+
+### gaspi_logger
+
+gaspi_logger views the output form GPI-2 application ranks
+
+The gaspi_logger utility is used to view the output from all nodes
+except the master node (rank 0). The gaspi_logger is started, on
+another session, on the master node - the node where the gaspi_run is
+executed. The output of the application, when called with
+gaspi_printf(), will be redirected to the gaspi_logger. Other I/O
+routines (e.g. printf) will not.
+
+Example
+-------
+
+Following is an example GPI-2 enabled code:
+
+    #include <GASPI.h>
+    #include <stdlib.h>
+     
+    void success_or_exit ( const char* file, const int line, const int ec)
+    {
+      if (ec != GASPI_SUCCESS)
+        {
+          gaspi_printf ("Assertion failed in %s[%i]:%dn", file, line, ec);
+          exit (1);
+        }
+    }
+     
+    #define ASSERT(ec) success_or_exit (__FILE__, __LINE__, ec);
+     
+    int main(int argc, char *argv[])
+    {
+      gaspi_rank_t rank, num;
+      gaspi_return_t ret;
+     
+      /* Initialize GPI-2 */
+      ASSERT( gaspi_proc_init(GASPI_BLOCK) );
+     
+      /* Get ranks information */
+      ASSERT( gaspi_proc_rank(&rank) );
+      ASSERT( gaspi_proc_num(&num) );
+     
+      gaspi_printf("Hello from rank %d of %dn",
+               rank, num);
+     
+      /* Terminate */
+      ASSERT( gaspi_proc_term(GASPI_BLOCK) );
+     
+      return 0;
+    }
+
+Load modules and compile:
+
+    $ module load gcc gpi2
+    $ gcc helloworld_gpi.c -o helloworld_gpi.x -Wl,-rpath=$LIBRARY_PATH -lGPI2 -libverbs
+
+Submit the job and run the GPI-2 application
+
+    $ qsub -q qexp -l select=2:ncpus=1:mpiprocs=1,place=scatter,walltime=00:05:00 -I
+    qsubwaiting for job 171247.dm2 to start
+    qsubjob 171247.dm2 ready
+
+    cn79 $ module load gpi2
+    cn79 $ cut -f1 -d"." $PBS_NODEFILE > machinefile
+    cn79 $ gaspi_run -m machinefile ./helloworld_gpi.x
+    Hello from rank 0 of 2
+
+At the same time, in another session, you may start the gaspi logger:
+
+    $ ssh cn79
+    cn79 $ gaspi_logger
+    GASPI Logger (v1.1)
+    [cn80:0] Hello from rank 1 of 2
+
+In this example, we compile the helloworld_gpi.c code using the **gnu
+compiler** (gcc) and link it to the GPI-2 and ibverbs library. The
+library search path is compiled in. For execution, we use the qexp
+queue, 2 nodes 1 core each. The GPI module must be loaded on the master
+compute node (in this example the cn79), gaspi_logger is used from
+different session to view the output of the second process.
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md
new file mode 100644
index 0000000000000000000000000000000000000000..7c9747e0cbb53f767deeafbeed9ecef4315db55b
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite.md
@@ -0,0 +1,100 @@
+Intel Parallel Studio 
+=====================
+
+
+
+  
+
+The Anselm cluster provides following elements of the Intel Parallel
+Studio XE
+
+  Intel Parallel Studio XE
+  -------------------------------------------------
+  Intel Compilers
+  Intel Debugger
+  Intel MKL Library
+  Intel Integrated Performance Primitives Library
+  Intel Threading Building Blocks Library
+
+Intel compilers
+---------------
+
+The Intel compilers version 13.1.3 are available, via module intel. The
+compilers include the icc C and C++ compiler and the ifort fortran
+77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+Read more at the [Intel
+Compilers](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers)
+page.
+
+Intel debugger
+--------------
+
+ The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger)
+page.
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL unites and provides these basic componentsBLAS, LAPACK,
+ScaLapack, PARDISO, FFT, VML, VSL, Data fitting, Feast Eigensolver and
+many more.
+
+    $ module load mkl
+
+Read more at the [Intel
+MKL](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl)
+page.
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+is available, via module ipp. The IPP is a library of highly optimized
+algorithmic building blocks for media and data applications. This
+includes signal, image and frame processing algorithms, such as FFT,
+FIR, Convolution, Optical Flow, Hough transform, Sum, MinMax and many
+more.
+
+    $ module load ipp
+
+Read more at the [Intel
+IPP](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives)
+page.
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers. It is designed to promote
+scalable data parallel programming. Additionally, it fully supports
+nested parallelism, so you can build larger parallel components from
+smaller parallel components. To use the library, you specify tasks, not
+threads, and let the library map tasks onto threads in an efficient
+manner.
+
+    $ module load tbb
+
+Read more at the [Intel
+TBB](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb)
+page.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md
new file mode 100644
index 0000000000000000000000000000000000000000..7ffe202e4f978b85c70ba087f26827a39a804393
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers.md
@@ -0,0 +1,69 @@
+Intel Compilers 
+===============
+
+
+
+  
+
+The Intel compilers version 13.1.1 are available, via module intel. The
+compilers include the icc C and C++ compiler and the ifort fortran
+77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+The intel compilers provide for vectorization of the code, via the AVX
+instructions and support threading parallelization via OpenMP
+
+For maximum performance on the Anselm cluster, compile your programs
+using the AVX instructions, with reporting where the vectorization was
+used. We recommend following compilation options for high performance
+
+    $ icc   -ipo -O3 -vec -xAVX -vec-report1 myprog.c mysubroutines.c -o myprog.x
+    $ ifort -ipo -O3 -vec -xAVX -vec-report1 myprog.f mysubroutines.f -o myprog.x
+
+In this example, we compile the program enabling interprocedural
+optimizations between source files (-ipo), aggresive loop optimizations
+(-O3) and vectorization (-vec -xAVX)
+
+The compiler recognizes the omp, simd, vector and ivdep pragmas for
+OpenMP parallelization and AVX vectorization. Enable the OpenMP
+parallelization by the **-openmp** compiler switch.
+
+    $ icc -ipo -O3 -vec -xAVX -vec-report1 -openmp myprog.c mysubroutines.c -o myprog.x
+    $ ifort -ipo -O3 -vec -xAVX -vec-report1 -openmp myprog.f mysubroutines.f -o myprog.x
+
+Read more at
+<http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-lin/index.htm>
+
+Sandy Bridge/Haswell binary compatibility
+-----------------------------------------
+
+Anselm nodes are currently equipped with Sandy Bridge CPUs, while
+Salomon will use Haswell architecture. <span>The new processors are
+backward compatible with the Sandy Bridge nodes, so all programs that
+ran on the Sandy Bridge processors, should also run on the new Haswell
+nodes. </span><span>To get optimal performance out of the Haswell
+processors a program should make use of the special </span><span>AVX2
+instructions for this processor. One can do this by recompiling codes
+with the compiler flags </span><span>designated to invoke these
+instructions. For the Intel compiler suite, there are two ways of
+doing </span><span>this:</span>
+
+-   <span>Using compiler flag (both for Fortran and C)<span
+    class="monospace">-xCORE-AVX2</span>. This will create a
+    binary </span><span class="s1">with AVX2 instructions, specifically
+    for the Haswell processors. Note that the
+    executable </span><span>will not run on Sandy Bridge nodes.</span>
+-   <span>Using compiler flags (both for Fortran and C)<span
+    class="monospace">-xAVX -axCORE-AVX2</span>. This
+    will </span><span>generate multiple, feature specific auto-dispatch
+    code paths for Intel® processors, if there is </span><span>a
+    performance benefit. So this binary will run both on Sandy Bridge
+    and Haswell </span><span>processors. During runtime it will be
+    decided which path to follow, dependent on
+    which </span><span>processor you are running on. In general this
+    will result in larger binaries.</span>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md
new file mode 100644
index 0000000000000000000000000000000000000000..5506efd2b618ffd2895ae6e4407832b346c1afc6
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger.md
@@ -0,0 +1,100 @@
+Intel Debugger 
+==============
+
+
+
+  
+
+Debugging serial applications
+-----------------------------
+
+ The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+The debugger may run in text mode. To debug in text mode, use
+
+    $ idbc
+
+To debug on the compute nodes, module intel must be loaded.
+The GUI on compute nodes may be accessed using the same way as in [the
+GUI
+section](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+
+Example:
+
+    $ qsub -q qexp -l select=1:ncpus=16 -X -I
+    qsubwaiting for job 19654.srv11 to start
+    qsubjob 19654.srv11 ready
+
+    $ module load intel
+    $ module load java
+    $ icc -O0 -g myprog.c -o myprog.x
+    $ idb ./myprog.x
+
+In this example, we allocate 1 full compute node, compile program
+myprog.c with debugging options -O0 -g and run the idb debugger
+interactively on the myprog.x executable. The GUI access is via X11 port
+forwarding provided by the PBS workload manager.
+
+Debugging parallel applications
+-------------------------------
+
+Intel debugger is capable of debugging multithreaded and MPI parallel
+programs as well.
+
+### Small number of MPI ranks
+
+For debugging small number of MPI ranks, you may execute and debug each
+rank in separate xterm terminal (do not forget the [X
+display](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)).
+Using Intel MPI, this may be done in following way:
+
+    $ qsub -q qexp -l select=2:ncpus=16 -X -I
+    qsubwaiting for job 19654.srv11 to start
+    qsubjob 19655.srv11 ready
+
+    $ module load intel impi
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE --enable-x xterm -e idbc ./mympiprog.x
+
+In this example, we allocate 2 full compute node, run xterm on each node
+and start idb debugger in command line mode, debugging two ranks of
+mympiprog.x application. The xterm will pop up for each rank, with idb
+prompt ready. The example is not limited to use of Intel MPI
+
+### Large number of MPI ranks
+
+Run the idb debugger from within the MPI debug option. This will cause
+the debugger to bind to all ranks and provide aggregated outputs across
+the ranks, pausing execution automatically just after startup. You may
+then set break points and step the execution manually. Using Intel MPI:
+
+    $ qsub -q qexp -l select=2:ncpus=16 -X -I
+    qsubwaiting for job 19654.srv11 to start
+    qsubjob 19655.srv11 ready
+
+    $ module load intel impi
+    $ mpirun -n 32 -idb ./mympiprog.x
+
+### Debugging multithreaded application
+
+Run the idb debugger in GUI mode. The menu Parallel contains number of
+tools for debugging multiple threads. One of the most useful tools is
+the **Serialize Execution** tool, which serializes execution of
+concurrent threads for easy orientation and identification of
+concurrency related bugs.
+
+Further information
+-------------------
+
+Exhaustive manual on idb features and usage is published at Intel
+website,
+<http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/debugger/user_guide/index.htm>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md
new file mode 100644
index 0000000000000000000000000000000000000000..743c5ec1b99815708599a5de7163d2ffdfa42bfe
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives.md
@@ -0,0 +1,97 @@
+Intel IPP 
+=========
+
+
+
+  
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+vector instructions is available, via module ipp. The IPP is a very rich
+library of highly optimized algorithmic building blocks for media and
+data applications. This includes signal, image and frame processing
+algorithms, such as FFT, FIR, Convolution, Optical Flow, Hough
+transform, Sum, MinMax, as well as cryptographic functions, linear
+algebra functions and many more.
+
+Check out IPP before implementing own math functions for data
+processing, it is likely already there.
+
+    $ module load ipp
+
+The module sets up environment variables, required for linking and
+running ipp enabled applications.
+
+IPP example
+-----------
+
+    #include "ipp.h"
+    #include <stdio.h>
+    int main(int argc, char* argv[])
+    {
+            const IppLibraryVersion *lib;
+            Ipp64u fm;
+            IppStatus status;
+
+            status= ippInit();            //IPP initialization with the best optimization layer
+            if( status != ippStsNoErr ) {
+                    printf("IppInit() Error:n");
+                    printf("%sn", ippGetStatusString(status) );
+                    return -1;
+            }
+
+            //Get version info
+            lib = ippiGetLibVersion();
+            printf("%s %sn", lib->Name, lib->Version);
+
+            //Get CPU features enabled with selected library level
+            fm=ippGetEnabledCpuFeatures();
+            printf("SSE    :%cn",(fm>>1)&1?'Y':'N');
+            printf("SSE2   :%cn",(fm>>2)&1?'Y':'N');
+            printf("SSE3   :%cn",(fm>>3)&1?'Y':'N');
+            printf("SSSE3  :%cn",(fm>>4)&1?'Y':'N');
+            printf("SSE41  :%cn",(fm>>6)&1?'Y':'N');
+            printf("SSE42  :%cn",(fm>>7)&1?'Y':'N');
+            printf("AVX    :%cn",(fm>>8)&1 ?'Y':'N');
+            printf("AVX2   :%cn", (fm>>15)&1 ?'Y':'N' );
+            printf("----------n");
+            printf("OS Enabled AVX :%cn", (fm>>9)&1 ?'Y':'N');
+            printf("AES            :%cn", (fm>>10)&1?'Y':'N');
+            printf("CLMUL          :%cn", (fm>>11)&1?'Y':'N');
+            printf("RDRAND         :%cn", (fm>>13)&1?'Y':'N');
+            printf("F16C           :%cn", (fm>>14)&1?'Y':'N');
+
+            return 0;
+    }
+
+ Compile above example, using any compiler and the ipp module.
+
+    $ module load intel
+    $ module load ipp
+
+    $ icc testipp.c -o testipp.x -lippi -lipps -lippcore
+
+You will need the ipp module loaded to run the ipp enabled executable.
+This may be avoided, by compiling library search paths into the
+executable
+
+    $ module load intel
+    $ module load ipp
+
+    $ icc testipp.c -o testipp.x -Wl,-rpath=$LIBRARY_PATH -lippi -lipps -lippcore
+
+Code samples and documentation
+------------------------------
+
+Intel provides number of [Code Samples for
+IPP](https://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library),
+illustrating use of IPP.
+
+Read full documentation on IPP [on Intel
+website,](http://software.intel.com/sites/products/search/search.php?q=&x=15&y=6&product=ipp&version=7.1&docos=lin)
+in particular the [IPP Reference
+manual.](http://software.intel.com/sites/products/documentation/doclib/ipp_sa/71/ipp_manual/index.htm)
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md
new file mode 100644
index 0000000000000000000000000000000000000000..949f3a5ddadc3a695b3e5ffac74a753888a85150
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl.md
@@ -0,0 +1,198 @@
+Intel MKL 
+=========
+
+
+
+  
+
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL provides these basic math kernels:
+
+[]()
+-   <div id="d4841e18">
+
+    
+
+    []()BLAS (level 1, 2, and 3) and LAPACK linear algebra routines,
+    offering vector, vector-matrix, and matrix-matrix operations.
+-   <div id="d4841e21">
+
+    
+
+    []()The PARDISO direct sparse solver, an iterative sparse solver,
+    and supporting sparse BLAS (level 1, 2, and 3) routines for solving
+    sparse systems of equations.
+-   <div id="d4841e24">
+
+    
+
+    []()ScaLAPACK distributed processing linear algebra routines for
+    Linux* and Windows* operating systems, as well as the Basic Linear
+    Algebra Communications Subprograms (BLACS) and the Parallel Basic
+    Linear Algebra Subprograms (PBLAS).
+-   <div id="d4841e27">
+
+    
+
+    []()Fast Fourier transform (FFT) functions in one, two, or three
+    dimensions with support for mixed radices (not limited to sizes that
+    are powers of 2), as well as distributed versions of
+    these functions.
+-   <div id="d4841e30">
+
+    
+
+    []()Vector Math Library (VML) routines for optimized mathematical
+    operations on vectors.
+-   <div id="d4841e34">
+
+    
+
+    []()Vector Statistical Library (VSL) routines, which offer
+    high-performance vectorized random number generators (RNG) for
+    several probability distributions, convolution and correlation
+    routines, and summary statistics functions.
+-   <div id="d4841e37">
+
+    
+
+    []()Data Fitting Library, which provides capabilities for
+    spline-based approximation of functions, derivatives and integrals
+    of functions, and search.
+-   Extended Eigensolver, a shared memory  version of an eigensolver
+    based on the Feast Eigenvalue Solver.
+
+
+
+For details see the [Intel MKL Reference
+Manual](http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mklman/index.htm).
+
+Intel MKL version 13.5.192 is available on Anselm
+
+    $ module load mkl
+
+The module sets up environment variables, required for linking and
+running mkl enabled applications. The most important variables are the
+$MKLROOT, $MKL_INC_DIR, $MKL_LIB_DIR and $MKL_EXAMPLES
+
+The MKL library may be linked using any compiler.
+With intel compiler use -mkl option to link default threaded MKL.
+
+### Interfaces
+
+The MKL library provides number of interfaces. The fundamental once are
+the LP64 and ILP64. The Intel MKL ILP64 libraries use the 64-bit integer
+type (necessary for indexing large arrays, with more than 2^31^-1
+elements), whereas the LP64 libraries index arrays with the 32-bit
+integer type.
+
+  Interface   Integer type
+  ----------- -----------------------------------------------
+  LP64        32-bit, int, integer(kind=4), MPI_INT
+  ILP64       64-bit, long int, integer(kind=8), MPI_INT64
+
+### Linking
+
+Linking MKL libraries may be complex. Intel [mkl link line
+advisor](http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor)
+helps. See also [examples](#examples) below.
+
+You will need the mkl module loaded to run the mkl enabled executable.
+This may be avoided, by compiling library search paths into the
+executable. Include  rpath on the compile line:
+
+    $ icc .... -Wl,-rpath=$LIBRARY_PATH ...
+
+### Threading
+
+Advantage in using the MKL library is that it brings threaded
+parallelization to applications that are otherwise not parallel.
+
+For this to work, the application must link the threaded MKL library
+(default). Number and behaviour of MKL threads may be controlled via the
+OpenMP environment variables, such as OMP_NUM_THREADS and
+KMP_AFFINITY. MKL_NUM_THREADS takes precedence over OMP_NUM_THREADS
+
+    $ export OMP_NUM_THREADS=16
+    $ export KMP_AFFINITY=granularity=fine,compact,1,0
+
+The application will run with 16 threads with affinity optimized for
+fine grain parallelization.
+
+[]()Examples
+------------
+
+Number of examples, demonstrating use of the MKL library and its linking
+is available on Anselm, in the $MKL_EXAMPLES directory. In the
+examples below, we demonstrate linking MKL to Intel and GNU compiled
+program for multi-threaded matrix multiplication.
+
+### Working with examples
+
+    $ module load intel
+    $ module load mkl
+    $ cp -a $MKL_EXAMPLES/cblas /tmp/
+    $ cd /tmp/cblas
+
+    $ make sointel64 function=cblas_dgemm
+
+In this example, we compile, link and run the cblas_dgemm  example,
+demonstrating use of MKL example suite installed on Anselm.
+
+### ExampleMKL and Intel compiler
+
+    $ module load intel
+    $ module load mkl
+    $ cp -a $MKL_EXAMPLES/cblas /tmp/
+    $ cd /tmp/cblas
+    $ 
+    $ icc -w source/cblas_dgemmx.c source/common_func.c -mkl -o cblas_dgemmx.x
+    $ ./cblas_dgemmx.x data/cblas_dgemmx.d
+
+In this example, we compile, link and run the cblas_dgemm  example,
+demonstrating use of MKL with icc -mkl option. Using the -mkl option is
+equivalent to:
+
+    $ icc -w source/cblas_dgemmx.c source/common_func.c -o cblas_dgemmx.x 
+    -I$MKL_INC_DIR -L$MKL_LIB_DIR -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5
+
+In this example, we compile and link the cblas_dgemm  example, using
+LP64 interface to threaded MKL and Intel OMP threads implementation.
+
+### ExampleMKL and GNU compiler
+
+    $ module load gcc
+    $ module load mkl
+    $ cp -a $MKL_EXAMPLES/cblas /tmp/
+    $ cd /tmp/cblas
+     
+    $ gcc -w source/cblas_dgemmx.c source/common_func.c -o cblas_dgemmx.x 
+    -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lm
+
+    $ ./cblas_dgemmx.x data/cblas_dgemmx.d
+
+In this example, we compile, link and run the cblas_dgemm  example,
+using LP64 interface to threaded MKL and gnu OMP threads implementation.
+
+MKL and MIC accelerators
+------------------------
+
+The MKL is capable to automatically offload the computations o the MIC
+accelerator. See section [Intel Xeon
+Phi](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi)
+for details.
+
+Further reading
+---------------
+
+Read more on [Intel
+website](http://software.intel.com/en-us/intel-mkl), in
+particular the [MKL users
+guide](https://software.intel.com/en-us/intel-mkl/documentation/linux).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..7c9747e0cbb53f767deeafbeed9ecef4315db55b
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-parallel-studio-introduction.md
@@ -0,0 +1,100 @@
+Intel Parallel Studio 
+=====================
+
+
+
+  
+
+The Anselm cluster provides following elements of the Intel Parallel
+Studio XE
+
+  Intel Parallel Studio XE
+  -------------------------------------------------
+  Intel Compilers
+  Intel Debugger
+  Intel MKL Library
+  Intel Integrated Performance Primitives Library
+  Intel Threading Building Blocks Library
+
+Intel compilers
+---------------
+
+The Intel compilers version 13.1.3 are available, via module intel. The
+compilers include the icc C and C++ compiler and the ifort fortran
+77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+Read more at the [Intel
+Compilers](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-compilers)
+page.
+
+Intel debugger
+--------------
+
+ The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger)
+page.
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL unites and provides these basic componentsBLAS, LAPACK,
+ScaLapack, PARDISO, FFT, VML, VSL, Data fitting, Feast Eigensolver and
+many more.
+
+    $ module load mkl
+
+Read more at the [Intel
+MKL](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl)
+page.
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+is available, via module ipp. The IPP is a library of highly optimized
+algorithmic building blocks for media and data applications. This
+includes signal, image and frame processing algorithms, such as FFT,
+FIR, Convolution, Optical Flow, Hough transform, Sum, MinMax and many
+more.
+
+    $ module load ipp
+
+Read more at the [Intel
+IPP](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives)
+page.
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers. It is designed to promote
+scalable data parallel programming. Additionally, it fully supports
+nested parallelism, so you can build larger parallel components from
+smaller parallel components. To use the library, you specify tasks, not
+threads, and let the library map tasks onto threads in an efficient
+manner.
+
+    $ module load tbb
+
+Read more at the [Intel
+TBB](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb)
+page.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md
new file mode 100644
index 0000000000000000000000000000000000000000..2c4a2098a0d4a1bae71dff272d74f5f9313b58bf
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb.md
@@ -0,0 +1,57 @@
+Intel TBB 
+=========
+
+
+
+  
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers.  To use the library, you specify
+tasks, not threads, and let the library map tasks onto threads in an
+efficient manner. The tasks are executed by a runtime scheduler and may
+be offloaded to [MIC
+accelerator](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi).
+
+Intel TBB version 4.1 is available on Anselm
+
+    $ module load tbb
+
+The module sets up environment variables, required for linking and
+running tbb enabled applications.
+
+Link the tbb library, using -ltbb
+
+Examples
+--------
+
+Number of examples, demonstrating use of TBB and its built-in scheduler 
+is available on Anselm, in the $TBB_EXAMPLES directory.
+
+    $ module load intel
+    $ module load tbb
+    $ cp -a $TBB_EXAMPLES/common $TBB_EXAMPLES/parallel_reduce /tmp/
+    $ cd /tmp/parallel_reduce/primes
+    $ icc -O2 -DNDEBUG -o primes.x main.cpp primes.cpp -ltbb
+    $ ./primes.x
+
+In this example, we compile, link and run the primes example,
+demonstrating use of parallel task-based reduce in computation of prime
+numbers.
+
+You will need the tbb module loaded to run the tbb enabled executable.
+This may be avoided, by compiling library search paths into the
+executable.
+
+    $ icc -O2 -o primes.x main.cpp primes.cpp -Wl,-rpath=$LIBRARY_PATH -ltbb
+
+Further reading
+---------------
+
+Read more on Intel website,
+<http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md b/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md
new file mode 100644
index 0000000000000000000000000000000000000000..fa952d3ce11c64a0b24c05d5ae9a41dd0ec3ee9d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi.md
@@ -0,0 +1,962 @@
+Intel Xeon Phi 
+==============
+
+A guide to Intel Xeon Phi usage
+
+
+  
+
+Intel Xeon Phi can be programmed in several modes. The default mode on
+Anselm is offload mode, but all modes described in this document are
+supported.
+
+Intel Utilities for Xeon Phi
+----------------------------
+
+To get access to a compute node with Intel Xeon Phi accelerator, use the
+PBS interactive session
+
+    $ qsub -I -q qmic -A NONE-0-0
+
+To set up the environment module "Intel" has to be loaded
+
+    $ module load intel/13.5.192
+
+Information about the hardware can be obtained by running
+the micinfo program on the host.
+
+    $ /usr/bin/micinfo
+
+The output of the "micinfo" utility executed on one of the Anselm node
+is as follows. (noteto get PCIe related details the command has to be
+run with root privileges)
+
+    MicInfo Utility Log
+
+    Created Mon Jul 22 00:23:50 2013
+
+
+            System Info
+                    HOST OS                 Linux
+                    OS Version              2.6.32-279.5.2.bl6.Bull.33.x86_64
+                    Driver Version          6720-15
+                    MPSS Version            2.1.6720-15
+                    Host Physical Memory    98843 MB
+
+    Device No0, Device Namemic0
+
+            Version
+                    Flash Version            2.1.03.0386
+                    SMC Firmware Version     1.15.4830
+                    SMC Boot Loader Version  1.8.4326
+                    uOS Version              2.6.38.8-g2593b11
+                    Device Serial Number     ADKC30102482
+
+            Board
+                    Vendor ID                0x8086
+                    Device ID                0x2250
+                    Subsystem ID             0x2500
+                    Coprocessor Stepping ID  3
+                    PCIe Width               x16
+                    PCIe Speed               5 GT/s
+                    PCIe Max payload size    256 bytes
+                    PCIe Max read req size   512 bytes
+                    Coprocessor Model        0x01
+                    Coprocessor Model Ext    0x00
+                    Coprocessor Type         0x00
+                    Coprocessor Family       0x0b
+                    Coprocessor Family Ext   0x00
+                    Coprocessor Stepping     B1
+                    Board SKU                B1PRQ-5110P/5120D
+                    ECC Mode                 Enabled
+                    SMC HW Revision          Product 225W Passive CS
+
+            Cores
+                    Total No of Active Cores 60
+                    Voltage                  1032000 uV
+                    Frequency                1052631 kHz
+
+            Thermal
+                    Fan Speed Control        N/A
+                    Fan RPM                  N/A
+                    Fan PWM                  N/A
+                    Die Temp                 49 C
+
+            GDDR
+                    GDDR Vendor              Elpida
+                    GDDR Version             0x1
+                    GDDR Density             2048 Mb
+                    GDDR Size                7936 MB
+                    GDDR Technology          GDDR5
+                    GDDR Speed               5.000000 GT/s
+                    GDDR Frequency           2500000 kHz
+                    GDDR Voltage             1501000 uV
+
+Offload Mode
+------------
+
+To compile a code for Intel Xeon Phi a MPSS stack has to be installed on
+the machine where compilation is executed. Currently the MPSS stack is
+only installed on compute nodes equipped with accelerators.
+
+    $ qsub -I -q qmic -A NONE-0-0
+    $ module load intel/13.5.192
+
+For debugging purposes it is also recommended to set environment
+variable "OFFLOAD_REPORT". Value can be set from 0 to 3, where higher
+number means more debugging information.
+
+    export OFFLOAD_REPORT=3
+
+A very basic example of code that employs offload programming technique
+is shown in the next listing. Please note that this code is sequential
+and utilizes only single core of the accelerator.
+
+    $ vim source-offload.cpp
+
+    #include <iostream>
+
+    int main(int argc, char* argv[])
+    {
+        const int niter = 100000;
+        double result = 0;
+
+     #pragma offload target(mic)
+        for (int i = 0; i < niter; ++i) {
+            const double t = (i + 0.5) / niter;
+            result += 4.0 / (t * t + 1.0);
+        }
+        result /= niter;
+        std::cout << "Pi ~ " << result << 'n';
+    }
+
+To compile a code using Intel compiler run
+
+    $ icc source-offload.cpp -o bin-offload
+
+To execute the code, run the following command on the host
+
+    ./bin-offload
+
+### Parallelization in Offload Mode Using OpenMP
+
+One way of paralelization a code for Xeon Phi is using OpenMP
+directives. The following example shows code for parallel vector
+addition. 
+
+    $ vim ./vect-add 
+
+    #include <stdio.h>
+
+    typedef int T;
+
+    #define SIZE 1000
+
+    #pragma offload_attribute(push, target(mic))
+    T in1[SIZE];
+    T in2[SIZE];
+    T res[SIZE];
+    #pragma offload_attribute(pop)
+
+    // MIC function to add two vectors
+    __attribute__((target(mic))) add_mic(T *a, T *b, T *c, int size) {
+      int i = 0;
+      #pragma omp parallel for
+        for (i = 0; i < size; i++)
+          c[i] = a[i] + b[i];
+    }
+
+    // CPU function to add two vectors
+    void add_cpu (T *a, T *b, T *c, int size) {
+      int i;
+      for (i = 0; i < size; i++)
+        c[i] = a[i] + b[i];
+    }
+
+    // CPU function to generate a vector of random numbers
+    void random_T (T *a, int size) {
+      int i;
+      for (i = 0; i < size; i++)
+        a[i] = rand() % 10000; // random number between 0 and 9999
+    }
+
+    // CPU function to compare two vectors
+    int compare(T *a, T *b, T size ){
+      int pass = 0;
+      int i;
+      for (i = 0; i < size; i++){
+        if (a[i] != b[i]) {
+          printf("Value mismatch at location %d, values %d and %dn",i, a[i], b[i]);
+          pass = 1;
+        }
+      }
+      if (pass == 0) printf ("Test passedn"); else printf ("Test Failedn");
+      return pass;
+    }
+
+
+    int main()
+    {
+      int i;
+      random_T(in1, SIZE);
+      random_T(in2, SIZE);
+
+      #pragma offload target(mic) in(in1,in2)  inout(res)
+      {
+
+        // Parallel loop from main function
+        #pragma omp parallel for
+        for (i=0; i<SIZE; i++)
+          res[i] = in1[i] + in2[i];
+
+        // or parallel loop is called inside the function
+        add_mic(in1, in2, res, SIZE);
+
+      }
+
+
+      //Check the results with CPU implementation
+      T res_cpu[SIZE];
+      add_cpu(in1, in2, res_cpu, SIZE);
+      compare(res, res_cpu, SIZE);
+
+    }
+
+During the compilation Intel compiler shows which loops have been
+vectorized in both host and accelerator. This can be enabled with
+compiler option "-vec-report2". To compile and execute the code run
+
+    $ icc vect-add.c -openmp_report2 -vec-report2 -o vect-add
+
+    $ ./vect-add 
+
+Some interesting compiler flags useful not only for code debugging are:
+
+Debugging
+  openmp_report[0|1|2] - controls the compiler based vectorization
+diagnostic level
+  vec-report[0|1|2] - controls the OpenMP parallelizer diagnostic
+level
+
+Performance ooptimization
+  xhost - FOR HOST ONLY - to generate AVX (Advanced Vector Extensions)
+instructions.
+
+Automatic Offload using Intel MKL Library
+-----------------------------------------
+
+Intel MKL includes an Automatic Offload (AO) feature that enables
+computationally intensive MKL functions called in user code to benefit
+from attached Intel Xeon Phi coprocessors automatically and
+transparently.
+
+Behavioral of automatic offload mode is controlled by functions called
+within the program or by environmental variables. Complete list of
+controls is listed [<span
+class="external-link">here</span>](http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/GUID-3DC4FC7D-A1E4-423D-9C0C-06AB265FFA86.htm).
+
+The Automatic Offload may be enabled by either an MKL function call
+within the code:
+
+    mkl_mic_enable();
+
+or by setting environment variable
+
+    $ export MKL_MIC_ENABLE=1
+
+To get more information about automatic offload please refer to "[Using
+Intel® MKL Automatic Offload on Intel ® Xeon Phi™
+Coprocessors](http://software.intel.com/sites/default/files/11MIC42_How_to_Use_MKL_Automatic_Offload_0.pdf)"
+white paper or [<span class="external-link">Intel MKL
+documentation</span>](https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation).
+
+### Automatic offload example
+
+At first get an interactive PBS session on a node with MIC accelerator
+and load "intel" module that automatically loads "mkl" module as well.
+
+    $ qsub -I -q qmic -A OPEN-0-0 -l select=1:ncpus=16
+    $ module load intel
+
+Following example show how to automatically offload an SGEMM (single
+precision - g<span dir="auto">eneral matrix multiply</span>) function to
+MIC coprocessor. The code can be copied to a file and compiled without
+any necessary modification. 
+
+    $ vim sgemm-ao-short.c
+
+    #include <stdio.h>
+    #include <stdlib.h>
+    #include <malloc.h>
+    #include <stdint.h>
+
+    #include "mkl.h"
+
+    int main(int argc, char **argv)
+    {
+            float *A, *B, *C; /* Matrices */
+
+            MKL_INT N = 2560; /* Matrix dimensions */
+            MKL_INT LD = N; /* Leading dimension */
+            int matrix_bytes; /* Matrix size in bytes */
+            int matrix_elements; /* Matrix size in elements */
+
+            float alpha = 1.0, beta = 1.0; /* Scaling factors */
+            char transa = 'N', transb = 'N'; /* Transposition options */
+
+            int i, j; /* Counters */
+
+            matrix_elements = N * N;
+            matrix_bytes = sizeof(float) * matrix_elements;
+
+            /* Allocate the matrices */
+            A = malloc(matrix_bytes); B = malloc(matrix_bytes); C = malloc(matrix_bytes);
+
+            /* Initialize the matrices */
+            for (i = 0; i < matrix_elements; i++) {
+                    A[i] = 1.0; B[i] = 2.0; C[i] = 0.0;
+            }
+
+            printf("Computing SGEMM on the hostn");
+            sgemm(&transa, &transb, &N, &N, &N, &alpha, A, &N, B, &N, &beta, C, &N);
+
+            printf("Enabling Automatic Offloadn");
+            /* Alternatively, set environment variable MKL_MIC_ENABLE=1 */
+            mkl_mic_enable();
+            
+            int ndevices = mkl_mic_get_device_count(); /* Number of MIC devices */
+            printf("Automatic Offload enabled%d MIC devices presentn",   ndevices);
+
+            printf("Computing SGEMM with automatic workdivisionn");
+            sgemm(&transa, &transb, &N, &N, &N, &alpha, A, &N, B, &N, &beta, C, &N);
+
+            /* Free the matrix memory */
+            free(A); free(B); free(C);
+
+            printf("Donen");
+
+        return 0;
+    }
+
+Please noteThis example is simplified version of an example from MKL.
+The expanded version can be found here:
+**$MKL_EXAMPLES/mic_ao/blasc/source/sgemm.c**
+
+To compile a code using Intel compiler use:
+
+    $ icc -mkl sgemm-ao-short.c -o sgemm
+
+For debugging purposes enable the offload report to see more information
+about automatic offloading.
+
+    $ export OFFLOAD_REPORT=2
+
+The output of a code should look similar to following listing, where
+lines starting with [MKL] are generated by offload reporting:
+
+    Computing SGEMM on the host
+    Enabling Automatic Offload
+    Automatic Offload enabled1 MIC devices present
+    Computing SGEMM with automatic workdivision
+    [MKL] [MIC --] [AO Function]    SGEMM
+    [MKL] [MIC --] [AO SGEMM Workdivision]  0.00 1.00
+    [MKL] [MIC 00] [AO SGEMM CPU Time]      0.463351 seconds
+    [MKL] [MIC 00] [AO SGEMM MIC Time]      0.179608 seconds
+    [MKL] [MIC 00] [AO SGEMM CPU->MIC Data] 52428800 bytes
+    [MKL] [MIC 00] [AO SGEMM MIC->CPU Data] 26214400 bytes
+    Done
+
+ 
+
+Native Mode
+-----------
+
+In the native mode a program is executed directly on Intel Xeon Phi
+without involvement of the host machine. Similarly to offload mode, the
+code is compiled on the host computer with Intel compilers.
+
+To compile a code user has to be connected to a compute with MIC and
+load Intel compilers module. To get an interactive session on a compute
+node with an Intel Xeon Phi and load the module use following commands: 
+
+    $ qsub -I -q qmic -A NONE-0-0
+
+    $ module load intel/13.5.192
+
+Please note that particular version of the Intel module is specified.
+This information is used later to specify the correct library paths.
+
+To produce a binary compatible with Intel Xeon Phi architecture user has
+to specify "-mmic" compiler flag. Two compilation examples are shown
+below. The first example shows how to compile OpenMP parallel code
+"vect-add.c" for host only:
+
+    $ icc -xhost -no-offload -fopenmp vect-add.c -o vect-add-host
+
+To run this code on host, use:
+
+    $ ./vect-add-host
+
+The second example shows how to compile the same code for Intel Xeon
+Phi:
+
+    $ icc -mmic -fopenmp vect-add.c -o vect-add-mic
+
+### Execution of the Program in Native Mode on Intel Xeon Phi
+
+The user access to the Intel Xeon Phi is through the SSH. Since user
+home directories are mounted using NFS on the accelerator, users do not
+have to copy binary files or libraries between the host and accelerator.
+ 
+
+To connect to the accelerator run:
+
+    $ ssh mic0
+
+If the code is sequential, it can be executed directly:
+
+    mic0 $ ~/path_to_binary/vect-add-seq-mic
+
+If the code is parallelized using OpenMP a set of additional libraries
+is required for execution. To locate these libraries new path has to be
+added to the LD_LIBRARY_PATH environment variable prior to the
+execution:
+
+    mic0 $ export LD_LIBRARY_PATH=/apps/intel/composer_xe_2013.5.192/compiler/lib/mic:$LD_LIBRARY_PATH
+
+Please note that the path exported in the previous example contains path
+to a specific compiler (here the version is 5.192). This version number
+has to match with the version number of the Intel compiler module that
+was used to compile the code on the host computer.
+
+For your information the list of libraries and their location required
+for execution of an OpenMP parallel code on Intel Xeon Phi is:<span
+class="discreet visualHighlight"></span>
+
+<span>/apps/intel/composer_xe_2013.5.192/compiler/lib/mic
+
+libiomp5.so
+libimf.so
+libsvml.so
+libirng.so
+libintlc.so.5
+</span>
+
+<span>Finally, to run the compiled code use</span>
+
+    $ ~/path_to_binary/vect-add-mic
+
+<span>OpenCL</span>
+-------------------
+
+<span>OpenCL (Open Computing Language) is an open standard for
+general-purpose parallel programming for diverse mix of multi-core CPUs,
+GPU coprocessors, and other parallel processors. OpenCL provides a
+flexible execution model and uniform programming environment for
+software developers to write portable code for systems running on both
+the CPU and graphics processors or accelerators like the Intel® Xeon
+Phi.</span>
+
+<span>On Anselm OpenCL is installed only on compute nodes with MIC
+accelerator, therefore OpenCL code can be compiled only on these nodes.
+</span>
+
+    module load opencl-sdk opencl-rt
+
+<span>Always load "opencl-sdk" (providing devel files like headers) and
+"opencl-rt" (providing dynamic library libOpenCL.so) modules to compile
+and link OpenCL code. Load "opencl-rt" for running your compiled code.
+</span>
+
+<span>There are two basic examples of OpenCL code in the following
+directory</span>
+
+    /apps/intel/opencl-examples/
+
+<span>First example "CapsBasic" detects OpenCL compatible hardware, here
+CPU and MIC, and prints basic information about the capabilities of
+it. 
+</span>
+
+    /apps/intel/opencl-examples/CapsBasic/capsbasic
+
+<span>To compile and run the example copy it to your home directory, get
+a PBS interactive session on of the nodes with MIC and run make for
+compilation. Make files are very basic and shows how the OpenCL code can
+be compiled on Anselm. </span>
+
+    $ cp /apps/intel/opencl-examples/CapsBasic/* .
+    $ qsub -I -q qmic -A NONE-0-0
+    $ make
+
+<span>The compilation command for this example is</span>
+
+    $ g++ capsbasic.cpp -lOpenCL -o capsbasic -I/apps/intel/opencl/include/
+
+<span>After executing the complied binary file, following output should
+be displayed.
+</span>
+
+    ./capsbasic
+
+    Number of available platforms1
+    Platform names:
+        [0] Intel(R) OpenCL [Selected]
+    Number of devices available for each type:
+        CL_DEVICE_TYPE_CPU1
+        CL_DEVICE_TYPE_GPU0
+        CL_DEVICE_TYPE_ACCELERATOR1
+
+    *** Detailed information for each device ***
+
+    CL_DEVICE_TYPE_CPU[0]
+        CL_DEVICE_NAME:        Intel(R) Xeon(R) CPU E5-2470 0 @ 2.30GHz
+        CL_DEVICE_AVAILABLE1
+
+    ...
+
+    CL_DEVICE_TYPE_ACCELERATOR[0]
+        CL_DEVICE_NAMEIntel(R) Many Integrated Core Acceleration Card
+        CL_DEVICE_AVAILABLE1
+
+    ...
+
+<span>More information about this example can be found on Intel website:
+<http://software.intel.com/en-us/vcsource/samples/caps-basic/>
+</span>
+
+<span>The second example that can be found in
+"/apps/intel/opencl-examples" </span><span>directory is General Matrix
+Multiply. You can follow the the same procedure to download the example
+to your directory and compile it. 
+</span>
+
+    $ cp -r /apps/intel/opencl-examples/* .
+    $ qsub -I -q qmic -A NONE-0-0
+    $ cd GEMM 
+    $ make
+
+<span>The compilation command for this example is</span>
+
+    $ g++ cmdoptions.cpp gemm.cpp ../common/basic.cpp ../common/cmdparser.cpp ../common/oclobject.cpp -I../common -lOpenCL -o gemm -I/apps/intel/opencl/include/
+
+<span>To see the performance of Intel Xeon Phi performing the DGEMM run
+the example as follows</span>
+
+    ./gemm -d 1
+    Platforms (1):
+     [0] Intel(R) OpenCL [Selected]
+    Devices (2):
+     [0] Intel(R) Xeon(R) CPU E5-2470 0 @ 2.30GHz
+     [1] Intel(R) Many Integrated Core Acceleration Card [Selected]
+    Build program options"-DT=float -DTILE_SIZE_M=1 -DTILE_GROUP_M=16 -DTILE_SIZE_N=128 -DTILE_GROUP_N=1 -DTILE_SIZE_K=8"
+    Running gemm_nn kernel with matrix size3968x3968
+    Memory row stride to ensure necessary alignment15872 bytes
+    Size of memory region for one matrix62980096 bytes
+    Using alpha = 0.57599 and beta = 0.872412
+    ...
+    Host time0.292953 sec.
+    Host perf426.635 GFLOPS
+    Host time0.293334 sec.
+    Host perf426.081 GFLOPS
+    ...
+
+<span>Please noteGNU compiler is used to compile the OpenCL codes for
+Intel MIC. You do not need to load Intel compiler module.
+</span>
+
+<span>MPI </span>
+-----------------
+
+### Environment setup and compilation
+
+Again an MPI code for Intel Xeon Phi has to be compiled on a compute
+node with accelerator and MPSS software stack installed. To get to a
+compute node with accelerator use:
+
+    $ qsub -I -q qmic -A NONE-0-0
+
+The only supported implementation of MPI standard for Intel Xeon Phi is
+Intel MPI. To setup a fully functional development environment a
+combination of Intel compiler and Intel MPI has to be used. On a host
+load following modules before compilation:
+
+    $ module load intel/13.5.192 impi/4.1.1.036 
+
+To compile an MPI code for host use:
+
+    $ mpiicc -xhost -o mpi-test mpi-test.c
+
+To compile the same code for Intel Xeon Phi architecture use:
+
+    $ mpiicc -mmic -o mpi-test-mic mpi-test.c
+
+An example of basic MPI version of "hello-world" example in C language,
+that can be executed on both host and Xeon Phi is (can be directly copy
+and pasted to a .c file)
+
+    #include <stdio.h>
+    #include <mpi.h>
+
+
+    int main (argc, argv)
+         int argc;
+         char *argv[];
+    {
+      int rank, size;
+
+      int len;
+      char node[MPI_MAX_PROCESSOR_NAME];
+
+      MPI_Init (&argc, &argv);      /* starts MPI */
+      MPI_Comm_rank (MPI_COMM_WORLD, &rank);        /* get current process id */
+      MPI_Comm_size (MPI_COMM_WORLD, &size);        /* get number of processes */
+
+      MPI_Get_processor_name(node,&len);
+
+      printf( "Hello world from process %d of %d on host %s n", rank, size, node );
+      MPI_Finalize();
+      return 0; 
+    }
+
+### MPI programming models
+
+<span>Intel MPI for the Xeon Phi coprocessors offers different MPI
+programming models:</span>
+
+**Host-only model** - all MPI ranks reside on the host. The coprocessors
+can be used by using offload pragmas. (Using MPI calls inside offloaded
+code is not supported.)**
+
+Coprocessor-only model** - all MPI ranks reside only on the
+coprocessors.
+
+**Symmetric model** - the MPI ranks reside on both the host and the
+coprocessor. Most general MPI case.
+
+### <span>Host-only model</span>
+
+<span></span>In this case all environment variables are set by modules,
+so to execute the compiled MPI program on a single node, use:
+
+    $ mpirun -np 4 ./mpi-test
+
+The output should be similar to:
+
+    Hello world from process 1 of 4 on host cn207
+    Hello world from process 3 of 4 on host cn207
+    Hello world from process 2 of 4 on host cn207
+    Hello world from process 0 of 4 on host cn207
+
+### Coprocessor-only model
+
+<span>There are two ways how to execute an MPI code on a single
+coprocessor1.) lunch the program using "**mpirun**" from the
+coprocessor; or 2.) lunch the task using "**mpiexec.hydra**" from a
+host.
+</span>
+
+**Execution on coprocessor** 
+
+Similarly to execution of OpenMP programs in native mode, since the
+environmental module are not supported on MIC, user has to setup paths
+to Intel MPI libraries and binaries manually. One time setup can be done
+by creating a "**.profile**" file in user's home directory. This file
+sets up the environment on the MIC automatically once user access to the
+accelerator through the SSH.
+
+    $ vim ~/.profile 
+
+    PS1='[u@h W]$ '
+    export PATH=/usr/bin:/usr/sbin:/bin:/sbin
+
+    #OpenMP
+    export LD_LIBRARY_PATH=/apps/intel/composer_xe_2013.5.192/compiler/lib/mic:$LD_LIBRARY_PATH
+
+    #Intel MPI 
+    export LD_LIBRARY_PATH=/apps/intel/impi/4.1.1.036/mic/lib/:$LD_LIBRARY_PATH
+    export PATH=/apps/intel/impi/4.1.1.036/mic/bin/:$PATH
+
+Please note:
+ - this file sets up both environmental variable for both MPI and OpenMP
+libraries.
+ - this file sets up the paths to a particular version of Intel MPI
+library and particular version of an Intel compiler. These versions have
+to match with loaded modules.
+
+To access a MIC accelerator located on a node that user is currently
+connected to, use:
+
+    $ ssh mic0
+
+or in case you need specify a MIC accelerator on a particular node, use:
+
+    $ ssh cn207-mic0
+
+To run the MPI code in parallel on multiple core of the accelerator,
+use:
+
+    $ mpirun -np 4 ./mpi-test-mic
+
+The output should be similar to:
+
+    Hello world from process 1 of 4 on host cn207-mic0
+    Hello world from process 2 of 4 on host cn207-mic0
+    Hello world from process 3 of 4 on host cn207-mic0
+    Hello world from process 0 of 4 on host cn207-mic0
+
+**
+**
+
+**Execution on host**
+
+If the MPI program is launched from host instead of the coprocessor, the
+environmental variables are not set using the ".profile" file. Therefore
+user has to specify library paths from the command line when calling
+"mpiexec".
+
+First step is to tell mpiexec that the MPI should be executed on a local
+accelerator by setting up the environmental variable "I_MPI_MIC"
+
+    $ export I_MPI_MIC=1
+
+Now the MPI program can be executed as:
+
+    $ mpiexec.hydra -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ -host mic0 -n 4 ~/mpi-test-mic
+
+or using mpirun
+
+    $ mpirun -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ -host mic0 -n 4 ~/mpi-test-mic
+
+Please note:
+ - the full path to the binary has to specified (here:
+"**<span>~/mpi-test-mic</span>**")
+ - the LD_LIBRARY_PATH has to match with Intel MPI module used to
+compile the MPI code
+
+The output should be again similar to:
+
+    Hello world from process 1 of 4 on host cn207-mic0
+    Hello world from process 2 of 4 on host cn207-mic0
+    Hello world from process 3 of 4 on host cn207-mic0
+    Hello world from process 0 of 4 on host cn207-mic0
+
+Please note that the "mpiexec.hydra" requires a file
+"**<span>pmi_proxy</span>**" from Intel MPI library to be copied to the
+MIC filesystem. If the file is missing please contact the system
+administrators. A simple test to see if the file is present is to
+execute:
+
+      $ ssh mic0 ls /bin/pmi_proxy
+      /bin/pmi_proxy
+
+**
+**
+
+**Execution on host - MPI processes distributed over multiple
+accelerators on multiple nodes**
+
+<span>To get access to multiple nodes with MIC accelerator, user has to
+use PBS to allocate the resources. To start interactive session, that
+allocates 2 compute nodes = 2 MIC accelerators run qsub command with
+following parameters</span>
+
+    $ qsub -I -q qmic -A NONE-0-0 -l select=2:ncpus=16
+
+    $ module load intel/13.5.192 impi/4.1.1.036
+
+<span>This command connects user through ssh to one of the nodes
+immediately. To see the other nodes that have been allocated use:
+</span>
+
+    $ cat $PBS_NODEFILE
+
+<span>For example</span>
+
+    cn204.bullx
+    cn205.bullx
+
+<span>This output means that the PBS allocated nodes cn204 and cn205,
+which means that user has direct access to "**cn204-mic0**" and
+"**cn-205-mic0**" accelerators.</span>
+
+<span>Please noteAt this point user can connect to any of the
+allocated nodes or any of the allocated MIC accelerators using ssh:
+- to connect to the second node **<span class="monospace">$ ssh
+cn205</span>**
+<span>- to connect to the accelerator on the first node from the first
+node<span class="monospace">**$ ssh cn204-mic0**</span></span> or
+**<span class="monospace">$ ssh mic0</span>**
+**-** to connect to the accelerator on the second node from the first
+node<span class="monospace">**$ ssh cn205-mic0**</span>
+</span>
+
+<span>At this point we expect that correct modules are loaded and binary
+is compiled. For parallel execution the mpiexec.hydra is used.</span>
+Again the first step is to tell mpiexec that the MPI can be executed on
+MIC accelerators by setting up the environmental variable "I_MPI_MIC"
+
+    $ export I_MPI_MIC=1
+
+<span>The launch the MPI program use:</span>
+
+    $ mpiexec.hydra -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ 
+     -genv I_MPI_FABRICS_LIST tcp 
+     -genv I_MPI_FABRICS shm:tcp 
+     -genv I_MPI_TCP_NETMASK=10.1.0.0/16 
+     -host cn204-mic0 -n 4 ~/mpi-test-mic 
+    -host cn205-mic0 -n 6 ~/mpi-test-mic
+
+or using mpirun:
+
+    $ mpirun -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ 
+     -genv I_MPI_FABRICS_LIST tcp 
+     -genv I_MPI_FABRICS shm:tcp 
+     -genv I_MPI_TCP_NETMASK=10.1.0.0/16 
+     -host cn204-mic0 -n 4 ~/mpi-test-mic 
+    -host cn205-mic0 -n 6 ~/mpi-test-mic
+
+In this case four MPI processes are executed on accelerator cn204-mic
+and six processes are executed on accelerator cn205-mic0. The sample
+output (sorted after execution) is:
+
+    Hello world from process 0 of 10 on host cn204-mic0
+    Hello world from process 1 of 10 on host cn204-mic0
+    Hello world from process 2 of 10 on host cn204-mic0
+    Hello world from process 3 of 10 on host cn204-mic0
+    Hello world from process 4 of 10 on host cn205-mic0
+    Hello world from process 5 of 10 on host cn205-mic0
+    Hello world from process 6 of 10 on host cn205-mic0
+    Hello world from process 7 of 10 on host cn205-mic0
+    Hello world from process 8 of 10 on host cn205-mic0
+    Hello world from process 9 of 10 on host cn205-mic0
+
+The same way MPI program can be executed on multiple hosts: 
+
+    $ mpiexec.hydra -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ 
+     -genv I_MPI_FABRICS_LIST tcp 
+     -genv I_MPI_FABRICS shm:tcp 
+     -genv I_MPI_TCP_NETMASK=10.1.0.0/16
+     -host cn204 -n 4 ~/mpi-test 
+    -host cn205 -n 6 ~/mpi-test
+
+### <span>Symmetric model </span>
+
+<span>In a symmetric mode MPI programs are executed on both host
+computer(s) and MIC accelerator(s). Since MIC has a different
+architecture and requires different binary file produced by the Intel
+compiler two different files has to be compiled before MPI program is
+executed. </span>
+
+<span>In the previous section we have compiled two binary files, one for
+hosts "**mpi-test**" and one for MIC accelerators "**mpi-test-mic**".
+These two binaries can be executed at once using mpiexec.hydra:
+</span>
+
+    $ mpiexec.hydra 
+     -genv I_MPI_FABRICS_LIST tcp 
+     -genv I_MPI_FABRICS shm:tcp 
+     -genv I_MPI_TCP_NETMASK=10.1.0.0/16 
+     -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ 
+     -host cn205 -n 2 ~/mpi-test 
+    -host cn205-mic0 -n 2 ~/mpi-test-mic
+
+In this example the first two parameters (line 2 and 3) sets up required
+environment variables for execution. The third line specifies binary
+that is executed on host (here cn205) and the last line specifies the
+binary that is execute on the accelerator (here cn205-mic0).
+
+<span>The output of the program is</span>
+
+    Hello world from process 0 of 4 on host cn205
+    Hello world from process 1 of 4 on host cn205
+    Hello world from process 2 of 4 on host cn205-mic0
+    Hello world from process 3 of 4 on host cn205-mic0
+
+<span>The execution procedure can be simplified by using the mpirun
+command with the machine file a a parameter. Machine file contains list
+of all nodes and accelerators that should used to execute MPI processes.
+</span>
+
+<span>An example of a machine file that uses 2 <span>hosts (**cn205**
+and **cn206**) and 2 accelerators **(cn205-mic0** and **cn206-mic0**) to
+run 2 MPI processes on each</span> of them:
+</span>
+
+    $ cat hosts_file_mix
+    cn205:2
+    cn205-mic0:2
+    cn206:2
+    cn206-mic0:2
+
+<span>In addition if a naming convention is set in a way that the name
+of the binary for host is **"bin_name"**  and the name of the binary
+for the accelerator is **"bin_name-mic"** then by setting up the
+environment variable **I_MPI_MIC_POSTFIX** to **"-mic"** user do not
+have to specify the names of booth binaries. In this case mpirun needs
+just the name of the host binary file (i.e. "mpi-test") and uses the
+suffix to get a name of the binary for accelerator (i..e.
+"mpi-test-mic").
+</span>
+
+    $ export I_MPI_MIC_POSTFIX=-mic
+
+ <span>To run the MPI code using mpirun and the machine file
+"hosts_file_mix" use:
+</span>
+
+    $ mpirun 
+     -genv I_MPI_FABRICS shm:tcp 
+     -genv LD_LIBRARY_PATH /apps/intel/impi/4.1.1.036/mic/lib/ 
+     -genv I_MPI_FABRICS_LIST tcp 
+     -genv I_MPI_FABRICS shm:tcp 
+     -genv I_MPI_TCP_NETMASK=10.1.0.0/16 
+     -machinefile hosts_file_mix 
+     ~/mpi-test
+
+<span>A possible output of the MPI "hello-world" example executed on two
+hosts and two accelerators is:
+</span>
+
+    Hello world from process 0 of 8 on host cn204
+    Hello world from process 1 of 8 on host cn204
+    Hello world from process 2 of 8 on host cn204-mic0
+    Hello world from process 3 of 8 on host cn204-mic0
+    Hello world from process 4 of 8 on host cn205
+    Hello world from process 5 of 8 on host cn205
+    Hello world from process 6 of 8 on host cn205-mic0
+    Hello world from process 7 of 8 on host cn205-mic0
+
+Please noteAt this point the MPI communication between MIC
+accelerators on different nodes uses 1Gb Ethernet only.
+
+**Using the PBS automatically generated node-files
+**
+
+PBS also generates a set of node-files that can be used instead of
+manually creating a new one every time. Three node-files are genereated:
+
+**Host only node-file:**
+ - /lscratch/$/nodefile-cn
+**MIC only node-file**:
+ - /lscratch/$/nodefile-mic
+**Host and MIC node-file**:
+ - /lscratch/$/nodefile-mix
+
+Please note each host or accelerator is listed only per files. User has
+to specify how many jobs should be executed per node using "-n"
+parameter of the mpirun command.
+
+Optimization
+------------
+
+For more details about optimization techniques please read Intel
+document [Optimization and Performance Tuning for Intel® Xeon Phi™
+Coprocessors](http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization "http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization"){.external
+.text}.
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md b/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md
new file mode 100644
index 0000000000000000000000000000000000000000..f7e74456e53af441c7c4c37e16f6b7450dbbeda5
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses.md
@@ -0,0 +1,231 @@
+ISV Licenses 
+============
+
+A guide to managing Independent Software Vendor licences
+
+
+  
+
+On Anselm cluster there are also installed commercial software
+applications, also known as ISV (Independent Software Vendor), which are
+subjects to licensing. The licenses are limited and their usage may be
+restricted only to some users or user groups.
+
+Currently Flex License Manager based licensing is supported on the
+cluster for products Ansys, Comsol and Matlab. More information about
+the applications can be found in the general
+[Software](https://docs.it4i.cz/anselm-cluster-documentation/software)
+section.
+
+If an ISV application was purchased for educational (research) purposes
+and also for commercial purposes, then there are always two separate
+versions maintained and suffix "edu" is used in the name of the
+non-commercial version.
+
+Overview of the licenses usage
+------------------------------
+
+The overview is generated every minute and is accessible from web or
+command line interface.
+
+### Web interface
+
+For each license there is a table, which provides the information about
+the name, number of available (purchased/licensed), number of used and
+number of free license features
+
+<https://extranet.it4i.cz/anselm/licenses>
+
+### Text interface
+
+For each license there is a unique text file, which provides the
+information about the name, number of available (purchased/licensed),
+number of used and number of free license features. The text files are
+accessible from the Anselm command prompt.[]()
+
+  Product      File with license state                               Note
+  ------------ ----------------------------------------------------- ---------------------
+  ansys        /apps/user/licenses/ansys_features_state.txt        Commercial
+  comsol       /apps/user/licenses/comsol_features_state.txt       Commercial
+  comsol-edu   /apps/user/licenses/comsol-edu_features_state.txt   Non-commercial only
+  matlab       /apps/user/licenses/matlab_features_state.txt       Commercial
+  matlab-edu   /apps/user/licenses/matlab-edu_features_state.txt   Non-commercial only
+
+The file has a header which serves as a legend. All the info in the
+legend starts with a hash (#) so it can be easily filtered when parsing
+the file via a script.
+
+Example of the Commercial Matlab license state:
+
+    $ cat /apps/user/licenses/matlab_features_state.txt
+    # matlab
+    # -------------------------------------------------
+    # FEATURE                       TOTAL   USED  AVAIL
+    # -------------------------------------------------
+    MATLAB                              1      1      0
+    SIMULINK                            1      0      1
+    Curve_Fitting_Toolbox               1      0      1
+    Signal_Blocks                       1      0      1
+    GADS_Toolbox                        1      0      1
+    Image_Toolbox                       1      0      1
+    Compiler                            1      0      1
+    Neural_Network_Toolbox              1      0      1
+    Optimization_Toolbox                1      0      1
+    Signal_Toolbox                      1      0      1
+    Statistics_Toolbox                  1      0      1
+
+License tracking in PBS Pro scheduler and users usage
+-----------------------------------------------------
+
+Each feature of each license is accounted and checked by the scheduler
+of PBS Pro. If you ask for certain licences, the scheduler won't start
+the job until the asked licenses are free (available). This prevents to
+crash batch jobs, just because of <span id="result_box"
+class="short_text"><span class="hps">unavailability</span></span> of the
+needed licenses.
+
+The general format of the name is:
+
+**feature__APP__FEATURE**
+
+Names of applications (APP):
+
+-   ansys
+-   comsol
+-   comsol-edu
+-   matlab
+-   matlab-edu
+
+ 
+
+To get the FEATUREs of a license take a look into the corresponding
+state file ([see above](#Licence)), or use:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Application</th>
+<th align="left">List of provided features</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">ansys</td>
+<td align="left"><pre><code>$ grep -v &quot;#&quot; /apps/user/licenses/ansys_features_state.txt | cut -f1 -d&#39; &#39;</code></pre></td>
+</tr>
+<tr class="even">
+<td align="left">comsol</td>
+<td align="left"><pre><code>$ grep -v &quot;#&quot; /apps/user/licenses/comsol_features_state.txt | cut -f1 -d&#39; &#39;</code></pre></td>
+</tr>
+<tr class="odd">
+<td align="left">comsol-edu</td>
+<td align="left"><pre><code>$ grep -v &quot;#&quot; /apps/user/licenses/comsol-edu_features_state.txt | cut -f1 -d&#39; &#39;</code></pre></td>
+</tr>
+<tr class="even">
+<td align="left">matlab</td>
+<td align="left"><pre><code>$ grep -v &quot;#&quot; /apps/user/licenses/matlab_features_state.txt | cut -f1 -d&#39; &#39;</code></pre></td>
+</tr>
+<tr class="odd">
+<td align="left">matlab-edu</td>
+<td align="left"><pre><code>$ grep -v &quot;#&quot; /apps/user/licenses/matlab-edu_features_state.txt | cut -f1 -d&#39; &#39;</code></pre></td>
+</tr>
+</tbody>
+</table>
+
+ 
+
+Example of PBS Pro resource name, based on APP and FEATURE name:
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Application</th>
+<th align="left">Feature</th>
+<th align="left">PBS Pro resource name</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">ansys</td>
+<td align="left">acfd</td>
+<td align="left">feature__ansys__acfd</td>
+</tr>
+<tr class="even">
+<td align="left">ansys</td>
+<td align="left">aa_r</td>
+<td align="left">feature__ansys__aa_r</td>
+</tr>
+<tr class="odd">
+<td align="left">comsol</td>
+<td align="left">COMSOL</td>
+<td align="left">feature__comsol__COMSOL</td>
+</tr>
+<tr class="even">
+<td align="left">comsol</td>
+<td align="left">HEATTRANSFER</td>
+<td align="left">feature__comsol__HEATTRANSFER</td>
+</tr>
+<tr class="odd">
+<td align="left">comsol-edu</td>
+<td align="left">COMSOLBATCH</td>
+<td align="left">feature__comsol-edu__COMSOLBATCH</td>
+</tr>
+<tr class="even">
+<td align="left">comsol-edu</td>
+<td align="left">STRUCTURALMECHANICS</td>
+<td align="left">feature__comsol-edu__STRUCTURALMECHANICS</td>
+</tr>
+<tr class="odd">
+<td align="left">matlab</td>
+<td align="left">MATLAB</td>
+<td align="left">feature__matlab__MATLAB</td>
+</tr>
+<tr class="even">
+<td align="left">matlab</td>
+<td align="left">Image_Toolbox</td>
+<td align="left">feature__matlab__Image_Toolbox</td>
+</tr>
+<tr class="odd">
+<td align="left">matlab-edu</td>
+<td align="left">MATLAB_Distrib_Comp_Engine</td>
+<td align="left">feature__matlab-edu__MATLAB_Distrib_Comp_Engine</td>
+</tr>
+<tr class="even">
+<td align="left">matlab-edu</td>
+<td align="left">Image_Acquisition_Toolbox</td>
+<td align="left"><p>feature__matlab-edu__Image_Acquisition_Toolbox</p></td>
+</tr>
+</tbody>
+</table>
+
+**Be aware, that the resource names in PBS Pro are CASE SENSITIVE!**
+
+### Example of qsub statement
+
+Run an interactive PBS job with 1 Matlab EDU license, 1 Distributed
+Computing Toolbox and 32 Distributed Computing Engines (running on 32
+cores):
+
+    $ qsub -I -q qprod -A PROJECT_ID -l select=2:ncpus=16 -l feature__matlab-edu__MATLAB=1 -l feature__matlab-edu__Distrib_Computing_Toolbox=1 -l feature__matlab-edu__MATLAB_Distrib_Comp_Engine=32
+
+The license is used and accounted only with the real usage of the
+product. So in this example, the general Matlab is used after Matlab is
+run vy the user and not at the time, when the shell of the interactive
+job is started. Also the Distributed Computing licenses are used at the
+time, when the user uses the distributed parallel computation in Matlab
+(e. g. issues pmode start, matlabpool, etc.).
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/java.md b/docs.it4i.cz/anselm-cluster-documentation/software/java.md
new file mode 100644
index 0000000000000000000000000000000000000000..9910b24fd07042b164bea0f5f87a971dee51f52d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/java.md
@@ -0,0 +1,35 @@
+Java 
+====
+
+Java on ANSELM
+
+
+  
+
+Java is available on Anselm cluster. Activate java by loading the java
+module
+
+    $ module load java
+
+Note that the java module must be loaded on the compute nodes as well,
+in order to run java on compute nodes.
+
+Check for java version and path
+
+    $ java -version
+    $ which java
+
+With the module loaded, not only the runtime environment (JRE), but also
+the development environment (JDK) with the compiler is available.
+
+    $ javac -version
+    $ which javac
+
+Java applications may use MPI for interprocess communication, in
+conjunction with OpenMPI. Read more
+on <http://www.open-mpi.org/faq/?category=java>.
+This functionality is currently not supported on Anselm cluster. In case
+you require the java interface to MPI, please contact [Anselm
+support](https://support.it4i.cz/rt/).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1.md b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..8c1c3c4329b45e03109ae565da06f85c19cfaaaf
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1.md
@@ -0,0 +1,203 @@
+MPI 
+===
+
+
+
+  
+
+Setting up MPI Environment
+--------------------------
+
+The Anselm cluster provides several implementations of the MPI library:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">MPI Library</th>
+<th align="left">Thread support</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><p>The highly optimized and stable <strong>bullxmpi 1.2.4.1</strong></p></td>
+<td align="left"><strong></strong>Partial thread support up to MPI_THREAD_SERIALIZED</td>
+</tr>
+<tr class="even">
+<td align="left">The <strong>Intel MPI 4.1</strong></td>
+<td align="left">Full thread support up to MPI_THREAD_MULTIPLE</td>
+</tr>
+<tr class="odd">
+<td align="left">The  <a href="http://www.open-mpi.org/" class="external-link"><strong>OpenMPI 1.6.5</strong></a></td>
+<td align="left">Full thread support up to MPI_THREAD_MULTIPLE, BLCR c/r support</td>
+</tr>
+<tr class="even">
+<td align="left">The OpenMPI 1.8.1</td>
+<td align="left">Full thread support up to MPI_THREAD_MULTIPLE, MPI-3.0 support</td>
+</tr>
+<tr class="odd">
+<td align="left">The <strong><strong>mpich2 1.9</strong></strong></td>
+<td align="left">Full thread support up to <strong></strong> MPI_THREAD_MULTIPLE, BLCR c/r support</td>
+</tr>
+</tbody>
+</table>
+
+MPI libraries are activated via the environment modules.
+
+Look up section modulefiles/mpi in module avail
+
+    $ module avail
+    ------------------------- /opt/modules/modulefiles/mpi -------------------------
+    bullxmpi/bullxmpi-1.2.4.1  mvapich2/1.9-icc
+    impi/4.0.3.008             openmpi/1.6.5-gcc(default)
+    impi/4.1.0.024             openmpi/1.6.5-gcc46
+    impi/4.1.0.030             openmpi/1.6.5-icc
+    impi/4.1.1.036(default)    openmpi/1.8.1-gcc
+    openmpi/1.8.1-gcc46
+    mvapich2/1.9-gcc(default)  openmpi/1.8.1-gcc49
+    mvapich2/1.9-gcc46         openmpi/1.8.1-icc
+
+There are default compilers associated with any particular MPI
+implementation. The defaults may be changed, the MPI libraries may be
+used in conjunction with any compiler.
+The defaults are selected via the modules in following way
+
+  Module         MPI                Compiler suite
+  -------------- ------------------ --------------------------------------------------------------------------------
+  PrgEnv-gnu     bullxmpi-1.2.4.1   bullx GNU 4.4.6
+  PrgEnv-intel   Intel MPI 4.1.1    Intel 13.1.1
+  bullxmpi       bullxmpi-1.2.4.1   none, select via module
+  impi           Intel MPI 4.1.1    none, select via module
+  openmpi        OpenMPI 1.6.5      GNU compilers 4.8.1, GNU compilers 4.4.6, Intel Compilers
+  openmpi        OpenMPI 1.8.1      GNU compilers 4.8.1, GNU compilers 4.4.6, GNU compilers 4.9.0, Intel Compilers
+  mvapich2       MPICH2 1.9         GNU compilers 4.8.1, GNU compilers 4.4.6, Intel Compilers
+
+Examples:
+
+    $ module load openmpi
+
+In this example, we activate the latest openmpi with latest GNU
+compilers
+
+To use openmpi with the intel compiler suite, use
+
+    $ module load intel
+    $ module load openmpi/1.6.5-icc
+
+In this example, the openmpi 1.6.5 using intel compilers is activated
+
+Compiling MPI Programs
+----------------------
+
+After setting up your MPI environment, compile your program using one of
+the mpi wrappers
+
+    $ mpicc -v
+    $ mpif77 -v
+    $ mpif90 -v
+
+Example program:
+
+    // helloworld_mpi.c
+    #include <stdio.h>
+
+    #include<mpi.h>
+
+    int main(int argc, char **argv) {
+
+    int len;
+    int rank, size;
+    char node[MPI_MAX_PROCESSOR_NAME];
+
+    // Initiate MPI
+    MPI_Init(&argc, &argv);
+    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
+    MPI_Comm_size(MPI_COMM_WORLD,&size);
+
+    // Get hostame and print
+    MPI_Get_processor_name(node,&len);
+    printf("Hello world! from rank %d of %d on host %sn",rank,size,node);
+
+    // Finalize and exit
+    MPI_Finalize();
+
+    return 0;
+    }
+
+Compile the above example with
+
+    $ mpicc helloworld_mpi.c -o helloworld_mpi.x
+
+Running MPI Programs
+--------------------
+
+The MPI program executable must be compatible with the loaded MPI
+module.
+Always compile and execute using the very same MPI module.
+
+It is strongly discouraged to mix mpi implementations. Linking an
+application with one MPI implementation and running mpirun/mpiexec form
+other implementation may result in unexpected errors.
+
+The MPI program executable must be available within the same path on all
+nodes. This is automatically fulfilled on the /home and /scratch
+filesystem. You need to preload the executable, if running on the local
+scratch /lscratch filesystem.
+
+### Ways to run MPI programs
+
+Optimal way to run an MPI program depends on its memory requirements,
+memory access pattern and communication pattern.
+
+Consider these ways to run an MPI program:
+1. One MPI process per node, 16 threads per process
+2. Two MPI processes per node, 8 threads per process
+3. 16 MPI processes per node, 1 thread per process.
+
+**One MPI** process per node, using 16 threads, is most useful for
+memory demanding applications, that make good use of processor cache
+memory and are not memory bound.  This is also a preferred way for
+communication intensive applications as one process per node enjoys full
+bandwidth access to the network interface. 
+
+**Two MPI** processes per node, using 8 threads each, bound to processor
+socket is most useful for memory bandwidth bound applications such as
+BLAS1 or FFT, with scalable memory demand. However, note that the two
+processes will share access to the network interface. The 8 threads and
+socket binding should ensure maximum memory access bandwidth and
+minimize communication, migration and numa effect overheads.
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two cases with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+want to avoid this by setting the KMP_AFFINITY or GOMP_CPU_AFFINITY
+environment variables.
+
+**16 MPI** processes per node, using 1 thread each bound to processor
+core is most suitable for highly scalable applications with low
+communication demand.
+
+### Running OpenMPI
+
+The **bullxmpi-1.2.4.1** and [**OpenMPI
+1.6.5**](http://www.open-mpi.org/) are both based on
+OpenMPI. Read more on [how to run
+OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI)
+based MPI.
+
+### Running MPICH2
+
+The **Intel MPI** and **mpich2 1.9** are MPICH2 based implementations.
+Read more on [how to run
+MPICH2](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2)
+based MPI.
+
+The Intel MPI may run on the Intel Xeon Phi accelerators as well. Read
+more on [how to run Intel MPI on
+accelerators](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md
new file mode 100644
index 0000000000000000000000000000000000000000..bde8983e27429fc6df236de128190be7507f7cd4
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI.md
@@ -0,0 +1,275 @@
+Running OpenMPI 
+===============
+
+
+
+  
+
+OpenMPI program execution
+-------------------------
+
+The OpenMPI programs may be executed only via the PBS Workload manager,
+by entering an appropriate queue. On Anselm, the **bullxmpi-1.2.4.1**
+and **OpenMPI 1.6.5** are OpenMPI based MPI implementations.
+
+### Basic usage
+
+Use the mpiexec to run the OpenMPI code.
+
+Example:
+
+    $ qsub -q qexp -l select=4:ncpus=16 -I
+    qsubwaiting for job 15210.srv11 to start
+    qsubjob 15210.srv11 ready
+
+    $ pwd
+    /home/username
+
+    $ module load openmpi
+    $ mpiexec -pernode ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn17
+    Hello world! from rank 1 of 4 on host cn108
+    Hello world! from rank 2 of 4 on host cn109
+    Hello world! from rank 3 of 4 on host cn110
+
+Please be aware, that in this example, the directive **-pernode** is
+used to run only **one task per node**, which is normally an unwanted
+behaviour (unless you want to run hybrid code with just one MPI and 16
+OpenMP tasks per node). In normal MPI programs **omit the -pernode
+directive** to run up to 16 MPI tasks per each node.
+
+In this example, we allocate 4 nodes via the express queue
+interactively. We set up the openmpi environment and interactively run
+the helloworld_mpi.x program.
+Note that the executable <span
+class="monospace">helloworld_mpi.x</span> must be available within the
+same path on all nodes. This is automatically fulfilled on the /home and
+/scratch filesystem.
+
+You need to preload the executable, if running on the local scratch
+/lscratch filesystem
+
+    $ pwd
+    /lscratch/15210.srv11
+
+    $ mpiexec -pernode --preload-binary ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn17
+    Hello world! from rank 1 of 4 on host cn108
+    Hello world! from rank 2 of 4 on host cn109
+    Hello world! from rank 3 of 4 on host cn110
+
+In this example, we assume the executable <span
+class="monospace">helloworld_mpi.x</span> is present on compute node
+cn17 on local scratch. We call the mpiexec whith the
+**--preload-binary** argument (valid for openmpi). The mpiexec will copy
+the executable from cn17 to the <span
+class="monospace">/lscratch/15210.srv11</span> directory on cn108, cn109
+and cn110 and execute the program.
+
+MPI process mapping may be controlled by PBS parameters.
+
+The mpiprocs and ompthreads parameters allow for selection of number of
+running MPI processes per node as well as number of OpenMP threads per
+MPI process.
+
+### One MPI process per node
+
+Follow this example to run one MPI process per node, 16 threads per
+process. 
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=1:ompthreads=16 -I
+
+    $ module load openmpi
+
+    $ mpiexec --bind-to-none ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 1 MPI processes per node and 16 threads per socket,
+on 4 nodes.
+
+### Two MPI processes per node
+
+Follow this example to run two MPI processes per node, 8 threads per
+process. Note the options to mpiexec.
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=2:ompthreads=8 -I
+
+    $ module load openmpi
+
+    $ mpiexec -bysocket -bind-to-socket ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 2 MPI processes per node and 8 threads per socket,
+each process and its threads bound to a separate processor socket of the
+node, on 4 nodes
+
+### 16 MPI processes per node
+
+Follow this example to run 16 MPI processes per node, 1 thread per
+process. Note the options to mpiexec.
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=16:ompthreads=1 -I
+
+    $ module load openmpi
+
+    $ mpiexec -bycore -bind-to-core ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 16 MPI processes per node, single threaded. Each
+process is bound to separate processor core, on 4 nodes.
+
+### OpenMP thread affinity
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two examples with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+might want to avoid this by setting these environment variable for GCC
+OpenMP:
+
+    $ export GOMP_CPU_AFFINITY="0-15"
+
+or this one for Intel OpenMP:
+
+    $ export KMP_AFFINITY=granularity=fine,compact,1,0
+
+As of OpenMP 4.0 (supported by GCC 4.9 and later and Intel 14.0 and
+later) the following variables may be used for Intel or GCC:
+
+    $ export OMP_PROC_BIND=true
+    $ export OMP_PLACES=cores 
+
+<span>OpenMPI Process Mapping and Binding</span>
+------------------------------------------------
+
+The mpiexec allows for precise selection of how the MPI processes will
+be mapped to the computational nodes and how these processes will bind
+to particular processor sockets and cores.
+
+MPI process mapping may be specified by a hostfile or rankfile input to
+the mpiexec program. Altough all implementations of MPI provide means
+for process mapping and binding, following examples are valid for the
+openmpi only.
+
+### Hostfile
+
+Example hostfile
+
+    cn110.bullx
+    cn109.bullx
+    cn108.bullx
+    cn17.bullx
+
+Use the hostfile to control process placement
+
+    $ mpiexec -hostfile hostfile ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn110
+    Hello world! from rank 1 of 4 on host cn109
+    Hello world! from rank 2 of 4 on host cn108
+    Hello world! from rank 3 of 4 on host cn17
+
+In this example, we see that ranks have been mapped on nodes according
+to the order in which nodes show in the hostfile
+
+### Rankfile
+
+Exact control of MPI process placement and resource binding is provided
+by specifying a rankfile
+
+Appropriate binding may boost performance of your application.
+
+Example rankfile
+
+    rank 0=cn110.bullx slot=1:0,1
+    rank 1=cn109.bullx slot=0:*
+    rank 2=cn108.bullx slot=1:1-2
+    rank 3=cn17.bullx slot=0:1,1:0-2
+    rank 4=cn109.bullx slot=0:*,1:*
+
+This rankfile assumes 5 ranks will be running on 4 nodes and provides
+exact mapping and binding of the processes to the processor sockets and
+cores
+
+Explanation:
+rank 0 will be bounded to cn110, socket1 core0 and core1
+rank 1 will be bounded to cn109, socket0, all cores
+rank 2 will be bounded to cn108, socket1, core1 and core2
+rank 3 will be bounded to cn17, socket0 core1, socket1 core0, core1,
+core2
+rank 4 will be bounded to cn109, all cores on both sockets
+
+    $ mpiexec -n 5 -rf rankfile --report-bindings ./helloworld_mpi.x
+    [cn17:11180]  MCW rank 3 bound to socket 0[core 1] socket 1[core 0-2][. B . . . . . .][B B B . . . . .] (slot list 0:1,1:0-2)
+    [cn110:09928] MCW rank 0 bound to socket 1[core 0-1][. . . . . . . .][B B . . . . . .] (slot list 1:0,1)
+    [cn109:10395] MCW rank 1 bound to socket 0[core 0-7][B B B B B B B B][. . . . . . . .] (slot list 0:*)
+    [cn108:10406]  MCW rank 2 bound to socket 1[core 1-2][. . . . . . . .][. B B . . . . .] (slot list 1:1-2)
+    [cn109:10406]  MCW rank 4 bound to socket 0[core 0-7] socket 1[core 0-7][B B B B B B B B][B B B B B B B B] (slot list 0:*,1:*)
+    Hello world! from rank 3 of 5 on host cn17
+    Hello world! from rank 1 of 5 on host cn109
+    Hello world! from rank 0 of 5 on host cn110
+    Hello world! from rank 4 of 5 on host cn109
+    Hello world! from rank 2 of 5 on host cn108
+
+In this example we run 5 MPI processes (5 ranks) on four nodes. The
+rankfile defines how the processes will be mapped on the nodes, sockets
+and cores. The **--report-bindings** option was used to print out the
+actual process location and bindings. Note that ranks 1 and 4 run on the
+same node and their core binding overlaps.
+
+It is users responsibility to provide correct number of ranks, sockets
+and cores.
+
+### Bindings verification
+
+In all cases, binding and threading may be verified by executing for
+example:
+
+    $ mpiexec -bysocket -bind-to-socket --report-bindings echo
+    $ mpiexec -bysocket -bind-to-socket numactl --show
+    $ mpiexec -bysocket -bind-to-socket echo $OMP_NUM_THREADS
+
+Changes in OpenMPI 1.8
+----------------------
+
+Some options have changed in OpenMPI version 1.8.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">version 1.6.5</th>
+<th align="left">version 1.8.1</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">--bind-to-none</td>
+<td align="left">--bind-to none</td>
+</tr>
+<tr class="even">
+<td align="left">--bind-to-core</td>
+<td align="left">--bind-to core</td>
+</tr>
+<tr class="odd">
+<td align="left">--bind-to-socket</td>
+<td align="left">--bind-to socket</td>
+</tr>
+<tr class="even">
+<td align="left">-bysocket</td>
+<td align="left">--map-by socket</td>
+</tr>
+<tr class="odd">
+<td align="left">-bycore</td>
+<td align="left">--map-by core</td>
+</tr>
+<tr class="even">
+<td align="left">-pernode</td>
+<td align="left"><p><span class="s1">--map-by ppr:1:node</span></p></td>
+</tr>
+</tbody>
+</table>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md
new file mode 100644
index 0000000000000000000000000000000000000000..8c1c3c4329b45e03109ae565da06f85c19cfaaaf
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi.md
@@ -0,0 +1,203 @@
+MPI 
+===
+
+
+
+  
+
+Setting up MPI Environment
+--------------------------
+
+The Anselm cluster provides several implementations of the MPI library:
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">MPI Library</th>
+<th align="left">Thread support</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><p>The highly optimized and stable <strong>bullxmpi 1.2.4.1</strong></p></td>
+<td align="left"><strong></strong>Partial thread support up to MPI_THREAD_SERIALIZED</td>
+</tr>
+<tr class="even">
+<td align="left">The <strong>Intel MPI 4.1</strong></td>
+<td align="left">Full thread support up to MPI_THREAD_MULTIPLE</td>
+</tr>
+<tr class="odd">
+<td align="left">The  <a href="http://www.open-mpi.org/" class="external-link"><strong>OpenMPI 1.6.5</strong></a></td>
+<td align="left">Full thread support up to MPI_THREAD_MULTIPLE, BLCR c/r support</td>
+</tr>
+<tr class="even">
+<td align="left">The OpenMPI 1.8.1</td>
+<td align="left">Full thread support up to MPI_THREAD_MULTIPLE, MPI-3.0 support</td>
+</tr>
+<tr class="odd">
+<td align="left">The <strong><strong>mpich2 1.9</strong></strong></td>
+<td align="left">Full thread support up to <strong></strong> MPI_THREAD_MULTIPLE, BLCR c/r support</td>
+</tr>
+</tbody>
+</table>
+
+MPI libraries are activated via the environment modules.
+
+Look up section modulefiles/mpi in module avail
+
+    $ module avail
+    ------------------------- /opt/modules/modulefiles/mpi -------------------------
+    bullxmpi/bullxmpi-1.2.4.1  mvapich2/1.9-icc
+    impi/4.0.3.008             openmpi/1.6.5-gcc(default)
+    impi/4.1.0.024             openmpi/1.6.5-gcc46
+    impi/4.1.0.030             openmpi/1.6.5-icc
+    impi/4.1.1.036(default)    openmpi/1.8.1-gcc
+    openmpi/1.8.1-gcc46
+    mvapich2/1.9-gcc(default)  openmpi/1.8.1-gcc49
+    mvapich2/1.9-gcc46         openmpi/1.8.1-icc
+
+There are default compilers associated with any particular MPI
+implementation. The defaults may be changed, the MPI libraries may be
+used in conjunction with any compiler.
+The defaults are selected via the modules in following way
+
+  Module         MPI                Compiler suite
+  -------------- ------------------ --------------------------------------------------------------------------------
+  PrgEnv-gnu     bullxmpi-1.2.4.1   bullx GNU 4.4.6
+  PrgEnv-intel   Intel MPI 4.1.1    Intel 13.1.1
+  bullxmpi       bullxmpi-1.2.4.1   none, select via module
+  impi           Intel MPI 4.1.1    none, select via module
+  openmpi        OpenMPI 1.6.5      GNU compilers 4.8.1, GNU compilers 4.4.6, Intel Compilers
+  openmpi        OpenMPI 1.8.1      GNU compilers 4.8.1, GNU compilers 4.4.6, GNU compilers 4.9.0, Intel Compilers
+  mvapich2       MPICH2 1.9         GNU compilers 4.8.1, GNU compilers 4.4.6, Intel Compilers
+
+Examples:
+
+    $ module load openmpi
+
+In this example, we activate the latest openmpi with latest GNU
+compilers
+
+To use openmpi with the intel compiler suite, use
+
+    $ module load intel
+    $ module load openmpi/1.6.5-icc
+
+In this example, the openmpi 1.6.5 using intel compilers is activated
+
+Compiling MPI Programs
+----------------------
+
+After setting up your MPI environment, compile your program using one of
+the mpi wrappers
+
+    $ mpicc -v
+    $ mpif77 -v
+    $ mpif90 -v
+
+Example program:
+
+    // helloworld_mpi.c
+    #include <stdio.h>
+
+    #include<mpi.h>
+
+    int main(int argc, char **argv) {
+
+    int len;
+    int rank, size;
+    char node[MPI_MAX_PROCESSOR_NAME];
+
+    // Initiate MPI
+    MPI_Init(&argc, &argv);
+    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
+    MPI_Comm_size(MPI_COMM_WORLD,&size);
+
+    // Get hostame and print
+    MPI_Get_processor_name(node,&len);
+    printf("Hello world! from rank %d of %d on host %sn",rank,size,node);
+
+    // Finalize and exit
+    MPI_Finalize();
+
+    return 0;
+    }
+
+Compile the above example with
+
+    $ mpicc helloworld_mpi.c -o helloworld_mpi.x
+
+Running MPI Programs
+--------------------
+
+The MPI program executable must be compatible with the loaded MPI
+module.
+Always compile and execute using the very same MPI module.
+
+It is strongly discouraged to mix mpi implementations. Linking an
+application with one MPI implementation and running mpirun/mpiexec form
+other implementation may result in unexpected errors.
+
+The MPI program executable must be available within the same path on all
+nodes. This is automatically fulfilled on the /home and /scratch
+filesystem. You need to preload the executable, if running on the local
+scratch /lscratch filesystem.
+
+### Ways to run MPI programs
+
+Optimal way to run an MPI program depends on its memory requirements,
+memory access pattern and communication pattern.
+
+Consider these ways to run an MPI program:
+1. One MPI process per node, 16 threads per process
+2. Two MPI processes per node, 8 threads per process
+3. 16 MPI processes per node, 1 thread per process.
+
+**One MPI** process per node, using 16 threads, is most useful for
+memory demanding applications, that make good use of processor cache
+memory and are not memory bound.  This is also a preferred way for
+communication intensive applications as one process per node enjoys full
+bandwidth access to the network interface. 
+
+**Two MPI** processes per node, using 8 threads each, bound to processor
+socket is most useful for memory bandwidth bound applications such as
+BLAS1 or FFT, with scalable memory demand. However, note that the two
+processes will share access to the network interface. The 8 threads and
+socket binding should ensure maximum memory access bandwidth and
+minimize communication, migration and numa effect overheads.
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two cases with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+want to avoid this by setting the KMP_AFFINITY or GOMP_CPU_AFFINITY
+environment variables.
+
+**16 MPI** processes per node, using 1 thread each bound to processor
+core is most suitable for highly scalable applications with low
+communication demand.
+
+### Running OpenMPI
+
+The **bullxmpi-1.2.4.1** and [**OpenMPI
+1.6.5**](http://www.open-mpi.org/) are both based on
+OpenMPI. Read more on [how to run
+OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI)
+based MPI.
+
+### Running MPICH2
+
+The **Intel MPI** and **mpich2 1.9** are MPICH2 based implementations.
+Read more on [how to run
+MPICH2](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2)
+based MPI.
+
+The Intel MPI may run on the Intel Xeon Phi accelerators as well. Read
+more on [how to run Intel MPI on
+accelerators](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md
new file mode 100644
index 0000000000000000000000000000000000000000..4cddfa5859f81360f06848c21ec88e3fa61d8b99
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/mpi4py-mpi-for-python.md
@@ -0,0 +1,107 @@
+MPI4Py (MPI for Python) 
+=======================
+
+OpenMPI interface to Python
+
+
+  
+
+Introduction
+------------
+
+MPI for Python provides bindings of the Message Passing Interface (MPI)
+standard for the Python programming language, allowing any Python
+program to exploit multiple processors.
+
+This package is constructed on top of the MPI-1/2 specifications and
+provides an object oriented interface which closely follows MPI-2 C++
+bindings. It supports point-to-point (sends, receives) and collective
+(broadcasts, scatters, gathers) communications of any picklable Python
+object, as well as optimized communications of Python object exposing
+the single-segment buffer interface (NumPy arrays, builtin
+bytes/string/array objects).
+
+On Anselm MPI4Py is available in standard Python modules.
+
+Modules
+-------
+
+MPI4Py is build for OpenMPI. Before you start with MPI4Py you need to
+load Python and OpenMPI modules.
+
+    $ module load python
+    $ module load openmpi
+
+Execution
+---------
+
+You need to import MPI to your python program. Include the following
+line to the python script:
+
+    from mpi4py import MPI
+
+The MPI4Py enabled python programs [execute as any other
+OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI)
+code.The simpliest way is to run
+
+    $ mpiexec python <script>.py
+
+<span>For example</span>
+
+    $ mpiexec python hello_world.py
+
+Examples
+--------
+
+### Hello world!
+
+    from mpi4py import MPI
+
+    comm = MPI.COMM_WORLD
+
+    print "Hello! I'm rank %d from %d running in total..." % (comm.rank, comm.size)
+
+    comm.Barrier()   # wait for everybody to synchronize
+
+### <span>Collective Communication with NumPy arrays</span>
+
+    from mpi4py import MPI
+    from __future__ import division
+    import numpy as np
+
+    comm = MPI.COMM_WORLD
+
+    print("-"*78)
+    print(" Running on %d cores" % comm.size)
+    print("-"*78)
+
+    comm.Barrier()
+
+    # Prepare a vector of N=5 elements to be broadcasted...
+    N = 5
+    if comm.rank == 0:
+        A = np.arange(N, dtype=np.float64)    # rank 0 has proper data
+    else:
+        A = np.empty(N, dtype=np.float64)     # all other just an empty array
+
+    # Broadcast A from rank 0 to everybody
+    comm.Bcast( [A, MPI.DOUBLE] )
+
+    # Everybody should now have the same...
+    print "[%02d] %s" % (comm.rank, A)
+
+Execute the above code as:
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=16:ompthreads=1 -I
+
+    $ module load python openmpi
+
+    $ mpiexec -bycore -bind-to-core python hello_world.py
+
+In this example, we run MPI4Py enabled code on 4 nodes, 16 cores per
+node (total of 64 processes), each python process is bound to a
+different core.
+More examples and documentation can be found on [MPI for Python
+webpage](https://pythonhosted.org/mpi4py/usrman/index.html).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md
new file mode 100644
index 0000000000000000000000000000000000000000..253d4f5a4e693e8992ccaddecf0dbc9f7b5fb8d7
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2.md
@@ -0,0 +1,195 @@
+Running MPICH2 
+==============
+
+
+
+  
+
+MPICH2 program execution
+------------------------
+
+The MPICH2 programs use mpd daemon or ssh connection to spawn processes,
+no PBS support is needed. However the PBS allocation is required to
+access compute nodes. On Anselm, the **Intel MPI** and **mpich2 1.9**
+are MPICH2 based MPI implementations.
+
+### Basic usage
+
+Use the mpirun to execute the MPICH2 code.
+
+Example:
+
+    $ qsub -q qexp -l select=4:ncpus=16 -I
+    qsubwaiting for job 15210.srv11 to start
+    qsubjob 15210.srv11 ready
+
+    $ module load impi
+
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn17
+    Hello world! from rank 1 of 4 on host cn108
+    Hello world! from rank 2 of 4 on host cn109
+    Hello world! from rank 3 of 4 on host cn110
+
+In this example, we allocate 4 nodes via the express queue
+interactively. We set up the intel MPI environment and interactively run
+the helloworld_mpi.x program. We request MPI to spawn 1 process per
+node.
+Note that the executable helloworld_mpi.x must be available within the
+same path on all nodes. This is automatically fulfilled on the /home and
+/scratch filesystem.
+
+You need to preload the executable, if running on the local scratch
+/lscratch filesystem
+
+    $ pwd
+    /lscratch/15210.srv11
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE cp /home/username/helloworld_mpi.x .
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host cn17
+    Hello world! from rank 1 of 4 on host cn108
+    Hello world! from rank 2 of 4 on host cn109
+    Hello world! from rank 3 of 4 on host cn110
+
+In this example, we assume the executable helloworld_mpi.x is present
+on shared home directory. We run the cp command via mpirun, copying the
+executable from shared home to local scratch . Second  mpirun will
+execute the binary in the /lscratch/15210.srv11 directory on nodes cn17,
+cn108, cn109 and cn110, one process per node.
+
+MPI process mapping may be controlled by PBS parameters.
+
+The mpiprocs and ompthreads parameters allow for selection of number of
+running MPI processes per node as well as number of OpenMP threads per
+MPI process.
+
+### One MPI process per node
+
+Follow this example to run one MPI process per node, 16 threads per
+process. Note that no options to mpirun are needed
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=1:ompthreads=16 -I
+
+    $ module load mvapich2
+
+    $ mpirun ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 1 MPI processes per node and 16 threads per socket,
+on 4 nodes.
+
+### Two MPI processes per node
+
+Follow this example to run two MPI processes per node, 8 threads per
+process. Note the options to mpirun for mvapich2. No options are needed
+for impi.
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=2:ompthreads=8 -I
+
+    $ module load mvapich2
+
+    $ mpirun -bind-to numa ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 2 MPI processes per node and 8 threads per socket,
+each process and its threads bound to a separate processor socket of the
+node, on 4 nodes
+
+### 16 MPI processes per node
+
+Follow this example to run 16 MPI processes per node, 1 thread per
+process. Note the options to mpirun for mvapich2. No options are needed
+for impi.
+
+    $ qsub -q qexp -l select=4:ncpus=16:mpiprocs=16:ompthreads=1 -I
+
+    $ module load mvapich2
+
+    $ mpirun -bind-to core ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 16 MPI processes per node, single threaded. Each
+process is bound to separate processor core, on 4 nodes.
+
+### OpenMP thread affinity
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two examples with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+might want to avoid this by setting these environment variable for GCC
+OpenMP:
+
+    $ export GOMP_CPU_AFFINITY="0-15"
+
+or this one for Intel OpenMP:
+
+    $ export KMP_AFFINITY=granularity=fine,compact,1,0
+
+As of OpenMP 4.0 (supported by GCC 4.9 and later and Intel 14.0 and
+later) the following variables may be used for Intel or GCC:
+
+    $ export OMP_PROC_BIND=true
+    $ export OMP_PLACES=cores 
+
+ 
+
+MPICH2 Process Mapping and Binding
+----------------------------------
+
+The mpirun allows for precise selection of how the MPI processes will be
+mapped to the computational nodes and how these processes will bind to
+particular processor sockets and cores.
+
+### Machinefile
+
+Process mapping may be controlled by specifying a machinefile input to
+the mpirun program. Altough all implementations of MPI provide means for
+process mapping and binding, following examples are valid for the impi
+and mvapich2 only.
+
+Example machinefile
+
+    cn110.bullx
+    cn109.bullx
+    cn108.bullx
+    cn17.bullx
+    cn108.bullx
+
+Use the machinefile to control process placement
+
+    $ mpirun -machinefile machinefile helloworld_mpi.x
+    Hello world! from rank 0 of 5 on host cn110
+    Hello world! from rank 1 of 5 on host cn109
+    Hello world! from rank 2 of 5 on host cn108
+    Hello world! from rank 3 of 5 on host cn17
+    Hello world! from rank 4 of 5 on host cn108
+
+In this example, we see that ranks have been mapped on nodes according
+to the order in which nodes show in the machinefile
+
+### Process Binding
+
+The Intel MPI automatically binds each process and its threads to the
+corresponding portion of cores on the processor socket of the node, no
+options needed. The binding is primarily controlled by environment
+variables. Read more about mpi process binding on [Intel
+website](https://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/Environment_Variables_Process_Pinning.htm).
+The MPICH2 uses the -bind-to option Use -bind-to numa or -bind-to core
+to bind the process on single core or entire socket.
+
+### Bindings verification
+
+In all cases, binding and threading may be verified by executing
+
+    $ mpirun  -bindto numa numactl --show
+    $ mpirun  -bindto numa echo $OMP_NUM_THREADS
+
+Intel MPI on Xeon Phi
+---------------------
+
+The[MPI section of Intel Xeon Phi
+chapter](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi)
+provides details on how to run Intel MPI code on Xeon Phi architecture.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.1.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..7b3e09bf05355db536bbf92f8a43d4a228c17783
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages.1.md
@@ -0,0 +1,52 @@
+Numerical languages 
+===================
+
+Interpreted languages for numerical computations and analysis
+
+
+  
+
+Introduction
+------------
+
+This section contains a collection of high-level interpreted languages,
+primarily intended for numerical computations.
+
+Matlab
+------
+
+MATLAB^®^ is a high-level language and interactive environment for
+numerical computation, visualization, and programming.
+
+    $ module load MATLAB/2015b-EDU
+    $ matlab
+
+Read more at the [Matlab<span class="internal-link"></span>
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab).
+
+Octave
+------
+
+GNU Octave is a high-level interpreted language, primarily intended for
+numerical computations. The Octave language is quite similar to Matlab
+so that most programs are easily portable.
+
+    $ module load Octave
+    $ octave
+
+Read more at the [Octave
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave).
+
+R
+-
+
+The R is an interpreted language and environment for statistical
+computing and graphics.
+
+    $ module load R
+    $ R
+
+Read more at the [R
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png
new file mode 100644
index 0000000000000000000000000000000000000000..71bdf7e101998fbba84d5e58f341f605df930325
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md
new file mode 100644
index 0000000000000000000000000000000000000000..6fc0ced87d57b52422a2a7a12c84a04395104d86
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab.md
@@ -0,0 +1,351 @@
+Matlab 
+======
+
+
+
+  
+
+Introduction
+------------
+
+Matlab is available in versions R2015a and R2015b. There are always two
+variants of the release:
+
+-   Non commercial or so called EDU variant, which can be used for
+    common research and educational purposes.
+-   Commercial or so called COM variant, which can used also for
+    commercial activities. The licenses for commercial variant are much
+    more expensive, so usually the commercial variant has only subset of
+    features compared to the EDU available.
+
+ 
+
+To load the latest version of Matlab load the module
+
+    $ module load MATLAB
+
+By default the EDU variant is marked as default. If you need other
+version or variant, load the particular version. To obtain the list of
+available versions use
+
+    $ module avail MATLAB
+
+If you need to use the Matlab GUI to prepare your Matlab programs, you
+can use Matlab directly on the login nodes. But for all computations use
+Matlab on the compute nodes via PBS Pro scheduler.
+
+If you require the Matlab GUI, please follow the general informations
+about [running graphical
+applications](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+Matlab GUI is quite slow using the X forwarding built in the PBS (qsub
+-X), so using X11 display redirection either via SSH or directly by
+xauth (please see the "GUI Applications on Compute Nodes over VNC" part
+[here](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc))
+is recommended.
+
+To run Matlab with GUI, use
+
+    $ matlab
+
+To run Matlab in text mode, without the Matlab Desktop GUI environment,
+use
+
+    $ matlab -nodesktop -nosplash
+
+plots, images, etc... will be still available.
+
+[]()Running parallel Matlab using Distributed Computing Toolbox / Engine
+------------------------------------------------------------------------
+
+Distributed toolbox is available only for the EDU variant
+
+The MPIEXEC mode available in previous versions is no longer available
+in MATLAB 2015. Also, the programming interface has changed. Refer
+to [Release
+Notes](http://www.mathworks.com/help/distcomp/release-notes.html#buanp9e-1).
+
+Delete previously used file mpiLibConf.m, we have observed crashes when
+using Intel MPI.
+
+To use Distributed Computing, you first need to setup a parallel
+profile. We have provided the profile for you, you can either import it
+in MATLAB command line:
+
+    >> parallel.importProfile('/apps/all/MATLAB/2015a-EDU/SalomonPBSPro.settings')
+
+    ans = 
+
+    SalomonPBSPro 
+
+Or in the GUI, go to tab HOME -&gt; Parallel -&gt; Manage Cluster
+Profiles..., click Import and navigate to :
+
+/apps/all/MATLAB/2015a-EDU/SalomonPBSPro.settings
+
+With the new mode, MATLAB itself launches the workers via PBS, so you
+can either use interactive mode or a batch mode on one node, but the
+actual parallel processing will be done in a separate job started by
+MATLAB itself. Alternatively, you can use "local" mode to run parallel
+code on just a single node.
+
+The profile is confusingly named Salomon, but you can use it also on
+Anselm.
+
+### Parallel Matlab interactive session
+
+Following example shows how to start interactive session with support
+for Matlab GUI. For more information about GUI based applications on
+Anselm see [this
+page](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+    $ xhost +
+    $ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 
+    -l feature__matlab__MATLAB=1 
+
+This qsub command example shows how to run Matlab on a single node.
+
+The second part of the command shows how to request all necessary
+licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing
+Engines licenses.
+
+Once the access to compute nodes is granted by PBS, user can load
+following modules and start Matlab: 
+
+    r1i0n17$ module load MATLAB/2015b-EDU
+    r1i0n17$ matlab &
+
+### []()Parallel Matlab batch job in Local mode
+
+To run matlab in batch mode, write an matlab script, then write a bash
+jobscript and execute via the qsub command. By default, matlab will
+execute one matlab worker instance per allocated core.
+
+    #!/bin/bash
+    #PBS -A PROJECT ID
+    #PBS -q qprod
+    #PBS -l select=1:ncpus=16:mpiprocs=16:ompthreads=1
+
+    # change to shared scratch directory
+    SCR=/scratch/work/user/$USER/$PBS_JOBID
+    mkdir -p $SCR ; cd $SCR || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/matlabcode.m .
+
+    # load modules
+    module load MATLAB/2015a-EDU
+
+    # execute the calculation
+    matlab -nodisplay -r matlabcode > output.out
+
+    # copy output file to home
+    cp output.out $PBS_O_WORKDIR/.
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs and matlab script are in matlabcode.m
+file, outputs in output.out file. Note the missing .m extension in the
+matlab -r matlabcodefile call, **the .m must not be included**.  Note
+that the **shared /scratch must be used**. Further, it is **important to
+include quit** statement at the end of the matlabcode.m script.
+
+Submit the jobscript using qsub
+
+    $ qsub ./jobscript
+
+### Parallel Matlab Local mode program example
+
+The last part of the configuration is done directly in the user Matlab
+script before Distributed Computing Toolbox is started.
+
+    cluster = parcluster('local')
+
+This script creates scheduler object "cluster" of type "local" that
+starts workers locally. 
+
+Please noteEvery Matlab script that needs to initialize/use matlabpool
+has to contain these three lines prior to calling parpool(sched, ...)
+function. 
+
+The last step is to start matlabpool with "cluster" object and correct
+number of workers. We have 24 cores per node, so we start 24 workers.
+
+    parpool(cluster,16);
+                      
+                     
+    ... parallel code ...
+                     
+                       
+    parpool close
+
+The complete example showing how to use Distributed Computing Toolbox in
+local mode is shown here. 
+
+    cluster = parcluster('local');
+    cluster
+
+    parpool(cluster,24);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+        
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    T;
+    whos         % T and W are both distributed arrays here.
+
+    parpool close
+    quit
+
+You can copy and paste the example in a .m file and execute. Note that
+the parpool size should correspond to **total number of cores**
+available on allocated nodes.
+
+### Parallel Matlab Batch job using PBS mode (workers spawned in a separate job)
+
+This mode uses PBS scheduler to launch the parallel pool. It uses the
+SalomonPBSPro profile that needs to be imported to Cluster Manager, as
+mentioned before. This methodod uses MATLAB's PBS Scheduler interface -
+it spawns the workers in a separate job submitted by MATLAB using qsub.
+
+This is an example of m-script using PBS mode:
+
+    cluster = parcluster('SalomonPBSPro');
+    set(cluster, 'SubmitArguments', '-A OPEN-0-0');
+    set(cluster, 'ResourceTemplate', '-q qprod -l select=10:ncpus=16');
+    set(cluster, 'NumWorkers', 160);
+
+    pool = parpool(cluster, 160);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    whos         % T and W are both distributed arrays here.
+
+    % shut down parallel pool
+    delete(pool)
+
+Note that we first construct a cluster object using the imported
+profile, then set some important options, namely SubmitArguments,
+where you need to specify accounting id, and ResourceTemplate, where you
+need to specify number of nodes to run the job. 
+
+You can start this script using batch mode the same way as in Local mode
+example.
+
+### Parallel Matlab Batch with direct launch (workers spawned within the existing job)
+
+This method is a "hack" invented by us to emulate the mpiexec
+functionality found in previous MATLAB versions. We leverage the MATLAB
+Generic Scheduler interface, but instead of submitting the workers to
+PBS, we launch the workers directly within the running job, thus we
+avoid the issues with master script and workers running in separate jobs
+(issues with license not available, waiting for the worker's job to
+spawn etc.)
+
+Please note that this method is experimental.
+
+For this method, you need to use SalomonDirect profile, import it
+using [the same way as
+SalomonPBSPro](#running-parallel-matlab-using-distributed-computing-toolbox---engine) 
+
+This is an example of m-script using direct mode:
+
+    parallel.importProfile('/apps/all/MATLAB/2015a-EDU/SalomonDirect.settings')
+    cluster = parcluster('SalomonDirect');
+    set(cluster, 'NumWorkers', 48);
+
+    pool = parpool(cluster, 48);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    whos         % T and W are both distributed arrays here.
+
+    % shut down parallel pool
+    delete(pool)
+
+### Non-interactive Session and Licenses
+
+If you want to run batch jobs with Matlab, be sure to request
+appropriate license features with the PBS Pro scheduler, at least the "
+-l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More
+information about how to check the license features states and how to
+request them with PBS Pro, please [look
+here](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses).
+
+In case of non-interactive session please read the [following
+information](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses)
+on how to modify the qsub command to test for available licenses prior
+getting the resource allocation.
+
+### Matlab Distributed Computing Engines start up time
+
+Starting Matlab workers is an expensive process that requires certain
+amount of time. For your information please see the following table:
+
+  compute nodes   number of workers   start-up time[s]
+  --------------- ------------------- --------------------
+  16              384                 831
+  8               192                 807
+  4               96                  483
+  2               48                  16
+
+MATLAB on UV2000 
+-----------------
+
+UV2000 machine available in queue "qfat" can be used for MATLAB
+computations. This is a SMP NUMA machine with large amount of RAM, which
+can be beneficial for certain types of MATLAB jobs. CPU cores are
+allocated in chunks of 8 for this machine.
+
+You can use MATLAB on UV2000 in two parallel modes :
+
+### Threaded mode
+
+Since this is a SMP machine, you can completely avoid using Parallel
+Toolbox and use only MATLAB's threading. MATLAB will automatically
+detect the number of cores you have allocated and will set <span
+class="monospace">maxNumCompThreads </span>accordingly and certain
+operations, such as <span class="monospace">fft, , eig, svd</span>,
+etc. will be automatically run in threads. The advantage of this mode is
+that you don't need to modify your existing sequential codes.<span
+class="monospace">
+</span>
+
+### Local cluster mode
+
+You can also use Parallel Toolbox on UV2000. Use l[ocal cluster
+mode](#parallel-matlab-batch-job-in-local-mode),
+"SalomonPBSPro" profile will not work.
+
+ 
+
+ 
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..7b3e09bf05355db536bbf92f8a43d4a228c17783
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction.md
@@ -0,0 +1,52 @@
+Numerical languages 
+===================
+
+Interpreted languages for numerical computations and analysis
+
+
+  
+
+Introduction
+------------
+
+This section contains a collection of high-level interpreted languages,
+primarily intended for numerical computations.
+
+Matlab
+------
+
+MATLAB^®^ is a high-level language and interactive environment for
+numerical computation, visualization, and programming.
+
+    $ module load MATLAB/2015b-EDU
+    $ matlab
+
+Read more at the [Matlab<span class="internal-link"></span>
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab).
+
+Octave
+------
+
+GNU Octave is a high-level interpreted language, primarily intended for
+numerical computations. The Octave language is quite similar to Matlab
+so that most programs are easily portable.
+
+    $ module load Octave
+    $ octave
+
+Read more at the [Octave
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave).
+
+R
+-
+
+The R is an interpreted language and environment for statistical
+computing and graphics.
+
+    $ module load R
+    $ R
+
+Read more at the [R
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r).
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md
new file mode 100644
index 0000000000000000000000000000000000000000..dbc495432ecb7d5a4eb4d20df45f012d220655fb
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab.md
@@ -0,0 +1,267 @@
+Matlab 2013-2014 
+================
+
+
+
+  
+
+Introduction
+------------
+
+This document relates to the old versions R2013 and R2014. For MATLAB
+2015, please use [this documentation
+instead](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab).
+
+Matlab is available in the latest stable version. There are always two
+variants of the release:
+
+-   Non commercial or so called EDU variant, which can be used for
+    common research and educational purposes.
+-   Commercial or so called COM variant, which can used also for
+    commercial activities. The licenses for commercial variant are much
+    more expensive, so usually the commercial variant has only subset of
+    features compared to the EDU available.
+
+ 
+
+To load the latest version of Matlab load the module
+
+    $ module load matlab
+
+By default the EDU variant is marked as default. If you need other
+version or variant, load the particular version. To obtain the list of
+available versions use
+
+    $ module avail matlab
+
+If you need to use the Matlab GUI to prepare your Matlab programs, you
+can use Matlab directly on the login nodes. But for all computations use
+Matlab on the compute nodes via PBS Pro scheduler.
+
+If you require the Matlab GUI, please follow the general informations
+about [running graphical
+applications](resolveuid/11e53ad0d2fd4c5187537f4baeedff33).
+
+Matlab GUI is quite slow using the X forwarding built in the PBS (qsub
+-X), so using X11 display redirection either via SSH or directly by
+xauth (please see the "GUI Applications on Compute Nodes over VNC" part
+[here](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)) is
+recommended.
+
+To run Matlab with GUI, use
+
+    $ matlab
+
+To run Matlab in text mode, without the Matlab Desktop GUI environment,
+use
+
+    $ matlab -nodesktop -nosplash
+
+plots, images, etc... will be still available.
+
+Running parallel Matlab using Distributed Computing Toolbox / Engine
+--------------------------------------------------------------------
+
+Recommended parallel mode for running parallel Matlab on Anselm is
+MPIEXEC mode. In this mode user allocates resources through PBS prior to
+starting Matlab. Once resources are granted the main Matlab instance is
+started on the first compute node assigned to job by PBS and workers are
+started on all remaining nodes. User can use both interactive and
+non-interactive PBS sessions. This mode guarantees that the data
+processing is not performed on login nodes, but all processing is on
+compute nodes.
+
+ ![Parallel
+Matlab](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png "Parallel Matlab")
+
+For the performance reasons Matlab should use system MPI. On Anselm the
+supported MPI implementation for Matlab is Intel MPI. To switch to
+system MPI user has to override default Matlab setting by creating new
+configuration file in its home directory. The path and file name has to
+be exactly the same as in the following listing:
+
+    $ vim ~/matlab/mpiLibConf.m 
+
+    function [lib, extras] = mpiLibConf
+    %MATLAB MPI Library overloading for Infiniband Networks
+
+    mpich = '/opt/intel/impi/4.1.1.036/lib64/';
+
+    disp('Using Intel MPI 4.1.1.036 over Infiniband')
+
+    lib = strcat(mpich, 'libmpich.so');
+    mpl = strcat(mpich, 'libmpl.so');
+    opa = strcat(mpich, 'libopa.so');
+
+    extras = ;
+
+System MPI library allows Matlab to communicate through 40Gbps
+Infiniband QDR interconnect instead of slower 1Gb ethernet network.
+
+Please noteThe path to MPI library in "mpiLibConf.m" has to match with
+version of loaded Intel MPI module. In this example the version
+4.1.1.036 of Iintel MPI is used by Matlab and therefore module
+impi/4.1.1.036  has to be loaded prior to starting Matlab.
+
+### Parallel Matlab interactive session
+
+Once this file is in place, user can request resources from PBS.
+Following example shows how to start interactive session with support
+for Matlab GUI. For more information about GUI based applications on
+Anselm see [this
+page](resolveuid/11e53ad0d2fd4c5187537f4baeedff33).
+
+    $ xhost +
+    $ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=4:ncpus=16:mpiprocs=16 -l walltime=00:30:00 
+    -l feature__matlab__MATLAB=1 
+
+This qsub command example shows how to run Matlab with 32 workers in
+following configuration2 nodes (use all 16 cores per node) and 16
+workers = mpirocs per node (-l select=2:ncpus=16:mpiprocs=16). If user
+requires to run smaller number of workers per node then the "mpiprocs"
+parameter has to be changed.
+
+The second part of the command shows how to request all necessary
+licenses. In this case 1 Matlab-EDU license and 32 Distributed Computing
+Engines licenses.
+
+Once the access to compute nodes is granted by PBS, user can load
+following modules and start Matlab: 
+
+    cn79$ module load matlab/R2013a-EDU
+    cn79$ module load impi/4.1.1.036
+    cn79$ matlab &
+
+### Parallel Matlab batch job
+
+To run matlab in batch mode, write an matlab script, then write a bash
+jobscript and execute via the qsub command. By default, matlab will
+execute one matlab worker instance per allocated core.
+
+    #!/bin/bash
+    #PBS -A PROJECT ID
+    #PBS -q qprod
+    #PBS -l select=2:ncpus=16:mpiprocs=16:ompthreads=1
+
+    # change to shared scratch directory
+    SCR=/scratch/$USER/$PBS_JOBID
+    mkdir -p $SCR ; cd $SCR || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/matlabcode.m .
+
+    # load modules
+    module load matlab/R2013a-EDU
+    module load impi/4.1.1.036
+
+    # execute the calculation
+    matlab -nodisplay -r matlabcode > output.out
+
+    # copy output file to home
+    cp output.out $PBS_O_WORKDIR/.
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs and matlab script are in matlabcode.m
+file, outputs in output.out file. Note the missing .m extension in the
+matlab -r matlabcodefile call, **the .m must not be included**.  Note
+that the **shared /scratch must be used**. Further, it is **important to
+include quit** statement at the end of the matlabcode.m script.
+
+Submit the jobscript using qsub
+
+    $ qsub ./jobscript
+
+### Parallel Matlab program example
+
+The last part of the configuration is done directly in the user Matlab
+script before Distributed Computing Toolbox is started.
+
+    sched = findResource('scheduler', 'type', 'mpiexec');
+    set(sched, 'MpiexecFileName', '/apps/intel/impi/4.1.1/bin/mpirun');
+    set(sched, 'EnvironmentSetMethod', 'setenv');
+
+This script creates scheduler object "sched" of type "mpiexec" that
+starts workers using mpirun tool. To use correct version of mpirun, the
+second line specifies the path to correct version of system Intel MPI
+library.
+
+Please noteEvery Matlab script that needs to initialize/use matlabpool
+has to contain these three lines prior to calling matlabpool(sched, ...)
+function. 
+
+The last step is to start matlabpool with "sched" object and correct
+number of workers. In this case qsub asked for total number of 32 cores,
+therefore the number of workers is also set to 32.
+
+    matlabpool(sched,32);
+                      
+                     
+    ... parallel code ...
+                     
+                       
+    matlabpool close
+
+The complete example showing how to use Distributed Computing Toolbox is
+show here. 
+
+    sched = findResource('scheduler', 'type', 'mpiexec');
+    set(sched, 'MpiexecFileName', '/apps/intel/impi/4.1.1/bin/mpirun')
+    set(sched, 'EnvironmentSetMethod', 'setenv')
+    set(sched, 'SubmitArguments', '') 
+    sched
+
+    matlabpool(sched,32);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+        
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    T;
+    whos         % T and W are both distributed arrays here.
+
+    matlabpool close
+    quit
+
+You can copy and paste the example in a .m file and execute. Note that
+the matlabpool size should correspond to **total number of cores**
+available on allocated nodes.
+
+### Non-interactive Session and Licenses
+
+If you want to run batch jobs with Matlab, be sure to request
+appropriate license features with the PBS Pro scheduler, at least the "
+-l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More
+information about how to check the license features states and how to
+request them with PBS Pro, please [look
+here](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses).
+
+In case of non-interactive session please read the [following
+information](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses)
+on how to modify the qsub command to test for available licenses prior
+getting the resource allocation.
+
+### Matlab Distributed Computing Engines start up time
+
+Starting Matlab workers is an expensive process that requires certain
+amount of time. For your information please see the following table:
+
+  compute nodes   number of workers   start-up time[s]
+  --------------- ------------------- --------------------
+  16              256                 1008
+  8               128                 534
+  4               64                  333
+  2               32                  210
+
+ 
+
+ 
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md
new file mode 100644
index 0000000000000000000000000000000000000000..3a5d7bb65a43e81201a03da02a886f5450d4543f
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave.md
@@ -0,0 +1,155 @@
+Octave 
+======
+
+
+
+  
+
+Introduction
+------------
+
+GNU Octave is a high-level interpreted language, primarily intended for
+numerical computations. It provides capabilities for the numerical
+solution of linear and nonlinear problems, and for performing other
+numerical experiments. It also provides extensive graphics capabilities
+for data visualization and manipulation. Octave is normally used through
+its interactive command line interface, but it can also be used to write
+non-interactive programs. The Octave language is quite similar to Matlab
+so that most programs are easily portable. Read more on
+<http://www.gnu.org/software/octave/>****
+
+**
+**Two versions of octave are available on Anselm, via module
+
+  Version                                                     module
+  ----------------------------------------------------------- ---------------------------
+  Octave 3.8.2, compiled with GCC and Multithreaded MKL       Octave/3.8.2-gimkl-2.11.5
+  Octave 4.0.1, compiled with GCC and Multithreaded MKL       Octave/4.0.1-gimkl-2.11.5
+  Octave 4.0.0, compiled with <span>GCC and OpenBLAS</span>   Octave/4.0.0-foss-2015g
+
+ Modules and execution
+----------------------
+
+    $ module load Octave
+
+The octave on Anselm is linked to highly optimized MKL mathematical
+library. This provides threaded parallelization to many octave kernels,
+notably the linear algebra subroutines. Octave runs these heavy
+calculation kernels without any penalty. By default, octave would
+parallelize to 16 threads. You may control the threads by setting the
+OMP_NUM_THREADS environment variable.
+
+To run octave interactively, log in with ssh -X parameter for X11
+forwarding. Run octave:
+
+    $ octave
+
+To run octave in batch mode, write an octave script, then write a bash
+jobscript and execute via the qsub command. By default, octave will use
+16 threads when running MKL kernels.
+
+    #!/bin/bash
+
+    # change to local scratch directory
+    cd /lscratch/$PBS_JOBID || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/octcode.m .
+
+    # load octave module
+    module load octave
+
+    # execute the calculation
+    octave -q --eval octcode > output.out
+
+    # copy output file to home
+    cp output.out $PBS_O_WORKDIR/.
+
+    #exit
+    exit
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs are in octcode.m file, outputs in
+output.out file. See the single node jobscript example in the [Job
+execution
+section](http://support.it4i.cz/docs/anselm-cluster-documentation/resource-allocation-and-job-execution).
+
+The octave c compiler mkoctfile calls the GNU gcc 4.8.1 for compiling
+native c code. This is very useful for running native c subroutines in
+octave environment.
+
+    $ mkoctfile -v
+
+Octave may use MPI for interprocess communication
+This functionality is currently not supported on Anselm cluster. In case
+you require the octave interface to MPI, please contact [Anselm
+support](https://support.it4i.cz/rt/).
+
+Xeon Phi Support
+----------------
+
+Octave may take advantage of the Xeon Phi accelerators. This will only
+work on the  [Intel Xeon
+Phi](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi)
+[accelerated
+nodes](https://docs.it4i.cz/anselm-cluster-documentation/compute-nodes).
+
+### Automatic offload support
+
+Octave can accelerate BLAS type operations (in particular the Matrix
+Matrix multiplications] on the Xeon Phi accelerator, via [Automatic
+Offload using the MKL
+library](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi#section-3)
+
+Example
+
+    $ export OFFLOAD_REPORT=2
+    $ export MKL_MIC_ENABLE=1
+    $ module load octave
+    $ octave -q
+    octave:1> A=rand(10000); B=rand(10000);
+    octave:2> tic; C=A*B; toc
+    [MKL] [MIC --] [AO Function]    DGEMM
+    [MKL] [MIC --] [AO DGEMM Workdivision]    0.32 0.68
+    [MKL] [MIC 00] [AO DGEMM CPU Time]    2.896003 seconds
+    [MKL] [MIC 00] [AO DGEMM MIC Time]    1.967384 seconds
+    [MKL] [MIC 00] [AO DGEMM CPU->MIC Data]    1347200000 bytes
+    [MKL] [MIC 00] [AO DGEMM MIC->CPU Data]    2188800000 bytes
+    Elapsed time is 2.93701 seconds.
+
+In this example, the calculation was automatically divided among the CPU
+cores and the Xeon Phi MIC accelerator, reducing the total runtime from
+6.3 secs down to 2.9 secs.
+
+### Native support
+
+A version of
+[native](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-xeon-phi#section-4)
+Octave is compiled for Xeon Phi accelerators. Some limitations apply for
+this version:
+
+-   Only command line support. GUI, graph plotting etc. is
+    not supported.
+-   Command history in interactive mode is not supported.
+
+Octave is linked with parallel Intel MKL, so it best suited for batch
+processing of tasks that utilize BLAS, LAPACK and FFT operations. By
+default, number of threads is set to 120, you can control this
+with <span><span class="monospace">OMP_NUM_THREADS</span> environment
+variable. </span>
+
+Calculations that do not employ parallelism (either by using parallel
+MKL eg. via matrix operations, <span class="monospace">fork()</span>
+function, [parallel
+package](http://octave.sourceforge.net/parallel/) or
+other mechanism) will actually run slower than on host CPU.
+
+<span>To use Octave on a node with Xeon Phi:</span>
+
+    $ ssh mic0                                               # login to the MIC card
+    $ source /apps/tools/octave/3.8.2-mic/bin/octave-env.sh # set up environment variables
+    $ octave -q /apps/tools/octave/3.8.2-mic/example/test0.m # run an example 
+
+<span> </span>
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/package-parallel-vignette b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/package-parallel-vignette
new file mode 100644
index 0000000000000000000000000000000000000000..d33d5a99c6e37258bec707a3d2f0aa4e20f5f4a5
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/package-parallel-vignette differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md
new file mode 100644
index 0000000000000000000000000000000000000000..d45763bfd3339a2a5c7185df0e9499e84ea50714
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r.md
@@ -0,0 +1,450 @@
+R 
+=
+
+
+
+  
+
+Introduction 
+------------
+
+The R is a language and environment for statistical computing and
+graphics.  R provides a wide variety of statistical (linear and
+nonlinear modelling, classical statistical tests, time-series analysis,
+classification, clustering, ...) and graphical techniques, and is highly
+extensible.
+
+
+
+One of R's strengths is the ease with which well-designed
+publication-quality plots can be produced, including mathematical
+symbols and formulae where needed. Great care has been taken over the
+defaults for the minor design choices in graphics, but the user retains
+full control.
+
+Another convenience is the ease with which the C code or third party
+libraries may be integrated within R.
+
+Extensive support for parallel computing is available within R.
+
+Read more on <http://www.r-project.org/>,
+<http://cran.r-project.org/doc/manuals/r-release/R-lang.html>
+
+Modules
+-------
+
+****The R version 3.0.1 is available on Anselm, along with GUI interface
+Rstudio
+
+  Application   Version        module
+  ------------- -------------- ---------
+  **R**         R 3.0.1        R
+  **Rstudio**   Rstudio 0.97   Rstudio
+
+    $ module load R
+
+Execution
+---------
+
+[]()The R on Anselm is linked to highly optimized MKL mathematical
+library. This provides threaded parallelization to many R kernels,
+notably the linear algebra subroutines. The R runs these heavy
+calculation kernels without any penalty. By default, the R would
+parallelize to 16 threads. You may control the threads by setting the
+OMP_NUM_THREADS environment variable.
+
+### Interactive execution
+
+To run R interactively, using Rstudio GUI, log in with ssh -X parameter
+for X11 forwarding. Run rstudio:
+
+    $ module load Rstudio
+    $ rstudio
+
+### Batch execution
+
+To run R in batch mode, write an R script, then write a bash jobscript
+and execute via the qsub command. By default, R will use 16 threads when
+running MKL kernels.
+
+Example jobscript:
+
+    #!/bin/bash
+
+    # change to local scratch directory
+    cd /lscratch/$PBS_JOBID || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/rscript.R .
+
+    # load R module
+    module load R
+
+    # execute the calculation
+    R CMD BATCH rscript.R routput.out
+
+    # copy output file to home
+    cp routput.out $PBS_O_WORKDIR/.
+
+    #exit
+    exit
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs are in rscript.R file, outputs in
+routput.out file. See the single node jobscript example in the [Job
+execution
+section](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution).
+
+Parallel R
+----------
+
+Parallel execution of R may be achieved in many ways. One approach is
+the implied parallelization due to linked libraries or specially enabled
+functions, as [described above](#interactive-execution).
+In the following sections, we focus on explicit parallelization, where 
+parallel constructs are directly stated within the R script.
+
+[]()Package parallel
+--------------------
+
+The package parallel provides support for parallel computation,
+including by forking (taken from package multicore), by sockets (taken
+from package snow) and random-number generation.
+
+The package is activated this way:
+
+    $ R
+    > library(parallel)
+
+More information and examples may be obtained directly by reading the
+documentation available in R
+
+    > ?parallel
+    > library(help = "parallel")
+    > vignette("parallel")
+
+Download the package
+[parallell](https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/package-parallel-vignette)
+vignette.
+
+The forking is the most simple to use. Forking family of functions
+provide parallelized, drop in replacement for the serial apply() family
+of functions.
+
+Forking via package parallel provides functionality similar to OpenMP
+construct
+#omp parallel for
+
+Only cores of single node can be utilized this way!
+
+Forking example:
+
+    library(parallel)
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #initialize
+    size <- detectCores()
+
+    while (TRUE)
+    {
+      #read number of intervals
+      cat("Enter the number of intervals(0 quits) ")
+      fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+
+      if(n<=0) break
+
+      #run the calculation
+      n <- max(n,size)
+      h <-   1.0/n
+
+      i <- seq(1,n);
+      pi3 <- h*sum(simplify2array(mclapply(i,f,h,mc.cores=size)));
+
+      #print results
+      cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+
+The above example is the classic parallel example for calculating the
+number π. Note the **detectCores()** and **mclapply()** functions.
+Execute the example as:
+
+    $ R --slave --no-save --no-restore -f pi3p.R
+
+Every evaluation of the integrad function runs in parallel on different
+process.
+
+Package Rmpi
+------------
+
+package Rmpi provides an interface (wrapper) to MPI APIs.
+
+It also provides interactive R slave environment. On Anselm, Rmpi
+provides interface to the
+[OpenMPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/Running_OpenMPI).
+
+Read more on Rmpi at <http://cran.r-project.org/web/packages/Rmpi/>,
+reference manual is available at
+<http://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf>
+
+When using package Rmpi, both openmpi and R modules must be loaded
+
+    $ module load openmpi
+    $ module load R
+
+Rmpi may be used in three basic ways. The static approach is identical
+to executing any other MPI programm. In addition, there is Rslaves
+dynamic MPI approach and the mpi.apply approach. In the following
+section, we will use the number π integration example, to illustrate all
+these concepts.
+
+### []()static Rmpi
+
+Static Rmpi programs are executed via mpiexec, as any other MPI
+programs. Number of processes is static - given at the launch time.
+
+Static Rmpi example:
+
+    library(Rmpi)
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #initialize
+    invisible(mpi.comm.dup(0,1))
+    rank <- mpi.comm.rank()
+    size <- mpi.comm.size()
+    n<-0
+
+    while (TRUE)
+    {
+      #read number of intervals
+      if (rank==0) {
+       cat("Enter the number of intervals(0 quits) ")
+       fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+      }
+
+      #broadcat the intervals
+      n <- mpi.bcast(as.integer(n),type=1)
+
+      if(n<=0) break
+
+      #run the calculation
+      n <- max(n,size)
+      h <-   1.0/n
+
+      i <- seq(rank+1,n,size);
+      mypi <- h*sum(sapply(i,f,h));
+
+      pi3 <- mpi.reduce(mypi)
+
+      #print results
+      if (rank==0) cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+
+    mpi.quit()
+
+The above is the static MPI example for calculating the number π. Note
+the **library(Rmpi)** and **mpi.comm.dup()** function calls.
+Execute the example as:
+
+    $ mpiexec R --slave --no-save --no-restore -f pi3.R
+
+### dynamic Rmpi
+
+Dynamic Rmpi programs are executed by calling the R directly. openmpi
+module must be still loaded. The R slave processes will be spawned by a
+function call within the Rmpi program.
+
+Dynamic Rmpi example:
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #the worker function
+    workerpi <- function()
+    {
+    #initialize
+    rank <- mpi.comm.rank()
+    size <- mpi.comm.size()
+    n<-0
+
+    while (TRUE)
+    {
+      #read number of intervals
+      if (rank==0) {
+       cat("Enter the number of intervals(0 quits) ")
+       fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+      }
+
+      #broadcat the intervals
+      n <- mpi.bcast(as.integer(n),type=1)
+
+      if(n<=0) break
+
+      #run the calculation
+      n <- max(n,size)
+      h <-   1.0/n
+
+      i <- seq(rank+1,n,size);
+      mypi <- h*sum(sapply(i,f,h));
+
+      pi3 <- mpi.reduce(mypi)
+
+      #print results
+      if (rank==0) cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+    }
+
+    #main
+    library(Rmpi)
+
+    cat("Enter the number of slaves")
+    fp<-file("stdin"); ns<-scan(fp,nmax=1); close(fp)
+
+    mpi.spawn.Rslaves(nslaves=ns)
+    mpi.bcast.Robj2slave(f)
+    mpi.bcast.Robj2slave(workerpi)
+
+    mpi.bcast.cmd(workerpi())
+    workerpi()
+
+
+    mpi.quit()
+
+The above example is the dynamic MPI example for calculating the number
+Ď€. Both master and slave processes carry out the calculation. Note the
+**mpi.spawn.Rslaves(), mpi.bcast.Robj2slave()** and the
+**mpi.bcast.cmd()** function calls.
+Execute the example as:
+
+    $ R --slave --no-save --no-restore -f pi3Rslaves.R
+
+### mpi.apply Rmpi
+
+mpi.apply is a specific way of executing Dynamic Rmpi programs.
+
+mpi.apply() family of functions provide MPI parallelized, drop in
+replacement for the serial apply() family of functions.
+
+Execution is identical to other dynamic Rmpi programs.
+
+mpi.apply Rmpi example:
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #the worker function
+    workerpi <- function(rank,size,n)
+    {
+      #run the calculation
+      n <- max(n,size)
+      h <- 1.0/n
+
+      i <- seq(rank,n,size);
+      mypi <- h*sum(sapply(i,f,h));
+
+      return(mypi)
+    }
+
+    #main
+    library(Rmpi)
+
+    cat("Enter the number of slaves")
+    fp<-file("stdin"); ns<-scan(fp,nmax=1); close(fp)
+
+    mpi.spawn.Rslaves(nslaves=ns)
+    mpi.bcast.Robj2slave(f)
+    mpi.bcast.Robj2slave(workerpi)
+
+    while (TRUE)
+    {
+      #read number of intervals
+      cat("Enter the number of intervals(0 quits) ")
+      fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+      if(n<=0) break
+
+      #run workerpi
+      i=seq(1,2*ns)
+      pi3=sum(mpi.parSapply(i,workerpi,2*ns,n))
+
+      #print results
+      cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+
+    mpi.quit()
+
+The above is the mpi.apply MPI example for calculating the number π.
+Only the slave processes carry out the calculation. Note the
+**mpi.parSapply(), ** function call. The package <span
+class="anchor-link">parallel
+[example](#package-parallel)</span>[above](#package-parallel)
+may be trivially adapted (for much better performance) to this structure
+using the mclapply() in place of mpi.parSapply().
+
+Execute the example as:
+
+    $ R --slave --no-save --no-restore -f pi3parSapply.R
+
+Combining parallel and Rmpi
+---------------------------
+
+Currently, the two packages can not be combined for hybrid calculations.
+
+Parallel execution
+------------------
+
+The R parallel jobs are executed via the PBS queue system exactly as any
+other parallel jobs. User must create an appropriate jobscript and
+submit via the **qsub**
+
+Example jobscript for [static Rmpi](#static-rmpi) parallel
+R execution, running 1 process per core:
+
+    #!/bin/bash
+    #PBS -q qprod
+    #PBS -N Rjob
+    #PBS -l select=100:ncpus=16:mpiprocs=16:ompthreads=1
+
+    # change to  scratch directory
+    SCRDIR=/scratch/$USER/myjob
+    cd $SCRDIR || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/rscript.R .
+
+    # load R and openmpi module
+    module load R
+    module load openmpi
+
+    # execute the calculation
+    mpiexec -bycore -bind-to-core R --slave --no-save --no-restore -f rscript.R
+
+    # copy output file to home
+    cp routput.out $PBS_O_WORKDIR/.
+
+    #exit
+    exit
+
+For more information about jobscripts and MPI execution refer to the
+[Job
+submission](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)
+and general
+[MPI](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1)
+sections.
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries.md
new file mode 100644
index 0000000000000000000000000000000000000000..b28b04f643122b019e912540f228c8ed20be9eeb
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md
new file mode 100644
index 0000000000000000000000000000000000000000..02e6c0b76d0fcaa51d041474265fc4e4e00c7c7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/fftw.md
@@ -0,0 +1,155 @@
+FFTW 
+====
+
+The discrete Fourier transform in one or more dimensions, MPI parallel
+
+
+  
+
+ 
+
+FFTW is a C subroutine library for computing the discrete Fourier
+transform  in one or more dimensions, of arbitrary input size, and of
+both real and complex data (as well as of even/odd data, i.e. the
+discrete cosine/sine transforms or DCT/DST). The FFTW library allows for
+MPI parallel, in-place discrete Fourier transform, with data distributed
+over number of nodes.****
+
+**
+**Two versions, **3.3.3** and **2.1.5** of FFTW are available on Anselm,
+each compiled for **Intel MPI** and **OpenMPI** using **intel** and
+**gnu** compilers. These are available via modules:
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Version</th>
+<th align="left">Parallelization</th>
+<th align="left">module</th>
+<th align="left">linker options</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">FFTW3 gcc<br />
+3.3.3</td>
+<td align="left">pthread, OpenMP</td>
+<td align="left">fftw3/3.3.3-gcc</td>
+<td align="left">-lfftw3, -lfftw3_threads<br />
+-lfftw3_omp</td>
+</tr>
+<tr class="even">
+<td align="left"><p>FFTW3 icc<br />
+3.3.3</p></td>
+<td align="left">pthread, OpenMP</td>
+<td align="left">fftw3</td>
+<td align="left">-lfftw3, -lfftw3_threads<br />
+-lfftw3_omp</td>
+</tr>
+<tr class="odd">
+<td align="left"><p>FFTW2 gcc<br />
+2.1.5</p></td>
+<td align="left">pthread</td>
+<td align="left">fftw2/2.1.5-gcc</td>
+<td align="left">-lfftw, -lfftw_threads</td>
+</tr>
+<tr class="even">
+<td align="left">FFTW2 icc<br />
+2.1.5</td>
+<td align="left">pthread</td>
+<td align="left">fftw2</td>
+<td align="left">-lfftw, -lfftw_threads</td>
+</tr>
+<tr class="odd">
+<td align="left">FFTW3 gcc<br />
+3.3.3</td>
+<td align="left">OpenMPI</td>
+<td align="left">fftw-mpi3/3.3.3-gcc</td>
+<td align="left">-lfftw3_mpi</td>
+</tr>
+<tr class="even">
+<td align="left">FFTW3 icc<br />
+3.3.3</td>
+<td align="left">Intel MPI</td>
+<td align="left">fftw3-mpi</td>
+<td align="left">-lfftw3_mpi</td>
+</tr>
+<tr class="odd">
+<td align="left">FFTW2 gcc<br />
+2.1.5</td>
+<td align="left">OpenMPI</td>
+<td align="left">fftw2-mpi/2.1.5-gcc</td>
+<td align="left">-lfftw_mpi</td>
+</tr>
+<tr class="even">
+<td align="left">FFTW2 gcc<br />
+2.1.5</td>
+<td align="left">IntelMPI</td>
+<td align="left">fftw2-mpi/2.1.5-gcc</td>
+<td align="left">-lfftw_mpi</td>
+</tr>
+</tbody>
+</table>
+
+    $ module load fftw3
+
+The module sets up environment variables, required for linking and
+running fftw enabled applications. Make sure that the choice of fftw
+module is consistent with your choice of MPI library. Mixing MPI of
+different implementations may have unpredictable results.
+
+Example
+-------
+
+    #include <fftw3-mpi.h>
+    int main(int argc, char **argv)
+    {
+        const ptrdiff_t N0 = 100, N1 = 1000;
+        fftw_plan plan;
+        fftw_complex *data;
+        ptrdiff_t alloc_local, local_n0, local_0_start, i, j;
+
+        MPI_Init(&argc, &argv);
+        fftw_mpi_init();
+
+        /* get local data size and allocate */
+        alloc_local = fftw_mpi_local_size_2d(N0, N1, MPI_COMM_WORLD,
+                                             &local_n0, &local_0_start);
+        data = fftw_alloc_complex(alloc_local);
+
+        /* create plan for in-place forward DFT */
+        plan = fftw_mpi_plan_dft_2d(N0, N1, data, data, MPI_COMM_WORLD,
+                                    FFTW_FORWARD, FFTW_ESTIMATE);
+
+        /* initialize data  */
+        for (i = 0; i < local_n0; ++i) for (j = 0; j < N1; ++j)
+        {   data[i*N1 + j][0] = i;
+            data[i*N1 + j][1] = j; }
+
+        /* compute transforms, in-place, as many times as desired */
+        fftw_execute(plan);
+
+        fftw_destroy_plan(plan);
+
+        MPI_Finalize();
+    }
+
+Load modules and compile:
+
+    $ module load impi intel
+    $ module load fftw3-mpi
+
+    $ mpicc testfftw3mpi.c -o testfftw3mpi.x -Wl,-rpath=$LIBRARY_PATH -lfftw3_mpi
+
+<span class="internal-link">Run the example as [Intel MPI
+program](https://docs.it4i.cz/anselm-cluster-documentation/software/mpi-1/running-mpich2)</span>.
+
+Read more on FFTW usage on the [FFTW
+website.](http://www.fftw.org/fftw3_doc/)
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md
new file mode 100644
index 0000000000000000000000000000000000000000..18847a38b34f42ff775df06d876e9a743d4f47a7
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/gsl.md
@@ -0,0 +1,166 @@
+GSL 
+===
+
+The GNU Scientific Library. Provides a wide range of mathematical
+routines.
+
+
+  
+
+Introduction
+------------
+
+The GNU Scientific Library (GSL) provides a wide range of mathematical
+routines such as random number generators, special functions and
+least-squares fitting. There are over 1000 functions in total. The
+routines have been written from scratch in C, and present a modern
+Applications Programming Interface (API) for C programmers, allowing
+wrappers to be written for very high level languages.
+
+The library covers a wide range of topics in numerical computing.
+Routines are available for the following areas:
+
+  ------------------------ ------------------------ ------------------------
+                           Complex Numbers          Roots of Polynomials
+
+                           Special Functions        Vectors and Matrices
+
+                           Permutations             Combinations
+
+                           Sorting                  BLAS Support
+
+                           Linear Algebra           CBLAS Library
+
+                           Fast Fourier Transforms  Eigensystems
+
+                           Random Numbers           Quadrature
+
+                           Random Distributions     Quasi-Random Sequences
+
+                           Histograms               Statistics
+
+                           Monte Carlo Integration  N-Tuples
+
+                           Differential Equations   Simulated Annealing
+
+                           Numerical                Interpolation
+                           Differentiation          
+
+                           Series Acceleration      Chebyshev Approximations
+
+                           Root-Finding             Discrete Hankel
+                                                    Transforms
+
+                           Least-Squares Fitting    Minimization
+
+                           IEEE Floating-Point      Physical Constants
+
+                           Basis Splines            Wavelets
+  ------------------------ ------------------------ ------------------------
+
+Modules
+-------
+
+The GSL 1.16 is available on Anselm, compiled for GNU and Intel
+compiler. These variants are available via modules:
+
+  Module                  Compiler
+  ----------------------- -----------
+  gsl/1.16-gcc            gcc 4.8.6
+  gsl/1.16-icc(default)   icc
+
+     $ module load gsl
+
+The module sets up environment variables, required for linking and
+running GSL enabled applications. This particular command loads the
+default module, which is gsl/1.16-icc
+
+Linking
+-------
+
+Load an appropriate gsl module. Link using **-lgsl** switch to link your
+code against GSL. The GSL depends on cblas API to BLAS library, which
+must be supplied for linking. The BLAS may be provided, for example from
+the MKL library, as well as from the BLAS GSL library (-lgslcblas).
+Using the MKL is recommended.
+
+### Compiling and linking with Intel compilers
+
+    $ module load intel
+    $ module load gsl
+    $ icc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -mkl -lgsl
+
+### Compiling and linking with GNU compilers
+
+    $ module load gcc
+    $ module load mkl
+    $ module load gsl/1.16-gcc
+    $ gcc myprog.c -o myprog.x -Wl,-rpath=$LIBRARY_PATH -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lgsl
+
+Example
+-------
+
+Following is an example of discrete wavelet transform implemented by
+GSL:
+
+    #include <stdio.h>
+    #include <math.h>
+    #include <gsl/gsl_sort.h>
+    #include <gsl/gsl_wavelet.h>
+
+    int
+    main (int argc, char **argv)
+    {
+      int i, n = 256, nc = 20;
+      double *data = malloc (n * sizeof (double));
+      double *abscoeff = malloc (n * sizeof (double));
+      size_t *p = malloc (n * sizeof (size_t));
+
+      gsl_wavelet *w;
+      gsl_wavelet_workspace *work;
+
+      w = gsl_wavelet_alloc (gsl_wavelet_daubechies, 4);
+      work = gsl_wavelet_workspace_alloc (n);
+
+      for (i=0; i<n; i++)
+      data[i] = sin (3.141592654*(double)i/256.0);
+
+      gsl_wavelet_transform_forward (w, data, 1, n, work);
+
+      for (i = 0; i < n; i++)
+        {
+          abscoeff[i] = fabs (data[i]);
+        }
+      
+      gsl_sort_index (p, abscoeff, 1, n);
+      
+      for (i = 0; (i + nc) < n; i++)
+        data[p[i]] = 0;
+      
+      gsl_wavelet_transform_inverse (w, data, 1, n, work);
+      
+      for (i = 0; i < n; i++)
+        {
+          printf ("%gn", data[i]);
+        }
+      
+      gsl_wavelet_free (w);
+      gsl_wavelet_workspace_free (work);
+
+      free (data);
+      free (abscoeff);
+      free (p);
+      return 0;
+    }
+
+Load modules and compile:
+
+    $ module load intel gsl
+    icc dwt.c -o dwt.x -Wl,-rpath=$LIBRARY_PATH -mkl -lgsl
+
+In this example, we compile the dwt.c code using the Intel compiler and
+link it to the MKL and GSL library, note the -mkl and -lgsl options. The
+library search path is compiled in, so that no modules are necessary to
+run the code.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md
new file mode 100644
index 0000000000000000000000000000000000000000..219272535bb048b7b339568cff0f31862b3081d3
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/hdf5.md
@@ -0,0 +1,192 @@
+HDF5 
+====
+
+Hierarchical Data Format library. Serial and MPI parallel version.
+ 
+
+[HDF5 (Hierarchical Data Format)](http://www.hdfgroup.org/HDF5/) is a
+general purpose library and file format for storing scientific data.
+HDF5 can store two primary objectsdatasets and groups. A dataset is
+essentially a multidimensional array of data elements, and a group is a
+structure for organizing objects in an HDF5 file. Using these two basic
+objects, one can create and store almost any kind of scientific data
+structure, such as images, arrays of vectors, and structured and
+unstructured grids. You can also mix and match them in HDF5 files
+according to your needs.
+
+Versions **1.8.11** and **1.8.13** of HDF5 library are available on
+Anselm, compiled for **Intel MPI** and **OpenMPI** using **intel** and
+**gnu** compilers. These are available via modules:
+
+<table style="width:100%;">
+<colgroup>
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Version</th>
+<th align="left">Parallelization</th>
+<th align="left">module</th>
+<th align="left">C linker options</th>
+<th align="left">C++ linker options</th>
+<th align="left">Fortran linker options</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">HDF5 icc serial</td>
+<td align="left">pthread</td>
+<td align="left">hdf5/1.8.11</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">$HDF5_INC $HDF5_CPP_LIB</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+<tr class="even">
+<td align="left"><p>HDF5 icc parallel MPI</p></td>
+<td align="left">pthread, IntelMPI</td>
+<td align="left">hdf5-parallel/1.8.11</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">Not supported</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+<tr class="odd">
+<td align="left">HDF5 icc serial</td>
+<td align="left">pthread</td>
+<td align="left">hdf5/1.8.13</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">$HDF5_INC $HDF5_CPP_LIB</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+<tr class="even">
+<td align="left"><p>HDF5 icc parallel MPI</p></td>
+<td align="left">pthread, IntelMPI</td>
+<td align="left">hdf5-parallel/1.8.13</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">Not supported</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+<tr class="odd">
+<td align="left"><p>HDF5 gcc parallel MPI</p></td>
+<td align="left">pthread, OpenMPI 1.6.5, gcc 4.8.1</td>
+<td align="left">hdf5-parallel/1.8.11-gcc</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">Not supported</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+<tr class="even">
+<td align="left"><p>HDF5 gcc parallel MPI</p></td>
+<td align="left">pthread, OpenMPI 1.6.5, gcc 4.8.1</td>
+<td align="left">hdf5-parallel/1.8.13-gcc</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">Not supported</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+<tr class="odd">
+<td align="left"><p>HDF5 gcc parallel MPI</p></td>
+<td align="left">pthread, OpenMPI 1.8.1, gcc 4.9.0</td>
+<td align="left">hdf5-parallel/1.8.13-gcc49</td>
+<td align="left">$HDF5_INC $HDF5_SHLIB</td>
+<td align="left">Not supported</td>
+<td align="left">$HDF5_INC $HDF5_F90_LIB</td>
+</tr>
+</tbody>
+</table>
+
+ 
+
+    $ module load hdf5-parallel
+
+The module sets up environment variables, required for linking and
+running HDF5 enabled applications. Make sure that the choice of HDF5
+module is consistent with your choice of MPI library. Mixing MPI of
+different implementations may have unpredictable results.
+
+Be aware, that GCC version of **HDF5 1.8.11** has serious performance
+issues, since it's compiled with -O0 optimization flag. This version is
+provided only for testing of code compiled only by GCC and IS NOT
+recommended for production computations. For more informations, please
+see:
+<http://www.hdfgroup.org/ftp/HDF5/prev-releases/ReleaseFiles/release5-1811>
+All GCC versions of **HDF5 1.8.13** are not affected by the bug, are
+compiled with -O3 optimizations and are recommended for production
+computations.
+
+Example
+-------
+
+    #include "hdf5.h"
+    #define FILE "dset.h5"
+
+    int main() {
+
+       hid_t       file_id, dataset_id, dataspace_id;  /* identifiers */
+       hsize_t     dims[2];
+       herr_t      status;
+       int         i, j, dset_data[4][6];
+
+       /* Create a new file using default properties. */
+       file_id = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
+
+       /* Create the data space for the dataset. */
+       dims[0] = 4;
+       dims[1] = 6;
+       dataspace_id = H5Screate_simple(2, dims, NULL);
+
+       /* Initialize the dataset. */
+       for (i = 0; i < 4; i++)
+          for (j = 0; j < 6; j++)
+             dset_data[i][j] = i * 6 + j + 1;
+
+
+       /* Create the dataset. */
+       dataset_id = H5Dcreate2(file_id, "/dset", H5T_STD_I32BE, dataspace_id,
+                              H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+
+       /* Write the dataset. */
+       status = H5Dwrite(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+                         dset_data);
+
+       status = H5Dread(dataset_id, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT,
+                        dset_data);
+
+       /* End access to the dataset and release resources used by it. */
+       status = H5Dclose(dataset_id);
+
+       /* Terminate access to the data space. */
+       status = H5Sclose(dataspace_id);
+
+       /* Close the file. */
+       status = H5Fclose(file_id);
+    }
+
+Load modules and compile:
+
+    $ module load intel impi
+    $ module load hdf5-parallel
+
+    $ mpicc hdf5test.c -o hdf5test.x -Wl,-rpath=$LIBRARY_PATH $HDF5_INC $HDF5_SHLIB
+
+<span class="internal-link">Run the example as [Intel MPI
+program](https://docs.it4i.cz/anselm-cluster-documentation/software/anselm-cluster-documentation/software/mpi-1/running-mpich2)</span>.
+
+For further informations, please see the website:
+<http://www.hdfgroup.org/HDF5/>
+
+ 
+
+ 
+
+ 
+
+<span
+class="smarterwiki-popup-bubble smarterwiki-popup-bubble-active smarterwiki-popup-bubble-flipped"><span
+class="smarterwiki-popup-bubble-tip"></span><span
+class="smarterwiki-popup-bubble-body"><span
+class="smarterwiki-popup-bubble-links-container"><span
+class="smarterwiki-popup-bubble-links"><span
+class="smarterwiki-popup-bubble-links-row">[![](https://smarterfox.com/media/smarterwiki/google-maps.png){.smarterwiki-popup-bubble-link-favicon}](http://maps.google.com/maps?q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB "Search Google Maps"){.smarterwiki-popup-bubble-link}[![](https://www.google.com/favicon.ico){.smarterwiki-popup-bubble-link-favicon}](http://www.google.com/search?q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB "Search Google"){.smarterwiki-popup-bubble-link}[](http://www.google.com/search?hl=com&btnI=I'm+Feeling+Lucky&q=HDF5%20icc%20serial%09pthread%09hdf5%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09%24HDF5_INC%20%24HDF5_CPP_LIB%09%24HDF5_INC%20%24HDF5_F90_LIB%0A%0AHDF5%20icc%20parallel%20MPI%0A%09pthread%2C%20IntelMPI%09hdf5-parallel%2F1.8.13%09%24HDF5_INC%20%24HDF5_SHLIB%09Not%20supported%09%24HDF5_INC%20%24HDF5_F90_LIB+wikipedia "Search Wikipedia"){.smarterwiki-popup-bubble-link}</span></span></span></span></span>
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md
new file mode 100644
index 0000000000000000000000000000000000000000..8c4e6e52362456db0071b26c1b82423ab75fd359
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/intel-numerical-libraries.md
@@ -0,0 +1,60 @@
+Intel numerical libraries 
+=========================
+
+Intel libraries for high performance in numerical computing
+
+
+  
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL unites and provides these basic componentsBLAS, LAPACK,
+ScaLapack, PARDISO, FFT, VML, VSL, Data fitting, Feast Eigensolver and
+many more.
+
+    $ module load mkl
+
+Read more at the [Intel
+MKL](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-mkl)
+page.
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+is available, via module ipp. The IPP is a library of highly optimized
+algorithmic building blocks for media and data applications. This
+includes signal, image and frame processing algorithms, such as FFT,
+FIR, Convolution, Optical Flow, Hough transform, Sum, MinMax and many
+more.
+
+    $ module load ipp
+
+Read more at the [Intel
+IPP](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-integrated-performance-primitives)
+page.
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers. It is designed to promote
+scalable data parallel programming. Additionally, it fully supports
+nested parallelism, so you can build larger parallel components from
+smaller parallel components. To use the library, you specify tasks, not
+threads, and let the library map tasks onto threads in an efficient
+manner.
+
+    $ module load tbb
+
+Read more at the [Intel
+TBB](https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-tbb)
+page.
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md
new file mode 100644
index 0000000000000000000000000000000000000000..e204598ad0120370ea68aaf103fa888892fe1fb4
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/magma-for-intel-xeon-phi.md
@@ -0,0 +1,92 @@
+MAGMA for Intel Xeon Phi 
+========================
+
+Next generation dense algebra library for heterogeneous systems with
+accelerators
+### Compiling and linking with MAGMA
+
+To be able to compile and link code with MAGMA library user has to load
+following module:
+
+    $ module load magma/1.3.0-mic
+
+To make compilation more user friendly module also sets these two
+environment variables:
+
+MAGMA_INC - contains paths to the MAGMA header files (to be used for
+compilation step)
+
+MAGMA_LIBS - contains paths to MAGMA libraries (to be used for linking
+step).   
+
+Compilation example:
+
+    $ icc -mkl -O3 -DHAVE_MIC -DADD_ -Wall $MAGMA_INC -c testing_dgetrf_mic.cpp -o testing_dgetrf_mic.o
+
+    $ icc -mkl -O3 -DHAVE_MIC -DADD_ -Wall -fPIC -Xlinker -zmuldefs -Wall -DNOCHANGE -DHOST  testing_dgetrf_mic.o  -o testing_dgetrf_mic $MAGMA_LIBS
+
+ 
+
+### Running MAGMA code
+
+MAGMA implementation for Intel MIC requires a MAGMA server running on
+accelerator prior to executing the user application. The server can be
+started and stopped using following scripts:
+
+To start MAGMA server use:
+**$MAGMAROOT/start_magma_server**
+
+To stop the server use:
+**$MAGMAROOT/stop_magma_server**
+
+For deeper understanding how the MAGMA server is started, see the
+following script:
+**$MAGMAROOT/launch_anselm_from_mic.sh**
+
+To test if the MAGMA server runs properly we can run one of examples
+that are part of the MAGMA installation:
+
+    [user@cn204 ~]$ $MAGMAROOT/testing/testing_dgetrf_mic
+
+    [user@cn204 ~]$ export OMP_NUM_THREADS=16
+
+    [lriha@cn204 ~]$ $MAGMAROOT/testing/testing_dgetrf_mic
+    Usage/apps/libs/magma-mic/magmamic-1.3.0/testing/testing_dgetrf_mic [options] [-h|--help]
+
+      M     N     CPU GFlop/s (sec)   MAGMA GFlop/s (sec)   ||PA-LU||/(||A||*N)
+    =========================================================================
+     1088  1088     ---   (  ---  )     13.93 (   0.06)     ---
+     2112  2112     ---   (  ---  )     77.85 (   0.08)     ---
+     3136  3136     ---   (  ---  )    183.21 (   0.11)     ---
+     4160  4160     ---   (  ---  )    227.52 (   0.21)     ---
+     5184  5184     ---   (  ---  )    258.61 (   0.36)     ---
+     6208  6208     ---   (  ---  )    333.12 (   0.48)     ---
+     7232  7232     ---   (  ---  )    416.52 (   0.61)     ---
+     8256  8256     ---   (  ---  )    446.97 (   0.84)     ---
+     9280  9280     ---   (  ---  )    461.15 (   1.16)     ---
+    10304 10304     ---   (  ---  )    500.70 (   1.46)     ---
+
+ 
+
+Please noteMAGMA contains several benchmarks and examples that can be
+found in:
+**$MAGMAROOT/testing/**
+
+MAGMA relies on the performance of all CPU cores as well as on the
+performance of the accelerator. Therefore on Anselm number of CPU OpenMP
+threads has to be set to 16 **
+export OMP_NUM_THREADS=16**
+
+ 
+
+See more details at [MAGMA home
+page](http://icl.cs.utk.edu/magma/).
+
+References
+----------
+
+[1] MAGMA MICLinear Algebra Library for Intel Xeon Phi Coprocessors,
+Jack Dongarra et. al, 
+[http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf
+](http://icl.utk.edu/projectsfiles/magma/pubs/24-MAGMA_MIC_03.pdf)
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md
new file mode 100644
index 0000000000000000000000000000000000000000..2441fd2bb02fa04fb473cd9b8f87974fe835f099
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/petsc.md
@@ -0,0 +1,106 @@
+PETSc 
+=====
+
+PETSc is a suite of building blocks for the scalable solution of
+scientific and engineering applications modelled by partial differential
+equations. It supports MPI, shared memory, and GPUs through CUDA or
+OpenCL, as well as hybrid MPI-shared memory or MPI-GPU parallelism.
+
+
+  
+
+Introduction
+------------
+
+PETSc (Portable, Extensible Toolkit for Scientific Computation) is a
+suite of building blocks (data structures and routines) for the scalable
+solution of scientific and engineering applications modelled by partial
+differential equations. It allows thinking in terms of high-level
+objects (matrices) instead of low-level objects (raw arrays). Written in
+C language but can also be called from FORTRAN, C++, Python and Java
+codes. It supports MPI, shared memory, and GPUs through CUDA or OpenCL,
+as well as hybrid MPI-shared memory or MPI-GPU parallelism.
+
+Resources
+---------
+
+-   [project webpage](http://www.mcs.anl.gov/petsc/)
+-   [documentation](http://www.mcs.anl.gov/petsc/documentation/)
+    -   [PETSc Users
+        Manual (PDF)](http://www.mcs.anl.gov/petsc/petsc-current/docs/manual.pdf)
+    -   [index of all manual
+        pages](http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/singleindex.html)
+-   PRACE Video Tutorial [part
+    1](http://www.youtube.com/watch?v=asVaFg1NDqY), [part
+    2](http://www.youtube.com/watch?v=ubp_cSibb9I), [part
+    3](http://www.youtube.com/watch?v=vJAAAQv-aaw), [part
+    4](http://www.youtube.com/watch?v=BKVlqWNh8jY), [part
+    5](http://www.youtube.com/watch?v=iXkbLEBFjlM)
+
+Modules
+-------
+
+You can start using PETSc on Anselm by loading the PETSc module. Module
+names obey this pattern:
+
+    # module load petsc/version-compiler-mpi-blas-variant, e.g.
+      module load petsc/3.4.4-icc-impi-mkl-opt
+
+where `variant` is replaced by one of
+``. The `opt` variant is compiled
+without debugging information (no `-g` option) and with aggressive
+compiler optimizations (`-O3 -xAVX`). This variant is suitable for
+performance measurements and production runs. In all other cases use the
+debug (`dbg`) variant, because it contains debugging information,
+performs validations and self-checks, and provides a clear stack trace
+and message in case of an error. The other two variants `threads-dbg`
+and `threads-opt` are `dbg` and `opt`, respectively, built with [OpenMP
+and pthreads threading
+support](http://www.mcs.anl.gov/petsc/features/threads.html).
+
+External libraries
+------------------
+
+PETSc needs at least MPI, BLAS and LAPACK. These dependencies are
+currently satisfied with Intel MPI and Intel MKL in Anselm `petsc`
+modules.
+
+PETSc can be linked with a plethora of [external numerical
+libraries](http://www.mcs.anl.gov/petsc/miscellaneous/external.html),
+extending PETSc functionality, e.g. direct linear system solvers,
+preconditioners or partitioners. See below a list of libraries currently
+included in Anselm `petsc` modules.
+
+All these libraries can be used also alone, without PETSc. Their static
+or shared program libraries are available in
+`$PETSC_DIR/$PETSC_ARCH/lib` and header files in
+`$PETSC_DIR/$PETSC_ARCH/include`. `PETSC_DIR` and `PETSC_ARCH` are
+environment variables pointing to a specific PETSc instance based on the
+petsc module loaded.
+
+### Libraries linked to PETSc on Anselm (as of 11 April 2015)
+
+-   dense linear algebra
+    -   [Elemental](http://libelemental.org/)
+-   sparse linear system solvers
+    -   [Intel MKL
+        Pardiso](https://software.intel.com/en-us/node/470282)
+    -   [MUMPS](http://mumps.enseeiht.fr/)
+    -   [PaStiX](http://pastix.gforge.inria.fr/)
+    -   [SuiteSparse](http://faculty.cse.tamu.edu/davis/suitesparse.html)
+    -   [SuperLU](http://crd.lbl.gov/~xiaoye/SuperLU/#superlu)
+    -   [SuperLU_Dist](http://crd.lbl.gov/~xiaoye/SuperLU/#superlu_dist)
+-   input/output
+    -   [ExodusII](http://sourceforge.net/projects/exodusii/)
+    -   [HDF5](http://www.hdfgroup.org/HDF5/)
+    -   [NetCDF](http://www.unidata.ucar.edu/software/netcdf/)
+-   partitioning
+    -   [Chaco](http://www.cs.sandia.gov/CRF/chac.html)
+    -   [METIS](http://glaros.dtc.umn.edu/gkhome/metis/metis/overview)
+    -   [ParMETIS](http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview)
+    -   [PT-Scotch](http://www.labri.fr/perso/pelegrin/scotch/)
+-   preconditioners & multigrid
+    -   [Hypre](http://acts.nersc.gov/hypre/)
+    -   [Trilinos ML](http://trilinos.sandia.gov/packages/ml/)
+    -   [SPAI - Sparse Approximate
+        Inverse](https://bitbucket.org/petsc/pkg-spai)
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md
new file mode 100644
index 0000000000000000000000000000000000000000..ce966e34b8099af11cef51ddbbbd344184ea5e24
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/numerical-libraries/trilinos.md
@@ -0,0 +1,76 @@
+Trilinos 
+========
+
+Packages for large scale scientific and engineering problems. Provides
+MPI and hybrid parallelization.
+### Introduction
+
+Trilinos is a collection of software packages for the numerical solution
+of large scale scientific and engineering problems. It is based on C++
+and feautures modern object-oriented design. Both serial as well as
+parallel computations based on MPI and hybrid parallelization are
+supported within Trilinos packages.
+
+### Installed packages
+
+Current Trilinos installation on ANSELM contains (among others) the
+following main packages
+
+-   **Epetra** - core linear algebra package containing classes for
+    manipulation with serial and distributed vectors, matrices,
+    and graphs. Dense linear solvers are supported via interface to BLAS
+    and LAPACK (Intel MKL on ANSELM). Its extension **EpetraExt**
+    contains e.g. methods for matrix-matrix multiplication.
+-   **Tpetra** - next-generation linear algebra package. Supports 64bit
+    indexing and arbitrary data type using C++ templates.
+-   **Belos** - library of various iterative solvers (CG, block CG,
+    GMRES, block GMRES etc.).
+-   **Amesos** - interface to direct sparse solvers.
+-   **Anasazi** - framework for large-scale eigenvalue algorithms.
+-   **IFPACK** - distributed algebraic preconditioner (includes e.g.
+    incomplete LU factorization)
+-   **Teuchos** - common tools packages. This package contains classes
+    for memory management, output, performance monitoring, BLAS and
+    LAPACK wrappers etc.
+
+For the full list of Trilinos packages, descriptions of their
+capabilities, and user manuals see
+[http://trilinos.sandia.gov.](http://trilinos.sandia.gov)
+
+### Installed version
+
+Currently, Trilinos in version 11.2.3 compiled with Intel Compiler is
+installed on ANSELM.
+
+### Compilling against Trilinos
+
+First, load the appropriate module:
+
+    $ module load trilinos
+
+For the compilation of CMake-aware project, Trilinos provides the
+FIND_PACKAGE( Trilinos ) capability, which makes it easy to build
+against Trilinos, including linking against the correct list of
+libraries. For details, see
+<http://trilinos.sandia.gov/Finding_Trilinos.txt>
+
+For compiling using simple makefiles, Trilinos provides Makefile.export
+system, which allows users to include important Trilinos variables
+directly into their makefiles. This can be done simply by inserting the
+following line into the makefile:
+
+    include Makefile.export.Trilinos
+
+or
+
+    include Makefile.export.<package>
+
+if you are interested only in a specific Trilinos package. This will
+give you access to the variables such as Trilinos_CXX_COMPILER,
+Trilinos_INCLUDE_DIRS, Trilinos_LIBRARY_DIRS etc. For the detailed
+description and example makefile see
+<http://trilinos.sandia.gov/Export_Makefile.txt>.
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md b/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md
new file mode 100644
index 0000000000000000000000000000000000000000..06b77238f6a958306e54fb4d591d224f1c07f65a
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda.md
@@ -0,0 +1,317 @@
+nVidia CUDA 
+===========
+
+A guide to nVidia CUDA programming and GPU usage
+
+
+  
+
+CUDA Programming on Anselm
+--------------------------
+
+The default programming model for GPU accelerators on Anselm is Nvidia
+CUDA. To set up the environment for CUDA use
+
+    $ module load cuda
+
+If the user code is hybrid and uses both CUDA and MPI, the MPI
+environment has to be set up as well. One way to do this is to use
+the PrgEnv-gnu module, which sets up correct combination of GNU compiler
+and MPI library.
+
+    $ module load PrgEnv-gnu
+
+CUDA code can be compiled directly on login1 or login2 nodes. User does
+not have to use compute nodes with GPU accelerator for compilation. To
+compile a CUDA source code, use nvcc compiler.
+
+    $ nvcc --version
+
+<span>CUDA Toolkit comes with large number of examples, that can be
+helpful to start with. To compile and test these examples user should
+copy them to its home directory </span>
+
+    $ cd ~
+    $ mkdir cuda-samples
+    $ cp -R /apps/nvidia/cuda/6.5.14/samples/* ~/cuda-samples/
+
+To compile an examples, change directory to the particular example (here
+the example used is deviceQuery) and run "make" to start the compilation
+
+    $ cd ~/cuda-samples/1_Utilities/deviceQuery
+    $ make 
+
+To run the code user can use PBS interactive session to get access to a
+node from qnvidia queue (noteuse your project name with parameter -A
+in the qsub command) and execute the binary file
+
+    $ qsub -I -q qnvidia -A OPEN-0-0
+    $ module load cuda
+    $ ~/cuda-samples/1_Utilities/deviceQuery/deviceQuery
+
+Expected output of the deviceQuery example executed on a node with Tesla
+K20m is
+
+    CUDA Device Query (Runtime API) version (CUDART static linking)
+
+    Detected 1 CUDA Capable device(s)
+
+    Device 0"Tesla K20m"
+    CUDA Driver Version / Runtime Version 5.0 / 5.0
+    CUDA Capability Major/Minor version number3.5
+    Total amount of global memory4800 MBytes (5032706048 bytes)
+    (13) Multiprocessors x (192) CUDA Cores/MP2496 CUDA Cores
+    GPU Clock rate706 MHz (0.71 GHz)
+    Memory Clock rate2600 Mhz 
+    Memory Bus Width320-bit
+    L2 Cache Size1310720 bytes
+    Max Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536,65536), 3D=(4096,4096,4096)
+    Max Layered Texture Size (dim) x layers 1D=(16384) x 2048, 2D=(16384,16384) x 2048
+    Total amount of constant memory65536 bytes 
+    Total amount of shared memory per block49152 bytes
+    Total number of registers available per block65536
+    Warp size32
+    Maximum number of threads per multiprocessor2048
+    Maximum number of threads per block1024 
+    Maximum sizes of each dimension of a block1024 x 1024 x 64
+    Maximum sizes of each dimension of a grid2147483647 x 65535 x 65535
+    Maximum memory pitch2147483647 bytes
+    Texture alignment512 bytes
+    Concurrent copy and kernel executionYes with 2 copy engine(s)
+    Run time limit on kernelsNo
+    Integrated GPU sharing Host MemoryNo
+    Support host page-locked memory mappingYes
+    Alignment requirement for SurfacesYes 
+    Device has ECC supportEnabled 
+    Device supports Unified Addressing (UVA)Yes
+    Device PCI Bus ID / PCI location ID2 / 0
+    Compute Mode: 
+    < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > 
+    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.0, CUDA Runtime Version = 5.0, NumDevs = 1, Device0 = Tesla K20m 
+
+### Code example
+
+In this section we provide a basic CUDA based vector addition code
+example. You can directly copy and paste the code to test it. 
+
+    $ vim test.cu
+
+    #define N (2048*2048)
+    #define THREADS_PER_BLOCK 512
+
+    #include <stdio.h>
+    #include <stdlib.h>
+
+    // GPU kernel function to add two vectors 
+    __global__ void add_gpu( int *a, int *b, int *c, int n){
+      int index = threadIdx.x + blockIdx.x * blockDim.x;
+      if (index < n)
+        c[index] = a[index] + b[index];
+    }
+
+    // CPU function to add two vectors 
+    void add_cpu (int *a, int *b, int *c, int n) {
+      for (int i=0; i < n; i++)
+        c[i] = a[i] + b[i];
+    }
+
+    // CPU function to generate a vector of random integers
+    void random_ints (int *a, int n) {
+      for (int i = 0; i < n; i++)
+      a[i] = rand() % 10000; // random number between 0 and 9999
+    }
+
+    // CPU function to compare two vectors 
+    int compare_ints( int *a, int *b, int n ){
+      int pass = 0;
+      for (int i = 0; i < N; i++){
+        if (a[i] != b[i]) {
+          printf("Value mismatch at location %d, values %d and %dn",i, a[i], b[i]);
+          pass = 1;
+        }
+      }
+      if (pass == 0) printf ("Test passedn"); else printf ("Test Failedn");
+      return pass;
+    }
+
+
+    int main( void ) {
+     
+      int *a, *b, *c; // host copies of a, b, c
+      int *dev_a, *dev_b, *dev_c; // device copies of a, b, c
+      int size = N * sizeof( int ); // we need space for N integers
+
+      // Allocate GPU/device copies of dev_a, dev_b, dev_c
+      cudaMalloc( (void**)&dev_a, size );
+      cudaMalloc( (void**)&dev_b, size );
+      cudaMalloc( (void**)&dev_c, size );
+
+      // Allocate CPU/host copies of a, b, c
+      a = (int*)malloc( size );
+      b = (int*)malloc( size );
+      c = (int*)malloc( size );
+     
+      // Fill input vectors with random integer numbers
+      random_ints( a, N );
+      random_ints( b, N );
+
+      // copy inputs to device
+      cudaMemcpy( dev_a, a, size, cudaMemcpyHostToDevice );
+      cudaMemcpy( dev_b, b, size, cudaMemcpyHostToDevice );
+
+      // launch add_gpu() kernel with blocks and threads
+      add_gpu<<< N/THREADS_PER_BLOCK, THREADS_PER_BLOCK >>>( dev_a, dev_b, dev_c, N );
+
+      // copy device result back to host copy of c
+      cudaMemcpy( c, dev_c, size, cudaMemcpyDeviceToHost );
+
+      //Check the results with CPU implementation 
+      int *c_h; c_h = (int*)malloc( size );
+      add_cpu (a, b, c_h, N);
+      compare_ints(c, c_h, N);
+
+      // Clean CPU memory allocations
+      free( a ); free( b ); free( c ); free (c_h);
+
+      // Clean GPU memory allocations
+      cudaFree( dev_a );
+      cudaFree( dev_b );
+      cudaFree( dev_c );
+
+      return 0;
+    }
+
+This code can be compiled using following command
+
+    $ nvcc test.cu -o test_cuda
+
+To run the code use interactive PBS session to get access to one of the
+GPU accelerated nodes
+
+    $ qsub -I -q qnvidia -A OPEN-0-0
+    $ module load cuda
+    $ ./test.cuda
+
+CUDA Libraries
+--------------
+
+### CuBLAS
+
+The NVIDIA CUDA Basic Linear Algebra Subroutines (cuBLAS) library is a
+GPU-accelerated version of the complete standard BLAS library with 152
+standard BLAS routines. Basic description of the library together with
+basic performance comparison with MKL can be found
+[here](https://developer.nvidia.com/cublas "Nvidia cuBLAS").
+
+**CuBLAS exampleSAXPY**
+
+SAXPY function multiplies the vector x by the scalar alpha and adds it
+to the vector y overwriting the latest vector with the result. The
+description of the cuBLAS function can be found in [NVIDIA CUDA
+documentation](http://docs.nvidia.com/cuda/cublas/index.html#cublas-lt-t-gt-axpy "Nvidia CUDA documentation ").
+Code can be pasted in the file and compiled without any modification.
+
+    /* Includes, system */
+    #include <stdio.h>
+    #include <stdlib.h>
+
+    /* Includes, cuda */
+    #include <cuda_runtime.h>
+    #include <cublas_v2.h>
+
+    /* Vector size */
+    #define N  (32)
+
+    /* Host implementation of a simple version of saxpi */
+    void saxpy(int n, float alpha, const float *x, float *y)
+    {
+        for (int i = 0; i < n; ++i)
+        y[i] = alpha*x[i] + y[i];
+    }
+
+    /* Main */
+    int main(int argc, char **argv)
+    {
+        float *h_X, *h_Y, *h_Y_ref;
+        float *d_X = 0;
+        float *d_Y = 0;
+
+        const float alpha = 1.0f;
+        int i;
+
+        cublasHandle_t handle;
+
+        /* Initialize CUBLAS */
+        printf("simpleCUBLAS test running..n");
+        cublasCreate(&handle);
+
+        /* Allocate host memory for the matrices */
+        h_X = (float *)malloc(N * sizeof(h_X[0]));
+        h_Y = (float *)malloc(N * sizeof(h_Y[0]));
+        h_Y_ref = (float *)malloc(N * sizeof(h_Y_ref[0]));
+
+        /* Fill the matrices with test data */
+        for (i = 0; i < N; i++)
+        {
+            h_X[i] = rand() / (float)RAND_MAX;
+            h_Y[i] = rand() / (float)RAND_MAX;
+            h_Y_ref[i] = h_Y[i];
+        }
+
+        /* Allocate device memory for the matrices */
+        cudaMalloc((void **)&d_X, N * sizeof(d_X[0]));
+        cudaMalloc((void **)&d_Y, N * sizeof(d_Y[0]));
+
+        /* Initialize the device matrices with the host matrices */
+        cublasSetVector(N, sizeof(h_X[0]), h_X, 1, d_X, 1);
+        cublasSetVector(N, sizeof(h_Y[0]), h_Y, 1, d_Y, 1);
+
+        /* Performs operation using plain C code */
+        saxpy(N, alpha, h_X, h_Y_ref);
+
+        /* Performs operation using cublas */
+        cublasSaxpy(handle, N, &alpha, d_X, 1, d_Y, 1);
+
+        /* Read the result back */
+        cublasGetVector(N, sizeof(h_Y[0]), d_Y, 1, h_Y, 1);
+
+        /* Check result against reference */
+        for (i = 0; i < N; ++i)
+            printf("CPU res = %f t GPU res = %f t diff = %f n", h_Y_ref[i], h_Y[i], h_Y_ref[i] - h_Y[i]);
+
+        /* Memory clean up */
+        free(h_X); free(h_Y); free(h_Y_ref);
+        cudaFree(d_X); cudaFree(d_Y);
+
+        /* Shutdown */
+        cublasDestroy(handle);
+    }
+
+ Please notecuBLAS has its own function for data transfers between CPU
+and GPU memory:
+ -
+[cublasSetVector](http://docs.nvidia.com/cuda/cublas/index.html#cublassetvector)
+- transfers data from CPU to GPU memory
+ -
+[cublasGetVector](http://docs.nvidia.com/cuda/cublas/index.html#cublasgetvector)
+- transfers data from GPU to CPU memory
+
+ To compile the code using NVCC compiler a "-lcublas" compiler flag has
+to be specified:
+
+    $ module load cuda
+    $ nvcc -lcublas test_cublas.cu -o test_cublas_nvcc
+
+To compile the same code with GCC:
+
+    $ module load cuda
+    $ gcc -std=c99 test_cublas.c -o test_cublas_icc -lcublas -lcudart
+
+To compile the same code with Intel compiler:
+
+    $ module load cuda intel
+    $ icc -std=c99 test_cublas.c -o test_cublas_icc -lcublas -lcudart
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md
new file mode 100644
index 0000000000000000000000000000000000000000..47f9c21b4316512393abb0e09ce3ad7c1057dab0
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team.md
@@ -0,0 +1,55 @@
+Diagnostic component (TEAM) 
+===========================
+
+
+
+  
+
+
+### Access
+
+TEAM is available at the following address
+: <http://omics.it4i.cz/team/>
+
+The address is accessible only via
+[VPN. ](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access)
+
+### Diagnostic component (TEAM) 
+
+VCF files are scanned by this diagnostic tool for known diagnostic
+disease-associated variants. When no diagnostic mutation is found, the
+file can be sent to the disease-causing gene discovery tool to see
+wheter new disease associated variants can be found.
+
+TEAM <span>(27)</span> is an intuitive and easy-to-use web tool that
+fills the gap between the predicted mutations and the final diagnostic
+in targeted enrichment sequencing analysis. The tool searches for known
+diagnostic mutations, corresponding to a disease panel, among the
+predicted patient’s variants. Diagnostic variants for the disease are
+taken from four databases of disease-related variants (HGMD-public,
+HUMSAVAR , ClinVar and COSMIC) If no primary diagnostic variant is
+found, then a list of secondary findings that can help to establish a
+diagnostic is produced. TEAM also provides with an interface for the
+definition of and customization of panels, by means of which, genes and
+mutations can be added or discarded to adjust panel definitions. 
+
+![Interface of the application. Panels for defining targeted regions of
+interest can be set up by just drag and drop known disease genes or
+disease definitions from the lists. Thus, virtual panels can be
+interactively improved as the knowledge of the disease
+increases.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png "fig5.png")
+
+
+
+ 
+
+***Figure 5. ****Interface of the application. Panels for defining
+targeted regions of interest can be set up by just drag and drop known
+disease genes or disease definitions from the lists. Thus, virtual
+panels can be interactively improved as the knowledge of the disease
+increases.*
+
+
+*
+*
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..0b5670a4e570c385eccc5d83e8cefc8c93e38e03
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..0b5670a4e570c385eccc5d83e8cefc8c93e38e03
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..1e6005ea9805cae8ba2f8dd5977f9219f27879c4
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..f5bc24d65e435dbd869f873a3c88c6926fe5b466
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..f5bc24d65e435dbd869f873a3c88c6926fe5b466
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..0a5a0853c8c31816b1b5f25c82cf0817d6300d0d
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..911f443a5a175ca36073dd17944589a37c7dec6a
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..911f443a5a175ca36073dd17944589a37c7dec6a
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..e6ee52414393b0685f1633f565340aa0e57895ef
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..8aa39d6aa924e3a567a135334e7305ccd14ce05d
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..8aa39d6aa924e3a567a135334e7305ccd14ce05d
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..8a475449b742be0c671a929615cdabdba386867a
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png.1 b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png.1
new file mode 100644
index 0000000000000000000000000000000000000000..4e87c6f45b1e69d053663a539ab67176d166b094
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png.1 differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..4e87c6f45b1e69d053663a539ab67176d166b094
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..4e87c6f45b1e69d053663a539ab67176d166b094
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..1277885db56b086edd2b7e2995fbd7607d7dd9c7
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig5.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png.1 b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png.1
new file mode 100644
index 0000000000000000000000000000000000000000..43987a78a007e9489ad5e103db8c80a6749ec259
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png.1 differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..43987a78a007e9489ad5e103db8c80a6749ec259
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..43987a78a007e9489ad5e103db8c80a6749ec259
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..26bad083c6402042d3d2eda89ad5c3b93a1c0913
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..dc4952d10d945e633ffcf2aed1317fba55f55cef
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..dc4952d10d945e633ffcf2aed1317fba55f55cef
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..c05aacb5573b7bb348a78104e3334e3ea18517a3
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..c02375966b44f3cdfb336e457c9be17dd2b0a3c2
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..c02375966b44f3cdfb336e457c9be17dd2b0a3c2
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..557a039b1ca9d7d90ac15b848044fa7d9e89bc16
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..93934042e94fecf27fe2351dfc96da50d64c8921
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..93934042e94fecf27fe2351dfc96da50d64c8921
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..21b839757fcb4c43854ed4f116c54c1184fc9781
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..406e0dbb156d0f8e75f6230f66dfccc58fed457b
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..406e0dbb156d0f8e75f6230f66dfccc58fed457b
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..1a91293471385eb6a83c5e66fcab4ebcac27d65f
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png.1 b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png.1
new file mode 100644
index 0000000000000000000000000000000000000000..9794f90d82d47dd427bece05cd47a244a39c864c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png.1 differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/download b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..9794f90d82d47dd427bece05cd47a244a39c864c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/download differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..9794f90d82d47dd427bece05cd47a244a39c864c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_preview b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..99f17fec720ff407b0f9f46bf4a2127cb94f915b
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_preview differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_view_fullscreen.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/view.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/table1.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..0caa57f261494d8a3d7f2eee8d2b27c34e0dcfa5
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/overview.md
@@ -0,0 +1,907 @@
+Overview 
+========
+
+The human NGS data processing solution
+
+
+  
+
+Introduction
+------------
+
+The scope of this OMICS MASTER solution is restricted to human genomics
+research (disease causing gene discovery in whole human genome or exome)
+or diagnosis (panel sequencing), although it could be extended in the
+future to other usages.
+
+The pipeline inputs the raw data produced by the sequencing machines and
+undergoes a processing procedure that consists on a quality control, the
+mapping and variant calling steps that result in a file containing the
+set of variants in the sample. From this point, the prioritization
+component or the diagnostic component can be launched. 
+
+![OMICS MASTER solution overview. Data is produced in the external labs
+and comes to IT4I (represented by the blue dashed line). The data
+pre-processor converts raw data into a list of variants and annotations
+for each sequenced patient. These lists files together with primary and
+secondary (alignment) data files are stored in IT4I sequence DB and
+uploaded to the discovery (candidate priorization) or diagnostic
+component where they can be analysed directly by the user that produced
+them, depending of the experimental design carried
+out.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig1.png "Fig 1")
+
+***Figure 1.*** *OMICS MASTER solution overview. Data is produced in the
+external labs and comes to IT4I (represented by the blue dashed line).
+The data pre-processor converts raw data into a list of variants and
+annotations for each sequenced patient. These lists files together with
+primary and secondary (alignment) data files are stored in IT4I sequence
+DB and uploaded to the discovery (candidate prioritization) or
+diagnostic component where they can be analyzed directly by the user
+that produced them, depending of the experimental design carried
+out*.<span style="text-alignleft; "> </span>
+
+Typical genomics pipelines are composed by several components that need
+to be launched manually. The advantage of OMICS MASTER pipeline is that
+all these components are invoked sequentially in an automated way.
+
+OMICS MASTER pipeline inputs a FASTQ file and outputs an enriched VCF
+file. This pipeline is able to queue all the jobs to PBS by only
+launching a process taking all the necessary input files and creates the
+intermediate and final folders
+
+Let’s see each of the OMICS MASTER solution components:
+
+Components
+----------
+
+
+### Processing
+
+This component is composed by a set of programs that carry out quality
+controls, alignment, realignment, variant calling and variant
+annotation. It turns raw data from the sequencing machine into files
+containing lists of variants (VCF) that once annotated, can be used by
+the following components (discovery and diagnosis).
+
+We distinguish three types of sequencing instrumentsbench sequencers
+(MySeq, IonTorrent, and Roche Junior, although this last one is about
+being discontinued), which produce relatively Genomes in the clinic
+
+low throughput (tens of million reads), and high end sequencers, which
+produce high throughput (hundreds of million reads) among which we have
+Illumina HiSeq 2000 (and new models) and SOLiD. All of them but SOLiD
+produce data in sequence format. SOLiD produces data in a special format
+called colour space that require of specific software for the mapping
+process. Once the mapping has been done, the rest of the pipeline is
+identical. Anyway, SOLiD is a technology which is also about being
+discontinued by the manufacturer so, this type of data will be scarce in
+the future.
+
+#### Quality control, preprocessing and statistics for FASTQ
+
+**Component:**<span> Hpg-Fastq & FastQC.</span>
+
+These steps are carried out over the original FASTQ file with optimized
+scripts and includes the following stepssequence cleansing, estimation
+of base quality scores, elimination of duplicates and statistics.
+
+**Input:** FASTQ file.
+
+**Output:** FASTQ file plus an HTML file containing statistics on the
+data. 
+
+**FASTQ format 
+**<span>It represents the nucleotide sequence and its corresponding
+quality scores.
+
+</span>**![FASTQ
+file.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig2.png "fig2.png")
+***Figure 2.****** FASTQ file.***
+**
+
+#### Mapping
+
+**Component:** Hpg-aligner.****
+
+Sequence reads are mapped over the human reference genome. SOLiD reads
+are not covered by this solution; they should be mapped with specific
+software (among the few available options, SHRiMP seems to be the best
+one). For the rest of NGS machine outputs we use HPG Aligner.
+HPG-Aligner is an innovative solution, based on a combination of mapping
+with BWT and local alignment with Smith-Waterman (SW), that drastically
+increases mapping accuracy (97% versus 62-70% by current mappers, in the
+most common scenarios). This proposal provides a simple and fast
+solution that maps almost all the reads, even those containing a high
+number of mismatches or indels.
+
+**Input:** FASTQ file.
+
+**Output:** Aligned file in BAM format.****
+
+**Sequence Alignment/Map (SAM)**
+
+<span>It is a human readable tab-delimited format in which each read and
+its alignment is represented on a single line. The format can represent
+unmapped reads, reads that are mapped to unique locations, and reads
+that are mapped to multiple locations.
+
+</span><span>The SAM format </span>^(1)^<span> consists of one header
+section and one alignment section. The lines in the header section start
+with character ‘@’, and lines in the alignment section do not. All lines
+are TAB delimited.
+
+<span>In SAM, each alignment line has 11 mandatory fields and a variable
+number of optional fields. The mandatory fields are briefly described in
+Table 1. They must be present but their value can be a
+</span></span>‘*’<span><span> or a zero (depending on the field) if the
+corresponding information is unavailable.</span>  </span>
+
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<tbody>
+<tr class="odd">
+<td align="left"><p><strong>No.</strong></p></td>
+<td align="left"><p><strong>Name</strong></p></td>
+<td align="left"><p><strong>Description</strong></p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>1</p></td>
+<td align="left"><p>QNAME</p></td>
+<td align="left"><p>Query NAME of the read or the read pair</p></td>
+</tr>
+<tr class="odd">
+<td align="left"><p>2</p></td>
+<td align="left"><p>FLAG</p></td>
+<td align="left"><p>Bitwise FLAG (pairing,strand,mate strand,etc.)</p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>3</p></td>
+<td align="left"><p>RNAME </p></td>
+<td align="left"><p>Reference sequence NAME</p></td>
+</tr>
+<tr class="odd">
+<td align="left"><p>4</p></td>
+<td align="left"><p>POS </p></td>
+<td align="left"><p>1-Based  leftmost POSition of clipped alignment</p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>5</p></td>
+<td align="left"><p>MAPQ </p></td>
+<td align="left"><p>MAPping Quality (Phred-scaled)</p></td>
+</tr>
+<tr class="odd">
+<td align="left"><p>6</p></td>
+<td align="left"><p>CIGAR </p></td>
+<td align="left"><p>Extended CIGAR string (operations:MIDNSHP)</p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>7</p></td>
+<td align="left"><p>MRNM </p></td>
+<td align="left"><p>Mate REference NaMe ('=^' if same RNAME)</p></td>
+</tr>
+<tr class="odd">
+<td align="left"><p>8</p></td>
+<td align="left"><p>MPOS </p></td>
+<td align="left"><p>1-Based leftmost Mate POSition</p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>9</p></td>
+<td align="left"><p>ISIZE </p></td>
+<td align="left"><p>Inferred Insert SIZE </p></td>
+</tr>
+<tr class="odd">
+<td align="left"><p>10</p></td>
+<td align="left"><p>SEQ </p></td>
+<td align="left"><p>Query SEQuence on the same strand as the reference</p></td>
+</tr>
+<tr class="even">
+<td align="left"><p>11</p></td>
+<td align="left"><p>QUAL </p></td>
+<td align="left"><p>Query QUALity (ASCII-33=Phred base quality)</p></td>
+</tr>
+</tbody>
+</table>
+
+
+
+<span>
+
+</span>***Table 1.*** *Mandatory fields in the SAM format.
+<span>
+The standard CIGAR description of pairwise alignment defines three
+operations‘M’ for match/mismatch, ‘I’ for insertion compared with the
+reference and ‘D’ for deletion. The extended CIGAR proposed in SAM added
+four more operations‘N’ for skipped bases on the reference, ‘S’ for
+soft clipping, ‘H’ for hard clipping and ‘P’ for padding. These support
+splicing, clipping, multi-part and padded alignments. Figure 3 shows
+examples of CIGAR strings for different types of alignments. 
+
+![SAM format file. The ‘@SQ’ line in the header section gives the order
+of reference sequences. Notably, r001 is the name of a read pair.
+According to FLAG 163 (=1+2+32+128), the read mapped to position 7 is
+the second read in the pair (128) and regarded as properly paired (1 +
+2); its mate is mapped to 37 on the reverse strand (32). Read r002 has
+three soft-clipped (unaligned) bases. The coordinate shown in SAM is the
+position of the first aligned base. The CIGAR string for this alignment
+contains a P (padding) operation which correctly aligns the inserted
+sequences. Padding operations can be absent when an aligner does not
+support multiple sequence alignment. The last six bases of read r003 map
+to position 9, and the first five to position 29 on the reverse strand.
+The hard clipping operation H indicates that the clipped sequence is not
+present in the sequence field. The NM tag gives the number of
+mismatches. Read r004 is aligned across an intron, indicated by the N
+operation.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig3.png "fig3.png")
+***
+Figure 3.*** *SAM format file. The ‘@SQ’ line in the header section
+gives the order of reference sequences. Notably, r001 is the name of a
+read pair. According to FLAG 163 (=1+2+32+128), the read mapped to
+position 7 is the second read in the pair (128) and regarded as properly
+paired (1 + 2); its mate is mapped to 37 on the reverse strand (32).
+Read r002 has three soft-clipped (unaligned) bases. The coordinate shown
+in SAM is the position of the first aligned base. The CIGAR string for
+this alignment contains a P (padding) operation which correctly aligns
+the inserted sequences. Padding operations can be absent when an aligner
+does not support multiple sequence alignment. The last six bases of read
+r003 map to position 9, and the first five to position 29 on the reverse
+strand. The hard clipping operation H indicates that the clipped
+sequence is not present in the sequence field. The NM tag gives the
+number of mismatches. Read r004 is aligned across an intron, indicated
+by the N operation.*</span>*
+
+**Binary Alignment/Map (BAM)**
+
+<span>BAM is the binary representation of SAM and keeps exactly the same
+information as SAM. BAM uses lossless compression to reduce the size of
+the data by about 75% and provides an indexing system that allows reads
+that overlap a region of the genome to be retrieved and rapidly
+traversed. </span>
+
+#### Quality control, preprocessing and statistics for BAM
+
+**Component:** Hpg-Fastq & FastQC. Some features:
+
+-   Quality control% reads with N errors, % reads with multiple
+    mappings, strand bias, paired-end insert, ...
+-   Filteringby number of errors, number of hits, …
+    -   Comparatorstats, intersection, ...
+
+**Input:** BAM file.
+
+**Output:** BAM file plus an HTML file containing statistics. 
+
+#### Variant Calling
+
+**Component:** GATK.
+
+Identification of single nucleotide variants and indels on the
+alignments is performed using the Genome Analysis Toolkit (GATK). GATK
+^(2)^ is a software package developed at the Broad Institute to analyze
+high-throughput sequencing data. The toolkit offers a wide variety of
+tools, with a primary focus on variant discovery and genotyping as well
+as strong emphasis on data quality assurance.
+
+**Input:** BAM
+
+**Output:** VCF
+
+**Variant Call Format (VCF)**
+
+<span>VCF </span>^(3)^<span> is a standardized format for storing the
+most prevalent types of sequence variation, including SNPs, indels and
+larger structural variants, together with rich annotations. The format
+was developed with the primary intention to represent human genetic
+variation, but its use is not restricted </span><span>to diploid genomes
+and can be used in different contexts as well. Its flexibility and user
+extensibility allows representation of a wide variety of genomic
+variation with respect to a single reference sequence.
+
+</span>A VCF file consists of a header section and a data section. The
+header contains an arbitrary number of metainformation lines, each
+starting with characters ‘##’, and a TAB delimited field definition
+line, starting with a single ‘#’ character. The meta-information header
+lines provide a standardized description of tags and annotations used in
+the data section. The use of meta-information allows the information
+stored within a VCF file to be tailored to the dataset in question. It
+can be also used to provide information about the means of file
+creation, date of creation, version of the reference sequence, software
+used and any other information relevant to the history of the file. The
+field definition line names eight mandatory columns, corresponding to
+data columns representing the chromosome (CHROM), a 1-based position of
+the start of the variant (POS), unique identifiers of the variant (ID),
+the reference allele (REF), a comma separated list of  alternate
+non-reference alleles (ALT), a phred-scaled quality score (QUAL), site
+filtering information (FILTER) and a semicolon separated list of
+additional, user extensible annotation (INFO). In addition, if samples
+are present in the file, the mandatory header columns are followed by a
+FORMAT column and an arbitrary number of sample IDs that define the
+samples included in the VCF file. The FORMAT column is used to define 
+the information contained within each subsequent genotype column, which
+consists of a colon separated list of fields. For example, the FORMAT
+field GT:GQ:DP in the fourth data entry of Figure 1a indicates that the
+subsequent entries contain information regarding the genotype, genotype
+quality and  read depth for each sample. All data lines are TAB
+delimited and the number of fields in each data line must match the
+number of fields in the header line. It is strongly recommended that all
+annotation tags used are declared in the VCF header section.
+
+![a) Example of valid VCF. The header lines ##fileformat and #CHROM
+are mandatory, the rest is optional but strongly recommended. Each line
+of the body describes variants present in the sampled population at one
+genomic position or region. All alternate alleles are listed in the ALT
+column and referenced from the genotype fields as 1-based indexes to
+this list; the reference haplotype is designated as 0. For multiploid
+data, the separator indicates whether the data are phased (|) or
+unphased (/). Thus, the two alleles C and G at the positions 2 and 5 in
+this figure occur on the same chromosome in SAMPLE1. The first data line
+shows an example of a deletion (present in SAMPLE1) and a replacement of
+two bases by another base (SAMPLE2); the second line shows a SNP and an
+insertion; the third a SNP; the fourth a large structural variant
+described by the annotation in the INFO column, the coordinate is that
+of the base before the variant. (b–f ) Alignments and VCF
+representations of different sequence variantsSNP, insertion,
+deletion, replacement, and a large deletion. The REF columns shows the
+reference bases replaced by the haplotype in the ALT column. The
+coordinate refers to the first reference base. (g) Users are advised to
+use simplest representation possible and lowest coordinate in cases
+where the position is
+ambiguous.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig4.png)
+**
+Figure 4.**<span> (a) Example of valid VCF. The header lines
+##fileformat and #CHROM are mandatory, the rest is optional but
+strongly recommended. Each line of the body describes variants present
+in the sampled population at one genomic position or region. All
+alternate alleles are listed in the ALT column and referenced from the
+genotype fields as 1-based indexes to this list; the reference haplotype
+is designated as 0. For multiploid data, the separator indicates whether
+the data are phased (|) or unphased (/). Thus, the two alleles C and G
+at the positions 2 and 5 in this figure occur on the same chromosome in
+SAMPLE1. The first data line shows an example of a deletion (present in
+SAMPLE1) and a replacement of two bases by another base (SAMPLE2); the
+second line shows a SNP and an insertion; the third a SNP; the fourth a
+large structural variant described by the annotation in the INFO column,
+the coordinate is that of the base before the variant. (b–f ) Alignments
+and VCF representations of different sequence variantsSNP, insertion,
+deletion, replacement, and a large deletion. The REF columns shows the
+reference bases replaced by the haplotype in the ALT column. The
+coordinate refers to the first reference base. (g) Users are advised to
+use simplest representation possible and lowest coordinate in cases
+where the position is ambiguous.</span>
+
+### <span>Annotating</span>
+
+**Component:** HPG-Variant
+
+The functional consequences of every variant found are then annotated
+using the HPG-Variant software, which extracts from CellBase**,** the
+Knowledge database, all the information relevant on the predicted
+pathologic effect of the variants.
+
+VARIANT (VARIant Analysis Tool) ^(4)^ reports information on the
+variants found that include consequence type and annotations taken from
+different databases and repositories (SNPs and variants from dbSNP and
+1000 genomes, and disease-related variants from the Genome-Wide
+Association Study (GWAS) catalog, Online Mendelian Inheritance in Man
+(OMIM), Catalog of Somatic Mutations in Cancer (COSMIC) mutations, etc.
+VARIANT also produces a rich variety of annotations that include
+information on the regulatory (transcription factor or miRNAbinding
+sites, etc.) or structural roles, or on the selective pressures on the
+sites affected by the variation. This information allows extending the
+conventional reports beyond the coding regions and expands the knowledge
+on the contribution of non-coding or synonymous variants to the
+phenotype studied.
+
+**Input:** VCF
+
+**Output:** The output of this step is the Variant Calling Format (VCF)
+file, which contains changes with respect to the reference genome with
+the corresponding QC and functional annotations.
+
+#### CellBase
+
+CellBase^(5)^ is a relational database integrates biological information
+from different sources and includes:
+
+**Core features:**
+
+We took genome sequences, genes, transcripts, exons, cytobands or cross
+references (xrefs) identifiers (IDs) <span>from Ensembl
+</span>^(6)^<span>. Protein information including sequences, xrefs or
+protein features (natural variants, mutagenesis sites,
+post-translational modifications, etc.) were imported from UniProt
+</span>^(7)^<span>.</span>
+
+**Regulatory:**
+
+CellBase imports miRNA from miRBase ^(8)^; curated and non-curated miRNA
+targets from miRecords ^(9)^, <span>miRTarBase </span>^(10)^<span>,
+TargetScan</span>^(11)^<span> and microRNA.org </span>^(12)^<span> and
+CpG islands and conserved regions from the UCSC database
+</span>^(13)^<span>.</span><span> </span>
+
+**Functional annotation**
+
+OBO Foundry ^(14)^ develops many biomedical ontologies that are
+implemented in OBO format. We designed a SQL schema to store these OBO
+ontologies and &gt;30 ontologies were imported. OBO ontology term
+annotations were taken from Ensembl ^(6)^. InterPro ^(15)^ annotations
+were also imported.
+
+**Variation**
+
+CellBase includes SNPs from dbSNP ^(16)^; SNP population frequencies
+from HapMap ^(17)^, 1000 genomes project ^(18)^ and Ensembl ^(6)^;
+phenotypically annotated SNPs were imported from NHRI GWAS Catalog
+^(19)^,^ ^<span>HGMD </span>^(20)^<span>, Open Access GWAS Database
+</span>^(21)^<span>, UniProt </span>^(7)^<span> and OMIM
+</span>^(22)^<span>; mutations from COSMIC </span>^(23)^<span> and
+structural variations from Ensembl
+</span>^(6)^<span>.</span><span> </span>
+
+**Systems biology**
+
+We also import systems biology information like interactome information
+from IntAct ^(24)^. Reactome ^(25)^<span> stores pathway and interaction
+information in BioPAX </span>^(26)^<span> format. BioPAX data exchange
+format </span><span>enables the integration of diverse pathway
+resources. We successfully solved the problem of storing data released
+in BioPAX format into a SQL relational schema, which allowed us
+importing Reactome in CellBase.</span>
+
+
+### [Diagnostic component (TEAM)](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team)
+
+### [Priorization component (BiERApp)](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/priorization-component-bierapp)
+
+
+
+Usage
+-----
+
+First of all, we should load <span class="monospace">ngsPipeline</span>
+module:
+
+    $ module load ngsPipeline
+
+This command will load <span class="monospace">python/2.7.5</span>
+module and all the required modules (<span
+class="monospace">hpg-aligner</span>, <span
+class="monospace">gatk</span>, etc)
+
+<span> If we launch ngsPipeline with ‘-h’, we will get the usage
+help: </span>
+
+    $ ngsPipeline -h
+    UsagengsPipeline.py [-h] -i INPUT -o OUTPUT -p PED --project PROJECT --queue 
+                          QUEUE [--stages-path STAGES_PATH] [--email EMAIL]
+     [--prefix PREFIX] [-s START] [-e END] --log
+
+    Python pipeline
+
+    optional arguments:
+      -h, --help            show this help message and exit
+      -i INPUT, --input INPUT
+      -o OUTPUT, --output OUTPUT
+                            Output Data directory
+      -p PED, --ped PED     Ped file with all individuals
+      --project PROJECT     Project Id
+      --queue QUEUE         Queue Id
+      --stages-path STAGES_PATH
+                            Custom Stages path
+      --email EMAIL         Email
+      --prefix PREFIX       Prefix name for Queue Jobs name
+      -s START, --start START
+                            Initial stage
+      -e END, --end END     Final stage
+      --log                 Log to file
+
+ 
+
+Let us see a brief description of the arguments:
+
+      *-h --help*. Show the help.
+
+      *-i, --input.* The input data directory. This directory must to
+have a special structure. We have to create one folder per sample (with
+the same name). These folders will host the fastq files. These fastq
+files must have the following pattern “sampleName” + “_” + “1 or 2” +
+“.fq”. 1 for the first pair (in paired-end sequences), and 2 for the
+second one.
+
+      *-o , --output.* The output folder. This folder will contain all
+the intermediate and final folders. When the pipeline will be executed
+completely, we could remove the intermediate folders and keep only the
+final one (with the VCF file containing all the variants)
+
+      *-p , --ped*. The ped file with the pedigree. This file contains
+all the sample names. These names must coincide with the names of the
+input folders. If our input folder contains more samples than the .ped
+file, the pipeline will use only the samples from the .ped file.
+
+      *--email.* Email for PBS notifications.
+
+      *--prefix.* Prefix for PBS Job names.
+
+      *-s, --start & -e, --end.*  Initial and final stage. If we want to
+launch the pipeline in a specific stage we must use -s. If we want to
+end the pipeline in a specific stage we must use -e.
+
+      *--log*. Using log argument NGSpipeline will prompt all the logs
+to this file.
+
+<span>      </span>*--project*<span>. Project ID of your supercomputer
+allocation. </span>
+
+<span>      *--queue*.
+[Queue](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction)
+to run the jobs in.</span>
+
+ <span>Input, output and ped arguments are mandatory. If the output
+folder does not exist, the pipeline will create it.</span>
+
+<span>Examples</span>
+---------------------
+
+This is an example usage of NGSpipeline:
+
+We have a folder with the following structure in <span><span
+class="monospace">/apps/bio/omics/1.0/sample_data/</span> </span><span>:</span>
+
+    /apps/bio/omics/1.0/sample_data
+    └── data
+        ├── file.ped
+        ├── sample1
+        │   ├── sample1_1.fq
+        │   └── sample1_2.fq
+        └── sample2
+            ├── sample2_1.fq
+            └── sample2_2.fq
+
+The ped file (<span class="monospace">file.ped</span>) contains the
+following info:<span> </span>
+
+    #family_ID sample_ID parental_ID maternal_ID sex phenotype 
+    FAM sample_A 0 0 1 1 
+    FAM sample_B 0 0 2 2 
+
+Now, lets load the NGSPipeline module and copy the sample data to a
+[scratch
+directory](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/storage)
+:
+
+    $ module load ngsPipeline
+    $ mkdir -p /scratch/$USER/omics/results
+    $ cp -r /apps/bio/omics/1.0/sample_data /scratch/$USER/omics/
+
+Now, we can launch the pipeline (replace OPEN-0-0 with your Project ID)
+:
+
+    $ ngsPipeline -i /scratch/$USER/omics/sample_data/data -o /scratch/$USER/omics/results -p /scratch/$USER/omics/sample_data/data/file.ped --project OPEN-0-0 --queue qprod
+
+This command submits the processing [jobs to the
+queue](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution). 
+
+If we want to re-launch the pipeline from stage 4 until stage 20 we
+should use the next command:
+
+    $ ngsPipeline -i /scratch/$USER/omics/sample_data/data -o /scratch/$USER/omics/results -p /scratch/$USER/omics/sample_data/data/file.ped -s 4 -e 20 --project OPEN-0-0 --queue qprod 
+
+<span>Details on the pipeline</span>
+------------------------------------
+
+<span>The pipeline calls the following tools:</span>
+
+-   <span>[fastqc](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/),
+    a<span> quality control tool for high throughput
+    sequence data.</span></span>
+-   <span>[gatk](https://www.broadinstitute.org/gatk/), <span>The
+    Genome Analysis Toolkit or GATK is a software package developed at
+    the Broad Institute to analyze high-throughput sequencing data. The
+    toolkit offers a wide variety of tools, with a primary focus on
+    variant discovery and genotyping as well as strong emphasis on data
+    quality assurance. Its robust architecture, powerful processing
+    engine and high-performance computing features make it capable of
+    taking on projects of any size.</span></span>
+-   <span>[hpg-aligner](http://wiki.opencb.org/projects/hpg/doku.php?id=aligner:downloads), <span>HPG
+    Aligner has been designed to align short and long reads with high
+    sensitivity, therefore any number of mismatches or indels
+    are allowed. HPG Aligner implements and combines two well known
+    algorithms: </span>*Burrows-Wheeler Transform*<span> (BWT) to
+    speed-up mapping high-quality reads,
+    and </span>*Smith-Waterman*<span> (SW) to increase sensitivity when
+    reads cannot be mapped using BWT.</span></span>
+-   <span><span><span>[hpg-fastq](http://docs.bioinfo.cipf.es/projects/fastqhpc/wiki), <span> a
+    quality control tool for high throughput
+    sequence data.</span></span></span></span>
+-   <span><span><span><span>[hpg-variant](http://wiki.opencb.org/projects/hpg/doku.php?id=variant:downloads), <span>The
+    HPG Variant suite is an ambitious project aimed to provide a
+    complete suite of tools to work with genomic variation data, from
+    VCF tools to variant profiling or genomic statistics. It is being
+    implemented using High Performance Computing technologies to provide
+    the best performance possible.</span></span></span></span></span>
+-   <span><span><span><span>[picard](http://picard.sourceforge.net/), <span>Picard
+    comprises Java-based command-line utilities that manipulate SAM
+    files, and a Java API (HTSJDK) for creating new programs that read
+    and write SAM files. Both SAM text format and SAM binary (BAM)
+    format are supported.</span></span></span></span></span>
+-   <span><span><span><span>[samtools](http://samtools.sourceforge.net/samtools-c.shtml), <span>SAM
+    Tools provide various utilities for manipulating alignments in the
+    SAM format, including sorting, merging, indexing and generating
+    alignments in a
+    per-position format.</span></span></span></span></span>
+-   <span><span><span><span><span>[snpEff](http://snpeff.sourceforge.net/), <span>Genetic
+    variant annotation and effect
+    prediction toolbox.</span></span></span></span></span></span>
+
+This listing show which tools are used in each step of the pipeline :
+
+
+
+<!-- -->
+
+-   <span>stage-00fastqc</span>
+-   <span>stage-01hpg_fastq</span>
+-   <span>stage-02fastqc</span>
+-   <span>stage-03hpg_aligner and samtools</span>
+-   <span>stage-04samtools</span>
+-   <span>stage-05samtools</span>
+-   <span>stage-06fastqc</span>
+-   <span>stage-07picard</span>
+-   <span>stage-08fastqc</span>
+-   <span>stage-09picard</span>
+-   <span>stage-10gatk</span>
+-   <span>stage-11gatk</span>
+-   <span>stage-12gatk</span>
+-   <span>stage-13gatk</span>
+-   <span>stage-14gatk</span>
+-   <span>stage-15gatk</span>
+-   <span>stage-16samtools</span>
+-   <span>stage-17samtools</span>
+-   <span>stage-18fastqc</span>
+-   <span>stage-19gatk</span>
+-   <span>stage-20gatk</span>
+-   <span>stage-21gatk</span>
+-   <span>stage-22gatk</span>
+-   <span>stage-23gatk</span>
+-   <span>stage-24hpg-variant</span>
+-   <span>stage-25hpg-variant</span>
+-   <span>stage-26snpEff</span>
+-   <span>stage-27snpEff</span>
+-   <span>stage-28hpg-variant</span>
+
+<span>Interpretation</span>
+---------------------------
+
+The output folder contains all the subfolders with the intermediate
+data. This folder contains the final VCF with all the variants. This
+file can be uploaded into
+[TEAM](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/diagnostic-component-team)
+by using the VCF file button. It is important to note here that the
+entire management of the VCF file is localno patient’s sequence data
+is sent over the Internet thus avoiding any problem of data privacy or
+confidentiality.
+
+<span>![TEAM upload panel. Once the file has been uploaded, a panel must
+be chosen from the Panel list. Then, pressing the Run button the
+diagnostic process
+starts.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7.png "fig7.png")</span>
+
+***Figure 7***. *TEAM upload panel.* *Once the file has been uploaded, a
+panel must be chosen from the Panel **** list. Then, pressing the Run
+button the diagnostic process starts.*
+
+Once the file has been uploaded, a panel must be chosen from the Panel
+list. Then, pressing the Run button the diagnostic process starts. TEAM
+searches first for known diagnostic mutation(s) taken from four
+databasesHGMD-public ^(20)^,
+[HUMSAVAR](http://www.uniprot.org/docs/humsavar),
+ClinVar ^(29)^ and COSMIC ^(23)^.
+
+![The panel manager. The elements used to define a panel are (A) disease
+terms, (B) diagnostic mutations and (C) genes. Arrows represent actions
+that can be taken in the panel manager. Panels can be defined by using
+the known mutations and genes of a particular disease. This can be done
+by dragging them to the Primary Diagnostic box (action D). This action,
+in addition to defining the diseases in the Primary Diagnostic box,
+automatically adds the corresponding genes to the Genes box. The panels
+can be customized by adding new genes (action F) or removing undesired
+genes (action G). New disease mutations can be added independently or
+associated to an already existing disease term (action E). Disease terms
+can be removed by simply dragging themback (action
+H).](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig7x.png "fig7x.png")
+
+***Figure 7.*** *The panel manager. The elements used to define a panel
+are (**A**) disease terms, (**B**) diagnostic mutations and (**C**)
+genes. Arrows represent actions that can be taken in the panel manager.
+Panels can be defined by using the known mutations and genes of a
+particular disease. This can be done by dragging them to the **Primary
+Diagnostic** box (action **D**). This action, in addition to defining
+the diseases in the **Primary Diagnostic** box, automatically adds the
+corresponding genes to the **Genes** box. The panels can be customized
+by adding new genes (action **F**) or removing undesired genes (action
+**G**). New disease mutations can be added independently or associated
+to an already existing disease term (action **E**). Disease terms can be
+removed by simply dragging them back (action **H**).*
+
+For variant discovering/filtering we should upload the VCF file into
+BierApp by using the following form:
+
+*![BierApp VCF upload panel. It is recommended to choose a name for the
+job as well as a description.
+](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig8.png "fig8.png")*
+
+****Figure 8.*** *BierApp VCF upload panel. It is recommended to choose
+a name for the job as well as a description.**
+
+Each prioritization (‘job’) has three associated screens that facilitate
+the filtering steps. The first one, the ‘Summary’ tab, displays a
+statistic of the data set analyzed, containing the samples analyzed, the
+number and types of variants found and its distribution according to
+consequence types. The second screen, in the ‘Variants and effect’ tab,
+is the actual filtering tool, and the third one, the ‘Genome view’ tab,
+offers a representation of the selected variants within the genomic
+context provided by an embedded version of <span>the Genome Maps Tool
+</span>^(30)^<span>.</span>
+
+**![This picture shows all the information associated to the variants.
+If a variant has an associated phenotype we could see it in the last
+column. In this case, the variant 7:132481242 C&gt;T is associated to
+the phenotypelarge intestine
+tumor.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig9.png "fig9.png")**
+
+*****Figure 9.*** *This picture shows all the information associated to
+the variants. If a variant has an associated phenotype we could see it
+in the last column. In this case, the variant 7:132481242 C&gt;T is
+associated to the phenotypelarge intestine tumor.***
+
+*
+*
+
+<span>
+</span>
+
+<span>References</span>
+-----------------------
+
+1.  <span class="discreet">Heng Li, Bob Handsaker, Alec Wysoker, Tim
+    Fennell, Jue Ruan, Nils Homer, Gabor Marth5, Goncalo Abecasis6,
+    Richard Durbin and 1000 Genome Project Data Processing SubgroupThe
+    Sequence Alignment/Map format and SAMtools. Bioinformatics 2009,
+    252078-2079.</span>
+2.  <span class="discreet"><span>McKenna A, Hanna M, Banks E, Sivachenko
+    A, Cibulskis K, Kernytsky A, Garimella K, Altshuler D, Gabriel S,
+    Daly M, DePristo MAThe Genome Analysis Toolkita MapReduce
+    framework for analyzing next-generation DNA sequencing data.
+    </span>*Genome Res* <span>2010, 20:1297-1303.</span></span>
+3.  <span class="discreet">Petr Danecek, Adam Auton, Goncalo Abecasis,
+    Cornelis A. Albers, Eric Banks, Mark A. DePristo, Robert E.
+    Handsaker, Gerton Lunter, Gabor T. Marth, Stephen T. Sherry, Gilean
+    McVean, Richard Durbin, and 1000 Genomes Project Analysis Group. The
+    variant call format and VCFtools. Bioinformatics 2011,
+    272156-2158.</span>
+4.  <span class="discreet">Medina I, De Maria A, Bleda M, Salavert F,
+    Alonso R, Gonzalez CY, Dopazo JVARIANTCommand Line, Web service
+    and Web interface for fast and accurate functional characterization
+    of variants found by Next-Generation Sequencing. Nucleic Acids Res
+    2012, 40:W54-58.</span>
+5.  <span class="discreet">Bleda M, Tarraga J, de Maria A, Salavert F,
+    Garcia-Alonso L, Celma M, Martin A, Dopazo J, Medina ICellBase, a
+    comprehensive collection of RESTful web services for retrieving
+    relevant biological information from heterogeneous sources. Nucleic
+    Acids Res 2012, 40:W609-614.</span>
+6.  <span class="discreet">Flicek,P., Amode,M.R., Barrell,D., Beal,K.,
+    Brent,S., Carvalho-Silva,D., Clapham,P., Coates,G.,
+    Fairley,S., Fitzgerald,S. et al. (2012) Ensembl 2012. Nucleic Acids
+    Res., 40, D84–D90.</span>
+7.  <span class="discreet">UniProt Consortium. (2012) Reorganizing the
+    protein space at the Universal Protein Resource (UniProt). Nucleic
+    Acids Res., 40, D71–D75.</span>
+8.  <span class="discreet">Kozomara,A. and Griffiths-Jones,S. (2011)
+    miRBaseintegrating microRNA annotation and deep-sequencing data.
+    Nucleic Acids Res., 39, D152–D157.</span>
+9.  <span class="discreet">Xiao,F., Zuo,Z., Cai,G., Kang,S., Gao,X.
+    and Li,T. (2009) miRecordsan integrated resource for
+    microRNA-target interactions. Nucleic Acids Res.,
+    37, D105–D110.</span>
+10. <span class="discreet">Hsu,S.D., Lin,F.M., Wu,W.Y., Liang,C.,
+    Huang,W.C., Chan,W.L., Tsai,W.T., Chen,G.Z., Lee,C.J., Chiu,C.M.
+    et al. (2011) miRTarBasea database curates experimentally
+    validated microRNA-target interactions. Nucleic Acids Res.,
+    39, D163–D169.</span>
+11. <span class="discreet">Friedman,R.C., Farh,K.K., Burge,C.B.
+    and Bartel,D.P. (2009) Most mammalian mRNAs are conserved targets
+    of microRNAs. Genome Res., 19, 92–105.</span>
+12. <span class="discreet">Betel,D., Wilson,M., Gabow,A., Marks,D.S.
+    and Sander,C. (2008) The microRNA.org resourcetargets
+    and expression. Nucleic Acids Res., 36, D149–D153.</span>
+13. <span class="discreet">Dreszer,T.R., Karolchik,D., Zweig,A.S.,
+    Hinrichs,A.S., Raney,B.J., Kuhn,R.M., Meyer,L.R., Wong,M.,
+    Sloan,C.A., Rosenbloom,K.R. et al. (2012) The UCSC genome browser
+    databaseextensions and updates 2011. Nucleic Acids Res.,
+    40, D918–D923.</span>
+14. <span class="discreet">Smith,B., Ashburner,M., Rosse,C., Bard,J.,
+    Bug,W., Ceusters,W., Goldberg,L.J., Eilbeck,K.,
+    Ireland,A., Mungall,C.J. et al. (2007) The OBO Foundrycoordinated
+    evolution of ontologies to support biomedical data integration. Nat.
+    Biotechnol., 25, 1251–1255.</span>
+15. <span class="discreet">Hunter,S., Jones,P., Mitchell,A.,
+    Apweiler,R., Attwood,T.K.,Bateman,A., Bernard,T., Binns,D.,
+    Bork,P., Burge,S. et al. (2012) InterPro in 2011new developments
+    in the family and domain prediction database. Nucleic Acids Res.,
+    40, D306–D312.</span>
+16. <span class="discreet">Sherry,S.T., Ward,M.H., Kholodov,M.,
+    Baker,J., Phan,L., Smigielski,E.M. and Sirotkin,K. (2001) dbSNPthe
+    NCBI database of genetic variation. Nucleic Acids Res.,
+    29, 308–311.</span>
+17. <span class="discreet">Altshuler,D.M., Gibbs,R.A., Peltonen,L.,
+    Dermitzakis,E., Schaffner,S.F., Yu,F., Bonnen,P.E., de Bakker,P.I.,
+    Deloukas,P., Gabriel,S.B. et al. (2010) Integrating common and rare
+    genetic variation in diverse human populations. Nature,
+    467, 52–58.</span>
+18. <span class="discreet">1000 Genomes Project Consortium. (2010) A map
+    of human genome variation from population-scale sequencing. Nature,
+    467, 1061–1073.</span>
+19. <span class="discreet">Hindorff,L.A., Sethupathy,P., Junkins,H.A.,
+    Ramos,E.M., Mehta,J.P., Collins,F.S. and Manolio,T.A. (2009)
+    Potential etiologic and functional implications of genome-wide
+    association loci for human diseases and traits. Proc. Natl Acad.
+    Sci. USA, 106, 9362–9367.</span>
+20. <span class="discreet">Stenson,P.D., Ball,E.V., Mort,M.,
+    Phillips,A.D., Shiel,J.A., Thomas,N.S., Abeysinghe,S., Krawczak,M.
+    and Cooper,D.N. (2003) Human gene mutation database (HGMD):
+    2003 update. Hum. Mutat., 21, 577–581.</span>
+21. <span class="discreet">Johnson,A.D. and O’Donnell,C.J. (2009) An
+    open access database of genome-wide association results. BMC Med.
+    Genet, 10, 6.</span>
+22. <span class="discreet">McKusick,V. (1998) A Catalog of Human Genes
+    and Genetic  Disorders, 12th edn. John Hopkins University
+    Press,Baltimore, MD.</span>
+23. <span class="discreet">Forbes,S.A., Bindal,N., Bamford,S., Cole,C.,
+    Kok,C.Y., Beare,D., Jia,M., Shepherd,R., Leung,K., Menzies,A. et al.
+    (2011) COSMICmining complete cancer genomes in the catalogue of
+    somatic mutations in cancer. Nucleic Acids Res.,
+    39, D945–D950.</span>
+24. <span class="discreet">Kerrien,S., Aranda,B., Breuza,L., Bridge,A.,
+    Broackes-Carter,F., Chen,C., Duesbury,M., Dumousseau,M.,
+    Feuermann,M., Hinz,U. et al. (2012) The Intact molecular interaction
+    database in 2012. Nucleic Acids Res., 40, D841–D846.</span>
+25. <span class="discreet">Croft,D., O’Kelly,G., Wu,G., Haw,R.,
+    Gillespie,M., Matthews,L., Caudy,M., Garapati,P.,
+    Gopinath,G., Jassal,B. et al. (2011) Reactomea database of
+    reactions, pathways and biological processes. Nucleic Acids Res.,
+    39, D691–D697.</span>
+26. <span class="discreet">Demir,E., Cary,M.P., Paley,S., Fukuda,K.,
+    Lemer,C., Vastrik,I.,Wu,G., D’Eustachio,P., Schaefer,C., Luciano,J.
+    et al. (2010) The BioPAX community standard for pathway
+    data sharing. Nature Biotechnol., 28, 935–942.</span>
+27. <span class="discreet">Alemán Z, García-García F, Medina I, Dopazo J
+    (2014)A web tool for the design and management of panels of genes
+    for targeted enrichment and massive sequencing for
+    clinical applications. Nucleic Acids Res 42W83-7.</span>
+28. <span class="discreet">[Alemán
+    A](http://www.ncbi.nlm.nih.gov/pubmed?term=Alem%C3%A1n%20A%5BAuthor%5D&cauthor=true&cauthor_uid=24803668)<span>, </span>[Garcia-Garcia
+    F](http://www.ncbi.nlm.nih.gov/pubmed?term=Garcia-Garcia%20F%5BAuthor%5D&cauthor=true&cauthor_uid=24803668)<span>, </span>[Salavert
+    F](http://www.ncbi.nlm.nih.gov/pubmed?term=Salavert%20F%5BAuthor%5D&cauthor=true&cauthor_uid=24803668)<span>, </span>[Medina
+    I](http://www.ncbi.nlm.nih.gov/pubmed?term=Medina%20I%5BAuthor%5D&cauthor=true&cauthor_uid=24803668)<span>, </span>[Dopazo
+    J](http://www.ncbi.nlm.nih.gov/pubmed?term=Dopazo%20J%5BAuthor%5D&cauthor=true&cauthor_uid=24803668)<span> (2014).
+    A web-based interactive framework to assist in the prioritization of
+    disease candidate genes in whole-exome sequencing studies.
+    </span>[Nucleic
+    Acids Res.](http://www.ncbi.nlm.nih.gov/pubmed/?term=BiERapp "Nucleic acids research.")<span>42 :W88-93.</span></span>
+29. <span class="discreet">Landrum,M.J., Lee,J.M., Riley,G.R., Jang,W.,
+    Rubinstein,W.S., Church,D.M. and Maglott,D.R. (2014) ClinVarpublic
+    archive of relationships among sequence variation and
+    human phenotype. Nucleic Acids Res., 42, D980–D985.</span>
+30. <span class="discreet">Medina I, Salavert F, Sanchez R, de Maria A,
+    Alonso R, Escobar P, Bleda M, Dopazo JGenome Maps, a new
+    generation genome browser. Nucleic Acids Res 2013, 41:W41-46.</span>
+
+ 
+
+<span>
+</span>
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/priorization-component-bierapp.md b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/priorization-component-bierapp.md
new file mode 100644
index 0000000000000000000000000000000000000000..8eb378b640038cb9e7cb9c0c06b5d9e338f73bcd
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/priorization-component-bierapp.md
@@ -0,0 +1,48 @@
+Priorization component (BiERApp) 
+================================
+
+
+### Access
+
+BiERApp is available at the following address
+: <http://omics.it4i.cz/bierapp/>
+
+The address is accessible only
+via [VPN. ](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access)
+
+### <span>BiERApp</span>
+
+### <span>This tool is aimed to discover new disease genes or variants by studying affected families or cases and controls. It carries out a filtering process to sequentially remove: (i) variants which are not no compatible with the disease because are not expected to have impact on the protein function; (ii) variants that exist at frequencies incompatible with the disease; (iii) variants that do not segregate with the disease. The result is a reduced set of disease gene candidates that should be further validated experimentally.</span>
+
+
+
+BiERapp <span>(28)</span> efficiently helps in the identification of
+causative variants in family and sporadic genetic diseases. The program
+reads lists of predicted variants (nucleotide substitutions and indels)
+in affected individuals or tumor samples and controls. In family
+studies, different modes of inheritance can easily be defined to filter
+out variants that do not segregate with the disease along the family.
+Moreover, BiERapp integrates additional information such as allelic
+frequencies in the general population and the most popular damaging
+scores to further narrow down the number of putative variants in
+successive filtering steps. BiERapp provides an interactive and
+user-friendly interface that implements the filtering strategy used in
+the context of a large-scale genomic project carried out by the Spanish
+Network for Research, in Rare Diseases (CIBERER) and the Medical Genome
+Project. in which more than 800 exomes have been analyzed.
+
+![Web interface to the prioritization tool. This figure shows the
+interface of the web tool for candidate gene prioritization with the
+filters available. The tool includes a genomic viewer (Genome Maps 30)
+that enables the representation of the variants in the corresponding
+genomic
+coordinates.](https://docs.it4i.cz/anselm-cluster-documentation/software/omics-master-1/images/fig6.png "fig6.png")
+
+***Figure 6***. *Web interface to the prioritization tool.* *This
+figure* *shows the interface of the web tool for candidate gene
+prioritization with the filters available. The tool includes a genomic
+viewer (Genome Maps <span>30</span>) that enables the representation of
+the variants in the corresponding genomic coordinates.*
+
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md b/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md
new file mode 100644
index 0000000000000000000000000000000000000000..35a7c12ee50883610a5a1c02cdd0a9fe5f3cb46c
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/openfoam.md
@@ -0,0 +1,325 @@
+OpenFOAM 
+========
+
+A free, open source CFD software package
+
+
+  
+
+**Introduction**
+----------------
+
+OpenFOAM is a free, open source CFD software package developed
+by [**OpenCFD Ltd**](http://www.openfoam.com/about) at [**ESI
+Group**](http://www.esi-group.com/) and distributed by the [**OpenFOAM
+Foundation **](http://www.openfoam.org/). It has a large user base
+across most areas of engineering and science, from both commercial and
+academic organisations. 
+
+Homepage<http://www.openfoam.com/>
+
+### **Installed version**
+
+Currently, several version compiled by GCC/ICC compilers in
+single/double precision with several version of openmpi are available on
+Anselm.
+
+For example syntax of available OpenFOAM module is:
+
+<span>&lt; openfoam/2.2.1-icc-openmpi1.6.5-DP &gt;</span>
+
+this means openfoam version <span>2.2.1</span> compiled by
+<span>ICC</span> compiler with <span>openmpi1.6.5</span> in<span> double
+precision</span>.
+
+Naming convection of the installed versions is following:
+
+<span>   
+openfoam/&lt;</span><span>VERSION</span><span>&gt;-&lt;</span><span>COMPILER</span><span>&gt;-&lt;</span><span>openmpiVERSION</span><span>&gt;-&lt;</span><span>PRECISION</span><span>&gt;</span>
+
+-   <span>&lt;</span><span>VERSION</span><span>&gt; - version of
+    openfoam</span>
+-   <span>&lt;<span>COMPILER</span>&gt; - version of used
+    compiler</span>
+-   <span>&lt;<span>openmpiVERSION</span>&gt; - version of used
+    openmpi/impi</span>
+-   <span>&lt;<span>PRECISION</span>&gt; - DP/</span><span>SP –
+    double/single precision</span>
+
+### **Available OpenFOAM modules**
+
+To check available modules use
+
+
+    $ module avail
+
+
+
+In /opt/modules/modulefiles/engineering you can see installed
+engineering softwares:
+
+    ------------------------------------ /opt/modules/modulefiles/engineering -------------------------------------------------------------
+    ansys/14.5.x               matlab/R2013a-COM                                openfoam/2.2.1-icc-impi4.1.1.036-DP
+    comsol/43b-COM             matlab/R2013a-EDU                                openfoam/2.2.1-icc-openmpi1.6.5-DP
+    comsol/43b-EDU             openfoam/2.2.1-gcc481-openmpi1.6.5-DP            paraview/4.0.1-gcc481-bullxmpi1.2.4.1-osmesa10.0
+    lsdyna/7.x.x               openfoam/2.2.1-gcc481-openmpi1.6.5-SP
+
+For information how to use modules please [look
+here](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules "Environment and Modules ").
+
+**Getting Started**
+-------------------
+
+To create OpenFOAM environment on ANSELM give the commands:
+
+    $ module load openfoam/2.2.1-icc-openmpi1.6.5-DP
+
+    $ source $FOAM_BASHRC
+
+Pleas load correct module with your requirements “compiler - GCC/ICC,
+precision - DP/SP”.
+
+Create a project directory within the $HOME/OpenFOAM directory
+named <span>&lt;USER&gt;</span>-&lt;OFversion&gt; and create a directory
+named run within it, e.g. by typing:
+
+
+    $ mkdir -p $FOAM_RUN
+
+
+
+Project directory is now available by typing:
+
+
+    $ cd /home/<USER>/OpenFOAM/<USER>-<OFversion>/run
+
+&lt;OFversion&gt; - for example &lt;2.2.1&gt;
+
+or
+
+
+    $ cd $FOAM_RUN
+
+
+
+Copy the tutorial examples directory in the OpenFOAM distribution to
+the run directory:
+
+
+    $ cp -r $FOAM_TUTORIALS $FOAM_RUN
+
+
+
+Now you can run the first case for example incompressible laminar flow
+in a cavity.
+
+**Running Serial Applications**
+-------------------------------
+
+
+<span>Create a Bash script </span><span>test.sh</span> 
+<span></span>
+
+<span> </span>
+    #!/bin/bash
+    module load openfoam/2.2.1-icc-openmpi1.6.5-DP
+    source $FOAM_BASHRC
+
+    # source to run functions
+    . $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+    cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
+
+    runApplication blockMesh
+    runApplication icoFoam
+
+<span> </span>
+
+
+
+<span> </span>
+
+
+
+<span>Job submission</span>
+
+
+<span> </span>
+    $ qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=16,walltime=03:00:00 test.sh
+
+<span> </span>
+
+
+
+<span> </span>For information about job submission please [look
+here](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution "Job submission").
+
+**<span>Running applications in parallel</span>**
+-------------------------------------------------
+
+
+<span>Run the second case for example external incompressible turbulent
+flow - case - motorBike.</span>
+<span>First we must run serial application bockMesh and decomposePar for
+preparation of parallel computation.</span>
+<span>
+</span>
+
+
+
+<span>Create a Bash scrip test.sh:</span>
+
+
+<span> </span>
+    #!/bin/bash
+    module load openfoam/2.2.1-icc-openmpi1.6.5-DP
+    source $FOAM_BASHRC
+
+    # source to run functions
+    . $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+    cd $FOAM_RUN/tutorials/incompressible/simpleFoam/motorBike
+
+    runApplication blockMesh
+    runApplication decomposePar
+
+
+<span>
+</span>
+
+
+
+<span> </span>
+
+
+
+<span>Job submission</span>
+
+
+<span> </span>
+    $ qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=16,walltime=03:00:00 test.sh
+
+<span> </span>
+
+
+
+<span><span>This job create simple block mesh and domain decomposition.
+Check your decomposition, and submit parallel computation:</span></span>
+
+<span><span>Create a PBS script<span>
+testParallel.pbs</span>:</span></span>
+
+
+<span> </span>
+    #!/bin/bash
+    #PBS -N motorBike
+    #PBS -l select=2:ncpus=16
+    #PBS -l walltime=01:00:00
+    #PBS -q qprod
+    #PBS -A OPEN-0-0
+
+    module load openfoam/2.2.1-icc-openmpi1.6.5-DP
+    source $FOAM_BASHRC
+
+    cd $FOAM_RUN/tutorials/incompressible/simpleFoam/motorBike
+
+    nproc = 32
+
+    mpirun -hostfile $ -np $nproc snappyHexMesh -overwrite -parallel | tee snappyHexMesh.log
+
+    mpirun -hostfile $ -np $nproc potentialFoam -noFunctionObject-writep -parallel | tee potentialFoam.log
+
+    mpirun -hostfile $ -np $nproc simpleFoam -parallel | tee simpleFoam.log 
+
+<span> </span>
+
+
+
+<span>nproc – number of subdomains</span>
+
+<span>Job submission</span>
+
+
+<span> </span>
+    $ qsub testParallel.pbs
+
+<span> </span>
+
+
+
+**<span>Compile your own solver</span>**
+----------------------------------------
+
+<span>Initialize OpenFOAM environment before compiling your solver
+</span>
+
+
+<span> </span>
+    $ module load openfoam/2.2.1-icc-openmpi1.6.5-DP
+    $ source $FOAM_BASHRC
+    $ cd $FOAM_RUN/
+
+<span>Create directory applications/solvers in user directory</span>
+<span> </span>
+    $ mkdir -p applications/solvers
+    $ cd applications/solvers
+
+<span> </span>
+
+
+
+<span>Copy icoFoam solver’s source files</span>
+
+
+<span> </span>
+    $ cp -r $FOAM_SOLVERS/incompressible/icoFoam/ My_icoFoam
+    $ cd My_icoFoam
+
+
+<span>Rename icoFoam.C to My_icoFOAM.C</span>
+
+
+<span> </span>
+    $ mv icoFoam.C My_icoFoam.C
+
+<span> </span>
+
+
+
+<span>Edit <span>*files*</span> file in *Make* directory:</span>
+
+
+<span> </span>
+    icoFoam.C
+    EXE = $(FOAM_APPBIN)/icoFoam
+
+<span>and change to:</span>
+
+
+
+    My_icoFoam.C 
+    EXE = $(FOAM_USER_APPBIN)/My_icoFoam
+
+<span></span>
+
+
+
+<span>In directory My_icoFoam give the compilation command:</span>
+
+
+<span> </span>
+    $ wmake
+
+
+
+------------------------------------------------------------------------
+
+ 
+
+** Have a fun with OpenFOAM :)**
+
+ <span id="__caret"><span id="__caret"></span></span>
+
+ 
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md b/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md
new file mode 100644
index 0000000000000000000000000000000000000000..d5b1b2ae7861b9474e73ea0924974c0b938d454a
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/operating-system.md
@@ -0,0 +1,15 @@
+Operating System 
+================
+
+The operating system, deployed on ANSELM
+
+
+  
+
+The operating system on Anselm is Linux - bullx Linux Server release
+6.3.
+
+bullx Linux is based on Red Hat Enterprise Linux. bullx Linux is a Linux
+distribution provided by Bull and dedicated to HPC applications.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md b/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md
new file mode 100644
index 0000000000000000000000000000000000000000..465dc2669e130a66e63fdad623faaaec4b8c176d
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/paraview.md
@@ -0,0 +1,123 @@
+ParaView 
+========
+
+An open-source, multi-platform data analysis and visualization
+application
+
+
+  
+
+Introduction
+------------
+
+**ParaView** is an open-source, multi-platform data analysis and
+visualization application. ParaView users can quickly build
+visualizations to analyze their data using qualitative and quantitative
+techniques. The data exploration can be done interactively in 3D or
+programmatically using ParaView's batch processing capabilities.
+
+ParaView was developed to analyze extremely large datasets using
+distributed memory computing resources. It can be run on supercomputers
+to analyze datasets of exascale size as well as on laptops for smaller
+data.
+
+Homepage : <http://www.paraview.org/>
+
+Installed version
+-----------------
+
+Currently, version 4.0.1 compiled with GCC 4.8.1 against Bull MPI
+library and OSMesa 10.0 is installed on Anselm.
+
+Usage
+-----
+
+On Anselm, ParaView is to be used in client-server mode. A parallel
+ParaView server is launched on compute nodes by the user, and client is
+launched on your desktop PC to control and view the visualization.
+Download ParaView client application for your OS here
+: <http://paraview.org/paraview/resources/software.php>. Important :
+**your version must match the version number installed on Anselm** !
+(currently v4.0.1)
+
+### Launching server
+
+To launch the server, you must first allocate compute nodes, for example
+:<span> </span>
+
+    $ qsub -I -q qprod -A OPEN-0-0 -l select=2
+
+to launch an interactive session on 2 nodes. Refer to [Resource
+Allocation and Job
+Execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction)
+for details.
+
+After the interactive session is opened, load the ParaView module :
+
+    $ module add paraview
+
+Now launch the parallel server, with number of nodes times 16 processes
+:
+
+    $ mpirun -np 32 pvserver --use-offscreen-rendering
+    Waiting for client...
+    Connection URLcs://cn77:11111
+    Accepting connection(s)cn77:11111
+
+ Note the that the server is listening on compute node cn77 in this
+case, we shall use this information later.
+
+### Client connection
+
+Because a direct connection is not allowed to compute nodes on Anselm,
+you must establish a SSH tunnel to connect to the server. Choose a port
+number on your PC to be forwarded to ParaView server, for example 12345.
+If your PC is running Linux, use this command to estabilish a SSH tunnel
+:
+
+    ssh -TN -L 12345:cn77:11111 username@anselm.it4i.cz
+
+replace <span class="monospace">username</span> with your login and cn77
+with the name of compute node your ParaView server is running on (see
+previous step). If you use PuTTY on Windows, load Anselm connection
+configuration, t<span>hen go to Connection-&gt;</span><span
+class="highlightedSearchTerm">SSH</span><span>-&gt;Tunnels to set up the
+port forwarding. Click Remote radio button. Insert 12345 to Source port
+textbox. Insert cn77:11111. Click Add button, then Open. </span>[Read
+more about port
+forwarding.](resolveuid/11e53ad0d2fd4c5187537f4baeedff33)
+
+Now launch ParaView client installed on your desktop PC. Select
+File-&gt;Connect..., click Add Server. Fill in the following :
+
+Name Anselm tunnel
+
+Server Type Client/Server
+
+Host localhost
+
+Port 12345
+
+Click Configure, Save, the configuration is now saved for later use. Now
+click Connect to connect to the ParaView server. In your terminal where
+you have interactive session with ParaView server launched, you should
+see :
+
+    Client connected.
+
+You can now use Parallel ParaView.
+
+### Close server
+
+Remember to close the interactive session after you finish working with
+ParaView server, as it will remain launched even after your client is
+disconnected and will continue to consume resources.
+
+GPU support
+-----------
+
+Currently, GPU acceleration is not supported in the server and ParaView
+will not take advantage of accelerated nodes on Anselm. Support for GPU
+acceleration might be added in the future.
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/virtualization.md b/docs.it4i.cz/anselm-cluster-documentation/software/virtualization.md
new file mode 100644
index 0000000000000000000000000000000000000000..e92b4c9006846cb81296b45d08ae5c3dc5330384
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/virtualization.md
@@ -0,0 +1,489 @@
+Virtualization 
+==============
+
+Running virtual machines on compute nodes
+
+
+  
+
+Introduction
+------------
+
+There are situations when Anselm's environment is not suitable for user
+needs.
+
+-   Application requires different operating system (e.g Windows),
+    application is not available for Linux
+-   Application requires different versions of base system libraries and
+    tools
+-   Application requires specific setup (installation, configuration) of
+    complex software stack
+-   Application requires privileged access to operating system
+-   ... and combinations of above cases
+
+ We offer solution for these cases - **virtualization**. Anselm's
+environment gives the possibility to run virtual machines on compute
+nodes. Users can create their own images of operating system with
+specific software stack and run instances of these images as virtual
+machines on compute nodes. Run of virtual machines is provided by
+standard mechanism of [Resource Allocation and Job
+Execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction).
+
+Solution is based on QEMU-KVM software stack and provides
+hardware-assisted x86 virtualization.
+
+Limitations
+-----------
+
+Anselm's infrastructure was not designed for virtualization. Anselm's
+environment is not intended primary for virtualization, compute nodes,
+storages and all infrastructure of Anselm is intended and optimized for
+running HPC jobs, this implies suboptimal configuration of
+virtualization and limitations.
+
+Anselm's virtualization does not provide performance and all features of
+native environment. There is significant performance hit (degradation)
+in I/O performance (storage, network). Anselm's virtualization is not
+suitable for I/O (disk, network) intensive workloads.
+
+Virtualization has also some drawbacks, it is not so easy to setup
+efficient solution.
+
+Solution described in chapter [HOWTO](#howto)<span
+class="anchor-link"> is suitable for </span>single node tasks, does not
+introduce virtual machine clustering.
+
+Please consider virtualization as last resort solution for your needs.
+
+Please consult use of virtualization with IT4Innovation's support.
+
+For running Windows application (when source code and Linux native
+application are not available) consider use of Wine, Windows
+compatibility layer. Many Windows applications can be run using Wine
+with less effort and better performance than when using virtualization.
+
+Licensing
+---------
+
+IT4Innovations does not provide any licenses for operating systems and
+software of virtual machines. Users are (<span id="result_box"><span
+class="hps">in accordance with</span></span> [Acceptable use policy
+document](http://www.it4i.cz/acceptable-use-policy.pdf))
+fully responsible for licensing all software running in virtual machines
+on Anselm. Be aware of complex conditions of licensing software in
+virtual environments.
+
+Users are responsible for licensing OS e.g. MS Windows and all software
+running in their virtual machines.
+
+[]() HOWTO
+----------
+
+### []()Virtual Machine Job Workflow
+
+We propose this job workflow:
+
+ ![Virtualization Job
+Workflow](https://docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow "Virtualization Job Workflow")
+
+Our recommended solution is that job script creates distinct shared job
+directory, which makes a central point for data exchange between
+Anselm's environment, compute node (host) (e.g HOME, SCRATCH, local
+scratch and other local or cluster filesystems) and virtual machine
+(guest). Job script links or copies input data and instructions what to
+do (run script) for virtual machine to job directory and virtual machine
+process input data according instructions in job directory and store
+output back to job directory. We recommend, that virtual machine is
+running in so called [snapshot mode](#snapshot-mode),
+image is immutable - image does not change, so one image can be used for
+many concurrent jobs.
+
+### Procedure
+
+1.  Prepare image of your virtual machine
+2.  Optimize image of your virtual machine for Anselm's virtualization
+3.  Modify your image for running jobs
+4.  Create job script for executing virtual machine
+5.  Run jobs
+
+### Prepare image of your virtual machine
+
+You can either use your existing image or create new image from scratch.
+
+EMU currently supports these image types or formats:
+
+-   raw 
+-   cloop 
+-   cow 
+-   qcow 
+-   qcow2 
+-   vmdk - VMware 3 & 4, or 6 image format, for exchanging images with
+    that product
+-   vdi - VirtualBox 1.1 compatible image format, for exchanging images
+    with VirtualBox.
+
+You can convert your existing image using qemu-img convert command.
+Supported formats of this command areblkdebug blkverify bochs cloop
+cow dmg file ftp ftps host_cdrom host_device host_floppy http https
+nbd parallels qcow qcow2 qed raw sheepdog tftp vdi vhdx vmdk vpc vvfat.
+
+We recommend using advanced QEMU native image format qcow2.
+
+[More about QEMU
+Images](http://en.wikibooks.org/wiki/QEMU/Images)
+
+### Optimize image of your virtual machine
+
+Use virtio devices (for disk/drive and network adapter) and install
+virtio drivers (paravirtualized drivers) into virtual machine. There is
+significant performance gain when using virtio drivers. For more
+information see [Virtio
+Linux](http://www.linux-kvm.org/page/Virtio) and [Virtio
+Windows](http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers).
+
+Disable all <span id="result_box" class="short_text"><span
+class="hps trans-target-highlight">unnecessary</span></span> services
+and tasks. Restrict all unnecessary operating system operations.
+
+Remove all <span id="result_box" class="short_text"><span
+class="hps trans-target-highlight">unnecessary software and
+files.</span></span>
+
+<span id="result_box" class="short_text"><span
+class="hps trans-target-highlight"></span></span>Remove all paging
+space, swap files, partitions, etc.
+
+Shrink your image. (It is recommended to zero all free space and
+reconvert image using qemu-img.)
+
+### Modify your image for running jobs
+
+Your image should run some kind of operating system startup script.
+Startup script should run application and when application exits run
+shutdown or quit virtual machine.
+
+We recommend, that startup script
+
+maps Job Directory from host (from compute node)
+runs script (we call it "run script") from Job Directory and waits for
+application's exit
+-   for management purposes if run script does not exist wait for some
+    time period (few minutes)
+
+shutdowns/quits OS
+For Windows operating systems we suggest using Local Group Policy
+Startup script, for Linux operating systems rc.local, runlevel init
+script or similar service.
+
+Example startup script for Windows virtual machine:
+
+    @echo off
+    set LOG=c:startup.log
+    set MAPDRIVE=z:
+    set SCRIPT=%MAPDRIVE%run.bat
+    set TIMEOUT=300
+
+    echo %DATE% %TIME% Running startup script>%LOG%
+
+    rem Mount share
+    echo %DATE% %TIME% Mounting shared drive>>%LOG%
+    net use z10.0.2.4qemu >>%LOG% 2>&1
+    dir z>>%LOG% 2>&1
+    echo. >>%LOG%
+
+
+    if exist %MAPDRIVE% (
+      echo %DATE% %TIME% The drive "%MAPDRIVE%" exists>>%LOG%
+
+      if exist %SCRIPT% (
+        echo %DATE% %TIME% The script file "%SCRIPT%"exists>>%LOG%
+        echo %DATE% %TIME% Running script %SCRIPT%>>%LOG%
+        set TIMEOUT=0
+        call %SCRIPT%
+      ) else (
+        echo %DATE% %TIME% The script file "%SCRIPT%"does not exist>>%LOG%
+      )
+
+    ) else (
+      echo %DATE% %TIME% The drive "%MAPDRIVE%" does not exist>>%LOG%
+    )
+    echo. >>%LOG%
+
+    timeout /T %TIMEOUT%
+
+    echo %DATE% %TIME% Shut down>>%LOG%
+    shutdown /s /t 0
+
+Example startup script maps shared job script as drive zand looks for
+run script called run.bat. If run script is found it is run else wait
+for 5 minutes, then shutdown virtual machine.
+
+### Create job script for executing virtual machine
+
+Create job script according recommended <span id="result_box"
+class="short_text"><span
+class="hps trans-target-highlight"></span></span>[Virtual Machine Job
+Workflow](#virtual-machine-job-workflow).
+
+Example job for Windows virtual machine:
+
+    #/bin/sh
+
+    JOB_DIR=/scratch/$USER/win/$
+
+    #Virtual machine settings
+    VM_IMAGE=~/work/img/win.img
+    VM_MEMORY=49152
+    VM_SMP=16
+
+    # Prepare job dir
+    mkdir -p $ && cd $ || exit 1
+    ln -s ~/work/win .
+    ln -s /scratch/$USER/data .
+    ln -s ~/work/win/script/run/run-appl.bat run.bat
+
+    # Run virtual machine
+    export TMPDIR=/lscratch/$
+    module add qemu
+    qemu-system-x86_64 
+      -enable-kvm 
+      -cpu host 
+      -smp $ 
+      -m $ 
+      -vga std 
+      -localtime 
+      -usb -usbdevice tablet 
+      -device virtio-net-pci,netdev=net0 
+      -netdev user,id=net0,smb=$,hostfwd=tcp::3389-:3389 
+      -drive file=$,media=disk,if=virtio 
+      -snapshot 
+      -nographic
+
+Job script links application data (win), input data (data) and run
+script (run.bat) into job directory and runs virtual machine.
+
+Example run script (run.bat) for Windows virtual machine:
+
+    z:
+    cd winappl
+    call application.bat z:data z:output
+
+Run script runs application from shared job directory (mapped as drive
+z:), process input data (z:data) from job directory  and store output
+to job directory (z:output).
+
+### Run jobs
+
+Run jobs as usual, see  [Resource Allocation and Job
+Execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction).
+Use only full node allocation for virtualization jobs.
+
+### Running Virtual Machines
+
+Virtualization is enabled only on compute nodes, virtualization does not
+work on login nodes.
+
+Load QEMU environment module:
+
+    $ module add qemu
+
+Get help
+
+    $ man qemu
+
+Run virtual machine (simple)
+
+    $ qemu-system-x86_64 -hda linux.img -enable-kvm -cpu host -smp 16 -m 32768 -vga std -vnc :0
+
+    $ qemu-system-x86_64 -hda win.img   -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -vnc :0
+
+You can access virtual machine by VNC viewer (option -vnc) connecting to
+IP address of compute node. For VNC you must use [VPN
+network](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access).
+
+Install virtual machine from iso file
+
+    $ qemu-system-x86_64 -hda linux.img -enable-kvm -cpu host -smp 16 -m 32768 -vga std -cdrom linux-install.iso -boot d -vnc :0
+
+    $ qemu-system-x86_64 -hda win.img   -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -cdrom win-install.iso -boot d -vnc :0
+
+Run virtual machine using optimized devices, user network backend with
+sharing and port forwarding, in snapshot mode
+
+    $ qemu-system-x86_64 -drive file=linux.img,media=disk,if=virtio -enable-kvm -cpu host -smp 16 -m 32768 -vga std -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::2222-:22 -vnc :0 -snapshot
+
+    $ qemu-system-x86_64 -drive file=win.img,media=disk,if=virtio -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::3389-:3389 -vnc :0 -snapshot
+
+Thanks to port forwarding you can access virtual machine via SSH (Linux)
+or RDP (Windows) connecting to IP address of compute node (and port 2222
+for SSH). You must use [VPN
+network](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access).
+
+Keep in mind, that if you use virtio devices, you must have virtio
+drivers installed on your virtual machine.
+
+### Networking and data sharing
+
+For networking virtual machine we suggest to use (default) user network
+backend (sometimes called slirp). This network backend NATs virtual
+machines and provides useful services for virtual machines as DHCP, DNS,
+SMB sharing, port forwarding.
+
+In default configuration IP network 10.0.2.0/24 is used, host has IP
+address 10.0.2.2, DNS server 10.0.2.3, SMB server 10.0.2.4 and virtual
+machines obtain address from range 10.0.2.15-10.0.2.31. Virtual machines
+have access to Anselm's network via NAT on compute node (host).
+
+Simple network setup
+
+    $ qemu-system-x86_64 ... -net nic -net user
+
+(It is default when no -net options are given.)
+
+Simple network setup with sharing and port forwarding (obsolete but
+simpler syntax, lower performance)
+
+    $ qemu-system-x86_64 ... -net nic -net user,smb=/scratch/$USER/tmp,hostfwd=tcp::3389-:3389
+
+Optimized network setup with sharing and port forwarding
+
+    $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::2222-:22
+
+### Advanced networking
+
+**Internet access**
+
+Sometime your virtual machine needs access to internet (install
+software, updates, software activation, etc). We suggest solution using
+Virtual Distributed Ethernet (VDE) enabled QEMU with SLIRP running on
+login node tunnelled to compute node. Be aware, this setup has very low
+performance, the worst performance of all described solutions.
+
+Load VDE enabled QEMU environment module (unload standard QEMU module
+first if necessary).
+
+    $ module add qemu/2.1.2-vde2
+
+Create virtual network switch.
+
+    $ vde_switch -sock /tmp/sw0 -mgmt /tmp/sw0.mgmt -daemon
+
+Run SLIRP daemon over SSH tunnel on login node and connect it to virtual
+network switch.
+
+    $ dpipe vde_plug /tmp/sw0 = ssh login1 $VDE2_DIR/bin/slirpvde -s - --dhcp &
+
+Run qemu using vde network backend, connect to created virtual switch.
+
+Basic setup (obsolete syntax)
+
+    $ qemu-system-x86_64 ... -net nic -net vde,sock=/tmp/sw0
+
+Setup using virtio device (obsolete syntax)
+
+    $ qemu-system-x86_64 ... -net nic,model=virtio -net vde,sock=/tmp/sw0
+
+Optimized setup
+
+    $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net0 -netdev vde,id=net0,sock=/tmp/sw0
+
+**
+**
+
+**TAP interconnect**
+
+Both user and vde network backend have low performance. For fast
+interconnect (10Gbps and more) of compute node (host) and virtual
+machine (guest) we suggest using Linux kernel TAP device.
+
+Cluster Anselm provides TAP device tap0 for your job. TAP interconnect
+does not provide any services (like NAT, DHCP, DNS, SMB, etc.) just raw
+networking, so you should provide your services if you need them.
+
+Run qemu with TAP network backend:
+
+    $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net1 
+                           -netdev tap,id=net1,ifname=tap0,script=no,downscript=no
+
+Interface tap0 has IP address 192.168.1.1 and network mask 255.255.255.0
+(/24). In virtual machine use IP address from range
+192.168.1.2-192.168.1.254. For your convenience some ports on tap0
+interface are redirected to higher numbered ports, so you as
+non-privileged user can provide services on these ports.
+
+Redirected ports:
+
+-   DNS udp/53-&gt;udp/3053, tcp/53-&gt;tcp3053
+-   DHCP udp/67-&gt;udp3067
+-   SMB tcp/139-&gt;tcp3139, tcp/445-&gt;tcp3445).
+
+You can configure IP address of virtual machine statically or
+dynamically. For dynamic addressing provide your DHCP server on port
+3067 of tap0 interface, you can also provide your DNS server on port
+3053 of tap0 interface for example:
+
+    $ dnsmasq --interface tap0 --bind-interfaces -p 3053 --dhcp-alternate-port=3067,68 --dhcp-range=192.168.1.15,192.168.1.32 --dhcp-leasefile=/tmp/dhcp.leasefile
+
+You can also provide your SMB services (on ports 3139, 3445) to obtain
+high performance data sharing.
+
+Example smb.conf (not optimized)
+
+    [global]
+    socket address=192.168.1.1
+    smb ports = 3445 3139
+
+    private dir=/tmp/qemu-smb
+    pid directory=/tmp/qemu-smb
+    lock directory=/tmp/qemu-smb
+    state directory=/tmp/qemu-smb
+    ncalrpc dir=/tmp/qemu-smb/ncalrpc
+    log file=/tmp/qemu-smb/log.smbd
+    smb passwd file=/tmp/qemu-smb/smbpasswd
+    security = user
+    map to guest = Bad User
+    unix extensions = no
+    load printers = no
+    printing = bsd
+    printcap name = /dev/null
+    disable spoolss = yes
+    log level = 1
+    guest account = USER
+    [qemu]
+    path=/scratch/USER/tmp
+    read only=no
+    guest ok=yes
+    writable=yes
+    follow symlinks=yes
+    wide links=yes
+    force user=USER
+
+(Replace USER with your login name.)
+
+Run SMB services
+
+    smbd -s /tmp/qemu-smb/smb.conf
+
+ 
+
+Virtual machine can of course have more than one network interface
+controller, virtual machine can use more than one network backend. So,
+you can combine for example use network backend and TAP interconnect.
+
+### []()Snapshot mode
+
+In snapshot mode image is not written, changes are written to temporary
+file (and discarded after virtual machine exits). **It is strongly
+recommended mode for running your jobs.** Set TMPDIR environment
+variable to local scratch directory for placement temporary files.
+
+    $ export TMPDIR=/lscratch/$
+    $ qemu-system-x86_64 ... -snapshot
+
+### Windows guests
+
+For Windows guests we recommend these options, life will be easier:
+
+    $ qemu-system-x86_64 ... -localtime -usb -usbdevice tablet
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow b/docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow
new file mode 100644
index 0000000000000000000000000000000000000000..f5602dd43de3879f6599a84170a7156100c27302
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization.md b/docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization.md
new file mode 100644
index 0000000000000000000000000000000000000000..e92b4c9006846cb81296b45d08ae5c3dc5330384
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization.md
@@ -0,0 +1,489 @@
+Virtualization 
+==============
+
+Running virtual machines on compute nodes
+
+
+  
+
+Introduction
+------------
+
+There are situations when Anselm's environment is not suitable for user
+needs.
+
+-   Application requires different operating system (e.g Windows),
+    application is not available for Linux
+-   Application requires different versions of base system libraries and
+    tools
+-   Application requires specific setup (installation, configuration) of
+    complex software stack
+-   Application requires privileged access to operating system
+-   ... and combinations of above cases
+
+ We offer solution for these cases - **virtualization**. Anselm's
+environment gives the possibility to run virtual machines on compute
+nodes. Users can create their own images of operating system with
+specific software stack and run instances of these images as virtual
+machines on compute nodes. Run of virtual machines is provided by
+standard mechanism of [Resource Allocation and Job
+Execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction).
+
+Solution is based on QEMU-KVM software stack and provides
+hardware-assisted x86 virtualization.
+
+Limitations
+-----------
+
+Anselm's infrastructure was not designed for virtualization. Anselm's
+environment is not intended primary for virtualization, compute nodes,
+storages and all infrastructure of Anselm is intended and optimized for
+running HPC jobs, this implies suboptimal configuration of
+virtualization and limitations.
+
+Anselm's virtualization does not provide performance and all features of
+native environment. There is significant performance hit (degradation)
+in I/O performance (storage, network). Anselm's virtualization is not
+suitable for I/O (disk, network) intensive workloads.
+
+Virtualization has also some drawbacks, it is not so easy to setup
+efficient solution.
+
+Solution described in chapter [HOWTO](#howto)<span
+class="anchor-link"> is suitable for </span>single node tasks, does not
+introduce virtual machine clustering.
+
+Please consider virtualization as last resort solution for your needs.
+
+Please consult use of virtualization with IT4Innovation's support.
+
+For running Windows application (when source code and Linux native
+application are not available) consider use of Wine, Windows
+compatibility layer. Many Windows applications can be run using Wine
+with less effort and better performance than when using virtualization.
+
+Licensing
+---------
+
+IT4Innovations does not provide any licenses for operating systems and
+software of virtual machines. Users are (<span id="result_box"><span
+class="hps">in accordance with</span></span> [Acceptable use policy
+document](http://www.it4i.cz/acceptable-use-policy.pdf))
+fully responsible for licensing all software running in virtual machines
+on Anselm. Be aware of complex conditions of licensing software in
+virtual environments.
+
+Users are responsible for licensing OS e.g. MS Windows and all software
+running in their virtual machines.
+
+[]() HOWTO
+----------
+
+### []()Virtual Machine Job Workflow
+
+We propose this job workflow:
+
+ ![Virtualization Job
+Workflow](https://docs.it4i.cz/anselm-cluster-documentation/software/virtualization/virtualization-job-workflow "Virtualization Job Workflow")
+
+Our recommended solution is that job script creates distinct shared job
+directory, which makes a central point for data exchange between
+Anselm's environment, compute node (host) (e.g HOME, SCRATCH, local
+scratch and other local or cluster filesystems) and virtual machine
+(guest). Job script links or copies input data and instructions what to
+do (run script) for virtual machine to job directory and virtual machine
+process input data according instructions in job directory and store
+output back to job directory. We recommend, that virtual machine is
+running in so called [snapshot mode](#snapshot-mode),
+image is immutable - image does not change, so one image can be used for
+many concurrent jobs.
+
+### Procedure
+
+1.  Prepare image of your virtual machine
+2.  Optimize image of your virtual machine for Anselm's virtualization
+3.  Modify your image for running jobs
+4.  Create job script for executing virtual machine
+5.  Run jobs
+
+### Prepare image of your virtual machine
+
+You can either use your existing image or create new image from scratch.
+
+EMU currently supports these image types or formats:
+
+-   raw 
+-   cloop 
+-   cow 
+-   qcow 
+-   qcow2 
+-   vmdk - VMware 3 & 4, or 6 image format, for exchanging images with
+    that product
+-   vdi - VirtualBox 1.1 compatible image format, for exchanging images
+    with VirtualBox.
+
+You can convert your existing image using qemu-img convert command.
+Supported formats of this command areblkdebug blkverify bochs cloop
+cow dmg file ftp ftps host_cdrom host_device host_floppy http https
+nbd parallels qcow qcow2 qed raw sheepdog tftp vdi vhdx vmdk vpc vvfat.
+
+We recommend using advanced QEMU native image format qcow2.
+
+[More about QEMU
+Images](http://en.wikibooks.org/wiki/QEMU/Images)
+
+### Optimize image of your virtual machine
+
+Use virtio devices (for disk/drive and network adapter) and install
+virtio drivers (paravirtualized drivers) into virtual machine. There is
+significant performance gain when using virtio drivers. For more
+information see [Virtio
+Linux](http://www.linux-kvm.org/page/Virtio) and [Virtio
+Windows](http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers).
+
+Disable all <span id="result_box" class="short_text"><span
+class="hps trans-target-highlight">unnecessary</span></span> services
+and tasks. Restrict all unnecessary operating system operations.
+
+Remove all <span id="result_box" class="short_text"><span
+class="hps trans-target-highlight">unnecessary software and
+files.</span></span>
+
+<span id="result_box" class="short_text"><span
+class="hps trans-target-highlight"></span></span>Remove all paging
+space, swap files, partitions, etc.
+
+Shrink your image. (It is recommended to zero all free space and
+reconvert image using qemu-img.)
+
+### Modify your image for running jobs
+
+Your image should run some kind of operating system startup script.
+Startup script should run application and when application exits run
+shutdown or quit virtual machine.
+
+We recommend, that startup script
+
+maps Job Directory from host (from compute node)
+runs script (we call it "run script") from Job Directory and waits for
+application's exit
+-   for management purposes if run script does not exist wait for some
+    time period (few minutes)
+
+shutdowns/quits OS
+For Windows operating systems we suggest using Local Group Policy
+Startup script, for Linux operating systems rc.local, runlevel init
+script or similar service.
+
+Example startup script for Windows virtual machine:
+
+    @echo off
+    set LOG=c:startup.log
+    set MAPDRIVE=z:
+    set SCRIPT=%MAPDRIVE%run.bat
+    set TIMEOUT=300
+
+    echo %DATE% %TIME% Running startup script>%LOG%
+
+    rem Mount share
+    echo %DATE% %TIME% Mounting shared drive>>%LOG%
+    net use z10.0.2.4qemu >>%LOG% 2>&1
+    dir z>>%LOG% 2>&1
+    echo. >>%LOG%
+
+
+    if exist %MAPDRIVE% (
+      echo %DATE% %TIME% The drive "%MAPDRIVE%" exists>>%LOG%
+
+      if exist %SCRIPT% (
+        echo %DATE% %TIME% The script file "%SCRIPT%"exists>>%LOG%
+        echo %DATE% %TIME% Running script %SCRIPT%>>%LOG%
+        set TIMEOUT=0
+        call %SCRIPT%
+      ) else (
+        echo %DATE% %TIME% The script file "%SCRIPT%"does not exist>>%LOG%
+      )
+
+    ) else (
+      echo %DATE% %TIME% The drive "%MAPDRIVE%" does not exist>>%LOG%
+    )
+    echo. >>%LOG%
+
+    timeout /T %TIMEOUT%
+
+    echo %DATE% %TIME% Shut down>>%LOG%
+    shutdown /s /t 0
+
+Example startup script maps shared job script as drive zand looks for
+run script called run.bat. If run script is found it is run else wait
+for 5 minutes, then shutdown virtual machine.
+
+### Create job script for executing virtual machine
+
+Create job script according recommended <span id="result_box"
+class="short_text"><span
+class="hps trans-target-highlight"></span></span>[Virtual Machine Job
+Workflow](#virtual-machine-job-workflow).
+
+Example job for Windows virtual machine:
+
+    #/bin/sh
+
+    JOB_DIR=/scratch/$USER/win/$
+
+    #Virtual machine settings
+    VM_IMAGE=~/work/img/win.img
+    VM_MEMORY=49152
+    VM_SMP=16
+
+    # Prepare job dir
+    mkdir -p $ && cd $ || exit 1
+    ln -s ~/work/win .
+    ln -s /scratch/$USER/data .
+    ln -s ~/work/win/script/run/run-appl.bat run.bat
+
+    # Run virtual machine
+    export TMPDIR=/lscratch/$
+    module add qemu
+    qemu-system-x86_64 
+      -enable-kvm 
+      -cpu host 
+      -smp $ 
+      -m $ 
+      -vga std 
+      -localtime 
+      -usb -usbdevice tablet 
+      -device virtio-net-pci,netdev=net0 
+      -netdev user,id=net0,smb=$,hostfwd=tcp::3389-:3389 
+      -drive file=$,media=disk,if=virtio 
+      -snapshot 
+      -nographic
+
+Job script links application data (win), input data (data) and run
+script (run.bat) into job directory and runs virtual machine.
+
+Example run script (run.bat) for Windows virtual machine:
+
+    z:
+    cd winappl
+    call application.bat z:data z:output
+
+Run script runs application from shared job directory (mapped as drive
+z:), process input data (z:data) from job directory  and store output
+to job directory (z:output).
+
+### Run jobs
+
+Run jobs as usual, see  [Resource Allocation and Job
+Execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/introduction).
+Use only full node allocation for virtualization jobs.
+
+### Running Virtual Machines
+
+Virtualization is enabled only on compute nodes, virtualization does not
+work on login nodes.
+
+Load QEMU environment module:
+
+    $ module add qemu
+
+Get help
+
+    $ man qemu
+
+Run virtual machine (simple)
+
+    $ qemu-system-x86_64 -hda linux.img -enable-kvm -cpu host -smp 16 -m 32768 -vga std -vnc :0
+
+    $ qemu-system-x86_64 -hda win.img   -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -vnc :0
+
+You can access virtual machine by VNC viewer (option -vnc) connecting to
+IP address of compute node. For VNC you must use [VPN
+network](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access).
+
+Install virtual machine from iso file
+
+    $ qemu-system-x86_64 -hda linux.img -enable-kvm -cpu host -smp 16 -m 32768 -vga std -cdrom linux-install.iso -boot d -vnc :0
+
+    $ qemu-system-x86_64 -hda win.img   -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -cdrom win-install.iso -boot d -vnc :0
+
+Run virtual machine using optimized devices, user network backend with
+sharing and port forwarding, in snapshot mode
+
+    $ qemu-system-x86_64 -drive file=linux.img,media=disk,if=virtio -enable-kvm -cpu host -smp 16 -m 32768 -vga std -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::2222-:22 -vnc :0 -snapshot
+
+    $ qemu-system-x86_64 -drive file=win.img,media=disk,if=virtio -enable-kvm -cpu host -smp 16 -m 32768 -vga std -localtime -usb -usbdevice tablet -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::3389-:3389 -vnc :0 -snapshot
+
+Thanks to port forwarding you can access virtual machine via SSH (Linux)
+or RDP (Windows) connecting to IP address of compute node (and port 2222
+for SSH). You must use [VPN
+network](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster/vpn-access).
+
+Keep in mind, that if you use virtio devices, you must have virtio
+drivers installed on your virtual machine.
+
+### Networking and data sharing
+
+For networking virtual machine we suggest to use (default) user network
+backend (sometimes called slirp). This network backend NATs virtual
+machines and provides useful services for virtual machines as DHCP, DNS,
+SMB sharing, port forwarding.
+
+In default configuration IP network 10.0.2.0/24 is used, host has IP
+address 10.0.2.2, DNS server 10.0.2.3, SMB server 10.0.2.4 and virtual
+machines obtain address from range 10.0.2.15-10.0.2.31. Virtual machines
+have access to Anselm's network via NAT on compute node (host).
+
+Simple network setup
+
+    $ qemu-system-x86_64 ... -net nic -net user
+
+(It is default when no -net options are given.)
+
+Simple network setup with sharing and port forwarding (obsolete but
+simpler syntax, lower performance)
+
+    $ qemu-system-x86_64 ... -net nic -net user,smb=/scratch/$USER/tmp,hostfwd=tcp::3389-:3389
+
+Optimized network setup with sharing and port forwarding
+
+    $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net0 -netdev user,id=net0,smb=/scratch/$USER/tmp,hostfwd=tcp::2222-:22
+
+### Advanced networking
+
+**Internet access**
+
+Sometime your virtual machine needs access to internet (install
+software, updates, software activation, etc). We suggest solution using
+Virtual Distributed Ethernet (VDE) enabled QEMU with SLIRP running on
+login node tunnelled to compute node. Be aware, this setup has very low
+performance, the worst performance of all described solutions.
+
+Load VDE enabled QEMU environment module (unload standard QEMU module
+first if necessary).
+
+    $ module add qemu/2.1.2-vde2
+
+Create virtual network switch.
+
+    $ vde_switch -sock /tmp/sw0 -mgmt /tmp/sw0.mgmt -daemon
+
+Run SLIRP daemon over SSH tunnel on login node and connect it to virtual
+network switch.
+
+    $ dpipe vde_plug /tmp/sw0 = ssh login1 $VDE2_DIR/bin/slirpvde -s - --dhcp &
+
+Run qemu using vde network backend, connect to created virtual switch.
+
+Basic setup (obsolete syntax)
+
+    $ qemu-system-x86_64 ... -net nic -net vde,sock=/tmp/sw0
+
+Setup using virtio device (obsolete syntax)
+
+    $ qemu-system-x86_64 ... -net nic,model=virtio -net vde,sock=/tmp/sw0
+
+Optimized setup
+
+    $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net0 -netdev vde,id=net0,sock=/tmp/sw0
+
+**
+**
+
+**TAP interconnect**
+
+Both user and vde network backend have low performance. For fast
+interconnect (10Gbps and more) of compute node (host) and virtual
+machine (guest) we suggest using Linux kernel TAP device.
+
+Cluster Anselm provides TAP device tap0 for your job. TAP interconnect
+does not provide any services (like NAT, DHCP, DNS, SMB, etc.) just raw
+networking, so you should provide your services if you need them.
+
+Run qemu with TAP network backend:
+
+    $ qemu-system-x86_64 ... -device virtio-net-pci,netdev=net1 
+                           -netdev tap,id=net1,ifname=tap0,script=no,downscript=no
+
+Interface tap0 has IP address 192.168.1.1 and network mask 255.255.255.0
+(/24). In virtual machine use IP address from range
+192.168.1.2-192.168.1.254. For your convenience some ports on tap0
+interface are redirected to higher numbered ports, so you as
+non-privileged user can provide services on these ports.
+
+Redirected ports:
+
+-   DNS udp/53-&gt;udp/3053, tcp/53-&gt;tcp3053
+-   DHCP udp/67-&gt;udp3067
+-   SMB tcp/139-&gt;tcp3139, tcp/445-&gt;tcp3445).
+
+You can configure IP address of virtual machine statically or
+dynamically. For dynamic addressing provide your DHCP server on port
+3067 of tap0 interface, you can also provide your DNS server on port
+3053 of tap0 interface for example:
+
+    $ dnsmasq --interface tap0 --bind-interfaces -p 3053 --dhcp-alternate-port=3067,68 --dhcp-range=192.168.1.15,192.168.1.32 --dhcp-leasefile=/tmp/dhcp.leasefile
+
+You can also provide your SMB services (on ports 3139, 3445) to obtain
+high performance data sharing.
+
+Example smb.conf (not optimized)
+
+    [global]
+    socket address=192.168.1.1
+    smb ports = 3445 3139
+
+    private dir=/tmp/qemu-smb
+    pid directory=/tmp/qemu-smb
+    lock directory=/tmp/qemu-smb
+    state directory=/tmp/qemu-smb
+    ncalrpc dir=/tmp/qemu-smb/ncalrpc
+    log file=/tmp/qemu-smb/log.smbd
+    smb passwd file=/tmp/qemu-smb/smbpasswd
+    security = user
+    map to guest = Bad User
+    unix extensions = no
+    load printers = no
+    printing = bsd
+    printcap name = /dev/null
+    disable spoolss = yes
+    log level = 1
+    guest account = USER
+    [qemu]
+    path=/scratch/USER/tmp
+    read only=no
+    guest ok=yes
+    writable=yes
+    follow symlinks=yes
+    wide links=yes
+    force user=USER
+
+(Replace USER with your login name.)
+
+Run SMB services
+
+    smbd -s /tmp/qemu-smb/smb.conf
+
+ 
+
+Virtual machine can of course have more than one network interface
+controller, virtual machine can use more than one network backend. So,
+you can combine for example use network backend and TAP interconnect.
+
+### []()Snapshot mode
+
+In snapshot mode image is not written, changes are written to temporary
+file (and discarded after virtual machine exits). **It is strongly
+recommended mode for running your jobs.** Set TMPDIR environment
+variable to local scratch directory for placement temporary files.
+
+    $ export TMPDIR=/lscratch/$
+    $ qemu-system-x86_64 ... -snapshot
+
+### Windows guests
+
+For Windows guests we recommend these options, life will be easier:
+
+    $ qemu-system-x86_64 ... -localtime -usb -usbdevice tablet
+
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/storage-1.md b/docs.it4i.cz/anselm-cluster-documentation/storage-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5589e2cab2e4a917b2f6afa35e93030f0ac8ebc
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/storage-1.md
@@ -0,0 +1,509 @@
+Storage 
+=======
+
+
+
+  
+
+There are two main shared file systems on Anselm cluster, the
+[HOME](#home) and [SCRATCH](#scratch). All
+login and compute nodes may access same data on shared filesystems.
+Compute nodes are also equipped with local (non-shared) scratch, ramdisk
+and tmp filesystems.
+
+Archiving
+---------
+
+Please don't use shared filesystems as a backup for large amount of data
+or long-term archiving mean. The academic staff and students of research
+institutions in the Czech Republic can use [CESNET storage
+service](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage),
+which is available via SSHFS.
+
+Shared Filesystems
+------------------
+
+Anselm computer provides two main shared filesystems, the [HOME
+filesystem](#home) and the [SCRATCH
+filesystem](#scratch). Both HOME and SCRATCH filesystems
+are realized as a parallel Lustre filesystem. Both shared file systems
+are accessible via the Infiniband network. Extended ACLs are provided on
+both Lustre filesystems for the purpose of sharing data with other users
+using fine-grained control.
+
+### Understanding the Lustre Filesystems
+
+(source <http://www.nas.nasa.gov>)
+
+A user file on the Lustre filesystem can be divided into multiple chunks
+(stripes) and stored across a subset of the object storage targets
+(OSTs) (disks). The stripes are distributed among the OSTs in a
+round-robin fashion to ensure load balancing.
+
+When a client (a <span class="glossaryItem">compute <span
+class="glossaryItem">node</span></span> from your job) needs to create
+or access a file, the client queries the metadata server (<span
+class="glossaryItem">MDS</span>) and the metadata target (<span
+class="glossaryItem">MDT</span>) for the layout and location of the
+[file's
+stripes](http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping).
+Once the file is opened and the client obtains the striping information,
+the <span class="glossaryItem">MDS</span> is no longer involved in the
+file I/O process. The client interacts directly with the object storage
+servers (OSSes) and OSTs to perform I/O operations such as locking, disk
+allocation, storage, and retrieval.
+
+If multiple clients try to read and write the same part of a file at the
+same time, the Lustre distributed lock manager enforces coherency so
+that all clients see consistent results.
+
+There is default stripe configuration for Anselm Lustre filesystems.
+However, users can set the following stripe parameters for their own
+directories or files to get optimum I/O performance:
+
+1.  stripe_sizethe size of the chunk in bytes; specify with k, m, or
+    g to use units of KB, MB, or GB, respectively; the size must be an
+    even multiple of 65,536 bytes; default is 1MB for all Anselm Lustre
+    filesystems
+2.  stripe_count the number of OSTs to stripe across; default is 1 for
+    Anselm Lustre filesystems  one can specify -1 to use all OSTs in
+    the filesystem.
+3.  stripe_offset The index of the <span
+    class="glossaryItem">OST</span> where the first stripe is to be
+    placed; default is -1 which results in random selection; using a
+    non-default value is NOT recommended.
+
+ 
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+Use the lfs getstripe for getting the stripe parameters. Use the lfs
+setstripe command for setting the stripe parameters to get optimal I/O
+performance The correct stripe setting depends on your needs and file
+access patterns. 
+
+``` 
+$ lfs getstripe dir|filename 
+$ lfs setstripe -s stripe_size -c stripe_count -o stripe_offset dir|filename 
+```
+
+Example:
+
+``` 
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count  1 stripe_size   1048576 stripe_offset -1
+
+$ lfs setstripe -c -1 /scratch/username/
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count 10 stripe_size   1048576 stripe_offset -1
+```
+
+In this example, we view current stripe setting of the
+/scratch/username/ directory. The stripe count is changed to all OSTs,
+and verified. All files written to this directory will be striped over
+10 OSTs
+
+Use lfs check OSTs to see the number and status of active OSTs for each
+filesystem on Anselm. Learn more by reading the man page
+
+``` 
+$ lfs check osts
+$ man lfs
+```
+
+### Hints on Lustre Stripping
+
+Increase the stripe_count for parallel I/O to the same file.
+
+When multiple processes are writing blocks of data to the same file in
+parallel, the I/O performance for large files will improve when the
+stripe_count is set to a larger value. The stripe count sets the number
+of OSTs the file will be written to. By default, the stripe count is set
+to 1. While this default setting provides for efficient access of
+metadata (for example to support the ls -l command), large files should
+use stripe counts of greater than 1. This will increase the aggregate
+I/O bandwidth by using multiple OSTs in parallel instead of just one. A
+rule of thumb is to use a stripe count approximately equal to the number
+of gigabytes in the file.
+
+Another good practice is to make the stripe count be an integral factor
+of the number of processes performing the write in parallel, so that you
+achieve load balance among the OSTs. For example, set the stripe count
+to 16 instead of 15 when you have 64 processes performing the writes.
+
+Using a large stripe size can improve performance when accessing very
+large files
+
+Large stripe size allows each client to have exclusive access to its own
+part of a file. However, it can be counterproductive in some cases if it
+does not match your I/O pattern. The choice of stripe size has no effect
+on a single-stripe file.
+
+Read more on
+<http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html>
+
+### Lustre on Anselm
+
+The  architecture of Lustre on Anselm is composed of two metadata
+servers (MDS) and four data/object storage servers (OSS). Two object
+storage servers are used for file system HOME and another two object
+storage servers are used for file system SCRATCH.
+
+<span class="emphasis">Configuration of the storages</span>
+
+
+-   <span class="emphasis">HOME Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E5400
+    -   22 OSTs
+    -   227 2TB NL-SAS 7.2krpm disks
+    -   22 groups of 10 disks in RAID6 (8+2)
+    -   7 hot-spare disks
+
+    
+
+-   <span class="emphasis">SCRATCH Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   Two disk arrays NetApp E5400
+    -   10 OSTs
+    -   106 2TB NL-SAS 7.2krpm disks
+    -   10 groups of 10 disks in RAID6 (8+2)
+    -   6 hot-spare disks
+
+    
+
+-   <span class="emphasis">Lustre metadata storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E2600
+    -   12 300GB SAS 15krpm disks
+    -   2 groups of 5 disks in RAID5
+    -   2 hot-spare disks
+
+    
+
+
+
+### []()[]()HOME
+
+The HOME filesystem is mounted in directory /home. Users home
+directories /home/username reside on this filesystem. Accessible
+capacity is 320TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 250GB per user. <span>If
+250GB should prove as insufficient for particular user, please
+contact</span> [support](https://support.it4i.cz/rt),
+the quota may be lifted upon request.
+
+The HOME filesystem is intended for preparation, evaluation, processing
+and storage of data generated by active Projects.
+
+The HOME filesystem should not be used to archive data of past Projects
+or other unrelated data.
+
+The files on HOME filesystem will not be deleted until end of the [users
+lifecycle](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials).
+
+The filesystem is backed up, such that it can be restored in case of 
+catasthropic failure resulting in significant data loss. This backup
+however is not intended to restore old versions of user data or to
+restore (accidentaly) deleted files. 
+
+The HOME filesystem is realized as Lustre parallel filesystem and is
+available on all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 22 OSTs
+dedicated for the HOME filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+HOME filesystem
+Mountpoint
+/home
+Capacity
+320TB
+Throughput
+2GB/s
+User quota
+250GB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+22
+### []()[]()SCRATCH
+
+The SCRATCH filesystem is mounted in directory /scratch. Users may
+freely create subdirectories and files on the filesystem. Accessible
+capacity is 146TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 100TB per user. The
+purpose of this quota is to prevent runaway programs from filling the
+entire filesystem and deny service to other users. <span>If 100TB should
+prove as insufficient for particular user, please contact
+[support](https://support.it4i.cz/rt), the quota may be
+lifted upon request. </span>
+
+The Scratch filesystem is intended  for temporary scratch data generated
+during the calculation as well as for high performance access to input
+and output files. All I/O intensive jobs must use the SCRATCH filesystem
+as their working directory.
+
+Users are advised to save the necessary data from the SCRATCH filesystem
+to HOME filesystem after the calculations and clean up the scratch
+files.
+
+Files on the SCRATCH filesystem that are **not accessed for more than 90
+days** will be automatically **deleted**.
+
+The SCRATCH filesystem is realized as Lustre parallel filesystem and is
+available from all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 10 OSTs
+dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+SCRATCH filesystem
+Mountpoint
+/scratch
+Capacity
+146TB
+Throughput
+6GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+10
+### <span>Disk usage and quota commands</span>
+
+<span>User quotas on the file systems can be checked and reviewed using
+following command:</span>
+
+``` 
+$ lfs quota dir
+```
+
+Example for Lustre HOME directory:
+
+``` 
+$ lfs quota /home
+Disk quotas for user user001 (uid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+         /home  300096       0 250000000       -    2102       0  500000    -
+Disk quotas for group user001 (gid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+        /home  300096       0       0       -    2102       0       0       -
+```
+
+In this example, we view current quota size limit of 250GB and 300MB
+currently used by user001.
+
+Example for Lustre SCRATCH directory:
+
+``` 
+$ lfs quota /scratch
+Disk quotas for user user001 (uid 1234):
+     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+          /scratch       8       0 100000000000       -       3       0       0       -
+Disk quotas for group user001 (gid 1234):
+ Filesystem kbytes quota limit grace files quota limit grace
+ /scratch       8       0       0       -       3       0       0       -
+```
+
+In this example, we view current quota size limit of 100TB and 8KB
+currently used by user001.
+
+ 
+
+To have a better understanding of where the space is exactly used, you
+can use following command to find out.
+
+``` 
+$ du -hs dir
+```
+
+Example for your HOME directory:
+
+``` 
+$ cd /home
+$ du -hs * .[a-zA-z0-9]* | grep -E "[0-9]*G|[0-9]*M" | sort -hr
+258M     cuda-samples
+15M      .cache
+13M      .mozilla
+5,5M     .eclipse
+2,7M     .idb_13.0_linux_intel64_app
+```
+
+This will list all directories which are having MegaBytes or GigaBytes
+of consumed space in your actual (in this example HOME) directory. List
+is sorted in descending order from largest to smallest
+files/directories.
+
+
+<span>To have a better understanding of previous commands, you can read
+manpages.</span>
+
+``` 
+$ man lfs
+```
+
+``` 
+$ man du 
+```
+
+### Extended ACLs
+
+Extended ACLs provide another security mechanism beside the standard
+POSIX ACLs which are defined by three entries (for
+owner/group/others). Extended ACLs have more than the three basic
+entries. In addition, they also contain a mask entry and may contain any
+number of named user and named group entries.
+
+ACLs on a Lustre file system work exactly like ACLs on any Linux file
+system. They are manipulated with the standard tools in the standard
+manner. Below, we create a directory and allow a specific user access.
+
+``` 
+[vop999@login1.anselm ~]$ umask 027
+[vop999@login1.anselm ~]$ mkdir test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxr-x--- 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+group::r-x
+other::---
+
+[vop999@login1.anselm ~]$ setfacl -m user:johnsm:rwx test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxrwx---+ 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+user:johnsm:rwx
+group::r-x
+mask::rwx
+other::---
+```
+
+Default ACL mechanism can be used to replace setuid/setgid permissions
+on directories. Setting a default ACL on a directory (-d flag to
+setfacl) will cause the ACL permissions to be inherited by any newly
+created file or subdirectory within the directory. Refer to this page
+for more information on Linux ACL:
+
+[http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html ](http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html)
+
+Local Filesystems
+-----------------
+
+### Local Scratch
+
+Every computational node is equipped with 330GB local scratch disk.
+
+Use local scratch in case you need to access large amount of small files
+during your calculation.
+
+[]()The local scratch disk is mounted as /lscratch and is accessible to
+user at /lscratch/$PBS_JOBID directory.
+
+The local scratch filesystem is intended  for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. All I/O intensive jobs that access large
+number of small files within the calculation must use the local scratch
+filesystem as their working directory. This is required for performance
+reasons, as frequent access to number of small files may overload the
+metadata servers (MDS) of the Lustre filesystem.
+
+The local scratch directory /lscratch/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+local SCRATCH filesystem
+Mountpoint
+/lscratch
+Accesspoint
+/lscratch/$PBS_JOBID
+Capacity
+330GB
+Throughput
+100MB/s
+User quota
+none
+### RAM disk
+
+Every computational node is equipped with filesystem realized in memory,
+so called RAM disk.
+
+Use RAM disk in case you need really fast access to your data of limited
+size during your calculation.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+[]()The local RAM disk is mounted as /ramdisk and is accessible to user
+at /ramdisk/$PBS_JOBID directory.
+
+The local RAM disk filesystem is intended for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. Size of RAM disk filesystem is limited. Be
+very careful, use of RAM disk filesystem is at the expense of
+operational memory.  It is not recommended to allocate large amount of
+memory and use large amount of data in RAM disk filesystem at the same
+time.
+
+The local RAM disk directory /ramdisk/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+RAM disk
+Mountpoint
+<span class="monospace">/ramdisk</span>
+Accesspoint
+<span class="monospace">/ramdisk/$PBS_JOBID</span>
+Capacity
+60GB at compute nodes without accelerator
+
+90GB at compute nodes with accelerator
+
+500GB at fat nodes
+
+Throughput
+over 1.5 GB/s write, over 5 GB/s read, single thread
+over 10 GB/s write, over 50 GB/s read, 16 threads
+
+User quota
+none
+### tmp
+
+Each node is equipped with local /tmp directory of few GB capacity. The
+/tmp directory should be used to work with small temporary files. Old
+files in /tmp directory are automatically purged.
+
+
+**Summary
+**
+----------
+
+
+  Mountpoint                                 Usage                       Protocol   Net Capacity     Throughput   Limitations   Access                    Services
+  ------------------------------------------ --------------------------- ---------- ---------------- ------------ ------------- ------------------------- -----------------------------
+  <span class="monospace">/home</span>       home directory              Lustre     320 TiB          2 GB/s       Quota 250GB   Compute and login nodes   backed up
+  <span class="monospace">/scratch</span>    cluster shared jobs' data   Lustre     146 TiB          6 GB/s       Quota 100TB   Compute and login nodes   files older 90 days removed
+  <span class="monospace">/lscratch</span>   node local jobs' data       local      330 GB           100 MB/s     none          Compute nodes             purged after job ends
+  <span class="monospace">/ramdisk</span>    node local jobs' data       local      60, 90, 500 GB   5-50 GB/s    none          Compute nodes             purged after job ends
+  <span class="monospace">/tmp</span>        local temporary files       local                       100 MB/s     none          Compute and login nodes   auto purged
+
+ 
diff --git a/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md b/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..a8989b5f9e3f93db9594e531163aef56fd263a80
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage.md
@@ -0,0 +1,130 @@
+CESNET Data Storage 
+===================
+
+
+
+  
+
+Introduction
+------------
+
+Do not use shared filesystems at IT4Innovations as a backup for large
+amount of data or long-term archiving purposes.
+
+The IT4Innovations does not provide storage capacity for data archiving.
+Academic staff and students of research institutions in the Czech
+Republic can use [CESNET Storage
+service](https://du.cesnet.cz/).
+
+The CESNET Storage service can be used for research purposes, mainly by
+academic staff and students of research institutions in the Czech
+Republic.
+
+User of data storage CESNET (DU) association can become organizations or
+an individual person who is either in the current employment
+relationship (employees) or the current study relationship (students) to
+a legal entity (organization) that meets the “Principles for access to
+CESNET Large infrastructure (Access Policy)”.
+
+User may only use data storage CESNET for data transfer and storage
+which are associated with activities in science, research, development,
+the spread of education, culture and prosperity. In detail see
+“Acceptable Use Policy CESNET Large Infrastructure (Acceptable Use
+Policy, AUP)”.
+
+The service is documented at
+<https://du.cesnet.cz/wiki/doku.php/en/start>. For special requirements
+please contact directly CESNET Storage Department via e-mail
+[du-support(at)cesnet.cz](mailto:du-support@cesnet.cz).
+
+The procedure to obtain the CESNET access is quick and trouble-free.
+
+(source
+[https://du.cesnet.cz/](https://du.cesnet.cz/wiki/doku.php/en/start "CESNET Data Storage"))
+
+CESNET storage access
+---------------------
+
+### Understanding Cesnet storage
+
+It is very important to understand the Cesnet storage before uploading
+data. Please read
+<https://du.cesnet.cz/en/navody/home-migrace-plzen/start> first.
+
+Once registered for CESNET Storage, you may [access the
+storage](https://du.cesnet.cz/en/navody/faq/start) in
+number of ways. We recommend the SSHFS and RSYNC methods.
+
+### SSHFS Access
+
+SSHFSThe storage will be mounted like a local hard drive
+
+The SSHFS  provides a very convenient way to access the CESNET Storage.
+The storage will be mounted onto a local directory, exposing the vast
+CESNET Storage as if it was a local removable harddrive. Files can be
+than copied in and out in a usual fashion.
+
+First, create the mountpoint
+
+    $ mkdir cesnet
+
+Mount the storage. Note that you can choose among the ssh.du1.cesnet.cz
+(Plzen), ssh.du2.cesnet.cz (Jihlava), ssh.du3.cesnet.cz (Brno)
+Mount tier1_home **(only 5120M !)**:
+
+    $ sshfs username@ssh.du1.cesnet.cz:. cesnet/
+
+For easy future access from Anselm, install your public key
+
+    $ cp .ssh/id_rsa.pub cesnet/.ssh/authorized_keys
+
+Mount tier1_cache_tape for the Storage VO:
+
+    $ sshfs username@ssh.du1.cesnet.cz:/cache_tape/VO_storage/home/username cesnet/
+
+View the archive, copy the files and directories in and out
+
+    $ ls cesnet/ 
+    $ cp -a mydir cesnet/.
+    $ cp cesnet/myfile .
+
+Once done, please remember to unmount the storage
+
+    $ fusermount -u cesnet
+
+### Rsync access
+
+Rsync provides delta transfer for best performance, can resume
+interrupted transfers
+
+Rsync is a fast and extraordinarily versatile file copying tool. It is
+famous for its delta-transfer algorithm, which reduces the amount of
+data sent over the network by sending only the differences between the
+source files and the existing files in the destination.  Rsync is widely
+used for backups and mirroring and as an improved copy command for
+everyday use.
+
+Rsync finds files that need to be transferred using a "quick check"
+algorithm (by default) that looks for files that have changed in size or
+in last-modified time.  Any changes in the other preserved attributes
+(as requested by options) are made on the destination file directly when
+the quick check indicates that the file's data does not need to be
+updated.
+
+More about Rsync at
+<https://du.cesnet.cz/en/navody/rsync/start#pro_bezne_uzivatele>
+
+Transfer large files to/from Cesnet storage, assuming membership in the
+Storage VO
+
+    $ rsync --progress datafile username@ssh.du1.cesnet.cz:VO_storage-cache_tape/.
+    $ rsync --progress username@ssh.du1.cesnet.cz:VO_storage-cache_tape/datafile .
+
+Transfer large directories to/from Cesnet storage, assuming membership
+in the Storage VO
+
+    $ rsync --progress -av datafolder username@ssh.du1.cesnet.cz:VO_storage-cache_tape/.
+    $ rsync --progress -av username@ssh.du1.cesnet.cz:VO_storage-cache_tape/datafolder .
+
+Transfer rates of about 28MB/s can be expected.
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md b/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..f823bd0275d558eba269c121067be3bd7024b061
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/storage-1/storage.md
@@ -0,0 +1,510 @@
+Storage 
+=======
+
+
+
+  
+
+There are two main shared file systems on Anselm cluster, the
+[HOME](#home) and [SCRATCH](#scratch). All
+login and compute nodes may access same data on shared filesystems.
+Compute nodes are also equipped with local (non-shared) scratch, ramdisk
+and tmp filesystems.
+
+Archiving
+---------
+
+Please don't use shared filesystems as a backup for large amount of data
+or long-term archiving mean. The academic staff and students of research
+institutions in the Czech Republic can use [CESNET storage
+service](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage),
+which is available via SSHFS.
+
+Shared Filesystems
+------------------
+
+Anselm computer provides two main shared filesystems, the [HOME
+filesystem](#home) and the [SCRATCH
+filesystem](#scratch). Both HOME and SCRATCH filesystems
+are realized as a parallel Lustre filesystem. Both shared file systems
+are accessible via the Infiniband network. Extended ACLs are provided on
+both Lustre filesystems for the purpose of sharing data with other users
+using fine-grained control.
+
+### Understanding the Lustre Filesystems
+
+(source <http://www.nas.nasa.gov>)
+
+A user file on the Lustre filesystem can be divided into multiple chunks
+(stripes) and stored across a subset of the object storage targets
+(OSTs) (disks). The stripes are distributed among the OSTs in a
+round-robin fashion to ensure load balancing.
+
+When a client (a <span class="glossaryItem">compute <span
+class="glossaryItem">node</span></span> from your job) needs to create
+or access a file, the client queries the metadata server (<span
+class="glossaryItem">MDS</span>) and the metadata target (<span
+class="glossaryItem">MDT</span>) for the layout and location of the
+[file's
+stripes](http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping).
+Once the file is opened and the client obtains the striping information,
+the <span class="glossaryItem">MDS</span> is no longer involved in the
+file I/O process. The client interacts directly with the object storage
+servers (OSSes) and OSTs to perform I/O operations such as locking, disk
+allocation, storage, and retrieval.
+
+If multiple clients try to read and write the same part of a file at the
+same time, the Lustre distributed lock manager enforces coherency so
+that all clients see consistent results.
+
+There is default stripe configuration for Anselm Lustre filesystems.
+However, users can set the following stripe parameters for their own
+directories or files to get optimum I/O performance:
+
+1.  stripe_sizethe size of the chunk in bytes; specify with k, m, or
+    g to use units of KB, MB, or GB, respectively; the size must be an
+    even multiple of 65,536 bytes; default is 1MB for all Anselm Lustre
+    filesystems
+2.  stripe_count the number of OSTs to stripe across; default is 1 for
+    Anselm Lustre filesystems  one can specify -1 to use all OSTs in
+    the filesystem.
+3.  stripe_offset The index of the <span
+    class="glossaryItem">OST</span> where the first stripe is to be
+    placed; default is -1 which results in random selection; using a
+    non-default value is NOT recommended.
+
+ 
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+Use the lfs getstripe for getting the stripe parameters. Use the lfs
+setstripe command for setting the stripe parameters to get optimal I/O
+performance The correct stripe setting depends on your needs and file
+access patterns. 
+
+``` 
+$ lfs getstripe dir|filename 
+$ lfs setstripe -s stripe_size -c stripe_count -o stripe_offset dir|filename 
+```
+
+Example:
+
+``` 
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count  1 stripe_size   1048576 stripe_offset -1
+
+$ lfs setstripe -c -1 /scratch/username/
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count 10 stripe_size   1048576 stripe_offset -1
+```
+
+In this example, we view current stripe setting of the
+/scratch/username/ directory. The stripe count is changed to all OSTs,
+and verified. All files written to this directory will be striped over
+10 OSTs
+
+Use lfs check OSTs to see the number and status of active OSTs for each
+filesystem on Anselm. Learn more by reading the man page
+
+``` 
+$ lfs check osts
+$ man lfs
+```
+
+### Hints on Lustre Stripping
+
+Increase the stripe_count for parallel I/O to the same file.
+
+When multiple processes are writing blocks of data to the same file in
+parallel, the I/O performance for large files will improve when the
+stripe_count is set to a larger value. The stripe count sets the number
+of OSTs the file will be written to. By default, the stripe count is set
+to 1. While this default setting provides for efficient access of
+metadata (for example to support the ls -l command), large files should
+use stripe counts of greater than 1. This will increase the aggregate
+I/O bandwidth by using multiple OSTs in parallel instead of just one. A
+rule of thumb is to use a stripe count approximately equal to the number
+of gigabytes in the file.
+
+Another good practice is to make the stripe count be an integral factor
+of the number of processes performing the write in parallel, so that you
+achieve load balance among the OSTs. For example, set the stripe count
+to 16 instead of 15 when you have 64 processes performing the writes.
+
+Using a large stripe size can improve performance when accessing very
+large files
+
+Large stripe size allows each client to have exclusive access to its own
+part of a file. However, it can be counterproductive in some cases if it
+does not match your I/O pattern. The choice of stripe size has no effect
+on a single-stripe file.
+
+Read more on
+<http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html>
+
+### Lustre on Anselm
+
+The  architecture of Lustre on Anselm is composed of two metadata
+servers (MDS) and four data/object storage servers (OSS). Two object
+storage servers are used for file system HOME and another two object
+storage servers are used for file system SCRATCH.
+
+<span class="emphasis">Configuration of the storages</span>
+
+
+-   <span class="emphasis">HOME Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E5400
+    -   22 OSTs
+    -   227 2TB NL-SAS 7.2krpm disks
+    -   22 groups of 10 disks in RAID6 (8+2)
+    -   7 hot-spare disks
+
+    
+
+-   <span class="emphasis">SCRATCH Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   Two disk arrays NetApp E5400
+    -   10 OSTs
+    -   106 2TB NL-SAS 7.2krpm disks
+    -   10 groups of 10 disks in RAID6 (8+2)
+    -   6 hot-spare disks
+
+    
+
+-   <span class="emphasis">Lustre metadata storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E2600
+    -   12 300GB SAS 15krpm disks
+    -   2 groups of 5 disks in RAID5
+    -   2 hot-spare disks
+
+    
+
+
+
+### []()[]()HOME
+
+The HOME filesystem is mounted in directory /home. Users home
+directories /home/username reside on this filesystem. Accessible
+capacity is 320TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 250GB per user. <span>If
+250GB should prove as insufficient for particular user, please
+contact</span> [support](https://support.it4i.cz/rt),
+the quota may be lifted upon request.
+
+The HOME filesystem is intended for preparation, evaluation, processing
+and storage of data generated by active Projects.
+
+The HOME filesystem should not be used to archive data of past Projects
+or other unrelated data.
+
+The files on HOME filesystem will not be deleted until end of the [users
+lifecycle](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials).
+
+The filesystem is backed up, such that it can be restored in case of 
+catasthropic failure resulting in significant data loss. This backup
+however is not intended to restore old versions of user data or to
+restore (accidentaly) deleted files. 
+
+The HOME filesystem is realized as Lustre parallel filesystem and is
+available on all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 22 OSTs
+dedicated for the HOME filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+HOME filesystem
+Mountpoint
+/home
+Capacity
+320TB
+Throughput
+2GB/s
+User quota
+250GB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+22
+### []()[]()SCRATCH
+
+The SCRATCH filesystem is mounted in directory /scratch. Users may
+freely create subdirectories and files on the filesystem. Accessible
+capacity is 146TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 100TB per user. The
+purpose of this quota is to prevent runaway programs from filling the
+entire filesystem and deny service to other users. <span>If 100TB should
+prove as insufficient for particular user, please contact
+[support](https://support.it4i.cz/rt), the quota may be
+lifted upon request. </span>
+
+The Scratch filesystem is intended  for temporary scratch data generated
+during the calculation as well as for high performance access to input
+and output files. All I/O intensive jobs must use the SCRATCH filesystem
+as their working directory.
+
+Users are advised to save the necessary data from the SCRATCH filesystem
+to HOME filesystem after the calculations and clean up the scratch
+files.
+
+Files on the SCRATCH filesystem that are **not accessed for more than 90
+days** will be automatically **deleted**.
+
+The SCRATCH filesystem is realized as Lustre parallel filesystem and is
+available from all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 10 OSTs
+dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+SCRATCH filesystem
+Mountpoint
+/scratch
+Capacity
+146TB
+Throughput
+6GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+10
+### <span>Disk usage and quota commands</span>
+
+<span>User quotas on the file systems can be checked and reviewed using
+following command:</span>
+
+``` 
+$ lfs quota dir
+```
+
+Example for Lustre HOME directory:
+
+``` 
+$ lfs quota /home
+Disk quotas for user user001 (uid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+         /home  300096       0 250000000       -    2102       0  500000    -
+Disk quotas for group user001 (gid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+        /home  300096       0       0       -    2102       0       0       -
+```
+
+In this example, we view current quota size limit of 250GB and 300MB
+currently used by user001.
+
+Example for Lustre SCRATCH directory:
+
+``` 
+$ lfs quota /scratch
+Disk quotas for user user001 (uid 1234):
+     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+          /scratch       8       0 100000000000       -       3       0       0       -
+Disk quotas for group user001 (gid 1234):
+ Filesystem kbytes quota limit grace files quota limit grace
+ /scratch       8       0       0       -       3       0       0       -
+```
+
+In this example, we view current quota size limit of 100TB and 8KB
+currently used by user001.
+
+ 
+
+To have a better understanding of where the space is exactly used, you
+can use following command to find out.
+
+``` 
+$ du -hs dir
+```
+
+Example for your HOME directory:
+
+``` 
+$ cd /home
+$ du -hs * .[a-zA-z0-9]* | grep -E "[0-9]*G|[0-9]*M" | sort -hr
+258M     cuda-samples
+15M      .cache
+13M      .mozilla
+5,5M     .eclipse
+2,7M     .idb_13.0_linux_intel64_app
+```
+
+This will list all directories which are having MegaBytes or GigaBytes
+of consumed space in your actual (in this example HOME) directory. List
+is sorted in descending order from largest to smallest
+files/directories.
+
+
+<span>To have a better understanding of previous commands, you can read
+manpages.</span>
+
+``` 
+$ man lfs
+```
+
+``` 
+$ man du 
+```
+
+### Extended ACLs
+
+Extended ACLs provide another security mechanism beside the standard
+POSIX ACLs which are defined by three entries (for
+owner/group/others). Extended ACLs have more than the three basic
+entries. In addition, they also contain a mask entry and may contain any
+number of named user and named group entries.
+
+ACLs on a Lustre file system work exactly like ACLs on any Linux file
+system. They are manipulated with the standard tools in the standard
+manner. Below, we create a directory and allow a specific user access.
+
+``` 
+[vop999@login1.anselm ~]$ umask 027
+[vop999@login1.anselm ~]$ mkdir test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxr-x--- 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+group::r-x
+other::---
+
+[vop999@login1.anselm ~]$ setfacl -m user:johnsm:rwx test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxrwx---+ 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+user:johnsm:rwx
+group::r-x
+mask::rwx
+other::---
+```
+
+Default ACL mechanism can be used to replace setuid/setgid permissions
+on directories. Setting a default ACL on a directory (-d flag to
+setfacl) will cause the ACL permissions to be inherited by any newly
+created file or subdirectory within the directory. Refer to this page
+for more information on Linux ACL:
+
+[http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html ](http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html)
+
+Local Filesystems
+-----------------
+
+### Local Scratch
+
+Every computational node is equipped with 330GB local scratch disk.
+
+Use local scratch in case you need to access large amount of small files
+during your calculation.
+
+[]()The local scratch disk is mounted as /lscratch and is accessible to
+user at /lscratch/$PBS_JOBID directory.
+
+The local scratch filesystem is intended  for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. All I/O intensive jobs that access large
+number of small files within the calculation must use the local scratch
+filesystem as their working directory. This is required for performance
+reasons, as frequent access to number of small files may overload the
+metadata servers (MDS) of the Lustre filesystem.
+
+The local scratch directory /lscratch/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+local SCRATCH filesystem
+Mountpoint
+/lscratch
+Accesspoint
+/lscratch/$PBS_JOBID
+Capacity
+330GB
+Throughput
+100MB/s
+User quota
+none
+### RAM disk
+
+Every computational node is equipped with filesystem realized in memory,
+so called RAM disk.
+
+Use RAM disk in case you need really fast access to your data of limited
+size during your calculation.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+[]()The local RAM disk is mounted as /ramdisk and is accessible to user
+at /ramdisk/$PBS_JOBID directory.
+
+The local RAM disk filesystem is intended for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. Size of RAM disk filesystem is limited. Be
+very careful, use of RAM disk filesystem is at the expense of
+operational memory.  It is not recommended to allocate large amount of
+memory and use large amount of data in RAM disk filesystem at the same
+time.
+
+The local RAM disk directory /ramdisk/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+RAM disk
+Mountpoint
+<span class="monospace">/ramdisk</span>
+Accesspoint
+<span class="monospace">/ramdisk/$PBS_JOBID</span>
+Capacity
+60GB at compute nodes without accelerator
+
+90GB at compute nodes with accelerator
+
+500GB at fat nodes
+
+Throughput
+over 1.5 GB/s write, over 5 GB/s read, single thread
+over 10 GB/s write, over 50 GB/s read, 16 threads
+
+User quota
+none
+### tmp
+
+Each node is equipped with local /tmp directory of few GB capacity. The
+/tmp directory should be used to work with small temporary files. Old
+files in /tmp directory are automatically purged.
+
+
+**Summary
+**
+----------
+
+
+  Mountpoint                                 Usage                       Protocol   Net Capacity     Throughput   Limitations   Access                    Services
+  ------------------------------------------ --------------------------- ---------- ---------------- ------------ ------------- ------------------------- -----------------------------
+  <span class="monospace">/home</span>       home directory              Lustre     320 TiB          2 GB/s       Quota 250GB   Compute and login nodes   backed up
+  <span class="monospace">/scratch</span>    cluster shared jobs' data   Lustre     146 TiB          6 GB/s       Quota 100TB   Compute and login nodes   files older 90 days removed
+  <span class="monospace">/lscratch</span>   node local jobs' data       local      330 GB           100 MB/s     none          Compute nodes             purged after job ends
+  <span class="monospace">/ramdisk</span>    node local jobs' data       local      60, 90, 500 GB   5-50 GB/s    none          Compute nodes             purged after job ends
+  <span class="monospace">/tmp</span>        local temporary files       local                       100 MB/s     none          Compute and login nodes   auto purged
+
+ 
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/storage.md b/docs.it4i.cz/anselm-cluster-documentation/storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..f823bd0275d558eba269c121067be3bd7024b061
--- /dev/null
+++ b/docs.it4i.cz/anselm-cluster-documentation/storage.md
@@ -0,0 +1,510 @@
+Storage 
+=======
+
+
+
+  
+
+There are two main shared file systems on Anselm cluster, the
+[HOME](#home) and [SCRATCH](#scratch). All
+login and compute nodes may access same data on shared filesystems.
+Compute nodes are also equipped with local (non-shared) scratch, ramdisk
+and tmp filesystems.
+
+Archiving
+---------
+
+Please don't use shared filesystems as a backup for large amount of data
+or long-term archiving mean. The academic staff and students of research
+institutions in the Czech Republic can use [CESNET storage
+service](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage),
+which is available via SSHFS.
+
+Shared Filesystems
+------------------
+
+Anselm computer provides two main shared filesystems, the [HOME
+filesystem](#home) and the [SCRATCH
+filesystem](#scratch). Both HOME and SCRATCH filesystems
+are realized as a parallel Lustre filesystem. Both shared file systems
+are accessible via the Infiniband network. Extended ACLs are provided on
+both Lustre filesystems for the purpose of sharing data with other users
+using fine-grained control.
+
+### Understanding the Lustre Filesystems
+
+(source <http://www.nas.nasa.gov>)
+
+A user file on the Lustre filesystem can be divided into multiple chunks
+(stripes) and stored across a subset of the object storage targets
+(OSTs) (disks). The stripes are distributed among the OSTs in a
+round-robin fashion to ensure load balancing.
+
+When a client (a <span class="glossaryItem">compute <span
+class="glossaryItem">node</span></span> from your job) needs to create
+or access a file, the client queries the metadata server (<span
+class="glossaryItem">MDS</span>) and the metadata target (<span
+class="glossaryItem">MDT</span>) for the layout and location of the
+[file's
+stripes](http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping).
+Once the file is opened and the client obtains the striping information,
+the <span class="glossaryItem">MDS</span> is no longer involved in the
+file I/O process. The client interacts directly with the object storage
+servers (OSSes) and OSTs to perform I/O operations such as locking, disk
+allocation, storage, and retrieval.
+
+If multiple clients try to read and write the same part of a file at the
+same time, the Lustre distributed lock manager enforces coherency so
+that all clients see consistent results.
+
+There is default stripe configuration for Anselm Lustre filesystems.
+However, users can set the following stripe parameters for their own
+directories or files to get optimum I/O performance:
+
+1.  stripe_sizethe size of the chunk in bytes; specify with k, m, or
+    g to use units of KB, MB, or GB, respectively; the size must be an
+    even multiple of 65,536 bytes; default is 1MB for all Anselm Lustre
+    filesystems
+2.  stripe_count the number of OSTs to stripe across; default is 1 for
+    Anselm Lustre filesystems  one can specify -1 to use all OSTs in
+    the filesystem.
+3.  stripe_offset The index of the <span
+    class="glossaryItem">OST</span> where the first stripe is to be
+    placed; default is -1 which results in random selection; using a
+    non-default value is NOT recommended.
+
+ 
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+Use the lfs getstripe for getting the stripe parameters. Use the lfs
+setstripe command for setting the stripe parameters to get optimal I/O
+performance The correct stripe setting depends on your needs and file
+access patterns. 
+
+``` 
+$ lfs getstripe dir|filename 
+$ lfs setstripe -s stripe_size -c stripe_count -o stripe_offset dir|filename 
+```
+
+Example:
+
+``` 
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count  1 stripe_size   1048576 stripe_offset -1
+
+$ lfs setstripe -c -1 /scratch/username/
+$ lfs getstripe /scratch/username/
+/scratch/username/
+stripe_count 10 stripe_size   1048576 stripe_offset -1
+```
+
+In this example, we view current stripe setting of the
+/scratch/username/ directory. The stripe count is changed to all OSTs,
+and verified. All files written to this directory will be striped over
+10 OSTs
+
+Use lfs check OSTs to see the number and status of active OSTs for each
+filesystem on Anselm. Learn more by reading the man page
+
+``` 
+$ lfs check osts
+$ man lfs
+```
+
+### Hints on Lustre Stripping
+
+Increase the stripe_count for parallel I/O to the same file.
+
+When multiple processes are writing blocks of data to the same file in
+parallel, the I/O performance for large files will improve when the
+stripe_count is set to a larger value. The stripe count sets the number
+of OSTs the file will be written to. By default, the stripe count is set
+to 1. While this default setting provides for efficient access of
+metadata (for example to support the ls -l command), large files should
+use stripe counts of greater than 1. This will increase the aggregate
+I/O bandwidth by using multiple OSTs in parallel instead of just one. A
+rule of thumb is to use a stripe count approximately equal to the number
+of gigabytes in the file.
+
+Another good practice is to make the stripe count be an integral factor
+of the number of processes performing the write in parallel, so that you
+achieve load balance among the OSTs. For example, set the stripe count
+to 16 instead of 15 when you have 64 processes performing the writes.
+
+Using a large stripe size can improve performance when accessing very
+large files
+
+Large stripe size allows each client to have exclusive access to its own
+part of a file. However, it can be counterproductive in some cases if it
+does not match your I/O pattern. The choice of stripe size has no effect
+on a single-stripe file.
+
+Read more on
+<http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html>
+
+### Lustre on Anselm
+
+The  architecture of Lustre on Anselm is composed of two metadata
+servers (MDS) and four data/object storage servers (OSS). Two object
+storage servers are used for file system HOME and another two object
+storage servers are used for file system SCRATCH.
+
+<span class="emphasis">Configuration of the storages</span>
+
+
+-   <span class="emphasis">HOME Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E5400
+    -   22 OSTs
+    -   227 2TB NL-SAS 7.2krpm disks
+    -   22 groups of 10 disks in RAID6 (8+2)
+    -   7 hot-spare disks
+
+    
+
+-   <span class="emphasis">SCRATCH Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   Two disk arrays NetApp E5400
+    -   10 OSTs
+    -   106 2TB NL-SAS 7.2krpm disks
+    -   10 groups of 10 disks in RAID6 (8+2)
+    -   6 hot-spare disks
+
+    
+
+-   <span class="emphasis">Lustre metadata storage</span>
+    <div class="itemizedlist">
+
+    -   One disk array NetApp E2600
+    -   12 300GB SAS 15krpm disks
+    -   2 groups of 5 disks in RAID5
+    -   2 hot-spare disks
+
+    
+
+
+
+### []()[]()HOME
+
+The HOME filesystem is mounted in directory /home. Users home
+directories /home/username reside on this filesystem. Accessible
+capacity is 320TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 250GB per user. <span>If
+250GB should prove as insufficient for particular user, please
+contact</span> [support](https://support.it4i.cz/rt),
+the quota may be lifted upon request.
+
+The HOME filesystem is intended for preparation, evaluation, processing
+and storage of data generated by active Projects.
+
+The HOME filesystem should not be used to archive data of past Projects
+or other unrelated data.
+
+The files on HOME filesystem will not be deleted until end of the [users
+lifecycle](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials).
+
+The filesystem is backed up, such that it can be restored in case of 
+catasthropic failure resulting in significant data loss. This backup
+however is not intended to restore old versions of user data or to
+restore (accidentaly) deleted files. 
+
+The HOME filesystem is realized as Lustre parallel filesystem and is
+available on all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 22 OSTs
+dedicated for the HOME filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+HOME filesystem
+Mountpoint
+/home
+Capacity
+320TB
+Throughput
+2GB/s
+User quota
+250GB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+22
+### []()[]()SCRATCH
+
+The SCRATCH filesystem is mounted in directory /scratch. Users may
+freely create subdirectories and files on the filesystem. Accessible
+capacity is 146TB, shared among all users. Individual users are
+restricted by filesystem usage quotas, set to 100TB per user. The
+purpose of this quota is to prevent runaway programs from filling the
+entire filesystem and deny service to other users. <span>If 100TB should
+prove as insufficient for particular user, please contact
+[support](https://support.it4i.cz/rt), the quota may be
+lifted upon request. </span>
+
+The Scratch filesystem is intended  for temporary scratch data generated
+during the calculation as well as for high performance access to input
+and output files. All I/O intensive jobs must use the SCRATCH filesystem
+as their working directory.
+
+Users are advised to save the necessary data from the SCRATCH filesystem
+to HOME filesystem after the calculations and clean up the scratch
+files.
+
+Files on the SCRATCH filesystem that are **not accessed for more than 90
+days** will be automatically **deleted**.
+
+The SCRATCH filesystem is realized as Lustre parallel filesystem and is
+available from all login and computational nodes.
+Default stripe size is 1MB, stripe count is 1. There are 10 OSTs
+dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+SCRATCH filesystem
+Mountpoint
+/scratch
+Capacity
+146TB
+Throughput
+6GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+10
+### <span>Disk usage and quota commands</span>
+
+<span>User quotas on the file systems can be checked and reviewed using
+following command:</span>
+
+``` 
+$ lfs quota dir
+```
+
+Example for Lustre HOME directory:
+
+``` 
+$ lfs quota /home
+Disk quotas for user user001 (uid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+         /home  300096       0 250000000       -    2102       0  500000    -
+Disk quotas for group user001 (gid 1234):
+    Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+        /home  300096       0       0       -    2102       0       0       -
+```
+
+In this example, we view current quota size limit of 250GB and 300MB
+currently used by user001.
+
+Example for Lustre SCRATCH directory:
+
+``` 
+$ lfs quota /scratch
+Disk quotas for user user001 (uid 1234):
+     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+          /scratch       8       0 100000000000       -       3       0       0       -
+Disk quotas for group user001 (gid 1234):
+ Filesystem kbytes quota limit grace files quota limit grace
+ /scratch       8       0       0       -       3       0       0       -
+```
+
+In this example, we view current quota size limit of 100TB and 8KB
+currently used by user001.
+
+ 
+
+To have a better understanding of where the space is exactly used, you
+can use following command to find out.
+
+``` 
+$ du -hs dir
+```
+
+Example for your HOME directory:
+
+``` 
+$ cd /home
+$ du -hs * .[a-zA-z0-9]* | grep -E "[0-9]*G|[0-9]*M" | sort -hr
+258M     cuda-samples
+15M      .cache
+13M      .mozilla
+5,5M     .eclipse
+2,7M     .idb_13.0_linux_intel64_app
+```
+
+This will list all directories which are having MegaBytes or GigaBytes
+of consumed space in your actual (in this example HOME) directory. List
+is sorted in descending order from largest to smallest
+files/directories.
+
+
+<span>To have a better understanding of previous commands, you can read
+manpages.</span>
+
+``` 
+$ man lfs
+```
+
+``` 
+$ man du 
+```
+
+### Extended ACLs
+
+Extended ACLs provide another security mechanism beside the standard
+POSIX ACLs which are defined by three entries (for
+owner/group/others). Extended ACLs have more than the three basic
+entries. In addition, they also contain a mask entry and may contain any
+number of named user and named group entries.
+
+ACLs on a Lustre file system work exactly like ACLs on any Linux file
+system. They are manipulated with the standard tools in the standard
+manner. Below, we create a directory and allow a specific user access.
+
+``` 
+[vop999@login1.anselm ~]$ umask 027
+[vop999@login1.anselm ~]$ mkdir test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxr-x--- 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+group::r-x
+other::---
+
+[vop999@login1.anselm ~]$ setfacl -m user:johnsm:rwx test
+[vop999@login1.anselm ~]$ ls -ld test
+drwxrwx---+ 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.anselm ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+user:johnsm:rwx
+group::r-x
+mask::rwx
+other::---
+```
+
+Default ACL mechanism can be used to replace setuid/setgid permissions
+on directories. Setting a default ACL on a directory (-d flag to
+setfacl) will cause the ACL permissions to be inherited by any newly
+created file or subdirectory within the directory. Refer to this page
+for more information on Linux ACL:
+
+[http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html ](http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html)
+
+Local Filesystems
+-----------------
+
+### Local Scratch
+
+Every computational node is equipped with 330GB local scratch disk.
+
+Use local scratch in case you need to access large amount of small files
+during your calculation.
+
+[]()The local scratch disk is mounted as /lscratch and is accessible to
+user at /lscratch/$PBS_JOBID directory.
+
+The local scratch filesystem is intended  for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. All I/O intensive jobs that access large
+number of small files within the calculation must use the local scratch
+filesystem as their working directory. This is required for performance
+reasons, as frequent access to number of small files may overload the
+metadata servers (MDS) of the Lustre filesystem.
+
+The local scratch directory /lscratch/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+local SCRATCH filesystem
+Mountpoint
+/lscratch
+Accesspoint
+/lscratch/$PBS_JOBID
+Capacity
+330GB
+Throughput
+100MB/s
+User quota
+none
+### RAM disk
+
+Every computational node is equipped with filesystem realized in memory,
+so called RAM disk.
+
+Use RAM disk in case you need really fast access to your data of limited
+size during your calculation.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+[]()The local RAM disk is mounted as /ramdisk and is accessible to user
+at /ramdisk/$PBS_JOBID directory.
+
+The local RAM disk filesystem is intended for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. Size of RAM disk filesystem is limited. Be
+very careful, use of RAM disk filesystem is at the expense of
+operational memory.  It is not recommended to allocate large amount of
+memory and use large amount of data in RAM disk filesystem at the same
+time.
+
+The local RAM disk directory /ramdisk/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+RAM disk
+Mountpoint
+<span class="monospace">/ramdisk</span>
+Accesspoint
+<span class="monospace">/ramdisk/$PBS_JOBID</span>
+Capacity
+60GB at compute nodes without accelerator
+
+90GB at compute nodes with accelerator
+
+500GB at fat nodes
+
+Throughput
+over 1.5 GB/s write, over 5 GB/s read, single thread
+over 10 GB/s write, over 50 GB/s read, 16 threads
+
+User quota
+none
+### tmp
+
+Each node is equipped with local /tmp directory of few GB capacity. The
+/tmp directory should be used to work with small temporary files. Old
+files in /tmp directory are automatically purged.
+
+
+**Summary
+**
+----------
+
+
+  Mountpoint                                 Usage                       Protocol   Net Capacity     Throughput   Limitations   Access                    Services
+  ------------------------------------------ --------------------------- ---------- ---------------- ------------ ------------- ------------------------- -----------------------------
+  <span class="monospace">/home</span>       home directory              Lustre     320 TiB          2 GB/s       Quota 250GB   Compute and login nodes   backed up
+  <span class="monospace">/scratch</span>    cluster shared jobs' data   Lustre     146 TiB          6 GB/s       Quota 100TB   Compute and login nodes   files older 90 days removed
+  <span class="monospace">/lscratch</span>   node local jobs' data       local      330 GB           100 MB/s     none          Compute nodes             purged after job ends
+  <span class="monospace">/ramdisk</span>    node local jobs' data       local      60, 90, 500 GB   5-50 GB/s    none          Compute nodes             purged after job ends
+  <span class="monospace">/tmp</span>        local temporary files       local                       100 MB/s     none          Compute and login nodes   auto purged
+
+ 
+
diff --git a/docs.it4i.cz/anselm-cluster-documentation/successfullconnection.jpg b/docs.it4i.cz/anselm-cluster-documentation/successfullconnection.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a7e8d5b749f86f54558586158ea7a00bf666961c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/successfullconnection.jpg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/successfullinstalation.jpg/@@images/c6d69ffe-da75-4cb6-972a-0cf4c686b6e1.jpeg b/docs.it4i.cz/anselm-cluster-documentation/successfullinstalation.jpg/@@images/c6d69ffe-da75-4cb6-972a-0cf4c686b6e1.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..efbf8c8571ee9a225493e6f7dac49e594cd7408a
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/successfullinstalation.jpg/@@images/c6d69ffe-da75-4cb6-972a-0cf4c686b6e1.jpeg differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/turbovncclientsetting.png b/docs.it4i.cz/anselm-cluster-documentation/turbovncclientsetting.png
new file mode 100644
index 0000000000000000000000000000000000000000..71a69099299012be590972e22b8120e11127426c
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/turbovncclientsetting.png differ
diff --git a/docs.it4i.cz/anselm-cluster-documentation/vncviewer.png/@@images/bb4cedff-4cb6-402b-ac79-039186fe5df3.png b/docs.it4i.cz/anselm-cluster-documentation/vncviewer.png/@@images/bb4cedff-4cb6-402b-ac79-039186fe5df3.png
new file mode 100644
index 0000000000000000000000000000000000000000..78929324b4ae1156903d309e529eda10b7ccec50
Binary files /dev/null and b/docs.it4i.cz/anselm-cluster-documentation/vncviewer.png/@@images/bb4cedff-4cb6-402b-ac79-039186fe5df3.png differ
diff --git a/docs.it4i.cz/anselm.md b/docs.it4i.cz/anselm.md
new file mode 100644
index 0000000000000000000000000000000000000000..a70fcdf735aa7f3200e9440d36add6a88485b661
--- /dev/null
+++ b/docs.it4i.cz/anselm.md
@@ -0,0 +1,42 @@
+Introduction 
+============
+
+
+
+  
+
+Welcome to Anselm supercomputer cluster. The Anselm cluster consists of
+209 compute nodes, totaling 3344 compute cores with 15TB RAM and giving
+over 94 Tflop/s theoretical peak performance. Each node is a <span
+class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped with 16
+cores, at least 64GB RAM, and 500GB harddrive. Nodes are interconnected
+by fully non-blocking fat-tree Infiniband network and equipped with
+Intel Sandy Bridge processors. A few nodes are also equipped with NVIDIA
+Kepler GPU or Intel Xeon Phi MIC accelerators. Read more in [Hardware
+Overview](https://docs.it4i.cz/anselm-cluster-documentation/hardware-overview).
+
+The cluster runs bullx Linux [<span
+class="WYSIWYG_LINK"></span>](http://www.bull.com/bullx-logiciels/systeme-exploitation.html)[operating
+system](https://docs.it4i.cz/anselm-cluster-documentation/software/operating-system),
+which is compatible with the <span class="WYSIWYG_LINK">RedHat</span>
+[<span class="WYSIWYG_LINK">Linux
+family.</span>](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)
+We have installed a wide range of
+[software](https://docs.it4i.cz/anselm-cluster-documentation/software)
+packages targeted at different scientific domains. These packages are
+accessible via the [modules
+environment](https://docs.it4i.cz/anselm-cluster-documentation/environment-and-modules).
+
+User data shared file-system (HOME, 320TB) and job data shared
+file-system (SCRATCH, 146TB) are available to users.
+
+The PBS Professional workload manager provides [computing resources
+allocations and job
+execution](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution).
+
+Read more on how to [apply for
+resources](https://docs.it4i.cz/get-started-with-it4innovations/applying-for-resources),
+[obtain login
+credentials,](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials)
+and [access the
+cluster](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster).
diff --git a/docs.it4i.cz/application.png b/docs.it4i.cz/application.png
new file mode 100644
index 0000000000000000000000000000000000000000..006a93a202327e57ca9bb57f0c63f38b43d6411a
Binary files /dev/null and b/docs.it4i.cz/application.png differ
diff --git a/docs.it4i.cz/atom.xml b/docs.it4i.cz/atom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ed95be9ace15d05add749d7e6d034da01314eb6
--- /dev/null
+++ b/docs.it4i.cz/atom.xml
@@ -0,0 +1,1159 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<?xml-stylesheet href="atom.css" type="text/css"?>
+<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://docs.it4i.cz" xml:lang="cs">
+  <link rel="self" href="https://docs.it4i.cz/atom.xml" type="application/atom+xml"/>
+  <title type="html">IT4I Docs</title>
+  
+  <updated>2013-07-05T05:27:33+02:00</updated>
+  <link href="atom.xml" rel="alternate" type="text/html" xml:base="https://docs.it4i.cz/"/>
+  <id>urn:syndication:None</id>
+  <logo>https://docs.it4i.cz/logo.png</logo>
+  <icon>https://docs.it4i.cz/favicon.ico</icon>
+  <generator uri="http://www.plone.org" version="1.0">plone</generator>
+  
+  
+
+  
+    <entry>
+      <title>MATLAB 2015b</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b"/>
+      
+      <id>urn:syndication:9b996ea95ba04f218d1eff951249ac50</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-13T15:40:00+02:00</published>
+
+      <updated>2016-07-13T15:38:48+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/debuggers/vampir"/>
+      
+      <id>urn:syndication:50ee0f8999e14a08822bd423d24de7ef</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-50ee0f8999e14a08822bd423d24de7ef" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+<h2></h2>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T12:40:56+02:00</published>
+
+      <updated>2016-07-08T12:40:56+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir"/>
+      
+      <id>urn:syndication:f6e25102d1244fb4ab355175867747b5</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-f6e25102d1244fb4ab355175867747b5" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T12:38:13+02:00</published>
+
+      <updated>2016-07-08T12:38:13+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir installed</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/vampir-installed"/>
+      
+      <id>urn:syndication:0925645129e9409bb0e1c8d98359827d</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T00:00:00+02:00</published>
+
+      <updated>2016-07-08T13:00:00+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Intel VTune Amplifier support for Xeon Phi on Salomon</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon"/>
+      
+      <id>urn:syndication:b27e206b86fd4e3b89302031cb76654e</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have included support for VTune Amplifier XE 2016 to the operating system of Xeon Phi accelerators on Salomon. You can now use VTune to analyse your native or offload MIC applications.</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-06-30T00:00:00+02:00</published>
+
+      <updated>2016-06-30T13:25:27+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Cygwin and X11 forwarding</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding"/>
+      
+      <id>urn:syndication:09d0af6009df4eae8d3b28eb121b10e0</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-09d0af6009df4eae8d3b28eb121b10e0" class="">
+            <h3 class=" ">If <span style="text-align: left; float: none; ">no able to forward X11 using PuTTY to CygwinX</span></h3>
+<pre class="prettyprint lang-sh"><span style="text-align: left; float: none; ">[usename@login1.anselm ~]$ gnome-session &amp;<br />[1] 23691<br />[<span style="text-align: left; float: none; ">usename</span>@login1.anselm ~]$ PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused<br />PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused<br /><br />** (gnome-session:23691): WARNING **: Cannot open display:<br /></span></pre>
+<p><span style="text-align: left; float: none; "> </span></p>
+<ol>
+<li><span style="text-align: left; float: none; ">Locate and modify <span style="text-align: left; float: none; ">Cygwin shortcut that uses<span class="Apple-converted-space"> </span></span><a href="http://x.cygwin.com/docs/man1/startxwin.1.html" rel="nofollow" style="text-align: left; ">startxwin</a><br />locate<br />C:\cygwin64\bin\XWin.exe<br /><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "><span style="text-align: left; float: none; ">change it to</span></span></span><br />C:\<i class="moz-txt-slash">cygwin64\bin\XWin.exe -listen tcp</i><br /><br /><img title="XWin-listen-tcp.png" alt="XWin-listen-tcp.png" src="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png" class="image-inline" /><br /></span><br /><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "></span></span></li>
+<li><span style="text-align: left; float: none; "><span style="text-align: left; float: none; ">Check Putty settings:<br /><span style="text-align: left; float: none; ">Enable X11 forwarding</span><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "></span><span class="Apple-converted-space"><br /></span></span><br /><a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding" class="internal-link"><img title="" alt="" src="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png" class="image-inline" /></a><br /></span></span></li>
+</ol>
+<p> </p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jir13</name>
+        
+      </author>
+
+      <published>2016-06-24T10:55:00+02:00</published>
+
+      <updated>2016-06-27T09:03:44+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Cygwin and X11 forwarding</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding"/>
+      
+      <id>urn:syndication:e783a59210a945808d38a3665b17b224</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jir13</name>
+        
+      </author>
+
+      <published>2016-06-24T10:55:41+02:00</published>
+
+      <updated>2016-06-27T08:16:13+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>New method to execute parallel MATLAB jobs</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs"/>
+      
+      <id>urn:syndication:39b4ace03efd4d8d89e7a27a3929f809</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have implemented a new way to run parallel MATLAB jobs. Unlike the previously documented method, it does not submit a separate new job to run the workers, all is done within a single job. Read about it here: <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6" class="external-link">https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6</a></p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-06-23T00:00:00+02:00</published>
+
+      <updated>2016-06-23T10:57:53+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Phono3py Input</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input"/>
+      
+      <id>urn:syndication:eeac6e9da77d414081d4287468475584</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+    
+
+    
+    
+    
+
+        <dl>
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor text/vnd.wap.si" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view" class="contenttype-file state-missing-value url">POSCAR Si</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    <span class="description">POSCAR</span>
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view" class="contenttype-file state-missing-value url">KPOINTS</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view" class="contenttype-file state-missing-value url">POTCAR</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view" class="contenttype-file state-missing-value url">INCAR</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view" class="contenttype-file state-missing-value url">run.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view" class="contenttype-file state-missing-value url">submit.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view" class="contenttype-file state-missing-value url">prepare.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view" class="contenttype-file state-missing-value url">gofree-cond1.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+        </dl>
+
+        
+
+    <!-- Navigation -->
+
+
+  
+
+
+
+
+
+
+    
+    
+        
+    
+
+    
+    
+
+
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>val498</name>
+        
+      </author>
+
+      <published>2016-06-10T15:40:07+02:00</published>
+
+      <updated>2016-06-10T15:40:07+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Phono3py</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py"/>
+      
+      <id>urn:syndication:b447a2e7e71947d487c3ceada3d7265b</id>
+      <summary>
+</summary>
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-b447a2e7e71947d487c3ceada3d7265b" class="">
+            <h2> Introduction</h2>
+<p class=" ">This GPL software calculates phonon-phonon interactions via the third order force constants. It allows to obtain lattice thermal conductivity, phonon lifetime/linewidth, imaginary part of self energy at the lowest order, joint density of states (JDOS) and weighted-JDOS. For details see Phys. Rev. B 91, 094306 (2015) and http://atztogo.github.io/phono3py/index.html<br /><br /></p>
+<p class="callout">Load the phono3py/0.9.14-ictce-7.3.5-Python-2.7.9 module</p>
+<pre class="prettyprint lang-sh">$ module load phono3py/0.9.14-ictce-7.3.5-Python-2.7.9</pre>
+<h2>Example of calculating thermal conductivity of Si using VASP code.</h2>
+<h3>Calculating force constants</h3>
+<p>One needs to calculate second order and third order force constants using the diamond structure of silicon stored in <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si" class="internal-link">POSCAR</a>  (the same form as in VASP) using single displacement calculations within supercell.</p>
+<pre class="prettyprint lang-sh">$ cat POSCAR<br /> Si<br />   1.0<br />     5.4335600309153529    0.0000000000000000    0.0000000000000000<br />     0.0000000000000000    5.4335600309153529    0.0000000000000000<br />     0.0000000000000000    0.0000000000000000    5.4335600309153529<br /> Si<br />   8<br />Direct<br />   0.8750000000000000  0.8750000000000000  0.8750000000000000<br />   0.8750000000000000  0.3750000000000000  0.3750000000000000<br />   0.3750000000000000  0.8750000000000000  0.3750000000000000<br />   0.3750000000000000  0.3750000000000000  0.8750000000000000<br />   0.1250000000000000  0.1250000000000000  0.1250000000000000<br />   0.1250000000000000  0.6250000000000000  0.6250000000000000<br />   0.6250000000000000  0.1250000000000000  0.6250000000000000<br />   0.6250000000000000  0.6250000000000000  0.1250000000000000<br /><br /></pre>
+<h3>Generating displacement using 2x2x2 supercell for both second and third order force constants</h3>
+<pre class="prettyprint lang-sh">$ <span class="n">phono3py</span> <span class="o">-</span><span class="n">d</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> <span class="o">-</span><span class="n">c</span> <span class="n">POSCAR</span><span class="o"></span><span class="n"></span></pre>
+<p class=" "><span class="n">111 displacements is created stored in <span class="n">disp_fc3.yaml</span>, and the structure input files with this displacements are POSCAR-00XXX, where the XXX=111.<br /></span></p>
+<pre class="prettyprint lang-sh"><span class="n">disp_fc3.yaml  POSCAR-00008  POSCAR-00017  POSCAR-00026  POSCAR-00035  POSCAR-00044  POSCAR-00053  POSCAR-00062  POSCAR-00071  POSCAR-00080  POSCAR-00089  POSCAR-00098  POSCAR-00107<br />POSCAR         POSCAR-00009  POSCAR-00018  POSCAR-00027  POSCAR-00036  POSCAR-00045  POSCAR-00054  POSCAR-00063  POSCAR-00072  POSCAR-00081  POSCAR-00090  POSCAR-00099  POSCAR-00108<br />POSCAR-00001   POSCAR-00010  POSCAR-00019  POSCAR-00028  POSCAR-00037  POSCAR-00046  POSCAR-00055  POSCAR-00064  POSCAR-00073  POSCAR-00082  POSCAR-00091  POSCAR-00100  POSCAR-00109<br />POSCAR-00002   POSCAR-00011  POSCAR-00020  POSCAR-00029  POSCAR-00038  POSCAR-00047  POSCAR-00056  POSCAR-00065  POSCAR-00074  POSCAR-00083  POSCAR-00092  POSCAR-00101  POSCAR-00110<br />POSCAR-00003   POSCAR-00012  POSCAR-00021  POSCAR-00030  POSCAR-00039  POSCAR-00048  POSCAR-00057  POSCAR-00066  POSCAR-00075  POSCAR-00084  POSCAR-00093  POSCAR-00102  POSCAR-00111<br />POSCAR-00004   POSCAR-00013  POSCAR-00022  POSCAR-00031  POSCAR-00040  POSCAR-00049  POSCAR-00058  POSCAR-00067  POSCAR-00076  POSCAR-00085  POSCAR-00094  POSCAR-00103<br />POSCAR-00005   POSCAR-00014  POSCAR-00023  POSCAR-00032  POSCAR-00041  POSCAR-00050  POSCAR-00059  POSCAR-00068  POSCAR-00077  POSCAR-00086  POSCAR-00095  POSCAR-00104<br />POSCAR-00006   POSCAR-00015  POSCAR-00024  POSCAR-00033  POSCAR-00042  POSCAR-00051  POSCAR-00060  POSCAR-00069  POSCAR-00078  POSCAR-00087  POSCAR-00096  POSCAR-00105<br />POSCAR-00007   POSCAR-00016  POSCAR-00025  POSCAR-00034  POSCAR-00043  POSCAR-00052  POSCAR-00061  POSCAR-00070  POSCAR-00079  POSCAR-00088  POSCAR-00097  POSCAR-00106</span></pre>
+<p class=" "><span class="n"> For each displacement the forces needs to be calculated, i.e. in form of the output file of VASP (vasprun.xml). For a single VASP calculations one needs <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS" class="internal-link">KPOINTS</a>, <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR" class="internal-link">POTCAR</a>, <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR" class="internal-link">INCAR</a> in your case directory (where you have POSCARS) and those 111 displacements calculations can be generated by <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh" class="internal-link">prepare.sh</a> script. Then each of the single 111 calculations is submitted <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh" class="internal-link">run.sh</a> by <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh" class="internal-link">submit.sh</a>.</span></p>
+<pre class="prettyprint lang-sh"><span class="n">$./prepare.sh<br />$ls<br />disp-00001  disp-00009  disp-00017  disp-00025  disp-00033  disp-00041  disp-00049  disp-00057  disp-00065  disp-00073  disp-00081  disp-00089  disp-00097  disp-00105     INCAR<br />disp-00002  disp-00010  disp-00018  disp-00026  disp-00034  disp-00042  disp-00050  disp-00058  disp-00066  disp-00074  disp-00082  disp-00090  disp-00098  disp-00106     KPOINTS<br />disp-00003  disp-00011  disp-00019  disp-00027  disp-00035  disp-00043  disp-00051  disp-00059  disp-00067  disp-00075  disp-00083  disp-00091  disp-00099  disp-00107     POSCAR<br />disp-00004  disp-00012  disp-00020  disp-00028  disp-00036  disp-00044  disp-00052  disp-00060  disp-00068  disp-00076  disp-00084  disp-00092  disp-00100  disp-00108     POTCAR<br />disp-00005  disp-00013  disp-00021  disp-00029  disp-00037  disp-00045  disp-00053  disp-00061  disp-00069  disp-00077  disp-00085  disp-00093  disp-00101  disp-00109     prepare.sh<br />disp-00006  disp-00014  disp-00022  disp-00030  disp-00038  disp-00046  disp-00054  disp-00062  disp-00070  disp-00078  disp-00086  disp-00094  disp-00102  disp-00110     run.sh<br />disp-00007  disp-00015  disp-00023  disp-00031  disp-00039  disp-00047  disp-00055  disp-00063  disp-00071  disp-00079  disp-00087  disp-00095  disp-00103  disp-00111     submit.sh<br />disp-00008  disp-00016  disp-00024  disp-00032  disp-00040  disp-00048  disp-00056  disp-00064  disp-00072  disp-00080  disp-00088  disp-00096  disp-00104  disp_fc3.yaml<br /></span></pre>
+<p class=" "><span class="n">Taylor your run.sh script to fit into your project and other needs and submit all 111 calculations using submit.sh script</span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ ./submit.sh</span></pre>
+<h2><span class="n">Collecting results and post-processing with phono3py</span></h2>
+<p><span class="n">Once all jobs are finished and vasprun.xml is created in each disp-XXXXX directory the collection is done by </span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ <span class="n">phono3py</span> <span class="o">--</span><span class="n">cf3</span> <span class="n">disp</span><span class="o">-</span><span class="p">{</span><span class="mf">00001.</span><span class="o">.</span><span class="mi">00111</span><span class="p">}</span><span class="o">/</span><span class="n">vasprun</span><span class="o">.</span><span class="n">xml</span></span></pre>
+<p><span class="n"><span class="n">and <code class="docutils literal"><span class="pre">disp_fc2.yaml, <code class="docutils literal"><span class="pre">FORCES_FC2</span></code>, <code class="docutils literal"><span class="pre">FORCES_FC3</span></code></span></code> and disp_fc3.yaml should appear and put into the hdf format by </span></span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ phono3py</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> -c POSCAR</pre>
+<p class=" ">resulting in <code class="docutils literal"><span class="pre">fc2.hdf5</span></code> and <code class="docutils literal"><span class="pre">fc3.hdf5</span></code></p>
+<h3 class=" ">Thermal conductivity</h3>
+<p class=" "><span class="pre">The phonon lifetime calculations takes some time, however is independent on grid points, so could be splitted: <br /></span></p>
+<pre class="prettyprint lang-sh"><span class="pre">$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --sigma 0.1 --wgp</span></pre>
+<h3><span class="n">Inspecting ir_grid_points.yaml</span></h3>
+<pre class="prettyprint lang-sh">$ grep grid_point ir_grid_points.yaml<br />num_reduced_ir_grid_points: 35<br />ir_grid_points:  # [address, weight]<br />- grid_point: 0<br />- grid_point: 1<br />- grid_point: 2<br />- grid_point: 3<br />- grid_point: 4<br />- grid_point: 10<br />- grid_point: 11<br />- grid_point: 12<br />- grid_point: 13<br />- grid_point: 20<br />- grid_point: 21<br />- grid_point: 22<br />- grid_point: 30<br />- grid_point: 31<br />- grid_point: 40<br />- grid_point: 91<br />- grid_point: 92<br />- grid_point: 93<br />- grid_point: 94<br />- grid_point: 101<br />- grid_point: 102<br />- grid_point: 103<br />- grid_point: 111<br />- grid_point: 112<br />- grid_point: 121<br />- grid_point: 182<br />- grid_point: 183<br />- grid_point: 184<br />- grid_point: 192<br />- grid_point: 193<br />- grid_point: 202<br />- grid_point: 273<br />- grid_point: 274<br />- grid_point: 283<br />- grid_point: 364</pre>
+<p>one finds which grid points needed to be calculated, for instance using following</p>
+<pre class="prettyprint lang-sh"><span class="n">$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write-gamma --gp="0 1 2</span></pre>
+<p><span class="n">one calculates grid points 0, 1, 2. To automize one can use for instance scripts to submit 5 points in series, see <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh" class="internal-link">gofree-cond1.sh </a></span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ qsub gofree-cond1.sh</span></pre>
+<p><span class="n">Finally the thermal conductivity result is produced by grouping single conductivity per grid calculations using  </span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ <span class="n">phono3py</span> <span class="o">--</span><span class="n">fc3</span> <span class="o">--</span><span class="n">fc2</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> <span class="o">--</span><span class="n">mesh</span><span class="o">=</span><span class="s2">"</span>9 9 9" <span class="o">--</span><span class="n">br</span> <span class="o">--</span><span class="n">read_gamma</span></span></pre>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>val498</name>
+        
+      </author>
+
+      <published>2016-06-10T15:39:57+02:00</published>
+
+      <updated>2016-06-10T15:39:57+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Allinea Forge 6.0</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0"/>
+      
+      <id>urn:syndication:f34e1e448c954a5993542f187f3fd03f</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Allinea Forge 6.0 is now installed both on Salomon and Anselm. Among the new features is support for CUDA 7.5</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-04-29T14:25:10+02:00</published>
+
+      <updated>2016-04-29T14:25:10+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Issue with Intel MPI 4.1.1 on Salomon</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon"/>
+      
+      <id>urn:syndication:742cfa6083b74022be172b70d93adc4f</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>There is an issue with running MPI programs compiled with Intel MPI 4.1.1 on Salomon (part of module intel/2014.06), execution on accelerated nodes will fail with message:</p>
+<p>ofa-v2-scif0: could not accept DAPL connection request: DAT_INTERNAL_ERROR()</p>
+<p>as a workaround, set environment variable<span> I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u or recompile your applications with a newer version of Intel MPI.</span></p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-04-29T14:23:10+02:00</published>
+
+      <updated>2016-04-29T14:23:10+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>News</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news"/>
+      
+      <id>urn:syndication:3c5230a041874c02bf342d477f17b824</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>admin</name>
+        
+      </author>
+
+      <published>2016-03-08T11:55:00+02:00</published>
+
+      <updated>2016-03-08T13:58:53+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>News</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed"/>
+      
+      <id>urn:syndication:3dd5377493234722aee6755aff88a599</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+    
+    
+
+    
+
+    <p class="discreet">Nebyla ještě nahrána žádná alba ani fotografie.</p>
+
+    
+
+    <!-- Navigation -->
+
+
+
+
+
+    
+        
+    
+    
+
+        <dl>
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon" class="contenttype-news-item state-published url">Issue with Intel MPI 4.1.1 on Salomon</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0" class="contenttype-news-item state-published url">Allinea Forge 6.0</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs" class="contenttype-news-item state-published url">New method to execute parallel MATLAB jobs</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon" class="contenttype-news-item state-published url">Intel VTune Amplifier support for Xeon Phi on Salomon</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/vampir-installed" class="contenttype-news-item state-published url">Vampir installed</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b" class="contenttype-news-item state-published url">MATLAB 2015b</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+        </dl>
+
+        
+
+    <!-- Navigation -->
+
+
+  
+
+
+
+
+
+
+    
+    
+
+    
+    
+
+    
+
+    
+        
+    
+
+
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>admin</name>
+        
+      </author>
+
+      <published>2016-03-08T11:50:00+02:00</published>
+
+      <updated>2016-03-08T11:55:54+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Intel Inspector</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/intel-suite/intel-inspector"/>
+      
+      <id>urn:syndication:6a80a8d0d1514d18b78df06d42288bcf</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-6a80a8d0d1514d18b78df06d42288bcf" class="">
+            <p>Intel Inspector is a dynamic memory and threading error checking tool for C/C++/Fortran applications. It can detect issues such as memory leaks, invalid memory references, uninitalized variables, race conditions, deadlocks etc.</p>
+<h2 class=" ">Installed versions</h2>
+<p>The following versions are currently available on Salomon as modules:</p>
+<table class="plain">
+<tbody>
+<tr>
+<td><strong>Version</strong></td>
+<td><strong>Module</strong></td>
+</tr>
+<tr>
+<td>2016 Update 1</td>
+<td>Inspector/2016_update1</td>
+</tr>
+</tbody>
+</table>
+<h2>Usage</h2>
+<p>Your program should be compiled with -g switch to include symbol names. Optimizations can be turned on.</p>
+<p>Debugging is possible either directly from the GUI, or from command line.</p>
+<h3>GUI mode</h3>
+<p>To debug from GUI, launch Inspector:</p>
+<pre>$ inspxe-gui &amp;</pre>
+<p>Then select menu File -&gt; New -&gt; Project. Choose a directory to save project data to. After clicking OK, Project properties window will appear, where you can configure path to your binary, launch arguments, working directory etc. After clicking OK, the project is ready.</p>
+<p>In the main pane, you can start a predefined analysis type or define your own. Click Start to start the analysis. Alternatively, you can click on Command Line, to see the command line required to run the analysis directly from command line.</p>
+<h3>Batch mode</h3>
+<p>Analysis can be also run from command line in batch mode. Batch mode analysis is run with command <span class="monospace">inspxe-cl</span>. To obtain the required parameters, either consult the documentation or you can configure the analysis in the GUI and then click "Command Line" button in the lower right corner to the respective command line.</p>
+<p>Results obtained from batch mode can be then viewed in the GUI by selecting File -&gt; Open -&gt; Result...</p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://software.intel.com/en-us/intel-inspector-xe" target="_self" title="">Product page</a></li>
+<li><a class="external-link" href="https://software.intel.com/en-us/intel-inspector-xe-support/documentation" target="_self" title="">Documentation and Release Notes</a></li>
+<li><a class="external-link" href="https://software.intel.com/en-us/articles/inspectorxe-tutorials" target="_self" title="">Tutorials</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-02-24T15:36:42+02:00</published>
+
+      <updated>2016-02-24T15:36:42+02:00</updated>
+
+
+    </entry>
+
+  
+
+</feed>
diff --git a/docs.it4i.cz/background.png b/docs.it4i.cz/background.png
new file mode 100644
index 0000000000000000000000000000000000000000..8705a3df41918dea33867d5590a906641eecd9ab
Binary files /dev/null and b/docs.it4i.cz/background.png differ
diff --git a/docs.it4i.cz/changelog.md b/docs.it4i.cz/changelog.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/changelog.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/changelog/RSS b/docs.it4i.cz/changelog/RSS
new file mode 100644
index 0000000000000000000000000000000000000000..53a1eaca7d883c38436c6389a3158548f15080c8
--- /dev/null
+++ b/docs.it4i.cz/changelog/RSS
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">
+
+
+
+<channel rdf:about="https://docs.it4i.cz/changelog/RSS">
+  <title>IT4I Docs</title>
+  <link>https://docs.it4i.cz</link>
+  <description></description>
+  <image rdf:resource="https://docs.it4i.cz/logo.png"/>
+
+  <items>
+    <rdf:Seq>
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/downtimes_history"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/list_of_modules"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/numerical-languages/matlab"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/vampir-installed"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/debuggers/vampir"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/debuggers/summary"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png"/>
+      
+    </rdf:Seq>
+  </items>
+
+</channel>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/downtimes_history">
+    <title>History of Downtimes</title>
+    <link>https://docs.it4i.cz/whats-new/downtimes_history</link>
+    <description>Full history of important announcements related to IT4I infrastructure, planned downtimes, outages etc.</description>
+    <dc:date>2016-07-18T13:34:03Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/list_of_modules">
+    <title>List of Available Modules</title>
+    <link>https://docs.it4i.cz/salomon/list_of_modules</link>
+    <description>List of Available Modules on Salomon Cluster</description>
+    <dc:date>2016-07-18T00:00:02Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab">
+    <title>Matlab</title>
+    <link>https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab</link>
+    <description></description>
+    <dc:date>2016-07-13T14:11:19Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/numerical-languages/matlab">
+    <title>Matlab</title>
+    <link>https://docs.it4i.cz/salomon/software/numerical-languages/matlab</link>
+    <description></description>
+    <dc:date>2016-07-13T14:10:41Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab">
+    <title>Matlab 2013-2014</title>
+    <link>https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab</link>
+    <description></description>
+    <dc:date>2016-07-13T13:41:35Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b">
+    <title>MATLAB 2015b</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/matlab-2015b</link>
+    <description></description>
+    <dc:date>2016-07-13T13:38:48Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction">
+    <title>Numerical languages</title>
+    <link>https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction</link>
+    <description>Interpreted languages for numerical computations and analysis</description>
+    <dc:date>2016-07-13T13:35:37Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/vampir-installed">
+    <title>Vampir installed</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/vampir-installed</link>
+    <description></description>
+    <dc:date>2016-07-08T11:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary">
+    <title>Debuggers and profilers summary</title>
+    <link>https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary</link>
+    <description></description>
+    <dc:date>2016-07-08T10:41:18Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/debuggers/vampir">
+    <title>Vampir</title>
+    <link>https://docs.it4i.cz/salomon/software/debuggers/vampir</link>
+    <description></description>
+    <dc:date>2016-07-08T10:40:56Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/debuggers/summary">
+    <title>Debuggers and profilers summary</title>
+    <link>https://docs.it4i.cz/salomon/software/debuggers/summary</link>
+    <description></description>
+    <dc:date>2016-07-08T10:40:43Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir">
+    <title>Vampir</title>
+    <link>https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir</link>
+    <description></description>
+    <dc:date>2016-07-08T10:38:13Z</dc:date>
+    <dc:type>Document</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png">
+    <title>Vampir screenshot</title>
+    <link>https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png</link>
+    <description></description>
+    <dc:date>2016-07-08T10:34:13Z</dc:date>
+    <dc:type>Image</dc:type>
+  </item>
+
+
+
+</rdf:RDF>
\ No newline at end of file
diff --git a/docs.it4i.cz/changelog/atom.xml b/docs.it4i.cz/changelog/atom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..571f53e0ed116672900a6720eac074266e4cf660
--- /dev/null
+++ b/docs.it4i.cz/changelog/atom.xml
@@ -0,0 +1,5808 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<?xml-stylesheet href="atom.css" type="text/css"?>
+<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs">
+  <link rel="self" href="https://docs.it4i.cz/changelog/atom.xml" type="application/atom+xml"/>
+  <title type="html">Changelog</title>
+  
+  <updated>2013-08-07T10:54:23+02:00</updated>
+  <link href="atom.xml" rel="alternate" type="text/html" xml:base="https://docs.it4i.cz/changelog/"/>
+  <id>urn:syndication:3fa36e517733427dbf992eaac216553e</id>
+  <logo>https://docs.it4i.cz/logo.png</logo>
+  <icon>https://docs.it4i.cz/favicon.ico</icon>
+  <generator uri="http://www.plone.org" version="1.0">plone</generator>
+  
+  
+
+  
+    <entry>
+      <title>History of Downtimes</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/downtimes_history"/>
+      
+      <id>urn:syndication:4bd4666bb824408fb09204e2872d3dee</id>
+      <summary>Full history of important announcements related to IT4I infrastructure, planned downtimes, outages etc.</summary>
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-4bd4666bb824408fb09204e2872d3dee" class="">
+            <br />
+<div>
+    <table class="listing">
+      <thead>
+        <tr>
+          <th>Date and time</th>
+          <th>Title and description</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td style="white-space: nowrap;">2016-07-15 08:20:00</td>
+          <td>
+            <b>Salomon cluster maintenance outage</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>From 2016-07-20 09:00 till  2016-07-21 12:00  CEST will be maintenance outage for Salomon.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-06-29 13:50:00</td>
+          <td>
+            <b>Salomon cluster maintenance outage prolonged</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Important! Salomon cluster maintenance outage will be prolonged till 2016-06-29 20:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-06-16 00:00:00</td>
+          <td>
+            <b>Salomon planned downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>There's a planned maintenance window from 2016-06-28 09:00 till 2016-06-29 20:00 CEST.</p>
+<p>Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-05-26 10:31:44</td>
+          <td>
+            <b>Salomon planned downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>There's a planned maintenance window from 2016-06-08 09:00 till 2016-06-09 09:00 CEST.</p>
+<p>Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-04-27 15:57:28</td>
+          <td>
+            <b>Salomon cluster maintenance outage prolonged</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Important! Salomon cluster maintenance outage will be prolonged till 2016-04-28 14:00 CEST</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-31 19:03:25</td>
+          <td>
+            <b>Failure on Salomon Cooling System</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We have very serious issue with Salomon cooling system since 2016-03-31 10:00. We are working to resolve the issue.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-31 18:59:04</td>
+          <td>
+            <b>Salomon Back in Production</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>As of 2016-03-31 19:30 CET, the Salomon is back in production. The outage was caused by an issue in cooling system.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-30 15:57:57</td>
+          <td>
+            <b>PBS malfunction</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<p>We've had several issues with PBS scheduler since 2016-03-30 13:00 CEST. We are still working on it.</p>
+</div>
+</div>
+</div>
+</div>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-26 09:52:41</td>
+          <td>
+            <b>Salomon back to production</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We have recovered all the issues with the Salomon cluster.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-26 09:51:16</td>
+          <td>
+            <b>Failure on Salomon Cooling Infrastructure</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<p>We had an issue with the cooling infra of Salomon. This issue led to InfiniBand and storage outage. We are working to resolve the issue.</p>
+</div>
+</div>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-14 14:57:51</td>
+          <td>
+            <b>Infrastructure Maintenance</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Salomon supercomputer will be down for the maintenance from 2016-03-22 10:00 CEST to 2016-03-22 17:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-24 12:30:00</td>
+          <td>
+            <b>Anselm Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Anselm supercomputer will be down for the updates from 2016-02-01 to 2016-02-29.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-23 08:45:45</td>
+          <td>
+            <b>Anselm Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Anselm supercomputer will be down for the updates from 2016-02-01 to 2016-02-29.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-14 08:07:46</td>
+          <td>
+            <b>Failure on Salomon Infiniband Network</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<p>We have very serious issue with Salomon Infiniband network since 2016-02-11 10:18. We are working to resolve the issue as quickly as possible and apologize for any inconvenience.</p>
+</div>
+</div>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-04 11:53:30</td>
+          <td>
+            <b>Short network outage</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We need to apply some changes in network devices settings which may cause short network outage for Anselm Login nodes. This work will start around 6 am 2016-01-26.</p>
+<p>Thanks for your understanding.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-04 11:52:37</td>
+          <td>
+            <b>Salomon Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Salomon supercomputer will be down for the updates from 2016-02-16 09:00 CEST to 2016-02-16 13:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-04 11:52:25</td>
+          <td>
+            <b>Salomon Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Salomon supercomputer will be down for the updates from 2016-02-16 09:00 CEST to 2016-02-16 13:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-11-26 08:11:25</td>
+          <td>
+            <b>/home downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear HPC users<br /><br />There's a /home downtime on the Salomon supercomputer planned for 25th November. The reason is a maintenance of the underlying CXFS filesystem. Your jobs will be scheduled with respect to this maintenance window.<br /><br />Thank you for understanding,<br />the IT4I team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-11-24 09:10:15</td>
+          <td>
+            <b>The /home filesystem was down</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p><span>On 23.11.2015, 13:55 - 14:55, the /home filesystem was down due to acute technical problems.</span><br /><span>We apologize for inconvenience.</span></p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-09-04 16:14:12</td>
+          <td>
+            <b>SCRATCH downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear IT4I users<br /><br />Salomon's SCRATCH will *not* be accessible on Thursday (10th September 2015) from 13:00 till 18:00 CEST.<br /><br />Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-08-27 00:00:00</td>
+          <td>
+            <b>Today's SCRATCH downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear IT4I users<br /><br />We are sorry for today's (27th August) inaccessibility of SCRATCH filesystem due to a broken service which normally provides mapping for user/group IDs (UIDs/GIDs). The issue has been fixed. No data were lost.<br /><br />Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-08-12 00:00:00</td>
+          <td>
+            <b>Unplanned downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Salomon users,<br /><br />there was an unplanned downtime of the non-accelerated nodes. At this moment, systems are booting and we are revising consequences. Temporarily inaccessible SCRATCH filesystem is one of them.<br /><br />We're sorry for the inconvenience,<br />the IT4I team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-08-06 00:00:00</td>
+          <td>
+            <b>SCRATCH downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear IT4I users<br /><br />Salomon's SCRATCH will not be accessible tomorrow (7th August 2015) from 08:30 till 11:00 CEST.<br /><br />Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-11-14 10:27:51</td>
+          <td>
+            <b>Unplanned PBS Downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />we apologize for the unavailability of our PBS scheduler during the last weekend. However, running jobs shouldn't have been affected at that time.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-11-14 10:27:50</td>
+          <td>
+            <b>Login1 troubles</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Login1 had a short unplanned downtime. Sorry for the troubles.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-10-14 20:30:00</td>
+          <td>
+            <b>Unexpected power failure</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p><span>Dear Anselm users,</span></p>
+<p><span><br /></span></p>
+<p><span>on Tuesday 14th approximately at 17:20 CEST we encountered power failure during service operation on backup diesel generator. The system shut down. Additional checks after the shutdown took more time than what would expect.</span><span><span> The system was back on-line with all services approximately at 21:00 CEST.</span> We are very sorry for any troubles, this matter may caused you.  If some of your jobs ended in incorrect state, please feel free to reclaim your core hours.</span></p>
+<p><span><br /></span></p>
+<p><span>Thank you for understanding, <br />Anselm Administrators</span></p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-07-17 13:50:00</td>
+          <td>
+            <b>Login2(!) downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Friday, 18th July from 13:00 till 16:00 CEST. Please, take in mind that login2.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-07-16 13:11:34</td>
+          <td>
+            <b>Login1 downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Thursday, 17th July from 13:00 till 16:00 CEST. Please, take in mind that login1.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-06-18 10:51:56</td>
+          <td>
+            <b>Login2 downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Wednesday, 18th June from 11:20 till 14:20 CEST. Please, take in mind that login2.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-05-22 00:00:00</td>
+          <td>
+            <b>Outage</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users.<br /><br />As of today (20140523 10:45) we had an unmanaged outage of a few nodes. Affected nodes were cn[117-126,193-195].<br /><br />Sorry for the inconveniences,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-04-11 11:30:00</td>
+          <td>
+            <b>Heartbleed bug</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear users of the Anselm cluster,<br /> <br /> A serious bug in the OpenSSL library, known as the "Heartbleed bug" has been recently discovered. <span>We would like to ensure you that IT4I has taken all necessary steps to fix the OpenSSL library on all the systems.</span><br /> The bug in OpenSSL library affected many sites worldwide for nearly two years. At this moment, there is no evidence that any abuse of data took place at IT4I.<br /> In order to ensure the security and integrity of IT4I systems, all users will be issued new login credentials, including password and ssh keys.<br /> <span>For more informations about the Heartbleed bug, please see: </span><a class="moz-txt-link-freetext external-link" href="https://docs.it4i.cz/heartbleed-bug" target="_self" title="">https://docs.it4i.cz/heartbleed-bug</a><br /> <br />Thank you for your understanding.<br /> IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-04-02 13:05:00</td>
+          <td>
+            <b>Scheduler is Down</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We are sorry for the current scheduler issues which are caused by an inconsistency of the internal PBS database. Thus it's not possible to interact with the scheduler now. In addition, some jobs may be affected and some job outputs may not be retrieved at this moment.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-03-26 15:50:00</td>
+          <td>
+            <b>Temporary Scratch Mount on Login1</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Because of the Lustre issues (mentioned in previous announcements) there's a temporary mount point for Scratch filesystem on login1 node. Please, follow this path to access your data:</p>
+<p>/scratch_nfs/</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-03-26 13:10:00</td>
+          <td>
+            <b>Both Login Nodes Inaccessible</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We are sorry for the inaccessibility of both login nodes. We are co-operating with our supplier and trying hard to solve this problem as soon as possible.</p>
+<p>Thank you for understanding.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-03-25 22:05:00</td>
+          <td>
+            <b>Login1(!) Not Responding</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Currently, if you're having trouble while accessing Anselm, please use address login2.anselm.it4i.cz instead of anselm.it4i.cz. There's a Lustre issue with the login1 node, which causes it to not respond.</p>
+<p>We'll let you know by MOTD when login1 comes back online.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-12-03 00:00:00</td>
+          <td>
+            <b>Planned Downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>On 17th December 08:00 to 18:00 CET Anselm will be down for maintenance. Power supply upgrade will take place, as well as system maintenance and software updates.<br /><br />Prior to the period:<br />- Jobs will be scheduled for running with a respect to the downtime.<br /><br />During the period:<br />- No Anselm HPC service will be available.<br />- Following web applications will not be accessible: Request Tracker, Anselm cluster documentation, Anselm Allocation.<br />- Submitting tickets through the e-mail address <a class="email-link" href="mailto:support[at]it4i.cz" target="_self" title="">support[at]it4i.cz</a> will be delayed.<br /><br />After the period:<br />- All service will be brought back to normal.<br />- Jobs in a 'Q' state will be scheduled for running.<br /><br />We are sorry for the inconvenience.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-10-14 00:00:00</td>
+          <td>
+            <b>Cooling system unstable</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there was an unplanned downtime due to severe issues with the cold doors today. We are trying hard to bring all services up. We assume that we will finish the maintenance at about 13:30 CEST.<br /><br />Thank you for understanding.<br /><br />Sincerely yours,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-09-17 15:50:00</td>
+          <td>
+            <b>A Fair Amount of Nodes Down</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />We had an outage on the Anselm Cluster. A fair amount of the nodes was unavailable to production.<br /><br />Consider terminated job resubmission.<br /><br />We are sorry for the troubles,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-08-23 15:25:00</td>
+          <td>
+            <b>Infiniband Maintenance Window</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />We would like to inform you about a planned Infiniband maintenance window, on Wednesday, 28th August from 09:00 till 16:30 CEST.<br />No Anselm service will be available during this outage.<br /><br />New batch jobs will not be scheduled for running during this time. Consider altering the job walltime, to achieve job execution prior to the downtime (See Job Submission in the Anselm Documentation).<br /><br />Sincerely yours,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-08-14 17:10:00</td>
+          <td>
+            <b>Planned Upgrade / Scheduler Downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Thursday, 15th August from 18:00 till 22:00 CEST. Please, take in mind that PBS scheduler won't accept your jobs at the given timeframe. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-07-16 13:45:00</td>
+          <td>
+            <b>Anselm Cluster Upgrade - July 23rd</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users.<br /><br />We would like to inform you that Anselm cluster will be unavailable due to upgrades on Tuesday, July 23rd from 07:00 to 20:00 CEST.<br /><br />Sorry for the inconvenience,<br />Anselm admins<br /><br />-- <br /><br />Anselm cluster documentation can be found at:<br /><a class="external-link" href="http://support.it4i.cz/docs/anselm-cluster-documentation/" target="_self" title="">http://support.it4i.cz/docs/anselm-cluster-documentation/</a></p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-06-27 09:35:00</td>
+          <td>
+            <b>SSH Password Authentication</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users.<br /><br />If you are experiencing some troubles when using SSH PasswordAuthentication on the client side, please switch to PubkeyAuthentication instead.<br /><br />We are trying hard to resolve this issue.<br /><br />Sincerely yours,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+</div>
+
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>admin_downtimes</name>
+        
+      </author>
+
+      <published>2016-07-18T15:34:03+02:00</published>
+
+      <updated>2016-07-18T15:34:03+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>List of Available Modules</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/list_of_modules"/>
+      
+      <id>urn:syndication:d445aa50ee524368ad3e74f6a3a1b9fb</id>
+      <summary>List of Available Modules on Salomon Cluster</summary>
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-d445aa50ee524368ad3e74f6a3a1b9fb" class="">
+            <div>
+
+      <h2 id="categories">Categories</h2>
+
+      <ul>
+        <li>
+          <a href="#base">base</a><br />
+        </li>
+        <li>
+          <a href="#bio">bio</a><br />
+        </li>
+        <li>
+          <a href="#cae">cae</a><br />
+        </li>
+        <li>
+          <a href="#chem">chem</a><br />
+        </li>
+        <li>
+          <a href="#compiler">compiler</a><br />
+        </li>
+        <li>
+          <a href="#data">data</a><br />
+        </li>
+        <li>
+          <a href="#debugger">debugger</a><br />
+        </li>
+        <li>
+          <a href="#devel">devel</a><br />
+        </li>
+        <li>
+          <a href="#geo">geo</a><br />
+        </li>
+        <li>
+          <a href="#lang">lang</a><br />
+        </li>
+        <li>
+          <a href="#lib">lib</a><br />
+        </li>
+        <li>
+          <a href="#math">math</a><br />
+        </li>
+        <li>
+          <a href="#mpi">mpi</a><br />
+        </li>
+        <li>
+          <a href="#numlib">numlib</a><br />
+        </li>
+        <li>
+          <a href="#perf">perf</a><br />
+        </li>
+        <li>
+          <a href="#phys">phys</a><br />
+        </li>
+        <li>
+          <a href="#system">system</a><br />
+        </li>
+        <li>
+          <a href="#toolchain">toolchain</a><br />
+        </li>
+        <li>
+          <a href="#tools">tools</a><br />
+        </li>
+        <li>
+          <a href="#vis">vis</a><br />
+        </li>
+      </ul>
+
+      <div>
+      <h2 id="base"><a class="tooltip" title="Go to list of categories..." href="#categories">base</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>EasyBuild</b><br />
+              <a href="http://hpcugent.github.com/easybuild/">http://hpcugent.github.com/easybuild/</a>
+            </td>
+            <td>EasyBuild is a software build and installation framework
+written in Python that allows you to install software in a structured,
+repeatable and robust way.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.1</li>
+                <li style="white-space: nowrap;">2.2.0</li>
+                <li style="white-space: nowrap;">2.3.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Python</b><br />
+              <a href="http://python.org/">http://python.org/</a>
+            </td>
+            <td>Python is a programming language that lets you work more quickly and integrate your systems more effectively.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.4.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="bio"><a class="tooltip" title="Go to list of categories..." href="#categories">bio</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Amber</b><br />
+              <a href="http://ambermd.org">http://ambermd.org</a>
+            </td>
+            <td>A set of molecular mechanical force fields for the simulation of biomolecules</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">14</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>BCFtools</b><br />
+              <a href="http://www.htslib.org/">http://www.htslib.org/</a>
+            </td>
+            <td>Samtools is a suite of programs for interacting with high-throughput sequencing data.
+ BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>BWA</b><br />
+              <a href="http://bio-bwa.sourceforge.net/">http://bio-bwa.sourceforge.net/</a>
+            </td>
+            <td>Burrows-Wheeler Aligner (BWA) is an efficient program that aligns
+ relatively short nucleotide sequences against a long reference sequence such as the human genome.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.7.5a-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>FastQC</b><br />
+              <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">http://www.bioinformatics.babraham.ac.uk/projects/fastqc/</a>
+            </td>
+            <td>FastQC is a quality control application for high throughput sequence data.
+ It reads in sequence data in a variety of formats and can either provide an interactive
+ application to review the results of several different QC checks, or create an HTML based
+ report which can be integrated into a pipeline.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.11.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GATK</b><br />
+              <a href="http://www.broadinstitute.org/gatk/">http://www.broadinstitute.org/gatk/</a>
+            </td>
+            <td>The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute
+ to analyse next-generation resequencing data. The toolkit offers a wide variety of tools,
+ with a primary focus on variant discovery and genotyping as well as strong emphasis on
+ data quality assurance. Its robust architecture, powerful processing engine and
+ high-performance computing features make it capable of taking on projects of any size.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.6-5-Java-1.7.0_79</li>
+                <li style="white-space: nowrap;">3.5-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GROMACS</b><br />
+              <a href="http://www.gromacs.org">http://www.gromacs.org</a>
+            </td>
+            <td>GROMACS is a versatile package to perform molecular dynamics,
+ i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.6.7-foss-2015g-hybrid-single-PLUMED</li>
+                <li style="white-space: nowrap;">5.0.4-foss-2015e-hybrid-single-PLUMED</li>
+                <li style="white-space: nowrap;">5.0.4-foss-2015g-hybrid-single</li>
+                <li style="white-space: nowrap;">5.0.4-foss-2015g-hybrid-single-PLUMED</li>
+                <li style="white-space: nowrap;">5.0.4-ictce-7.3.5-hybrid-single</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HTSlib</b><br />
+              <a href="http://www.htslib.org/">http://www.htslib.org/</a>
+            </td>
+            <td> A C library for reading/writing high-throughput sequencing data.
+ This package includes the utilities bgzip and tabix </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PLUMED</b><br />
+              <a href="http://www.plumed-code.org">http://www.plumed-code.org</a>
+            </td>
+            <td>PLUMED is an open source library for free energy calculations
+ in molecular systems which works together with some of the most popular molecular
+ dynamics engines. Free energy calculations can be performed as a function of many
+ order parameters with a particular  focus on biological problems, using state of
+ the art methods such as metadynamics, umbrella sampling and Jarzynski-equation 
+ based steered MD. The software, written in C++, can be easily interfaced with 
+ both fortran and C/C++ codes.
+ </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>RELION</b><br />
+              <a href="http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page">http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page</a>
+            </td>
+            <td>RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone computer
+ program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class
+ averages in electron cryo-microscopy (cryo-EM).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SAMtools</b><br />
+              <a href="http://www.htslib.org/">http://www.htslib.org/</a>
+            </td>
+            <td>SAM Tools provide various utilities for manipulating alignments in the SAM format, 
+ including sorting, merging, indexing and generating alignments in a per-position format.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SnpEff</b><br />
+              <a href="http://snpeff.sourceforge.net/">http://snpeff.sourceforge.net/</a>
+            </td>
+            <td>Genetic variant annotation and effect prediction toolbox.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.1_G</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Trimmomatic</b><br />
+              <a href="http://www.usadellab.org/cms/?page=trimmomatic">http://www.usadellab.org/cms/?page=trimmomatic</a>
+            </td>
+            <td>Trimmomatic performs a variety of useful trimming tasks for illumina 
+ paired-end and single ended data.The selection of trimming steps and their associated 
+ parameters are supplied on the command line. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.35-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>almost</b><br />
+              <a href="http://www-almost.ch.cam.ac.uk/site">http://www-almost.ch.cam.ac.uk/site</a>
+            </td>
+            <td>all atom molecular simulation toolkit
+ - is a fast and flexible molecular modeling environment 
+ that provides powerful and efficient algorithms for molecular
+ simulation, homology modeling, de novo design and ab-initio 
+ calculations.
+ </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.0-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>picard</b><br />
+              <a href="http://sourceforge.net/projects/picard">http://sourceforge.net/projects/picard</a>
+            </td>
+            <td>A set of tools (in Java) for working with next generation sequencing data in the BAM format.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.119</li>
+                <li style="white-space: nowrap;">2.1.0</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="cae"><a class="tooltip" title="Go to list of categories..." href="#categories">cae</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>ANSYS</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">16.1</li>
+                <li style="white-space: nowrap;">17.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Adams</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>COMSOL</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">51-COM</li>
+                <li style="white-space: nowrap;">51-EDU</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Digimat</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.1-COM</li>
+                <li style="white-space: nowrap;">5.0.1-EDU</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>FreeFem++</b><br />
+              <a href="http://www.freefem.org">http://www.freefem.org</a>
+            </td>
+            <td>FreeFem++ is a partial differential equation solver. It has its own language. freefem scripts can solve multiphysics non linear systems in 2D and 3D.
+Problems involving PDE (2d, 3d) from several branches of physics such as fluid-structure interactions require interpolations of data on several meshes and their manipulation within one program. FreeFem++ includes a fast 2^d-tree-based interpolation algorithm and a language for the manipulation of data on multiple meshes (as a follow up of bamg (now a part of FreeFem++ ).
+
+FreeFem++ is written in C++ and the FreeFem++ language is a C++ idiom. It runs on Macs, Windows, Unix machines. FreeFem++ replaces the older freefem and freefem+.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.45-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HyperWorks</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">13.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Marc</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.1.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenFOAM</b><br />
+              <a href="http://www.openfoam.com/">http://www.openfoam.com/</a>
+            </td>
+            <td>OpenFOAM is a free, open source CFD software package. 
+ OpenFOAM has an extensive range of features to solve anything from complex fluid flows
+ involving chemical reactions, turbulence and heat transfer, 
+ to solid dynamics and electromagnetics.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.2.2-intel-2015b</li>
+                <li style="white-space: nowrap;">2.3.0-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="chem"><a class="tooltip" title="Go to list of categories..." href="#categories">chem</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>ABINIT</b><br />
+              <a href="http://www.abinit.org/">http://www.abinit.org/</a>
+            </td>
+            <td>Abinit is a plane wave pseudopotential code for doing
+ condensed phase electronic structure calculations using DFT.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.10.1-foss-2015b</li>
+                <li style="white-space: nowrap;">7.10.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>CP2K</b><br />
+              <a href="http://www.cp2k.org/">http://www.cp2k.org/</a>
+            </td>
+            <td>CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular
+ simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different
+ methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and
+ classical pair and many-body potentials. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.6.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LAMMPS</b><br />
+              <a href="http://lammps.sandia.gov">http://lammps.sandia.gov</a>
+            </td>
+            <td>LAMMPS is a classical molecular dynamics code, 
+and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator.
+Has potentials for solid-state materials (metals, semiconductors) and soft 
+matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. 
+It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, 
+meso, or continuum scale.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">28Jun14-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Libint</b><br />
+              <a href="https://sourceforge.net/p/libint/">https://sourceforge.net/p/libint/</a>
+            </td>
+            <td>Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body
+matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-foss-2015b</li>
+                <li style="white-space: nowrap;">1.1.4-gompi-2015b</li>
+                <li style="white-space: nowrap;">1.1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Molpro</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2010.1-patch-57-intel2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>NAMD</b><br />
+              <a href="http://www.ks.uiuc.edu/Research/namd/">http://www.ks.uiuc.edu/Research/namd/</a>
+            </td>
+            <td>NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.9-mpi</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>NWChem</b><br />
+              <a href="http://www.nwchem-sw.org">http://www.nwchem-sw.org</a>
+            </td>
+            <td>NWChem aims to provide its users with computational chemistry tools that are scalable both in
+ their ability to treat large scientific computational chemistry problems efficiently, and in their use of available
+ parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters.
+ NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all
+ combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties
+ and relativity.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.3.revision2-2013-10-17-Python-2.7.8</li>
+                <li style="white-space: nowrap;">6.5.revision26243-intel-2015b-2014-09-10-Python-2.7.8</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>S4MPLE</b><br />
+              <a href="http://infochim.u-strasbg.fr/spip.php?rubrique152">http://infochim.u-strasbg.fr/spip.php?rubrique152</a>
+            </td>
+            <td>S4MPLE (Sampler For Multiple Protein-Ligand Entities) is a flexible molecular modeling tool, supporting empirical
+force field-driven conformational sampling and geometry optimization heuristics using a hybrid genetic algorithm (GA).
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libctl</b><br />
+              <a href="http://ab-initio.mit.edu/libctl">http://ab-initio.mit.edu/libctl</a>
+            </td>
+            <td>libctl is a free Guile-based library implementing flexible control files for scientific simulations.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.2.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libxc</b><br />
+              <a href="http://www.tddft.org/programs/octopus/wiki/index.php/Libxc">http://www.tddft.org/programs/octopus/wiki/index.php/Libxc</a>
+            </td>
+            <td>Libxc is a library of exchange-correlation functionals for density-functional theory.
+ The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.2.0-foss-2015b</li>
+                <li style="white-space: nowrap;">2.2.0-gompi-2015b</li>
+                <li style="white-space: nowrap;">2.2.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="compiler"><a class="tooltip" title="Go to list of categories..." href="#categories">compiler</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>BerkeleyUPC</b><br />
+              <a href="http://upc.lbl.gov">http://upc.lbl.gov</a>
+            </td>
+            <td>The goal of the Berkeley UPC compiler group is to develop a portable, 
+high performance implementation of UPC for large-scale multiprocessors, PC clusters, 
+and clusters of shared memory multiprocessors. 
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.16.2-gompi-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Clang</b><br />
+              <a href="http://clang.llvm.org/">http://clang.llvm.org/</a>
+            </td>
+            <td>C, C++, Objective-C compiler, based on LLVM.  Does not
+ include C++ standard library -- use libstdc++ from GCC.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.7.0-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GCC</b><br />
+              <a href="http://gcc.gnu.org/">http://gcc.gnu.org/</a>
+            </td>
+            <td>The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
+ as well as libraries for these languages (libstdc++, libgcj,...).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.7-system</li>
+                <li style="white-space: nowrap;">4.7.4</li>
+                <li style="white-space: nowrap;">4.8.3</li>
+                <li style="white-space: nowrap;">4.9.2-binutils-2.25</li>
+                <li style="white-space: nowrap;">4.9.3</li>
+                <li style="white-space: nowrap;">4.9.3-2.25</li>
+                <li style="white-space: nowrap;">4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">5.2.0</li>
+                <li style="white-space: nowrap;">5.3.0-2.25</li>
+                <li style="white-space: nowrap;">5.3.0-2.26</li>
+                <li style="white-space: nowrap;">5.3.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">5.3.1-snapshot-20160419-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GCCcore</b><br />
+              <a href="http://gcc.gnu.org/">http://gcc.gnu.org/</a>
+            </td>
+            <td>The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
+ as well as libraries for these languages (libstdc++, libgcj,...).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.9.3</li>
+                <li style="white-space: nowrap;">5.3.0</li>
+                <li style="white-space: nowrap;">5.3.1-snapshot-20160419</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LLVM</b><br />
+              <a href="http://llvm.org/">http://llvm.org/</a>
+            </td>
+            <td>The LLVM Core libraries provide a modern source- and target-independent
+ optimizer, along with code generation support for many popular CPUs
+ (as well as some less common ones!) These libraries are built around a well
+ specified code representation known as the LLVM intermediate representation
+ ("LLVM IR"). The LLVM Core libraries are well documented, and it is
+ particularly easy to invent your own language (or port an existing compiler)
+ to use LLVM as an optimizer and code generator.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.7.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCoarrays</b><br />
+              <a href="http://www.opencoarrays.org/">http://www.opencoarrays.org/</a>
+            </td>
+            <td>A transport layer for coarray Fortran compilers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.0-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">1.4.0-GCC-5.3.1-snapshot-20160419-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PGI</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">15.7</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>icc</b><br />
+              <a href="http://software.intel.com/en-us/intel-compilers/">http://software.intel.com/en-us/intel-compilers/</a>
+            </td>
+            <td>C and C++ compiler from Intel</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.5.192</li>
+                <li style="white-space: nowrap;">2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2015.3.187</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ifort</b><br />
+              <a href="http://software.intel.com/en-us/intel-compilers/">http://software.intel.com/en-us/intel-compilers/</a>
+            </td>
+            <td>Fortran compiler from Intel</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.5.192</li>
+                <li style="white-space: nowrap;">2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2015.3.187</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="data"><a class="tooltip" title="Go to list of categories..." href="#categories">data</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>GDAL</b><br />
+              <a href="http://www.gdal.org/">http://www.gdal.org/</a>
+            </td>
+            <td>GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style
+ Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model
+ to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for
+ data translation and processing.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.9.2-foss-2015g</li>
+                <li style="white-space: nowrap;">2.0.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.1.0-GNU-5.1.0-2.25-intel-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HDF5</b><br />
+              <a href="http://www.hdfgroup.org/HDF5/">http://www.hdfgroup.org/HDF5/</a>
+            </td>
+            <td>HDF5 is a unique technology suite that makes possible the management of 
+ extremely large and complex data collections.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10.0-patch1-intel-2016.01-mic</li>
+                <li style="white-space: nowrap;">1.8.13-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.13-intel-2015b</li>
+                <li style="white-space: nowrap;">1.8.13-intel-2015b-no-mpi</li>
+                <li style="white-space: nowrap;">1.8.13-intel-2016.01</li>
+                <li style="white-space: nowrap;">1.8.14-ictce-7.3.5-serial</li>
+                <li style="white-space: nowrap;">1.8.15-patch1-foss-2015b</li>
+                <li style="white-space: nowrap;">1.8.16-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.16-intel-2015b</li>
+                <li style="white-space: nowrap;">1.8.16-intel-2015b-threadsafe</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>h5py</b><br />
+              <a href="http://www.h5py.org/">http://www.h5py.org/</a>
+            </td>
+            <td>HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library,
+ version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous
+ amounts of data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.0-ictce-7.3.5-Python-2.7.9-serial</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>netCDF</b><br />
+              <a href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>
+            </td>
+            <td>NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3.2-foss-2015g</li>
+                <li style="white-space: nowrap;">4.3.2-intel-2015b</li>
+                <li style="white-space: nowrap;">4.3.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">4.3.3.1-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>netCDF-Fortran</b><br />
+              <a href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>
+            </td>
+            <td>NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="debugger"><a class="tooltip" title="Go to list of categories..." href="#categories">debugger</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>DDT</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2</li>
+                <li style="white-space: nowrap;">5.0.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Forge</b><br />
+              <a href="http://www.allinea.com/products/develop-allinea-forge">http://www.allinea.com/products/develop-allinea-forge</a>
+            </td>
+            <td>Allinea Forge is the complete toolsuite for software development 
+- with everything needed to debug, profile, optimize, edit and build C, C++ 
+and FORTRAN applications on Linux for high performance - from single threads through 
+to complex parallel HPC codes with MPI, OpenMP, threads or CUDA.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1-43967</li>
+                <li style="white-space: nowrap;">6.0.5</li>
+                <li style="white-space: nowrap;">6.0.6</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PerformanceReports</b><br />
+              <a href="http://www.allinea.com/products/allinea-performance-reports">http://www.allinea.com/products/allinea-performance-reports</a>
+            </td>
+            <td>Allinea Performance Reports are the most effective way
+to characterize and understand the performance of HPC application runs. 
+One single-page HTML report elegantly answers a range of vital questions for any HPC site.
+ - Is this application well-optimized for the system and the processors it is running on?
+ - Does it benefit from running at this scale?
+ - Are there I/O, networking or threading bottlenecks affecting performance?
+ - Which hardware, software or configuration changes can we make to improve performance further.
+ - How much energy did this application use?
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1-43967</li>
+                <li style="white-space: nowrap;">6.0.6</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>TotalView</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.15.4-6-linux-x86-64</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Valgrind</b><br />
+              <a href="http://valgrind.org/downloads/">http://valgrind.org/downloads/</a>
+            </td>
+            <td>Valgrind: Debugging and profiling tools</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.11.0-foss-2015b</li>
+                <li style="white-space: nowrap;">3.11.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>aislinn</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20160105-Python-2.7.9-gompi-2015e</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="devel"><a class="tooltip" title="Go to list of categories..." href="#categories">devel</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Autoconf</b><br />
+              <a href="http://www.gnu.org/software/autoconf/">http://www.gnu.org/software/autoconf/</a>
+            </td>
+            <td>Autoconf is an extensible package of M4 macros that produce shell scripts
+ to automatically configure software source code packages. These scripts can adapt the
+ packages to many kinds of UNIX-like systems without manual user intervention. Autoconf
+ creates a configuration script for a package from a template file that lists the
+ operating system features that the package can use, in the form of M4 macro calls.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.69</li>
+                <li style="white-space: nowrap;">2.69-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.69-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.69-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.69-foss-2015g</li>
+                <li style="white-space: nowrap;">2.69-intel-2015b</li>
+                <li style="white-space: nowrap;">2.69-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Automake</b><br />
+              <a href="http://www.gnu.org/software/automake/automake.html">http://www.gnu.org/software/automake/automake.html</a>
+            </td>
+            <td>Automake: GNU Standards-compliant Makefile generator</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.15</li>
+                <li style="white-space: nowrap;">1.15-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.15-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.15-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.15-foss-2015g</li>
+                <li style="white-space: nowrap;">1.15-intel-2015b</li>
+                <li style="white-space: nowrap;">1.15-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Autotools</b><br />
+              <a href="http://autotools.io">http://autotools.io</a>
+            </td>
+            <td>This bundle collect the standard GNU build tools: Autoconf, Automake and libtool</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20150215</li>
+                <li style="white-space: nowrap;">20150215-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">20150215-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">20150215-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">20150215-intel-2015b</li>
+                <li style="white-space: nowrap;">20150215-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Boost</b><br />
+              <a href="http://www.boost.org/">http://www.boost.org/</a>
+            </td>
+            <td>Boost provides free peer-reviewed portable C++ source libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.58.0-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-gompi-2015e-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-ictce-7.3.5-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.59.0-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">1.59.0-intel-2016.01</li>
+                <li style="white-space: nowrap;">1.60.0-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>CMake</b><br />
+              <a href="http://www.cmake.org">http://www.cmake.org</a>
+            </td>
+            <td>CMake, the cross-platform, open-source build system.
+ CMake is a family of tools designed to build, test and package software.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.0.0-foss-2015g</li>
+                <li style="white-space: nowrap;">3.0.0-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.3.1-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-GCC-5.3.1-snapshot-20160419-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-foss-2015g</li>
+                <li style="white-space: nowrap;">3.3.1-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.3.2-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.3.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.4.1-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">3.4.1-foss-2015b</li>
+                <li style="white-space: nowrap;">3.4.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.5.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Doxygen</b><br />
+              <a href="http://www.doxygen.org">http://www.doxygen.org</a>
+            </td>
+            <td>Doxygen is a documentation system for C++, C, Java, Objective-C, Python, 
+ IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.10-foss-2015b</li>
+                <li style="white-space: nowrap;">1.8.11</li>
+                <li style="white-space: nowrap;">1.8.7-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.7-intel-2015b</li>
+                <li style="white-space: nowrap;">1.8.7-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>JUnit</b><br />
+              <a href="http://sourceforge.net/projects/junit">http://sourceforge.net/projects/junit</a>
+            </td>
+            <td>A programmer-oriented testing framework for Java.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.11-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>M4</b><br />
+              <a href="http://www.gnu.org/software/m4/m4.html">http://www.gnu.org/software/m4/m4.html</a>
+            </td>
+            <td>GNU M4 is an implementation of the traditional Unix macro processor.
+ It is mostly SVR4 compatible although it has some extensions 
+ (for example, handling more than 9 positional parameters to macros).
+ GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.16-foss-2015g</li>
+                <li style="white-space: nowrap;">1.4.16-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.17</li>
+                <li style="white-space: nowrap;">1.4.17-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">1.4.17-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">1.4.17-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">1.4.17-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-foss-2015b</li>
+                <li style="white-space: nowrap;">1.4.17-foss-2015g</li>
+                <li style="white-space: nowrap;">1.4.17-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.17-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Maven</b><br />
+              <a href="http://maven.apache.org/index.html">http://maven.apache.org/index.html</a>
+            </td>
+            <td>Binary maven install, Apache Maven is a software project management and comprehension tool. Based on
+the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a
+central piece of information.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.3.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PCRE</b><br />
+              <a href="http://www.pcre.org/">http://www.pcre.org/</a>
+            </td>
+            <td>
+ The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax
+ and semantics as Perl 5.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.36-foss-2015g</li>
+                <li style="white-space: nowrap;">8.36-intel-2015b</li>
+                <li style="white-space: nowrap;">8.36-intel-2016.01</li>
+                <li style="white-space: nowrap;">8.37</li>
+                <li style="white-space: nowrap;">8.37-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Qt</b><br />
+              <a href="http://qt-project.org/">http://qt-project.org/</a>
+            </td>
+            <td>Qt is a comprehensive cross-platform C++ application framework.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.8.6-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SCons</b><br />
+              <a href="http://www.scons.org/">http://www.scons.org/</a>
+            </td>
+            <td>SCons is a software construction tool.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.6-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.3.6-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SQLite</b><br />
+              <a href="http://www.sqlite.org/">http://www.sqlite.org/</a>
+            </td>
+            <td>SQLite: SQL Database Engine in a C Library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.10.1-foss-2015g</li>
+                <li style="white-space: nowrap;">3.8.10.2-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.8.10.2-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.8.8.1</li>
+                <li style="white-space: nowrap;">3.8.8.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.8.8.1-foss-2015b</li>
+                <li style="white-space: nowrap;">3.8.8.1-foss-2015g</li>
+                <li style="white-space: nowrap;">3.8.8.1-gompi-2015e</li>
+                <li style="white-space: nowrap;">3.8.8.1-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">3.8.8.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.8.8.1-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.9.2-foss-2015g</li>
+                <li style="white-space: nowrap;">3.9.2-intel-2015b</li>
+                <li style="white-space: nowrap;">3.9.2-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SWIG</b><br />
+              <a href="http://www.swig.org/">http://www.swig.org/</a>
+            </td>
+            <td>SWIG is a software development tool that connects programs written in C and C++ with
+ a variety of high-level programming languages.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.0.12-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.0.12-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.0.7-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Spark</b><br />
+              <a href="http://spark.apache.org">http://spark.apache.org</a>
+            </td>
+            <td>Spark is Hadoop MapReduce done in memory</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ant</b><br />
+              <a href="http://ant.apache.org/">http://ant.apache.org/</a>
+            </td>
+            <td>Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files
+ as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.9.3-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>fontsproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 font extension wire protocol</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>glproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X protocol and ancillary headers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.16-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gperf</b><br />
+              <a href="http://www.gnu.org/software/gperf/">http://www.gnu.org/software/gperf/</a>
+            </td>
+            <td>GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash
+ function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash
+ function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single
+ string comparison only.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.0.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>guile</b><br />
+              <a href="http://www.gnu.org/software/guile">http://www.gnu.org/software/guile</a>
+            </td>
+            <td>Guile is the GNU Ubiquitous Intelligent Language for Extensions,
+ the official extension language for the GNU operating system.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.8</li>
+                <li style="white-space: nowrap;">1.8.8-foss-2015b</li>
+                <li style="white-space: nowrap;">1.8.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libSM</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 Session Management library, which allows for applications to both manage sessions,
+ and make use of session managers to save and restore their state for later use.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.2</li>
+                <li style="white-space: nowrap;">1.2.2-foss-2015g</li>
+                <li style="white-space: nowrap;">1.2.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>make</b><br />
+              <a href="http://www.gnu.org/software/make/make.html">http://www.gnu.org/software/make/make.html</a>
+            </td>
+            <td>make-3.82: GNU version of make utility</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.82</li>
+                <li style="white-space: nowrap;">3.82-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>makedepend</b><br />
+              <a href="http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html">http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html</a>
+            </td>
+            <td>The makedepend package contains a C-preprocessor like utility to determine build-time dependencies.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.4</li>
+                <li style="white-space: nowrap;">1.0.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ncurses</b><br />
+              <a href="http://www.gnu.org/software/ncurses/">http://www.gnu.org/software/ncurses/</a>
+            </td>
+            <td>The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0,
+ and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and
+ function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.9</li>
+                <li style="white-space: nowrap;">5.9-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">5.9-GCC-5.3.1-snapshot-20160419-2.25</li>
+                <li style="white-space: nowrap;">5.9-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">5.9-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">5.9-foss-2015b</li>
+                <li style="white-space: nowrap;">5.9-foss-2015g</li>
+                <li style="white-space: nowrap;">5.9-gompi-2015e</li>
+                <li style="white-space: nowrap;">5.9-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">5.9-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">5.9-intel-2015b</li>
+                <li style="white-space: nowrap;">5.9-intel-2016.01</li>
+                <li style="white-space: nowrap;">6.0</li>
+                <li style="white-space: nowrap;">6.0-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">6.0-foss-2015b</li>
+                <li style="white-space: nowrap;">6.0-foss-2015g</li>
+                <li style="white-space: nowrap;">6.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>pkg-config</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/pkg-config/">http://www.freedesktop.org/wiki/Software/pkg-config/</a>
+            </td>
+            <td>pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the
+ correct compiler options on the command line so an application can use
+  gcc -o test test.c `pkg-config --libs --cflags glib-2.0`
+ for instance, rather than hard-coding values on where to find glib (or other libraries).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.27.1</li>
+                <li style="white-space: nowrap;">0.27.1-foss-2015b</li>
+                <li style="white-space: nowrap;">0.27.1-foss-2015g</li>
+                <li style="white-space: nowrap;">0.27.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>python-meep</b><br />
+              <a href="https://code.launchpad.net/python-meep">https://code.launchpad.net/python-meep</a>
+            </td>
+            <td>Python wrapper for the Meep FDTD solver.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.2-intel-2015b-Python-2.7.9-Meep-1.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>renderproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>Xrender protocol and ancillary headers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.11</li>
+                <li style="white-space: nowrap;">0.11-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xbitmaps</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>provides bitmaps for x</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.1</li>
+                <li style="white-space: nowrap;">1.1.1-foss-2015g</li>
+                <li style="white-space: nowrap;">1.1.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xcb-proto</b><br />
+              <a href="http://xcb.freedesktop.org/">http://xcb.freedesktop.org/</a>
+            </td>
+            <td>The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint,
+latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.11-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xextproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>XExtProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.3.0</li>
+                <li style="white-space: nowrap;">7.3.0-foss-2015g</li>
+                <li style="white-space: nowrap;">7.3.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xineramaproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X protocol and ancillary headers for xinerama</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xorg-macros</b><br />
+              <a href="http://cgit.freedesktop.org/xorg/util/macros">http://cgit.freedesktop.org/xorg/util/macros</a>
+            </td>
+            <td>X.org macros utilities.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.17-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X protocol and ancillary headers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.0.26</li>
+                <li style="white-space: nowrap;">7.0.26-foss-2015g</li>
+                <li style="white-space: nowrap;">7.0.26-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xtrans</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>xtrans includes a number of routines to make X implementations transport-independent;
+ at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.4-intel-2015b</li>
+                <li style="white-space: nowrap;">1.3.5</li>
+                <li style="white-space: nowrap;">1.3.5-foss-2015g</li>
+                <li style="white-space: nowrap;">1.3.5-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="geo"><a class="tooltip" title="Go to list of categories..." href="#categories">geo</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>DCW</b><br />
+              <a href="http://gmt.soest.hawaii.edu/projects/gmt">http://gmt.soest.hawaii.edu/projects/gmt</a>
+            </td>
+            <td>country polygons for GMT</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GMT</b><br />
+              <a href="http://gmt.soest.hawaii.edu/">http://gmt.soest.hawaii.edu/</a>
+            </td>
+            <td>GMT is an open source collection of about 80 command-line tools for manipulating
+ geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting,
+ etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps
+ to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another
+ 40 more specialized and discipline-specific tools. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.2.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PROJ_4</b><br />
+              <a href="http://proj.osgeo.org">http://proj.osgeo.org</a>
+            </td>
+            <td>PROJ.4 - Cartographic Projections Library originally written by Gerald Evenden then of the USGS.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.9.2-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="lang"><a class="tooltip" title="Go to list of categories..." href="#categories">lang</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Bison</b><br />
+              <a href="http://www.gnu.org/software/bison">http://www.gnu.org/software/bison</a>
+            </td>
+            <td>Bison is a general-purpose parser generator that converts an annotated context-free grammar
+ into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.5-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.7-foss-2015b</li>
+                <li style="white-space: nowrap;">2.7-foss-2015g</li>
+                <li style="white-space: nowrap;">2.7-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.2</li>
+                <li style="white-space: nowrap;">3.0.2-foss-2015g</li>
+                <li style="white-space: nowrap;">3.0.2-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.0.4</li>
+                <li style="white-space: nowrap;">3.0.4-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">3.0.4-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">3.0.4-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">3.0.4-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">3.0.4-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">3.0.4-foss-2015b</li>
+                <li style="white-space: nowrap;">3.0.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Java</b><br />
+              <a href="http://java.com/">http://java.com/</a>
+            </td>
+            <td>Java Platform, Standard Edition (Java SE) lets you develop and deploy
+ Java applications on desktops and servers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.7.0_79</li>
+                <li style="white-space: nowrap;">1.8.0_51</li>
+                <li style="white-space: nowrap;">1.8.0_72</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Mono</b><br />
+              <a href="http://www.mono-project.com">http://www.mono-project.com</a>
+            </td>
+            <td>Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards 
+for C# and the Common Language Runtime.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.12.1</li>
+                <li style="white-space: nowrap;">3.12.1-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">4.0.3.20-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">4.2.2.10-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>NASM</b><br />
+              <a href="http://www.nasm.us/">http://www.nasm.us/</a>
+            </td>
+            <td>NASM: General-purpose x86 assembler</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.11.05</li>
+                <li style="white-space: nowrap;">2.11.05-foss-2015b</li>
+                <li style="white-space: nowrap;">2.11.05-foss-2015g</li>
+                <li style="white-space: nowrap;">2.11.05-intel-2015b</li>
+                <li style="white-space: nowrap;">2.11.06-intel-2015b</li>
+                <li style="white-space: nowrap;">2.11.08-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCL-builder</b><br />
+              <a href="https://software.intel.com/en-us/intel-opencl">https://software.intel.com/en-us/intel-opencl</a>
+            </td>
+            <td>OpenCL™ is the first open, royalty-free standard for cross-platform,
+parallel programming of modern processors found in personal computers, servers and handheld/embedded devices.
+OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications 
+in numerous market categories from gaming and entertainment to scientific and medical software.
+
+This is builder (formerly runtime) package.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCL-runtime</b><br />
+              <a href="https://software.intel.com/en-us/intel-opencl">https://software.intel.com/en-us/intel-opencl</a>
+            </td>
+            <td>OpenCL™ is the first open, royalty-free standard for cross-platform,
+parallel programming of modern processors found in personal computers, servers and handheld/embedded devices.
+OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications 
+in numerous market categories from gaming and entertainment to scientific and medical software.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">15.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Perl</b><br />
+              <a href="http://www.perl.org/">http://www.perl.org/</a>
+            </td>
+            <td>Larry Wall's Practical Extraction and Report Language</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.16.3-intel-2015b</li>
+                <li style="white-space: nowrap;">5.20.2-GNU-4.9.3-2.25-bare</li>
+                <li style="white-space: nowrap;">5.20.2-bare</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Python</b><br />
+              <a href="http://python.org/">http://python.org/</a>
+            </td>
+            <td>Python is a programming language that lets you work more quickly and integrate your systems more effectively.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.7.10-GCC-4.9.3-2.25-bare</li>
+                <li style="white-space: nowrap;">2.7.10-GNU-4.9.3-2.25-bare</li>
+                <li style="white-space: nowrap;">2.7.11-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7.8-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7.8-intel-2016.01</li>
+                <li style="white-space: nowrap;">2.7.9</li>
+                <li style="white-space: nowrap;">2.7.9-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.7.9-foss-2015b</li>
+                <li style="white-space: nowrap;">2.7.9-foss-2015g</li>
+                <li style="white-space: nowrap;">2.7.9-gompi-2015e</li>
+                <li style="white-space: nowrap;">2.7.9-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">2.7.9-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7.9-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.5.1-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>R</b><br />
+              <a href="http://www.r-project.org/">http://www.r-project.org/</a>
+            </td>
+            <td>R is a free software environment for statistical computing and graphics.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.1.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.2.3-foss-2015b</li>
+                <li style="white-space: nowrap;">3.2.3-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Racket</b><br />
+              <a href="http://racket-lang.org">http://racket-lang.org</a>
+            </td>
+            <td>Racket is a full-spectrum programming language. It goes 
+beyond Lisp and Scheme with dialects that support objects, types, 
+laziness, and more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.1.1-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Ruby</b><br />
+              <a href="https://www.ruby-lang.org">https://www.ruby-lang.org</a>
+            </td>
+            <td>Ruby is a dynamic, open source programming language with 
+ a focus on simplicity and productivity. It has an elegant syntax that is 
+ natural to read and easy to write.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.5-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SIP</b><br />
+              <a href="http://www.riverbankcomputing.com/software/sip/">http://www.riverbankcomputing.com/software/sip/</a>
+            </td>
+            <td>SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.16.4-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">4.17-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SnuCL</b><br />
+              <a href="http://snucl.snu.ac.kr">http://snucl.snu.ac.kr</a>
+            </td>
+            <td>An OpenCL Framework for Heterogeneous Clusters</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.3-gompi-2015e</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Tcl</b><br />
+              <a href="http://www.tcl.tk/">http://www.tcl.tk/</a>
+            </td>
+            <td>Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language,
+suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.5.12-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.3</li>
+                <li style="white-space: nowrap;">8.6.3-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">8.6.3-foss-2015b</li>
+                <li style="white-space: nowrap;">8.6.3-foss-2015g</li>
+                <li style="white-space: nowrap;">8.6.3-gompi-2015e</li>
+                <li style="white-space: nowrap;">8.6.3-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">8.6.3-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.3-intel-2016.01</li>
+                <li style="white-space: nowrap;">8.6.4</li>
+                <li style="white-space: nowrap;">8.6.4-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">8.6.4-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015b</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015g</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>byacc</b><br />
+              <a href="http://invisible-island.net/byacc/byacc.html">http://invisible-island.net/byacc/byacc.html</a>
+            </td>
+            <td>Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available.
+ In contrast to bison, it is written to avoid dependencies upon a particular compiler.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20120526</li>
+                <li style="white-space: nowrap;">20120526-foss-2015b</li>
+                <li style="white-space: nowrap;">20120526-foss-2015g</li>
+                <li style="white-space: nowrap;">20120526-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>flex</b><br />
+              <a href="http://flex.sourceforge.net/">http://flex.sourceforge.net/</a>
+            </td>
+            <td>Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner,
+ sometimes called a tokenizer, is a program which recognizes lexical patterns in text.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.5.35-intel-2015b</li>
+                <li style="white-space: nowrap;">2.5.37-intel-2015b</li>
+                <li style="white-space: nowrap;">2.5.38-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2.5.39</li>
+                <li style="white-space: nowrap;">2.5.39-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.5.39-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.5.39-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">2.5.39-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">2.5.39-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">2.5.39-foss-2015b</li>
+                <li style="white-space: nowrap;">2.5.39-foss-2015g</li>
+                <li style="white-space: nowrap;">2.5.39-intel-2015b</li>
+                <li style="white-space: nowrap;">2.5.39-intel-2016.01</li>
+                <li style="white-space: nowrap;">2.6.0</li>
+                <li style="white-space: nowrap;">2.6.0-GCCcore-5.3.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libgdiplus</b><br />
+              <a href="https://github.com/mono/libgdiplus">https://github.com/mono/libgdiplus</a>
+            </td>
+            <td>An Open Source implementation of the GDI+ API.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.12-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">3.12-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.12-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="lib"><a class="tooltip" title="Go to list of categories..." href="#categories">lib</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FOX</b><br />
+              <a href="http://fox-toolkit.org">http://fox-toolkit.org</a>
+            </td>
+            <td>FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and effectively.
+It offers a wide, and growing, collection of Controls, and provides state of the art facilities such as 
+drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.51-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LibTIFF</b><br />
+              <a href="http://www.remotesensing.org/libtiff/">http://www.remotesensing.org/libtiff/</a>
+            </td>
+            <td>tiff: Library and tools for reading and writing TIFF data files</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.0.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCoarrays</b><br />
+              <a href="http://www.opencoarrays.org">http://www.opencoarrays.org</a>
+            </td>
+            <td>OpenCoarrays is an open-source software project for developing,
+porting and tuning transport layers that support coarray Fortran
+compilers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.0-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.0.1-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PROJ</b><br />
+              <a href="http://trac.osgeo.org/proj/">http://trac.osgeo.org/proj/</a>
+            </td>
+            <td>Program proj is a standard Unix filter function which converts 
+geographic longitude and latitude coordinates into cartesian coordinates</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.8.0-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>QCA</b><br />
+              <a href="http://delta.affinix.com/qca/">http://delta.affinix.com/qca/</a>
+            </td>
+            <td>QCA aims to provide a straightforward and cross-platform crypto API,
+using Qt datatypes and conventions. QCA separates the API from the implementation,
+using plugins known as Providers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>QGIS</b><br />
+              <a href="http://www.qgis.org">http://www.qgis.org</a>
+            </td>
+            <td>A Free and Open Source Geographic Information System</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.12.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Qwt</b><br />
+              <a href="http://qwt.sourceforge.net/index.html">http://qwt.sourceforge.net/index.html</a>
+            </td>
+            <td>The Qwt library contains GUI Components and utility classes which are primarily 
+useful for programs with a technical background. Beside a framework for 2D plots it provides scales, 
+sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, 
+or ranges of type double.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.1.2-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SpatiaLite</b><br />
+              <a href="https://www.gaia-gis.it/fossil/libspatialite/index">https://www.gaia-gis.it/fossil/libspatialite/index</a>
+            </td>
+            <td>SpatiaLite is an open source library intended to extend the SQLite core to support 
+fully fledged Spatial SQL capabilities.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3.0a-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libMesh</b><br />
+              <a href="http://libmesh.github.io/">http://libmesh.github.io/</a>
+            </td>
+            <td>The libMesh library provides a framework for the numerical simulation of partial differential equations
+ using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to
+ provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist
+  to focus on the physics they are modeling.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.5-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libdrm</b><br />
+              <a href="http://dri.freedesktop.org">http://dri.freedesktop.org</a>
+            </td>
+            <td>Direct Rendering Manager runtime library.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.27-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libffi</b><br />
+              <a href="http://sourceware.org/libffi/">http://sourceware.org/libffi/</a>
+            </td>
+            <td>The libffi library provides a portable, high level programming interface to various calling
+conventions. This allows a programmer to call any function specified by a call interface description at run-time.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.0.13</li>
+                <li style="white-space: nowrap;">3.0.13-foss-2015b</li>
+                <li style="white-space: nowrap;">3.0.13-foss-2015g</li>
+                <li style="white-space: nowrap;">3.0.13-intel-2015b</li>
+                <li style="white-space: nowrap;">3.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.1-foss-2015b</li>
+                <li style="white-space: nowrap;">3.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.1-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libfontenc</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs/">http://www.freedesktop.org/wiki/Software/xlibs/</a>
+            </td>
+            <td>X11 font encoding library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libjpeg-turbo</b><br />
+              <a href="http://sourceforge.net/libjpeg-turbo/">http://sourceforge.net/libjpeg-turbo/</a>
+            </td>
+            <td>libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG 
+compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.1-foss-2015b</li>
+                <li style="white-space: nowrap;">1.3.1-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.0</li>
+                <li style="white-space: nowrap;">1.4.0-foss-2015g</li>
+                <li style="white-space: nowrap;">1.4.0-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.1-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libmatheval</b><br />
+              <a href="http://www.gnu.org/software/libmatheval/">http://www.gnu.org/software/libmatheval/</a>
+            </td>
+            <td>GNU libmatheval is a library (callable from C and Fortran) to parse
+ and evaluate symbolic expressions input as text.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.8-foss-2015b</li>
+                <li style="white-space: nowrap;">1.1.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.1.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libpng</b><br />
+              <a href="http://www.libpng.org/pub/png/libpng.html">http://www.libpng.org/pub/png/libpng.html</a>
+            </td>
+            <td>libpng is the official PNG reference library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.12</li>
+                <li style="white-space: nowrap;">1.6.12-foss-2015b</li>
+                <li style="white-space: nowrap;">1.6.12-foss-2015g</li>
+                <li style="white-space: nowrap;">1.6.12-intel-2015b</li>
+                <li style="white-space: nowrap;">1.6.12-intel-2016.01</li>
+                <li style="white-space: nowrap;">1.6.17-foss-2015b</li>
+                <li style="white-space: nowrap;">1.6.21-foss-2015b</li>
+                <li style="white-space: nowrap;">1.6.21-foss-2015g</li>
+                <li style="white-space: nowrap;">1.6.9-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">1.6.9-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libpthread-stubs</b><br />
+              <a href="http://xcb.freedesktop.org/">http://xcb.freedesktop.org/</a>
+            </td>
+            <td>The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint,
+latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.3</li>
+                <li style="white-space: nowrap;">0.3-foss-2015g</li>
+                <li style="white-space: nowrap;">0.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libreadline</b><br />
+              <a href="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html">http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html</a>
+            </td>
+            <td>The GNU Readline library provides a set of functions for use by applications that
+ allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available.
+ The Readline library includes additional functions to maintain a list of previously-entered command lines,
+ to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.2-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">6.2-intel-2015b</li>
+                <li style="white-space: nowrap;">6.3</li>
+                <li style="white-space: nowrap;">6.3-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">6.3-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">6.3-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">6.3-foss-2015b</li>
+                <li style="white-space: nowrap;">6.3-foss-2015g</li>
+                <li style="white-space: nowrap;">6.3-gompi-2015e</li>
+                <li style="white-space: nowrap;">6.3-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">6.3-intel-2015b</li>
+                <li style="white-space: nowrap;">6.3-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libtool</b><br />
+              <a href="http://www.gnu.org/software/libtool">http://www.gnu.org/software/libtool</a>
+            </td>
+            <td>GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries
+ behind a consistent, portable interface.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.2</li>
+                <li style="white-space: nowrap;">2.4.2-foss-2015b</li>
+                <li style="white-space: nowrap;">2.4.2-foss-2015g</li>
+                <li style="white-space: nowrap;">2.4.2-intel-2015b</li>
+                <li style="white-space: nowrap;">2.4.6</li>
+                <li style="white-space: nowrap;">2.4.6-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.4.6-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.4.6-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.4.6-foss-2015g</li>
+                <li style="white-space: nowrap;">2.4.6-intel-2015b</li>
+                <li style="white-space: nowrap;">2.4.6-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libunistring</b><br />
+              <a href="http://www.gnu.org/software/libunistring/">http://www.gnu.org/software/libunistring/</a>
+            </td>
+            <td>This library provides functions for manipulating Unicode strings and for manipulating C strings
+ according to the Unicode standard.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.3</li>
+                <li style="white-space: nowrap;">0.9.3-foss-2015b</li>
+                <li style="white-space: nowrap;">0.9.3-foss-2015g</li>
+                <li style="white-space: nowrap;">0.9.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libxcb</b><br />
+              <a href="http://xcb.freedesktop.org/">http://xcb.freedesktop.org/</a>
+            </td>
+            <td>The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint,
+latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.11-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libxml2</b><br />
+              <a href="http://xmlsoft.org/">http://xmlsoft.org/</a>
+            </td>
+            <td>Libxml2 is the XML C parser and 
+toolchain developed for the Gnome project
+ (but usable outside of the Gnome platform).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.9.2-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.9.2-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.9.2-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.9.2-foss-2015b</li>
+                <li style="white-space: nowrap;">2.9.2-foss-2015g</li>
+                <li style="white-space: nowrap;">2.9.2-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.9.2-gompi-2015e</li>
+                <li style="white-space: nowrap;">2.9.2-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">2.9.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>spatialindex</b><br />
+              <a href="https://libspatialindex.github.io/index.html">https://libspatialindex.github.io/index.html</a>
+            </td>
+            <td>The purpose of this library is to provide:
+ * An extensible framework that will support robust spatial indexing methods.
+ * Support for sophisticated spatial queries. Range, point location, nearest 
+   neighbor and k-nearest neighbor as well as parametric queries (defined by spatial
+   constraints) should be easy to deploy and run.
+ * Easy to use interfaces for inserting, deleting and updating information.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.5-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>tbb</b><br />
+              <a href="http://software.intel.com/en-us/articles/intel-tbb/">http://software.intel.com/en-us/articles/intel-tbb/</a>
+            </td>
+            <td>Intel Threading Building Blocks 4.0 (Intel TBB)
+ is a widely used, award-winning C++ template library for creating reliable,
+ portable, and scalable parallel applications.
+ Use Intel TBB for a simple and rapid way of developing robust task-based
+ parallel applications that scale to available processor cores, are compatible
+ with multiple environments, and are easier to maintain.
+ Intel TBB is the most proficient way to implement future-proof parallel applications
+ that tap into the power and performance of multicore and manycore hardware platforms.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3.5.187</li>
+                <li style="white-space: nowrap;">4.4.2.152</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>zlib</b><br />
+              <a href="http://www.zlib.net/">http://www.zlib.net/</a>
+            </td>
+            <td>zlib is designed to be a free, general-purpose, legally unencumbered -- that is,
+ not covered by any patents -- lossless data-compression library for use on virtually any
+ computer hardware and operating system.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.7-foss-2015b</li>
+                <li style="white-space: nowrap;">1.2.7-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">1.2.7-intel-2015b</li>
+                <li style="white-space: nowrap;">1.2.8</li>
+                <li style="white-space: nowrap;">1.2.8-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">1.2.8-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">1.2.8-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">1.2.8-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GNU-5.1.0-2.25-intel-2015b</li>
+                <li style="white-space: nowrap;">1.2.8-foss-2015b</li>
+                <li style="white-space: nowrap;">1.2.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.2.8-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.2.8-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">1.2.8-intel-2015b</li>
+                <li style="white-space: nowrap;">1.2.8-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="math"><a class="tooltip" title="Go to list of categories..." href="#categories">math</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FIAT</b><br />
+              <a href="https://bitbucket.org/fenics-project/fiat">https://bitbucket.org/fenics-project/fiat</a>
+            </td>
+            <td>The FInite element Automatic Tabulator FIAT supports generation of arbitrary order
+instances of the Lagrange elements on lines, triangles, and tetrahedra. It is also capable of generating
+arbitrary order instances of Jacobi-type quadrature rules on the same element shapes.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.0-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">1.6.0-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.6.0-intel-2016.01-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GEOS</b><br />
+              <a href="http://trac.osgeo.org/geos">http://trac.osgeo.org/geos</a>
+            </td>
+            <td>GEOS (Geometry Engine - Open Source) is a C++ port of the  Java Topology Suite (JTS)</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.5.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GMP</b><br />
+              <a href="http://gmplib.org/">http://gmplib.org/</a>
+            </td>
+            <td>GMP is a free library for arbitrary precision arithmetic, 
+ operating on signed integers, rational numbers, and floating point numbers. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.5</li>
+                <li style="white-space: nowrap;">5.0.5-foss-2015b</li>
+                <li style="white-space: nowrap;">5.0.5-foss-2015g</li>
+                <li style="white-space: nowrap;">5.0.5-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.0a-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">6.0.0a-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">6.0.0a-foss-2015b</li>
+                <li style="white-space: nowrap;">6.1.0-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">6.1.0-intel-2015b</li>
+                <li style="white-space: nowrap;">6.1.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Harminv</b><br />
+              <a href="http://ab-initio.mit.edu/wiki/index.php/Harminv">http://ab-initio.mit.edu/wiki/index.php/Harminv</a>
+            </td>
+            <td>Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - given
+ a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying)
+ in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ISL</b><br />
+              <a href="http://isl.gforge.inria.fr/">http://isl.gforge.inria.fr/</a>
+            </td>
+            <td>isl is a library for manipulating sets and relations of integer points bounded by linear constraints.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.14-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">0.15-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">0.15-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>METIS</b><br />
+              <a href="http://glaros.dtc.umn.edu/gkhome/metis/metis/overview">http://glaros.dtc.umn.edu/gkhome/metis/metis/overview</a>
+            </td>
+            <td>METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes,
+and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the
+multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1.0-intel-2015b</li>
+                <li style="white-space: nowrap;">5.1.0-intel-2016.01</li>
+                <li style="white-space: nowrap;">5.1.0-intel-2016.01-32bitIDX</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Octave</b><br />
+              <a href="http://www.gnu.org/software/octave/">http://www.gnu.org/software/octave/</a>
+            </td>
+            <td>GNU Octave is a high-level interpreted language, primarily intended for numerical computations.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.8.2-foss-2015g</li>
+                <li style="white-space: nowrap;">3.8.2-intel-2015b</li>
+                <li style="white-space: nowrap;">4.0.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ParMETIS</b><br />
+              <a href="http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview">http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview</a>
+            </td>
+            <td>ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs,
+ meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes
+ routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in
+ ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning
+ schemes.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.0.3-intel-2015b</li>
+                <li style="white-space: nowrap;">4.0.3-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SCOTCH</b><br />
+              <a href="http://gforge.inria.fr/projects/scotch/">http://gforge.inria.fr/projects/scotch/</a>
+            </td>
+            <td>Software package and libraries for sequential and parallel graph partitioning,
+static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1.12b_esmumps-foss-2015b</li>
+                <li style="white-space: nowrap;">6.0.0_esmumps-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.3-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.3-intel-2016.01</li>
+                <li style="white-space: nowrap;">6.0.4-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ScientificPython</b><br />
+              <a href="https://sourcesup.cru.fr/projects/scientific-py/">https://sourcesup.cru.fr/projects/scientific-py/</a>
+            </td>
+            <td>ScientificPython is a collection of Python modules for scientific computing.
+ It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization,
+ and parallelization.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.9.4-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">2.9.4-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.9.4-intel-2016.01-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>numpy</b><br />
+              <a href="http://www.numpy.org">http://www.numpy.org</a>
+            </td>
+            <td>NumPy is the fundamental package for scientific computing with Python. It contains among other things:
+ a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran
+ code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses,
+ NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be 
+ defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.2-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">1.8.2-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.8.2-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.9.1-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>sympy</b><br />
+              <a href="http://sympy.org/">http://sympy.org/</a>
+            </td>
+            <td>SymPy is a Python library for symbolic mathematics. It aims to
+ become a full-featured computer algebra system (CAS) while keeping the code as
+ simple as possible in order to be comprehensible and easily extensible. SymPy
+ is written entirely in Python and does not require any external libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.7.6-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">0.7.6-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">0.7.6.1-intel-2015b-Python-2.7.11</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="mpi"><a class="tooltip" title="Go to list of categories..." href="#categories">mpi</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>MPICH</b><br />
+              <a href="http://www.mpich.org/">http://www.mpich.org/</a>
+            </td>
+            <td>MPICH v3.x is an open source high-performance MPI 3.0 implementation.
+It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.2-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">3.2-GCC-5.3.1-snapshot-20160419-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MPI_NET</b><br />
+              <a href="http://www.osl.iu.edu/research/mpi.net/">http://www.osl.iu.edu/research/mpi.net/</a>
+            </td>
+            <td>MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI) 
+for Microsoft's .NET environment</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.0-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.2.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MVAPICH2</b><br />
+              <a href="http://mvapich.cse.ohio-state.edu/overview/mvapich2/">http://mvapich.cse.ohio-state.edu/overview/mvapich2/</a>
+            </td>
+            <td>This is an MPI 3.0 implementation.  It is based on MPICH2 and MVICH.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">2.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.1-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenMPI</b><br />
+              <a href="http://www.open-mpi.org/">http://www.open-mpi.org/</a>
+            </td>
+            <td>The Open MPI Project is an open source MPI-2 implementation.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10.1-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.10.2-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">1.8.6-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">1.8.6-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.8.8-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.8.8-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>impi</b><br />
+              <a href="http://software.intel.com/en-us/intel-mpi-library/">http://software.intel.com/en-us/intel-mpi-library/</a>
+            </td>
+            <td>The Intel(R) MPI Library for Linux* OS is a multi-fabric message
+ passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for
+ Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2017-BETA.ENG</li>
+                <li style="white-space: nowrap;">4.1.1.036-iccifort-2013.5.192</li>
+                <li style="white-space: nowrap;">4.1.1.036-iccifort-2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">5.0.3.048</li>
+                <li style="white-space: nowrap;">5.0.3.048-iccifort-2015.3.187</li>
+                <li style="white-space: nowrap;">5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">5.1.1.109-iccifort-2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">5.1.2.150-iccifort-2016.1.150</li>
+                <li style="white-space: nowrap;">5.1.2.150-iccifort-2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">5.1.2.150-iccifort-2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">5.1.3.181-iccifort-2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>mpt</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.12</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="numlib"><a class="tooltip" title="Go to list of categories..." href="#categories">numlib</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FFTW</b><br />
+              <a href="http://www.fftw.org">http://www.fftw.org</a>
+            </td>
+            <td>FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
+ in one or more dimensions, of arbitrary input size, and of both real and complex data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.5-gompi-2015b</li>
+                <li style="white-space: nowrap;">2.1.5-iimpi-7.3.5-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2015b</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2015e</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2015g</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2016.04</li>
+                <li style="white-space: nowrap;">3.3.4-intel-2015b</li>
+                <li style="white-space: nowrap;">3.3.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GSL</b><br />
+              <a href="http://www.gnu.org/software/gsl/">http://www.gnu.org/software/gsl/</a>
+            </td>
+            <td>The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers.
+ The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.16-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Hypre</b><br />
+              <a href="https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html">https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html</a>
+            </td>
+            <td>Hypre is a library for solving large, sparse linear systems of equations on massively parallel computers.
+ The problems of interest arise in the simulation codes being developed at LLNL and elsewhere 
+ to study physical phenomena in the defense, environmental, energy, and biological sciences.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.10.0b-intel-2015b</li>
+                <li style="white-space: nowrap;">2.10.0b-intel-2016.01</li>
+                <li style="white-space: nowrap;">2.10.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LAPACKE</b><br />
+              <a href="http://www.netlib.org/lapack/lapacke.html">http://www.netlib.org/lapack/lapacke.html</a>
+            </td>
+            <td>LAPACKE C Interface to LAPACK header files and library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.5.0-LAPACK-3.5.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenBLAS</b><br />
+              <a href="http://xianyi.github.com/OpenBLAS/">http://xianyi.github.com/OpenBLAS/</a>
+            </td>
+            <td>OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.2.14-GNU-4.9.3-2.25-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.14-GNU-5.1.0-2.25-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.14-gompi-2015e-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.18-GCC-5.3.0-2.26-LAPACK-3.6.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PETSc</b><br />
+              <a href="http://www.mcs.anl.gov/petsc">http://www.mcs.anl.gov/petsc</a>
+            </td>
+            <td>PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
+ scalable (parallel) solution of scientific applications modeled by partial differential equations.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.6.1-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.6.1-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.6.3-intel-2015b-Python-2.7.11</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ScaLAPACK</b><br />
+              <a href="http://www.netlib.org/scalapack/">http://www.netlib.org/scalapack/</a>
+            </td>
+            <td>The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines
+ redesigned for distributed memory MIMD parallel computers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.0.2-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2015b-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2015e-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2015g-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2016.04-OpenBLAS-0.2.18-LAPACK-3.6.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SuiteSparse</b><br />
+              <a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">http://www.cise.ufl.edu/research/sparse/SuiteSparse/</a>
+            </td>
+            <td>SuiteSparse is a collection of libraries manipulate sparse matrices.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.3-intel-2015b-ParMETIS-4.0.3</li>
+                <li style="white-space: nowrap;">4.4.3-intel-2016.01-ParMETIS-4.0.3</li>
+                <li style="white-space: nowrap;">4.4.6-intel-2015b-ParMETIS-4.0.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>arpack-ng</b><br />
+              <a href="http://forge.scilab.org/index.php/p/arpack-ng/">http://forge.scilab.org/index.php/p/arpack-ng/</a>
+            </td>
+            <td>ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.3.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>imkl</b><br />
+              <a href="http://software.intel.com/en-us/intel-mkl/">http://software.intel.com/en-us/intel-mkl/</a>
+            </td>
+            <td>Intel Math Kernel Library is a library of highly optimized,
+ extensively threaded math routines for science, engineering, and financial
+ applications that require maximum performance. Core math functions include
+ BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">11.0.5.192-iimpi-5.5.0</li>
+                <li style="white-space: nowrap;">11.0.5.192-iimpi-5.5.0-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">11.2.3.187</li>
+                <li style="white-space: nowrap;">11.2.3.187-iimpi-7.3.5</li>
+                <li style="white-space: nowrap;">11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">11.2.3.187-iompi-2015.03</li>
+                <li style="white-space: nowrap;">11.3.0.109-iimpi-2016.00-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">11.3.1.150-iimpi-2016.00-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">11.3.1.150-iimpi-2016.01-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">11.3.1.150-iimpi-8.3.5</li>
+                <li style="white-space: nowrap;">11.3.3.210-iimpi-2016.03-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="perf"><a class="tooltip" title="Go to list of categories..." href="#categories">perf</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Advisor</b><br />
+              <a href="https://software.intel.com/intel-advisor-xe">https://software.intel.com/intel-advisor-xe</a>
+            </td>
+            <td>Vectorization Optimization and Thread Prototyping
+ - Vectorize &amp; thread code or performance “dies”
+ - Easy workflow + data + tips = faster code faster
+ - Prioritize, Prototype &amp; Predict performance gain
+ </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016_update2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MAP</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2</li>
+                <li style="white-space: nowrap;">5.0.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OPARI2</b><br />
+              <a href="http://www.score-p.org">http://www.score-p.org</a>
+            </td>
+            <td>OPARI2, the successor of Forschungszentrum Juelich's OPARI,
+ is a source-to-source instrumentation tool for OpenMP and hybrid codes.
+ It surrounds OpenMP directives and runtime library calls with calls to
+ the POMP2 measurement interface.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OTF2</b><br />
+              <a href="http://www.score-p.org">http://www.score-p.org</a>
+            </td>
+            <td>The Open Trace Format 2 is a highly scalable, memory efficient event
+ trace data format plus support library. It will become the new standard trace format
+ for Scalasca, Vampir, and Tau and is open for other tools.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PAPI</b><br />
+              <a href="http://icl.cs.utk.edu/projects/papi/">http://icl.cs.utk.edu/projects/papi/</a>
+            </td>
+            <td>PAPI provides the tool designer and application engineer with a consistent interface and
+ methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables
+ software engineers to see, in near real time, the relation between software performance and processor events.
+ In addition Component PAPI provides access to a collection of components
+ that expose performance measurement opportunites across the hardware and software stack.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.4.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PerfReports</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Vampir</b><br />
+              <a href="http://www.vampir.eu">http://www.vampir.eu</a>
+            </td>
+            <td>The Vampir software tool provides an easy-to-use framework that enables
+ developers to quickly display and analyze arbitrary program behavior at any level of detail.
+ The tool suite implements optimized event analysis algorithms and customizable displays that
+ enable fast and interactive rendering of very complex performance monitoring data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.5.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ipp</b><br />
+              <a href="http://software.intel.com/en-us/articles/intel-ipp/">http://software.intel.com/en-us/articles/intel-ipp/</a>
+            </td>
+            <td>Intel Integrated Performance Primitives (Intel IPP) is an extensive library
+ of multicore-ready, highly optimized software functions for multimedia, data processing,
+ and communications applications. Intel IPP offers thousands of optimized functions
+ covering frequently used fundamental algorithms.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">9.0.1.150</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>perfboost</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>perfcatcher</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>perfsuite</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1a5.3</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="phys"><a class="tooltip" title="Go to list of categories..." href="#categories">phys</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Meep</b><br />
+              <a href="http://ab-initio.mit.edu/wiki/index.php/Meep">http://ab-initio.mit.edu/wiki/index.php/Meep</a>
+            </td>
+            <td>Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package
+ developed at MIT to model electromagnetic systems.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>phono3py</b><br />
+              <a href="http://phonopy.sourceforge.net/phono3py/index.html">http://phonopy.sourceforge.net/phono3py/index.html</a>
+            </td>
+            <td>This software calculates phonon-phonon interaction related properties</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.14-ictce-7.3.5-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="system"><a class="tooltip" title="Go to list of categories..." href="#categories">system</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>hwloc</b><br />
+              <a href="http://www.open-mpi.org/projects/hwloc/">http://www.open-mpi.org/projects/hwloc/</a>
+            </td>
+            <td>The Portable Hardware Locality (hwloc) software package provides a portable abstraction
+ (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including
+ NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various
+ system attributes such as cache and memory information as well as the locality of I/O devices such as
+ network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering
+ information about modern computing hardware so as to exploit it accordingly and efficiently.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.11.0-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.11.0-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.11.1-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.11.2-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.11.3-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">1.5-GCC-4.4.7-system</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libpciaccess</b><br />
+              <a href="http://cgit.freedesktop.org/xorg/lib/libpciaccess/">http://cgit.freedesktop.org/xorg/lib/libpciaccess/</a>
+            </td>
+            <td>Generic PCI access library.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.13.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="toolchain"><a class="tooltip" title="Go to list of categories..." href="#categories">toolchain</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>GNU</b><br />
+              <a href="http://www.gnu.org/software/">http://www.gnu.org/software/</a>
+            </td>
+            <td>Compiler-only toolchain with GCC and binutils.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.9.3-2.25</li>
+                <li style="white-space: nowrap;">5.1.0-2.25</li>
+                <li style="white-space: nowrap;">5.1.0-2.25-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PRACE</b><br />
+              <a href="http://www.prace-ri.eu/PRACE-Common-Production">http://www.prace-ri.eu/PRACE-Common-Production</a>
+            </td>
+            <td>The PRACE Common Production Environment (PCPE) is a set of software tools and libraries
+ that are planned to be available on all PRACE execution sites. The PCPE also defines a set of environment
+ variables that try to make compilation on all sites as homogeneous and simple as possible.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20150630-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>foss</b><br />
+              <a href="https://docs.it4i.cz/salomon/(none)">(none)</a>
+            </td>
+            <td>GNU Compiler Collection (GCC) based compiler toolchain, including
+ OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015b</li>
+                <li style="white-space: nowrap;">2015e</li>
+                <li style="white-space: nowrap;">2015g</li>
+                <li style="white-space: nowrap;">2016.04</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gompi</b><br />
+              <a href="https://docs.it4i.cz/salomon/(none)">(none)</a>
+            </td>
+            <td>GNU Compiler Collection (GCC) based compiler toolchain,
+ including OpenMPI for MPI support.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015b</li>
+                <li style="white-space: nowrap;">2015e</li>
+                <li style="white-space: nowrap;">2015g</li>
+                <li style="white-space: nowrap;">2016.04</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>iccifort</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel C, C++ and Fortran compilers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.5.192</li>
+                <li style="white-space: nowrap;">2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2015.3.187</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ictce</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI &amp; Intel MKL.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.5.0</li>
+                <li style="white-space: nowrap;">7.3.5</li>
+                <li style="white-space: nowrap;">8.3.5</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>iimpi</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel C/C++ and Fortran compilers, alongside Intel MPI.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016.00-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.01-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.01-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.03-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">5.5.0</li>
+                <li style="white-space: nowrap;">5.5.0-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">7.3.5</li>
+                <li style="white-space: nowrap;">7.3.5-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">8.3.5</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>intel</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI &amp; Intel MKL.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2014.06</li>
+                <li style="white-space: nowrap;">2015b</li>
+                <li style="white-space: nowrap;">2015b-intel-2015b</li>
+                <li style="white-space: nowrap;">2016.00</li>
+                <li style="white-space: nowrap;">2016.01</li>
+                <li style="white-space: nowrap;">2016.03-GCC-5.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>prace</b><br />
+              <a href="http://www.prace-ri.eu/PRACE-Common-Production">http://www.prace-ri.eu/PRACE-Common-Production</a>
+            </td>
+            <td>**** PRACE Common Production Environment (PCPE) ****
+
+Initialisation of the PRACE common production environment. This 
+allows you to assume that the following tools/libraries are available
+by default in your PATH/environment.
+
+ * Fortran, C, C++ Compilers
+ * MPI
+ * BLAS, LAPACK, BLACS, ScaLAPACK
+ * FFTW
+ * HDF5, NetCDF
+ 
+The compiler commands on are:
+
+ * mpif90 - Fortran compiler
+ * mpicc  - C compiler
+ * mpicxx - C++ compiler
+
+For more information on the PCPE please see the documentation at:
+
+http://www.prace-ri.eu/PRACE-Common-Production
+
+For help using this system, please see Local User Guide available at:
+
+http://prace-ri.eu/Best-Practice-Guide-Anselm-HTML
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20160107-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="tools"><a class="tooltip" title="Go to list of categories..." href="#categories">tools</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>APR</b><br />
+              <a href="http://apr.apache.org/">http://apr.apache.org/</a>
+            </td>
+            <td>Apache Portable Runtime (APR) libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.2-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>APR-util</b><br />
+              <a href="http://apr.apache.org/">http://apr.apache.org/</a>
+            </td>
+            <td>Apache Portable Runtime (APR) util libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Bash</b><br />
+              <a href="http://www.gnu.org/software/bash">http://www.gnu.org/software/bash</a>
+            </td>
+            <td>Bash is an sh-compatible command language interpreter that executes commands 
+ read from the standard input or from a file.  Bash also incorporates useful features from the 
+ Korn and C shells (ksh and csh).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>EasyBuild</b><br />
+              <a href="http://hpcugent.github.com/easybuild/">http://hpcugent.github.com/easybuild/</a>
+            </td>
+            <td>EasyBuild is a software build and installation framework
+written in Python that allows you to install software in a structured,
+repeatable and robust way.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.0</li>
+                <li style="white-space: nowrap;">2.5.0</li>
+                <li style="white-space: nowrap;">2.7.0</li>
+                <li style="white-space: nowrap;">2.8.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HPL</b><br />
+              <a href="http://www.netlib.org/benchmark/hpl/">http://www.netlib.org/benchmark/hpl/</a>
+            </td>
+            <td>HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic 
+ on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the 
+ High Performance Computing Linpack Benchmark.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Inspector</b><br />
+              <a href="http://software.intel.com/en-us/intel-inspector-xe">http://software.intel.com/en-us/intel-inspector-xe</a>
+            </td>
+            <td>Intel Inspector XE 2013 is an easy to use memory error checker and thread checker for serial and parallel applications</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016_update1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>JOE</b><br />
+              <a href="http://joe-editor.sourceforge.net">http://joe-editor.sourceforge.net</a>
+            </td>
+            <td>JOE is a full featured terminal-based screen editor which
+is distributed under the GNU General Public License (GPL)</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MATLAB</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015a-COM</li>
+                <li style="white-space: nowrap;">2015a-EDU</li>
+                <li style="white-space: nowrap;">2015b-COM</li>
+                <li style="white-space: nowrap;">2015b-EDU</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MIKE</b><br />
+              <a href="http://www.mikepoweredbydhi.com">http://www.mikepoweredbydhi.com</a>
+            </td>
+            <td>
+MIKE Powered by DHI is a part of DHI, the global organisation dedicated to
+solving challenges in water environments worldwide.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2014</li>
+                <li style="white-space: nowrap;">2016</li>
+                <li style="white-space: nowrap;">2016-SP2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Mercurial</b><br />
+              <a href="http://mercurial.selenic.com/">http://mercurial.selenic.com/</a>
+            </td>
+            <td>Mercurial is a free, distributed source control management tool. It efficiently handles projects
+of any size and offers an easy and intuitive interface.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.5-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.7.3-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>QEMU</b><br />
+              <a href="http://wiki.qemu.org/Main_Page">http://wiki.qemu.org/Main_Page</a>
+            </td>
+            <td>QEMU is a generic and open source machine emulator and
+virtualizer.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.2-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">2.1.2-GCC-4.4.7-system-VDE2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SDE</b><br />
+              <a href="https://software.intel.com/en-us/articles/intel-software-development-emulator">https://software.intel.com/en-us/articles/intel-software-development-emulator</a>
+            </td>
+            <td>
+ Intel Software Development Emulator is a pintool that enables the development of applications using instruction set extensions that are not currently implemented in hardware.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.41.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Serf</b><br />
+              <a href="http://serf.apache.org/">http://serf.apache.org/</a>
+            </td>
+            <td>The serf library is a high performance C-based HTTP client library
+ built upon the Apache Portable Runtime (APR) library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.8-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Subversion</b><br />
+              <a href="http://subversion.apache.org/">http://subversion.apache.org/</a>
+            </td>
+            <td> Subversion is an open source version control system.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.16-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Szip</b><br />
+              <a href="http://www.hdfgroup.org/doc_resource/SZIP/">http://www.hdfgroup.org/doc_resource/SZIP/</a>
+            </td>
+            <td>Szip compression software, providing lossless compression of scientific data</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1</li>
+                <li style="white-space: nowrap;">2.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">2.1-intel-2015b</li>
+                <li style="white-space: nowrap;">2.1-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VDE2</b><br />
+              <a href="http://vde.sourceforge.net">http://vde.sourceforge.net</a>
+            </td>
+            <td>VDE is an ethernet compliant virtual network that 
+can be spawned over a set of physical computer over the Internet. 
+VDE is part of virtualsquare project.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.2-GCC-4.4.7-system</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VTune</b><br />
+              <a href="http://software.intel.com/en-us/intel-vtune-amplifier-xe">http://software.intel.com/en-us/intel-vtune-amplifier-xe</a>
+            </td>
+            <td>Intel VTune Amplifier XE 2016 is the premier performance profiler for C, C++, C#, Fortran, Assembly and Java.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016_update1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VirtualGL</b><br />
+              <a href="http://www.virtualgl.org">http://www.virtualgl.org</a>
+            </td>
+            <td>VirtualGL is an open source toolkit that gives any Unix or Linux remote display software the 
+ability to run OpenGL applications with full 3D hardware acceleration.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Wine</b><br />
+              <a href="https://www.winehq.org">https://www.winehq.org</a>
+            </td>
+            <td>Wine (originally an acronym for "Wine Is Not an Emulator") 
+is a compatibility layer capable of running Windows applications on several 
+POSIX-compliant operating systems, such as Linux, Mac OSX, &amp; BSD.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.7.29-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">1.7.29-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>XZ</b><br />
+              <a href="http://tukaani.org/xz/">http://tukaani.org/xz/</a>
+            </td>
+            <td>xz: XZ utilities</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.2.2-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>binutils</b><br />
+              <a href="http://directory.fsf.org/project/binutils/">http://directory.fsf.org/project/binutils/</a>
+            </td>
+            <td>binutils: GNU binary utilities</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.25</li>
+                <li style="white-space: nowrap;">2.25-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.25-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.25-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">2.25-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">2.25-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">2.25-foss-2015b</li>
+                <li style="white-space: nowrap;">2.26</li>
+                <li style="white-space: nowrap;">2.26-GCCcore-5.3.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>bzip2</b><br />
+              <a href="http://www.bzip.org/">http://www.bzip.org/</a>
+            </td>
+            <td>bzip2 is a freely available, patent free, high-quality data compressor. It typically 
+compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical 
+compressors), whilst being around twice as fast at compression and six times faster at decompression.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.6</li>
+                <li style="white-space: nowrap;">1.0.6-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.0.6-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.0.6-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.0.6-foss-2015b</li>
+                <li style="white-space: nowrap;">1.0.6-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.6-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.0.6-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">1.0.6-intel-2015b</li>
+                <li style="white-space: nowrap;">1.0.6-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>cURL</b><br />
+              <a href="http://curl.haxx.se">http://curl.haxx.se</a>
+            </td>
+            <td>libcurl is a free and easy-to-use client-side URL transfer library,
+ supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,
+ POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports
+ SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload,
+ proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate,
+ Kerberos), file transfer resume, http proxy tunneling and more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.37.1</li>
+                <li style="white-space: nowrap;">7.37.1-foss-2015g</li>
+                <li style="white-space: nowrap;">7.37.1-intel-2015b</li>
+                <li style="white-space: nowrap;">7.37.1-intel-2016.01</li>
+                <li style="white-space: nowrap;">7.45.0-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>expat</b><br />
+              <a href="http://expat.sourceforge.net/">http://expat.sourceforge.net/</a>
+            </td>
+            <td>Expat is an XML parser library written in C. It is a stream-oriented parser in which an application
+ registers handlers for things the parser might find in the XML document (like start tags)</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.0</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>git</b><br />
+              <a href="http://git-scm.com/">http://git-scm.com/</a>
+            </td>
+            <td>Git is a free and open source distributed version control system designed
+to handle everything from small to very large projects with speed and efficiency.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.8.0</li>
+                <li style="white-space: nowrap;">2.8.0-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gzip</b><br />
+              <a href="http://www.gnu.org/software/gzip/">http://www.gnu.org/software/gzip/</a>
+            </td>
+            <td>gzip (GNU zip) is a popular data compression program as a replacement for compress</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6-foss-2015g</li>
+                <li style="white-space: nowrap;">1.6-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>itac</b><br />
+              <a href="http://software.intel.com/en-us/intel-trace-analyzer/">http://software.intel.com/en-us/intel-trace-analyzer/</a>
+            </td>
+            <td>The Intel Trace Collector is a low-overhead tracing library that performs
+ event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application
+ activities gathered by the Intel Trace Collector through graphical displays. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">9.1.2.024</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>numactl</b><br />
+              <a href="http://oss.sgi.com/projects/libnuma/">http://oss.sgi.com/projects/libnuma/</a>
+            </td>
+            <td>The numactl program allows you to run your application program on specific cpu's and memory nodes.
+ It does this by supplying a NUMA memory policy to the operating system before running your program.
+ The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.0.10-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.0.10-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.0.10-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.0.11</li>
+                <li style="white-space: nowrap;">2.0.11-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.0.11-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">2.0.9-GCC-4.4.7-system</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>parallel</b><br />
+              <a href="http://savannah.gnu.org/projects/parallel/">http://savannah.gnu.org/projects/parallel/</a>
+            </td>
+            <td>parallel: Build and execute shell commands in parallel</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20150322-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>tcsh</b><br />
+              <a href="http://www.tcsh.org">http://www.tcsh.org</a>
+            </td>
+            <td>Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). 
+ It is a command language interpreter usable both as an interactive login shell and a shell script command 
+ processor. It includes a command-line editor, programmable word completion, spelling correction, a history 
+ mechanism, job control and a C-like syntax.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.18.01-intel-2015b</li>
+                <li style="white-space: nowrap;">6.19.00</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>turbovnc</b><br />
+              <a href="http://www.turbovnc.org">http://www.turbovnc.org</a>
+            </td>
+            <td>
+TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to
+provide peak performance for 3D and video workloads.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>util-linux</b><br />
+              <a href="http://www.kernel.org/pub/linux/utils/util-linux">http://www.kernel.org/pub/linux/utils/util-linux</a>
+            </td>
+            <td>Set of Linux utilities</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.26.1</li>
+                <li style="white-space: nowrap;">2.26.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="vis"><a class="tooltip" title="Go to list of categories..." href="#categories">vis</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FLTK</b><br />
+              <a href="http://www.fltk.org">http://www.fltk.org</a>
+            </td>
+            <td>FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows,
+ and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL
+ and its built-in GLUT emulation.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GLib</b><br />
+              <a href="http://www.gtk.org/">http://www.gtk.org/</a>
+            </td>
+            <td>GLib is one of the base libraries of the GTK+ project</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.40.0</li>
+                <li style="white-space: nowrap;">2.40.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.40.0-intel-2015b</li>
+                <li style="white-space: nowrap;">2.40.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GPI-2</b><br />
+              <a href="http://www.gpi-site.com/gpi2/">http://www.gpi-site.com/gpi2/</a>
+            </td>
+            <td>GPI-2 is an API for the development of scalable, 
+asynchronous and fault tolerant parallel applications.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.1-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.1.1-gompi-2015e-MPI</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>JasPer</b><br />
+              <a href="http://www.ece.uvic.ca/~frodo/jasper/">http://www.ece.uvic.ca/~frodo/jasper/</a>
+            </td>
+            <td>The JasPer Project is an open-source initiative to provide a free
+ software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.900.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Mesa</b><br />
+              <a href="http://www.mesa3d.org/">http://www.mesa3d.org/</a>
+            </td>
+            <td>Mesa is an open-source implementation of the OpenGL specification -
+ a system for rendering interactive 3D graphics.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">11.0.8-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OSPRay</b><br />
+              <a href="http://www.ospray.org">http://www.ospray.org</a>
+            </td>
+            <td>
+ A Ray Tracing Based Rendering Engine for High-Fidelity Visualization</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCV</b><br />
+              <a href="http://opencv.org/">http://opencv.org/</a>
+            </td>
+            <td>OpenCV (Open Source Computer Vision Library) is an open source computer vision
+ and machine learning software library. OpenCV was built to provide
+ a common infrastructure for computer vision applications and to accelerate
+ the use of machine perception in the commercial products.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.9-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenDX</b><br />
+              <a href="http://www.opendx.org">http://www.opendx.org</a>
+            </td>
+            <td>Open source visualization software package based on IBM's Visualization Data Explorer.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ParaView</b><br />
+              <a href="http://www.paraview.org">http://www.paraview.org</a>
+            </td>
+            <td>ParaView is a scientific parallel visualizer.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3-OSPRay</li>
+                <li style="white-space: nowrap;">5.0.0-binary</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PyQt</b><br />
+              <a href="http://www.riverbankcomputing.co.uk/software/pyqt">http://www.riverbankcomputing.co.uk/software/pyqt</a>
+            </td>
+            <td>PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.11.3-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">4.11.4-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SUMO</b><br />
+              <a href="http://www.sumo.dlr.de/wiki/Main_Page">http://www.sumo.dlr.de/wiki/Main_Page</a>
+            </td>
+            <td>Simulation of Urban MObility (SUMO) is an open source, highly portable, 
+microscopic and continuous road traffic simulation package designed to handle large road networks.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.25.0-foss-2015g</li>
+                <li style="white-space: nowrap;">0.26.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Tk</b><br />
+              <a href="http://www.tcl.tk/">http://www.tcl.tk/</a>
+            </td>
+            <td>Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building
+ a graphical user interface (GUI) in many different programming languages.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.5.12-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.4-GCC-4.9.3-2.25-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-GNU-4.9.3-2.25-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015b-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015g-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2015b-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2016.01-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-no-X11</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VisIt</b><br />
+              <a href="https://wci.llnl.gov/simulation/computer-codes/visit">https://wci.llnl.gov/simulation/computer-codes/visit</a>
+            </td>
+            <td>VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.10.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>cairo</b><br />
+              <a href="http://cairographics.org">http://cairographics.org</a>
+            </td>
+            <td>Cairo is a 2D graphics library with support for multiple output devices.
+Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers,
+PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.12.18-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ffmpeg</b><br />
+              <a href="https://www.ffmpeg.org/">https://www.ffmpeg.org/</a>
+            </td>
+            <td>A complete, cross-platform solution to record, convert and stream audio and video.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4-foss-2015g</li>
+                <li style="white-space: nowrap;">2.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>fixesproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X.org FixesProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>fontconfig</b><br />
+              <a href="http://www.freedesktop.org/software/fontconfig">http://www.freedesktop.org/software/fontconfig</a>
+            </td>
+            <td>Fontconfig is a library designed to provide system-wide font configuration, customization and
+application access.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.11.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.11.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>freetype</b><br />
+              <a href="http://freetype.org">http://freetype.org</a>
+            </td>
+            <td>FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and
+ portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display
+ servers, font conversion tools, text image generation tools, and many other products as well.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.5.3</li>
+                <li style="white-space: nowrap;">2.5.3-foss-2015b</li>
+                <li style="white-space: nowrap;">2.5.3-foss-2015g</li>
+                <li style="white-space: nowrap;">2.5.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gettext</b><br />
+              <a href="http://www.gnu.org/software/gettext/">http://www.gnu.org/software/gettext/</a>
+            </td>
+            <td>GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may
+build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools
+and documentation</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.19.2</li>
+                <li style="white-space: nowrap;">0.19.2-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">0.19.2-foss-2015b</li>
+                <li style="white-space: nowrap;">0.19.2-foss-2015g</li>
+                <li style="white-space: nowrap;">0.19.2-intel-2015b</li>
+                <li style="white-space: nowrap;">0.19.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">0.19.6-foss-2015g</li>
+                <li style="white-space: nowrap;">0.19.6-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>grace</b><br />
+              <a href="http://freecode.com/projects/grace">http://freecode.com/projects/grace</a>
+            </td>
+            <td>Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1.25-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>inputproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X.org InputProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3</li>
+                <li style="white-space: nowrap;">2.3-foss-2015g</li>
+                <li style="white-space: nowrap;">2.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>kbproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X.org KBProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.6</li>
+                <li style="white-space: nowrap;">1.0.6-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.6-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libGLU</b><br />
+              <a href="ftp://ftp.freedesktop.org/pub/mesa/glu/">ftp://ftp.freedesktop.org/pub/mesa/glu/</a>
+            </td>
+            <td>The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">9.0.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libICE</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X Inter-Client Exchange library for freedesktop.org</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.9</li>
+                <li style="white-space: nowrap;">1.0.9-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.9-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libX11</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 client-side library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.2-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.6.2-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.6.2-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.6.2-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXau</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>The libXau package contains a library implementing the X11 Authorization Protocol.
+This is useful for restricting client access to the display.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.8</li>
+                <li style="white-space: nowrap;">1.0.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXdamage</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X Damage extension library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXdmcp</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is
+useful for allowing clients to interact with the X Display Manager.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.2</li>
+                <li style="white-space: nowrap;">1.1.2-foss-2015g</li>
+                <li style="white-space: nowrap;">1.1.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXext</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>Common X Extensions library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.2-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.3.3</li>
+                <li style="white-space: nowrap;">1.3.3-foss-2015g</li>
+                <li style="white-space: nowrap;">1.3.3-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.3.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXfixes</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X Fixes extension library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXfont</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X font libary</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.1-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXft</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 client-side library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXinerama</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>Xinerama multiple monitor library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXrender</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 client-side library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXt</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are
+ based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-foss-2015g-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">1.1.4-intel-2015b-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">1.1.4-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">1.1.5-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>motif</b><br />
+              <a href="http://motif.ics.com/">http://motif.ics.com/</a>
+            </td>
+            <td>Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building
+ applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems.
+ It was the standard toolkit for the Common Desktop Environment and thus for Unix.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.4-foss-2015g-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">2.3.4-intel-2015b-libX11-1.6.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>p4vasp</b><br />
+              <a href="http://www.p4vasp.at">http://www.p4vasp.at</a>
+            </td>
+            <td>p4vasp is a visualization suite for the Vienna Ab-initio Simulation Package
+ (VASP). It contains an extensible GUI framework, that can be used to view
+ material structure, density of states, band-structure and more.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.3.29-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>pixman</b><br />
+              <a href="http://www.pixman.org/">http://www.pixman.org/</a>
+            </td>
+            <td>Pixman is a low-level software library for pixel manipulation, providing features such as image
+compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.32.6-foss-2015b</li>
+                <li style="white-space: nowrap;">0.32.6-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+
+</div>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>admin_write_modules_table</name>
+        
+      </author>
+
+      <published>2016-07-18T02:00:02+02:00</published>
+
+      <updated>2016-07-18T02:00:02+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Matlab</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab"/>
+      
+      <id>urn:syndication:73e8cd3babab4da398f316c8d257916d</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-73e8cd3babab4da398f316c8d257916d" class="">
+            <h2 class=" ">Introduction</h2>
+<p>Matlab is available in versions R2015a and R2015b. There are always two variants of the release:</p>
+<ul>
+<li>Non commercial or so called EDU variant, which can be used for common research and educational purposes.</li>
+<li>Commercial or so called COM variant, which can used also for commercial activities. The licenses for commercial variant are much more expensive, so usually the commercial variant has only subset of features compared to the EDU available.</li>
+</ul>
+<p> </p>
+<p>To load the latest version of Matlab load the module</p>
+<pre class=" ">$ module load MATLAB</pre>
+<p>By default the EDU variant is marked as default. If you need other version or variant, load the particular version. To obtain the list of available versions use</p>
+<pre class=" ">$ module avail MATLAB</pre>
+<p>If you need to use the Matlab GUI to prepare your Matlab programs, you can use Matlab directly on the login nodes. But for all computations use Matlab on the compute nodes via PBS Pro scheduler.</p>
+<p>If you require the Matlab GUI, please follow the general informations about <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">running graphical applications</a>.</p>
+<p>Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">here</a>) is recommended.</p>
+<p>To run Matlab with GUI, use</p>
+<pre class=" ">$ matlab</pre>
+<p>To run Matlab in text mode, without the Matlab Desktop GUI environment, use</p>
+<pre class=" ">$ matlab -nodesktop -nosplash</pre>
+<p>plots, images, etc... will be still available.</p>
+<h2 class=" "><a name="running-parallel-matlab-using-distributed-computing-toolbox---engine"></a>Running parallel Matlab using Distributed Computing Toolbox / Engine</h2>
+<p class="exclamation">Distributed toolbox is available only for the EDU variant</p>
+<p class=" ">The MPIEXEC mode available in previous versions is no longer available in MATLAB 2015. Also, the programming interface has changed. Refer to <a class="external-link" href="http://www.mathworks.com/help/distcomp/release-notes.html#buanp9e-1" target="_self" title="">Release Notes</a>.</p>
+<p class=" ">Delete previously used file mpiLibConf.m, we have observed crashes when using Intel MPI.</p>
+<p class=" ">To use Distributed Computing, you first need to setup a parallel profile. We have provided the profile for you, you can either import it in MATLAB command line:</p>
+<pre class=" ">&gt;&gt; parallel.importProfile('/apps/all/MATLAB/2015a-EDU/SalomonPBSPro.settings')<br /><br />ans = <br /><br />SalomonPBSPro </pre>
+<p class=" ">Or in the GUI, go to tab HOME -&gt; Parallel -&gt; Manage Cluster Profiles..., click Import and navigate to :</p>
+<p class=" ">/apps/all/MATLAB/2015a-EDU/SalomonPBSPro.settings</p>
+<p class=" ">With the new mode, MATLAB itself launches the workers via PBS, so you can either use interactive mode or a batch mode on one node, but the actual parallel processing will be done in a separate job started by MATLAB itself. Alternatively, you can use "local" mode to run parallel code on just a single node.</p>
+<p class="exclamation">The profile is confusingly named Salomon, but you can use it also on Anselm.</p>
+<h3 class=" ">Parallel Matlab interactive session</h3>
+<p>Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">this page</a>.</p>
+<pre class=" ">$ xhost +<br />$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 \<br />-l feature__matlab__MATLAB=1 </pre>
+<p>This qsub command example shows how to run Matlab on a single node.</p>
+<p>The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing Engines licenses.</p>
+<p>Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: </p>
+<pre class=" ">r1i0n17$ module load MATLAB/2015b-EDU<br />r1i0n17$ matlab &amp;</pre>
+<h3 class=" "><a name="parallel-matlab-batch-job-in-local-mode"></a>Parallel Matlab batch job in Local mode</h3>
+<p>To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core.</p>
+<pre class=" ">#!/bin/bash<br />#PBS -A PROJECT ID<br />#PBS -q qprod<br />#PBS -l select=1:ncpus=16:mpiprocs=16:ompthreads=1<br /><br /># change to shared scratch directory<br />SCR=/scratch/work/user/$USER/$PBS_JOBID<br />mkdir -p $SCR ; cd $SCR || exit<br /><br /># copy input file to scratch <br />cp $PBS_O_WORKDIR/matlabcode.m .<br /><br /># load modules<br />module load MATLAB/2015a-EDU<br /><br /># execute the calculation<br />matlab -nodisplay -r matlabcode &gt; output.out<br /><br /># copy output file to home<br />cp output.out $PBS_O_WORKDIR/.</pre>
+<p>This script may be submitted directly to the PBS workload manager via the qsub command.  The inputs and matlab script are in matlabcode.m file, outputs in output.out file. Note the missing .m extension in the matlab -r matlabcodefile call, <strong>the .m must not be included</strong>.  Note that the <strong>shared /scratch must be used</strong>. Further, it is <strong>important to include quit</strong> statement at the end of the matlabcode.m script.</p>
+<p>Submit the jobscript using qsub</p>
+<pre class=" ">$ qsub ./jobscript</pre>
+<h3 class=" ">Parallel Matlab Local mode program example</h3>
+<p>The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started.</p>
+<pre class=" ">cluster = parcluster('local')</pre>
+<p class=" ">This script creates scheduler object "cluster" of type "local" that starts workers locally. </p>
+<p class="callout">Please note: Every Matlab script that needs to initialize/use matlabpool has to contain these three lines prior to calling parpool(sched, ...) function. </p>
+<p class=" ">The last step is to start matlabpool with "cluster" object and correct number of workers. We have 24 cores per node, so we start 24 workers.</p>
+<pre class=" ">parpool(cluster,16);<br />                  <br />                 <br />... parallel code ...<br />                 <br />                   <br />parpool close</pre>
+<p>The complete example showing how to use Distributed Computing Toolbox in local mode is shown here. </p>
+<pre class=" ">cluster = parcluster('local');<br />cluster<br /><br />parpool(cluster,24);<br /><br />n=2000;<br /><br />W = rand(n,n);<br />W = distributed(W);<br />x = (1:n)';<br />x = distributed(x);<br />spmd<br />[~, name] = system('hostname')<br />    <br />    T = W*x; % Calculation performed on labs, in parallel.<br />             % T and W are both codistributed arrays here.<br />end<br />T;<br />whos         % T and W are both distributed arrays here.<br /><br />parpool close<br />quit</pre>
+<p>You can copy and paste the example in a .m file and execute. Note that the parpool size should correspond to <strong>total number of cores</strong> available on allocated nodes.</p>
+<h3 class=" ">Parallel Matlab Batch job using PBS mode (workers spawned in a separate job)</h3>
+<p>This mode uses PBS scheduler to launch the parallel pool. It uses the SalomonPBSPro profile that needs to be imported to Cluster Manager, as mentioned before. This methodod uses MATLAB's PBS Scheduler interface - it spawns the workers in a separate job submitted by MATLAB using qsub.</p>
+<p>This is an example of m-script using PBS mode:</p>
+<pre class=" ">cluster = parcluster('SalomonPBSPro');
+set(cluster, 'SubmitArguments', '-A OPEN-0-0');
+set(cluster, 'ResourceTemplate', '-q qprod -l select=10:ncpus=16');
+set(cluster, 'NumWorkers', 160);
+
+pool = parpool(cluster, 160);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)
+</pre>
+<p class=" ">Note that we first construct a cluster object using the imported profile, then set some important options, namely : SubmitArguments, where you need to specify accounting id, and ResourceTemplate, where you need to specify number of nodes to run the job. </p>
+<p class=" ">You can start this script using batch mode the same way as in Local mode example.</p>
+<h3 class=" ">Parallel Matlab Batch with direct launch (workers spawned within the existing job)</h3>
+<p>This method is a "hack" invented by us to emulate the mpiexec functionality found in previous MATLAB versions. We leverage the MATLAB Generic Scheduler interface, but instead of submitting the workers to PBS, we launch the workers directly within the running job, thus we avoid the issues with master script and workers running in separate jobs (issues with license not available, waiting for the worker's job to spawn etc.)</p>
+<p>Please note that this method is experimental.</p>
+<p>For this method, you need to use SalomonDirect profile, import it using <a class="anchor-link" href="#running-parallel-matlab-using-distributed-computing-toolbox---engine" target="_self" title="">the same way as SalomonPBSPro</a> </p>
+<p>This is an example of m-script using direct mode:</p>
+<pre class=" "><br />parallel.importProfile('/apps/all/MATLAB/2015a-EDU/SalomonDirect.settings')<br />cluster = parcluster('SalomonDirect');
+set(cluster, 'NumWorkers', 48);
+
+pool = parpool(cluster, 48);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)</pre>
+<h3 class=" ">Non-interactive Session and Licenses</h3>
+<p>If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the " -l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">look here</a>.</p>
+<p>In case of non-interactive session please read the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">following information</a> on how to modify the qsub command to test for available licenses prior getting the resource allocation.</p>
+<h3 class=" ">Matlab Distributed Computing Engines start up time</h3>
+<p>Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table:</p>
+<table class="plain">
+<tbody>
+<tr><th>compute nodes</th><th>number of workers</th><th>start-up time[s]</th></tr>
+<tr>
+<td>16</td>
+<td>384</td>
+<td>831</td>
+</tr>
+<tr>
+<td>8</td>
+<td>192</td>
+<td>807</td>
+</tr>
+<tr>
+<td>4</td>
+<td>96</td>
+<td>483</td>
+</tr>
+<tr>
+<td>2</td>
+<td>48</td>
+<td>16</td>
+</tr>
+</tbody>
+</table>
+<h2>MATLAB on UV2000 </h2>
+<p>UV2000 machine available in queue "qfat" can be used for MATLAB computations. This is a SMP NUMA machine with large amount of RAM, which can be beneficial for certain types of MATLAB jobs. CPU cores are allocated in chunks of 8 for this machine.</p>
+<p>You can use MATLAB on UV2000 in two parallel modes :</p>
+<h3>Threaded mode</h3>
+<p class=" ">Since this is a SMP machine, you can completely avoid using Parallel Toolbox and use only MATLAB's threading. MATLAB will automatically detect the number of cores you have allocated and will set <span class="monospace">maxNumCompThreads </span>accordingly and certain operations, such as <span class="monospace">fft, \, eig, svd</span>, etc. will be automatically run in threads. The advantage of this mode is that you don't need to modify your existing sequential codes.<span class="monospace"><br /></span></p>
+<h3 class=" ">Local cluster mode</h3>
+<p>You can also use Parallel Toolbox on UV2000. Use l<a class="anchor-link" href="#parallel-matlab-batch-job-in-local-mode" target="_self" title="">ocal cluster mode</a>, "SalomonPBSPro" profile will not work.</p>
+<p> </p>
+<p> </p>
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jansik</name>
+        
+      </author>
+
+      <published>2013-07-24T12:50:00+02:00</published>
+
+      <updated>2016-07-13T16:11:19+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Matlab</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab"/>
+      
+      <id>urn:syndication:2efd48d0282d45b7b8fb11393c96d853</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-2efd48d0282d45b7b8fb11393c96d853" class="">
+            <h2 class=" ">Introduction</h2>
+<p>Matlab is available in versions R2015a and R2015b. There are always two variants of the release:</p>
+<ul>
+<li>Non commercial or so called EDU variant, which can be used for common research and educational purposes.</li>
+<li>Commercial or so called COM variant, which can used also for commercial activities. The licenses for commercial variant are much more expensive, so usually the commercial variant has only subset of features compared to the EDU available.</li>
+</ul>
+<p> </p>
+<p>To load the latest version of Matlab load the module</p>
+<pre class=" ">$ module load MATLAB</pre>
+<p>By default the EDU variant is marked as default. If you need other version or variant, load the particular version. To obtain the list of available versions use</p>
+<pre class=" ">$ module avail MATLAB</pre>
+<p>If you need to use the Matlab GUI to prepare your Matlab programs, you can use Matlab directly on the login nodes. But for all computations use Matlab on the compute nodes via PBS Pro scheduler.</p>
+<p>If you require the Matlab GUI, please follow the general informations about <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">running graphical applications</a>.</p>
+<p>Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">here</a>) is recommended.</p>
+<p>To run Matlab with GUI, use</p>
+<pre class=" ">$ matlab</pre>
+<p>To run Matlab in text mode, without the Matlab Desktop GUI environment, use</p>
+<pre class=" ">$ matlab -nodesktop -nosplash</pre>
+<p>plots, images, etc... will be still available.</p>
+<h2 class=" "><a name="running-parallel-matlab-using-distributed-computing-toolbox---engine"></a>Running parallel Matlab using Distributed Computing Toolbox / Engine</h2>
+<p class="exclamation">Distributed toolbox is available only for the EDU variant</p>
+<p class=" ">The MPIEXEC mode available in previous versions is no longer available in MATLAB 2015. Also, the programming interface has changed. Refer to <a class="external-link" href="http://www.mathworks.com/help/distcomp/release-notes.html#buanp9e-1" target="_self" title="">Release Notes</a>.</p>
+<p class=" ">Delete previously used file mpiLibConf.m, we have observed crashes when using Intel MPI.</p>
+<p class=" ">To use Distributed Computing, you first need to setup a parallel profile. We have provided the profile for you, you can either import it in MATLAB command line:</p>
+<pre class=" ">&gt;&gt; parallel.importProfile('/apps/all/MATLAB/2015b-EDU/SalomonPBSPro.settings')<br /><br />ans = <br /><br />SalomonPBSPro </pre>
+<p class=" ">Or in the GUI, go to tab HOME -&gt; Parallel -&gt; Manage Cluster Profiles..., click Import and navigate to :</p>
+<p class=" ">/apps/all/MATLAB/2015b-EDU/SalomonPBSPro.settings</p>
+<p class=" ">With the new mode, MATLAB itself launches the workers via PBS, so you can either use interactive mode or a batch mode on one node, but the actual parallel processing will be done in a separate job started by MATLAB itself. Alternatively, you can use "local" mode to run parallel code on just a single node.</p>
+<h3 class=" ">Parallel Matlab interactive session</h3>
+<p>Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">this page</a>.</p>
+<pre class=" ">$ xhost +<br />$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 \<br />-l feature__matlab__MATLAB=1 </pre>
+<p>This qsub command example shows how to run Matlab on a single node.</p>
+<p>The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing Engines licenses.</p>
+<p>Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: </p>
+<pre class=" ">r1i0n17$ module load MATLAB/2015a-EDU<br />r1i0n17$ matlab &amp;</pre>
+<h3 class=" "><a name="parallel-matlab-batch-job-in-local-mode"></a>Parallel Matlab batch job in Local mode</h3>
+<p>To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core.</p>
+<pre class=" ">#!/bin/bash<br />#PBS -A PROJECT ID<br />#PBS -q qprod<br />#PBS -l select=1:ncpus=24:mpiprocs=24:ompthreads=1<br /><br /># change to shared scratch directory<br />SCR=/scratch/work/user/$USER/$PBS_JOBID<br />mkdir -p $SCR ; cd $SCR || exit<br /><br /># copy input file to scratch <br />cp $PBS_O_WORKDIR/matlabcode.m .<br /><br /># load modules<br />module load MATLAB/2015a-EDU<br /><br /># execute the calculation<br />matlab -nodisplay -r matlabcode &gt; output.out<br /><br /># copy output file to home<br />cp output.out $PBS_O_WORKDIR/.</pre>
+<p>This script may be submitted directly to the PBS workload manager via the qsub command.  The inputs and matlab script are in matlabcode.m file, outputs in output.out file. Note the missing .m extension in the matlab -r matlabcodefile call, <strong>the .m must not be included</strong>.  Note that the <strong>shared /scratch must be used</strong>. Further, it is <strong>important to include quit</strong> statement at the end of the matlabcode.m script.</p>
+<p>Submit the jobscript using qsub</p>
+<pre class=" ">$ qsub ./jobscript</pre>
+<h3 class=" ">Parallel Matlab Local mode program example</h3>
+<p>The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started.</p>
+<pre class=" ">cluster = parcluster('local')</pre>
+<p class=" ">This script creates scheduler object "cluster" of type "local" that starts workers locally. </p>
+<p class="callout">Please note: Every Matlab script that needs to initialize/use matlabpool has to contain these three lines prior to calling parpool(sched, ...) function. </p>
+<p class=" ">The last step is to start matlabpool with "cluster" object and correct number of workers. We have 24 cores per node, so we start 24 workers.</p>
+<pre class=" ">parpool(cluster,24);<br />                  <br />                 <br />... parallel code ...<br />                 <br />                   <br />parpool close</pre>
+<p>The complete example showing how to use Distributed Computing Toolbox in local mode is shown here. </p>
+<pre class=" ">cluster = parcluster('local');<br />cluster<br /><br />parpool(cluster,24);<br /><br />n=2000;<br /><br />W = rand(n,n);<br />W = distributed(W);<br />x = (1:n)';<br />x = distributed(x);<br />spmd<br />[~, name] = system('hostname')<br />    <br />    T = W*x; % Calculation performed on labs, in parallel.<br />             % T and W are both codistributed arrays here.<br />end<br />T;<br />whos         % T and W are both distributed arrays here.<br /><br />parpool close<br />quit</pre>
+<p>You can copy and paste the example in a .m file and execute. Note that the parpool size should correspond to <strong>total number of cores</strong> available on allocated nodes.</p>
+<h3 class=" ">Parallel Matlab Batch job using PBS mode (workers spawned in a separate job)</h3>
+<p>This mode uses PBS scheduler to launch the parallel pool. It uses the SalomonPBSPro profile that needs to be imported to Cluster Manager, as mentioned before. This methodod uses MATLAB's PBS Scheduler interface - it spawns the workers in a separate job submitted by MATLAB using qsub.</p>
+<p>This is an example of m-script using PBS mode:</p>
+<pre class=" ">cluster = parcluster('SalomonPBSPro');
+set(cluster, 'SubmitArguments', '-A OPEN-0-0');
+set(cluster, 'ResourceTemplate', '-q qprod -l select=10:ncpus=24');
+set(cluster, 'NumWorkers', 240);
+
+pool = parpool(cluster,240);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)
+</pre>
+<p class=" ">Note that we first construct a cluster object using the imported profile, then set some important options, namely : SubmitArguments, where you need to specify accounting id, and ResourceTemplate, where you need to specify number of nodes to run the job. </p>
+<p class=" ">You can start this script using batch mode the same way as in Local mode example.</p>
+<h3 class=" ">Parallel Matlab Batch with direct launch (workers spawned within the existing job)</h3>
+<p>This method is a "hack" invented by us to emulate the mpiexec functionality found in previous MATLAB versions. We leverage the MATLAB Generic Scheduler interface, but instead of submitting the workers to PBS, we launch the workers directly within the running job, thus we avoid the issues with master script and workers running in separate jobs (issues with license not available, waiting for the worker's job to spawn etc.)</p>
+<p>Please note that this method is experimental.</p>
+<p>For this method, you need to use SalomonDirect profile, import it using <a class="anchor-link" href="#running-parallel-matlab-using-distributed-computing-toolbox---engine" target="_self" title="">the same way as SalomonPBSPro</a> </p>
+<p>This is an example of m-script using direct mode:</p>
+<pre class=" "><br />parallel.importProfile('/apps/all/MATLAB/2015b-EDU/SalomonDirect.settings')<br />cluster = parcluster('SalomonDirect');
+set(cluster, 'NumWorkers', 48);
+
+pool = parpool(cluster, 48);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)</pre>
+<h3 class=" ">Non-interactive Session and Licenses</h3>
+<p>If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the " -l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">look here</a>.</p>
+<p class="exclamation">The licensing feature of PBS is currently disabled.</p>
+<p>In case of non-interactive session please read the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">following information</a> on how to modify the qsub command to test for available licenses prior getting the resource allocation.</p>
+<h3 class=" ">Matlab Distributed Computing Engines start up time</h3>
+<p>Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table:</p>
+<table class="plain">
+<tbody>
+<tr><th>compute nodes</th><th>number of workers</th><th>start-up time[s]</th></tr>
+<tr>
+<td>16</td>
+<td>384</td>
+<td>831</td>
+</tr>
+<tr>
+<td>8</td>
+<td>192</td>
+<td>807</td>
+</tr>
+<tr>
+<td>4</td>
+<td>96</td>
+<td>483</td>
+</tr>
+<tr>
+<td>2</td>
+<td>48</td>
+<td>16</td>
+</tr>
+</tbody>
+</table>
+<h2>MATLAB on UV2000 </h2>
+<p>UV2000 machine available in queue "qfat" can be used for MATLAB computations. This is a SMP NUMA machine with large amount of RAM, which can be beneficial for certain types of MATLAB jobs. CPU cores are allocated in chunks of 8 for this machine.</p>
+<p>You can use MATLAB on UV2000 in two parallel modes :</p>
+<h3>Threaded mode</h3>
+<p class=" ">Since this is a SMP machine, you can completely avoid using Parallel Toolbox and use only MATLAB's threading. MATLAB will automatically detect the number of cores you have allocated and will set <span class="monospace">maxNumCompThreads </span>accordingly and certain operations, such as <span class="monospace">fft, \, eig, svd</span>, etc. will be automatically run in threads. The advantage of this mode is that you don't need to modify your existing sequential codes.<span class="monospace"><br /></span></p>
+<h3 class=" ">Local cluster mode</h3>
+<p>You can also use Parallel Toolbox on UV2000. Use l<a class="anchor-link" href="#parallel-matlab-batch-job-in-local-mode" target="_self" title="">ocal cluster mode</a>, "SalomonPBSPro" profile will not work.</p>
+<p> </p>
+<p> </p>
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jansik</name>
+        
+      </author>
+
+      <published>2013-07-24T12:50:00+02:00</published>
+
+      <updated>2016-07-13T16:10:41+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Matlab 2013-2014</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab"/>
+      
+      <id>urn:syndication:41bf242708954438ac56e1a431788c0e</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-41bf242708954438ac56e1a431788c0e" class="">
+            <h2 class=" ">Introduction</h2>
+<p class="exclamation">This document relates to the old versions R2013 and R2014. For MATLAB 2015, please use <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab" class="internal-link">this documentation instead</a>.</p>
+<p>Matlab is available in the latest stable version. There are always two variants of the release:</p>
+<ul>
+<li>Non commercial or so called EDU variant, which can be used for common research and educational purposes.</li>
+<li>Commercial or so called COM variant, which can used also for commercial activities. The licenses for commercial variant are much more expensive, so usually the commercial variant has only subset of features compared to the EDU available.</li>
+</ul>
+<p> </p>
+<p>To load the latest version of Matlab load the module</p>
+<pre class=" ">$ module load matlab</pre>
+<p>By default the EDU variant is marked as default. If you need other version or variant, load the particular version. To obtain the list of available versions use</p>
+<pre class=" ">$ module avail matlab</pre>
+<p>If you need to use the Matlab GUI to prepare your Matlab programs, you can use Matlab directly on the login nodes. But for all computations use Matlab on the compute nodes via PBS Pro scheduler.</p>
+<p>If you require the Matlab GUI, please follow the general informations about <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">running graphical applications</a>.</p>
+<p>Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">here</a>) is recommended.</p>
+<p>To run Matlab with GUI, use</p>
+<pre class=" ">$ matlab</pre>
+<p>To run Matlab in text mode, without the Matlab Desktop GUI environment, use</p>
+<pre class=" ">$ matlab -nodesktop -nosplash</pre>
+<p>plots, images, etc... will be still available.</p>
+<h2 class=" ">Running parallel Matlab using Distributed Computing Toolbox / Engine</h2>
+<p>Recommended parallel mode for running parallel Matlab on Anselm is MPIEXEC mode. In this mode user allocates resources through PBS prior to starting Matlab. Once resources are granted the main Matlab instance is started on the first compute node assigned to job by PBS and workers are started on all remaining nodes. User can use both interactive and non-interactive PBS sessions. This mode guarantees that the data processing is not performed on login nodes, but all processing is on compute nodes.</p>
+<p> <img title="Parallel Matlab" alt="Parallel Matlab" src="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png" class="image-inline" /></p>
+<p>For the performance reasons Matlab should use system MPI. On Anselm the supported MPI implementation for Matlab is Intel MPI. To switch to system MPI user has to override default Matlab setting by creating new configuration file in its home directory. The path and file name has to be exactly the same as in the following listing:</p>
+<pre class=" "><strong>$ vim ~/matlab/mpiLibConf.m </strong></pre>
+<pre class=" "><strong>function [lib, extras] = mpiLibConf</strong><br /><strong>%MATLAB MPI Library overloading for Infiniband Networks</strong><br /><br /><strong>mpich = '/opt/intel/impi/4.1.1.036/lib64/';</strong><br /><br /><strong>disp('Using Intel MPI 4.1.1.036 over Infiniband')</strong><br /><br /><strong>lib = strcat(mpich, 'libmpich.so');</strong><br /><strong>mpl = strcat(mpich, 'libmpl.so');</strong><br /><strong>opa = strcat(mpich, 'libopa.so');</strong><br /><br /><strong>extras = {};</strong></pre>
+<p>System MPI library allows Matlab to communicate through 40Gbps Infiniband QDR interconnect instead of slower 1Gb ethernet network.</p>
+<p class="callout">Please note: The path to MPI library in "mpiLibConf.m" has to match with version of loaded Intel MPI module. In this example the version 4.1.1.036 of Iintel MPI is used by Matlab and therefore module impi/4.1.1.036  has to be loaded prior to starting Matlab.</p>
+<h3 class=" ">Parallel Matlab interactive session</h3>
+<p>Once this file is in place, user can request resources from PBS. Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">this page</a>.</p>
+<pre class=" ">$ xhost +<br />$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=4:ncpus=16:mpiprocs=16 -l walltime=00:30:00 \<br />-l feature__matlab__MATLAB=1 </pre>
+<p>This qsub command example shows how to run Matlab with 32 workers in following configuration: 2 nodes (use all 16 cores per node) and 16 workers = mpirocs per node (-l select=2:ncpus=16:mpiprocs=16). If user requires to run smaller number of workers per node then the "mpiprocs" parameter has to be changed.</p>
+<p>The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 32 Distributed Computing Engines licenses.</p>
+<p>Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: </p>
+<pre class=" ">cn79$ module load matlab/R2013a-EDU<br />cn79$ module load impi/4.1.1.036<br />cn79$ matlab &amp;</pre>
+<h3 class=" ">Parallel Matlab batch job</h3>
+<p>To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core.</p>
+<pre class=" ">#!/bin/bash<br />#PBS -A PROJECT ID<br />#PBS -q qprod<br />#PBS -l select=2:ncpus=16:mpiprocs=16:ompthreads=1<br /><br /># change to shared scratch directory<br />SCR=/scratch/$USER/$PBS_JOBID<br />mkdir -p $SCR ; cd $SCR || exit<br /><br /># copy input file to scratch <br />cp $PBS_O_WORKDIR/matlabcode.m .<br /><br /># load modules<br />module load matlab/R2013a-EDU<br />module load impi/4.1.1.036<br /><br /># execute the calculation<br />matlab -nodisplay -r matlabcode &gt; output.out<br /><br /># copy output file to home<br />cp output.out $PBS_O_WORKDIR/.</pre>
+<p>This script may be submitted directly to the PBS workload manager via the qsub command.  The inputs and matlab script are in matlabcode.m file, outputs in output.out file. Note the missing .m extension in the matlab -r matlabcodefile call, <strong>the .m must not be included</strong>.  Note that the <strong>shared /scratch must be used</strong>. Further, it is <strong>important to include quit</strong> statement at the end of the matlabcode.m script.</p>
+<p>Submit the jobscript using qsub</p>
+<pre class=" ">$ qsub ./jobscript</pre>
+<h3 class=" ">Parallel Matlab program example</h3>
+<p>The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started.</p>
+<pre class=" ">sched = findResource('scheduler', 'type', 'mpiexec');<br />set(sched, 'MpiexecFileName', '/apps/intel/impi/4.1.1/bin/mpirun');<br />set(sched, 'EnvironmentSetMethod', 'setenv');</pre>
+<p class=" ">This script creates scheduler object "sched" of type "mpiexec" that starts workers using mpirun tool. To use correct version of mpirun, the second line specifies the path to correct version of system Intel MPI library.</p>
+<p class="callout">Please note: Every Matlab script that needs to initialize/use matlabpool has to contain these three lines prior to calling matlabpool(sched, ...) function. </p>
+<p class=" ">The last step is to start matlabpool with "sched" object and correct number of workers. In this case qsub asked for total number of 32 cores, therefore the number of workers is also set to 32.</p>
+<pre class=" ">matlabpool(sched,32);<br />                  <br />                 <br />... parallel code ...<br />                 <br />                   <br />matlabpool close</pre>
+<p>The complete example showing how to use Distributed Computing Toolbox is show here. </p>
+<pre class=" ">sched = findResource('scheduler', 'type', 'mpiexec');<br />set(sched, 'MpiexecFileName', '/apps/intel/impi/4.1.1/bin/mpirun')<br />set(sched, 'EnvironmentSetMethod', 'setenv')<br />set(sched, 'SubmitArguments', '') <br />sched<br /><br />matlabpool(sched,32);<br /><br />n=2000;<br /><br />W = rand(n,n);<br />W = distributed(W);<br />x = (1:n)';<br />x = distributed(x);<br />spmd<br />[~, name] = system('hostname')<br />    <br />    T = W*x; % Calculation performed on labs, in parallel.<br />             % T and W are both codistributed arrays here.<br />end<br />T;<br />whos         % T and W are both distributed arrays here.<br /><br />matlabpool close<br />quit</pre>
+<p>You can copy and paste the example in a .m file and execute. Note that the matlabpool size should correspond to <strong>total number of cores</strong> available on allocated nodes.</p>
+<h3 class=" ">Non-interactive Session and Licenses</h3>
+<p>If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the " -l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">look here</a>.</p>
+<p>In case of non-interactive session please read the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">following information</a> on how to modify the qsub command to test for available licenses prior getting the resource allocation.</p>
+<h3 class=" ">Matlab Distributed Computing Engines start up time</h3>
+<p>Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table:</p>
+<table class="plain">
+<tbody>
+<tr><th>compute nodes</th><th>number of workers</th><th>start-up time[s]</th></tr>
+<tr>
+<td>16</td>
+<td>256</td>
+<td>1008</td>
+</tr>
+<tr>
+<td>8</td>
+<td>128</td>
+<td>534</td>
+</tr>
+<tr>
+<td>4</td>
+<td>64</td>
+<td>333</td>
+</tr>
+<tr>
+<td>2</td>
+<td>32</td>
+<td>210</td>
+</tr>
+</tbody>
+</table>
+<p> </p>
+<p> </p>
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jansik</name>
+        
+      </author>
+
+      <published>2013-07-24T12:50:00+02:00</published>
+
+      <updated>2016-07-13T15:41:35+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>MATLAB 2015b</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b"/>
+      
+      <id>urn:syndication:9b996ea95ba04f218d1eff951249ac50</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-13T15:40:00+02:00</published>
+
+      <updated>2016-07-13T15:38:48+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Numerical languages</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction"/>
+      
+      <id>urn:syndication:6c3faf66932c4ed6aaf3471f0ab0e081</id>
+      <summary>Interpreted languages for numerical computations and analysis</summary>
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-6c3faf66932c4ed6aaf3471f0ab0e081" class="">
+            <h2 class=" ">Introduction</h2>
+<p>This section contains a collection of high-level interpreted languages, primarily intended for numerical computations.</p>
+<h2 class=" ">Matlab</h2>
+<p>MATLAB<sup>®</sup> is a high-level language and interactive environment for numerical computation, visualization, and programming.</p>
+<pre class=" ">$ module load MATLAB/2015b-EDU<br />$ matlab</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab" class="internal-link">Matlab<span class="internal-link"></span> page</a>.</p>
+<h2 class=" ">Octave</h2>
+<p>GNU Octave is a high-level interpreted language, primarily intended for numerical computations. The Octave language is quite similar to Matlab so that most programs are easily portable.</p>
+<pre class=" ">$ module load Octave<br />$ octave</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave" class="internal-link">Octave page</a>.</p>
+<h2 class=" ">R</h2>
+<p>The R is an interpreted language and environment for statistical computing and graphics.</p>
+<pre class=" ">$ module load R<br />$ R</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r" class="internal-link">R page</a>.</p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jansik</name>
+        
+      </author>
+
+      <published>2014-02-25T13:25:00+02:00</published>
+
+      <updated>2016-07-13T15:35:37+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir installed</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/vampir-installed"/>
+      
+      <id>urn:syndication:0925645129e9409bb0e1c8d98359827d</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T00:00:00+02:00</published>
+
+      <updated>2016-07-08T13:00:00+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Debuggers and profilers summary</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary"/>
+      
+      <id>urn:syndication:e5c6c8364e82439f88e2de1434687fba</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-e5c6c8364e82439f88e2de1434687fba" class="">
+            <h2 class=" ">Introduction</h2>
+<p>We provide state of the art programms and tools to develop, profile and debug HPC codes at IT4Innovations.<br />On these pages, we provide an overview of the profiling and debugging tools available on Anslem at IT4I.</p>
+<h2 class=" ">Intel debugger</h2>
+<p>The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">X display</a> for running the GUI.</p>
+<pre class=" ">$ module load intel<br />$ idb</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger" class="internal-link">Intel Debugger</a> page.</p>
+<h2 class=" ">Allinea Forge (DDT/MAP)</h2>
+<p>Allinea DDT, is a commercial debugger primarily for debugging parallel MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel Xeon Phi accelerators. DDT provides all the standard debugging features (stack trace, breakpoints, watches, view variables, threads etc.) for every thread running as part of your program, or for every process - even if these processes are distributed across a cluster using an MPI implementation.</p>
+<pre class=" ">$ module load Forge<br />$ forge</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt" class="internal-link">Allinea DDT</a> page.</p>
+<h2 class=" ">Allinea Performance Reports</h2>
+<p>Allinea Performance Reports characterize the performance of HPC application runs. After executing your application through the tool, a synthetic HTML report is generated automatically, containing information about several metrics along with clear behavior statements and hints to help you improve the efficiency of your runs. Our license is limited to 64 MPI processes.</p>
+<pre class=" ">$ module load PerformanceReports/6.0 <br />$ perf-report mpirun -n 64 ./my_application argument01 argument02</pre>
+<p class=" ">Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports" class="internal-link">Allinea Performance Reports</a> page.</p>
+<h2 class=" ">RougeWave Totalview</h2>
+<p>TotalView is a source- and machine-level debugger for multi-process, multi-threaded programs. Its wide range of tools provides ways to analyze, organize, and test programs, making it easy to isolate and identify problems in individual threads and processes in programs of great complexity.</p>
+<pre class=" ">$ module load totalview<br />$ totalview</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view" class="internal-link">Totalview</a> page.</p>
+<h2 class=" ">Vampir trace analyzer</h2>
+<p>Vampir is a GUI trace analyzer for traces in OTF format.</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/vampir" class="internal-link">Vampir</a> page.</p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jansik</name>
+        
+      </author>
+
+      <published>2014-02-12T16:35:00+02:00</published>
+
+      <updated>2016-07-08T12:41:18+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/debuggers/vampir"/>
+      
+      <id>urn:syndication:50ee0f8999e14a08822bd423d24de7ef</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-50ee0f8999e14a08822bd423d24de7ef" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+<h2></h2>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T12:40:56+02:00</published>
+
+      <updated>2016-07-08T12:40:56+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Debuggers and profilers summary</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/debuggers/summary"/>
+      
+      <id>urn:syndication:8ad8c412381d4fef857cbab87258d453</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-8ad8c412381d4fef857cbab87258d453" class="">
+            <h2 class=" ">Introduction</h2>
+<p>We provide state of the art programms and tools to develop, profile and debug HPC codes at IT4Innovations.<br />On these pages, we provide an overview of the profiling and debugging tools available on Anslem at IT4I.</p>
+<h2 class=" ">Intel debugger</h2>
+<p class="exclamation">Intel debugger is no longer available since Parallel Studio version 2015</p>
+<p>The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">X display</a> for running the GUI.</p>
+<pre class=" ">$ module load intel<br />$ idb</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger" class="internal-link">Intel Debugger</a> page.</p>
+<h2 class=" ">Allinea Forge (DDT/MAP)</h2>
+<p>Allinea DDT, is a commercial debugger primarily for debugging parallel MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel Xeon Phi accelerators. DDT provides all the standard debugging features (stack trace, breakpoints, watches, view variables, threads etc.) for every thread running as part of your program, or for every process - even if these processes are distributed across a cluster using an MPI implementation.</p>
+<pre class=" ">$ module load Forge<br />$ forge</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/allinea-ddt" class="internal-link">Allinea DDT</a> page.</p>
+<h2 class=" ">Allinea Performance Reports</h2>
+<p>Allinea Performance Reports characterize the performance of HPC application runs. After executing your application through the tool, a synthetic HTML report is generated automatically, containing information about several metrics along with clear behavior statements and hints to help you improve the efficiency of your runs. Our license is limited to 64 MPI processes.</p>
+<pre class=" ">$ module load PerformanceReports/6.0  <br />$ perf-report mpirun -n 64 ./my_application argument01 argument02</pre>
+<p class=" ">Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports" class="internal-link">Allinea Performance Reports</a> page.</p>
+<h2 class=" ">RougeWave Totalview</h2>
+<p>TotalView is a source- and machine-level debugger for multi-process, multi-threaded programs. Its wide range of tools provides ways to analyze, organize, and test programs, making it easy to isolate and identify problems in individual threads and processes in programs of great complexity.</p>
+<pre class=" ">$ module load TotalView/8.15.4-6-linux-x86-64<br />$ totalview</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/total-view" class="internal-link">Totalview</a> page.</p>
+<h2 class=" ">Vampir trace analyzer</h2>
+<p>Vampir is a GUI trace analyzer for traces in OTF format.</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/vampir" class="internal-link">Vampir</a> page.</p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>jansik</name>
+        
+      </author>
+
+      <published>2014-02-12T16:35:00+02:00</published>
+
+      <updated>2016-07-08T12:40:43+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir"/>
+      
+      <id>urn:syndication:f6e25102d1244fb4ab355175867747b5</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+        
+        <div id="parent-fieldname-text-f6e25102d1244fb4ab355175867747b5" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T12:38:13+02:00</published>
+
+      <updated>2016-07-08T12:38:13+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir screenshot</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/view"/>
+      
+      <id>urn:syndication:9380dd9f068e497cb5cfb6aae44e00c9</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/changelog" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T12:34:13+02:00</published>
+
+      <updated>2016-07-08T12:34:13+02:00</updated>
+
+
+    </entry>
+
+  
+
+</feed>
diff --git a/docs.it4i.cz/changelog/rss.xml b/docs.it4i.cz/changelog/rss.xml
new file mode 100644
index 0000000000000000000000000000000000000000..56af24dd44f8839778d65fd4d01ed8bb3a5dabd3
--- /dev/null
+++ b/docs.it4i.cz/changelog/rss.xml
@@ -0,0 +1,5596 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
+  <channel>
+    <atom:link rel="self" type="application/rss+xml" href="https://docs.it4i.cz/changelog/rss.xml"/>
+    <title>Changelog</title>
+    <link>https://docs.it4i.cz/changelog</link>
+    <description></description>
+
+    <language>cs</language>
+    <copyright></copyright>
+    <generator>Plone</generator>
+    <item>
+      <title>History of Downtimes</title>
+      <description>Full history of important announcements related to IT4I infrastructure, planned downtimes, outages etc.</description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-4bd4666bb824408fb09204e2872d3dee" class="">
+            <br />
+<div>
+    <table class="listing">
+      <thead>
+        <tr>
+          <th>Date and time</th>
+          <th>Title and description</th>
+        </tr>
+      </thead>
+      <tbody>
+        <tr>
+          <td style="white-space: nowrap;">2016-07-15 08:20:00</td>
+          <td>
+            <b>Salomon cluster maintenance outage</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>From 2016-07-20 09:00 till  2016-07-21 12:00  CEST will be maintenance outage for Salomon.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-06-29 13:50:00</td>
+          <td>
+            <b>Salomon cluster maintenance outage prolonged</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Important! Salomon cluster maintenance outage will be prolonged till 2016-06-29 20:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-06-16 00:00:00</td>
+          <td>
+            <b>Salomon planned downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>There's a planned maintenance window from 2016-06-28 09:00 till 2016-06-29 20:00 CEST.</p>
+<p>Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-05-26 10:31:44</td>
+          <td>
+            <b>Salomon planned downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>There's a planned maintenance window from 2016-06-08 09:00 till 2016-06-09 09:00 CEST.</p>
+<p>Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-04-27 15:57:28</td>
+          <td>
+            <b>Salomon cluster maintenance outage prolonged</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Important! Salomon cluster maintenance outage will be prolonged till 2016-04-28 14:00 CEST</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-31 19:03:25</td>
+          <td>
+            <b>Failure on Salomon Cooling System</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We have very serious issue with Salomon cooling system since 2016-03-31 10:00. We are working to resolve the issue.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-31 18:59:04</td>
+          <td>
+            <b>Salomon Back in Production</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>As of 2016-03-31 19:30 CET, the Salomon is back in production. The outage was caused by an issue in cooling system.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-30 15:57:57</td>
+          <td>
+            <b>PBS malfunction</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<p>We've had several issues with PBS scheduler since 2016-03-30 13:00 CEST. We are still working on it.</p>
+</div>
+</div>
+</div>
+</div>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-26 09:52:41</td>
+          <td>
+            <b>Salomon back to production</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We have recovered all the issues with the Salomon cluster.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-26 09:51:16</td>
+          <td>
+            <b>Failure on Salomon Cooling Infrastructure</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<p>We had an issue with the cooling infra of Salomon. This issue led to InfiniBand and storage outage. We are working to resolve the issue.</p>
+</div>
+</div>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-03-14 14:57:51</td>
+          <td>
+            <b>Infrastructure Maintenance</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Salomon supercomputer will be down for the maintenance from 2016-03-22 10:00 CEST to 2016-03-22 17:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-24 12:30:00</td>
+          <td>
+            <b>Anselm Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Anselm supercomputer will be down for the updates from 2016-02-01 to 2016-02-29.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-23 08:45:45</td>
+          <td>
+            <b>Anselm Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Anselm supercomputer will be down for the updates from 2016-02-01 to 2016-02-29.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-14 08:07:46</td>
+          <td>
+            <b>Failure on Salomon Infiniband Network</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <div id="content-core">
+<div class="plain" id="parent-fieldname-text">
+<p>We have very serious issue with Salomon Infiniband network since 2016-02-11 10:18. We are working to resolve the issue as quickly as possible and apologize for any inconvenience.</p>
+</div>
+</div>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-04 11:53:30</td>
+          <td>
+            <b>Short network outage</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We need to apply some changes in network devices settings which may cause short network outage for Anselm Login nodes. This work will start around 6 am 2016-01-26.</p>
+<p>Thanks for your understanding.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-04 11:52:37</td>
+          <td>
+            <b>Salomon Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Salomon supercomputer will be down for the updates from 2016-02-16 09:00 CEST to 2016-02-16 13:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2016-02-04 11:52:25</td>
+          <td>
+            <b>Salomon Upgrade</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>The Salomon supercomputer will be down for the updates from 2016-02-16 09:00 CEST to 2016-02-16 13:00 CEST.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-11-26 08:11:25</td>
+          <td>
+            <b>/home downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear HPC users<br /><br />There's a /home downtime on the Salomon supercomputer planned for 25th November. The reason is a maintenance of the underlying CXFS filesystem. Your jobs will be scheduled with respect to this maintenance window.<br /><br />Thank you for understanding,<br />the IT4I team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-11-24 09:10:15</td>
+          <td>
+            <b>The /home filesystem was down</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p><span>On 23.11.2015, 13:55 - 14:55, the /home filesystem was down due to acute technical problems.</span><br /><span>We apologize for inconvenience.</span></p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-09-04 16:14:12</td>
+          <td>
+            <b>SCRATCH downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear IT4I users<br /><br />Salomon's SCRATCH will *not* be accessible on Thursday (10th September 2015) from 13:00 till 18:00 CEST.<br /><br />Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-08-27 00:00:00</td>
+          <td>
+            <b>Today's SCRATCH downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear IT4I users<br /><br />We are sorry for today's (27th August) inaccessibility of SCRATCH filesystem due to a broken service which normally provides mapping for user/group IDs (UIDs/GIDs). The issue has been fixed. No data were lost.<br /><br />Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-08-12 00:00:00</td>
+          <td>
+            <b>Unplanned downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Salomon users,<br /><br />there was an unplanned downtime of the non-accelerated nodes. At this moment, systems are booting and we are revising consequences. Temporarily inaccessible SCRATCH filesystem is one of them.<br /><br />We're sorry for the inconvenience,<br />the IT4I team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2015-08-06 00:00:00</td>
+          <td>
+            <b>SCRATCH downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear IT4I users<br /><br />Salomon's SCRATCH will not be accessible tomorrow (7th August 2015) from 08:30 till 11:00 CEST.<br /><br />Thank you for understanding,<br />the IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-11-14 10:27:51</td>
+          <td>
+            <b>Unplanned PBS Downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />we apologize for the unavailability of our PBS scheduler during the last weekend. However, running jobs shouldn't have been affected at that time.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-11-14 10:27:50</td>
+          <td>
+            <b>Login1 troubles</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Login1 had a short unplanned downtime. Sorry for the troubles.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-10-14 20:30:00</td>
+          <td>
+            <b>Unexpected power failure</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p><span>Dear Anselm users,</span></p>
+<p><span><br /></span></p>
+<p><span>on Tuesday 14th approximately at 17:20 CEST we encountered power failure during service operation on backup diesel generator. The system shut down. Additional checks after the shutdown took more time than what would expect.</span><span><span> The system was back on-line with all services approximately at 21:00 CEST.</span> We are very sorry for any troubles, this matter may caused you.  If some of your jobs ended in incorrect state, please feel free to reclaim your core hours.</span></p>
+<p><span><br /></span></p>
+<p><span>Thank you for understanding, <br />Anselm Administrators</span></p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-07-17 13:50:00</td>
+          <td>
+            <b>Login2(!) downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Friday, 18th July from 13:00 till 16:00 CEST. Please, take in mind that login2.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-07-16 13:11:34</td>
+          <td>
+            <b>Login1 downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Thursday, 17th July from 13:00 till 16:00 CEST. Please, take in mind that login1.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-06-18 10:51:56</td>
+          <td>
+            <b>Login2 downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Wednesday, 18th June from 11:20 till 14:20 CEST. Please, take in mind that login2.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-05-22 00:00:00</td>
+          <td>
+            <b>Outage</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users.<br /><br />As of today (20140523 10:45) we had an unmanaged outage of a few nodes. Affected nodes were cn[117-126,193-195].<br /><br />Sorry for the inconveniences,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-04-11 11:30:00</td>
+          <td>
+            <b>Heartbleed bug</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear users of the Anselm cluster,<br /> <br /> A serious bug in the OpenSSL library, known as the "Heartbleed bug" has been recently discovered. <span>We would like to ensure you that IT4I has taken all necessary steps to fix the OpenSSL library on all the systems.</span><br /> The bug in OpenSSL library affected many sites worldwide for nearly two years. At this moment, there is no evidence that any abuse of data took place at IT4I.<br /> In order to ensure the security and integrity of IT4I systems, all users will be issued new login credentials, including password and ssh keys.<br /> <span>For more informations about the Heartbleed bug, please see: </span><a class="moz-txt-link-freetext external-link" href="https://docs.it4i.cz/heartbleed-bug" target="_self" title="">https://docs.it4i.cz/heartbleed-bug</a><br /> <br />Thank you for your understanding.<br /> IT4Innovations team</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-04-02 13:05:00</td>
+          <td>
+            <b>Scheduler is Down</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We are sorry for the current scheduler issues which are caused by an inconsistency of the internal PBS database. Thus it's not possible to interact with the scheduler now. In addition, some jobs may be affected and some job outputs may not be retrieved at this moment.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-03-26 15:50:00</td>
+          <td>
+            <b>Temporary Scratch Mount on Login1</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Because of the Lustre issues (mentioned in previous announcements) there's a temporary mount point for Scratch filesystem on login1 node. Please, follow this path to access your data:</p>
+<p>/scratch_nfs/</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-03-26 13:10:00</td>
+          <td>
+            <b>Both Login Nodes Inaccessible</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>We are sorry for the inaccessibility of both login nodes. We are co-operating with our supplier and trying hard to solve this problem as soon as possible.</p>
+<p>Thank you for understanding.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2014-03-25 22:05:00</td>
+          <td>
+            <b>Login1(!) Not Responding</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Currently, if you're having trouble while accessing Anselm, please use address login2.anselm.it4i.cz instead of anselm.it4i.cz. There's a Lustre issue with the login1 node, which causes it to not respond.</p>
+<p>We'll let you know by MOTD when login1 comes back online.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-12-03 00:00:00</td>
+          <td>
+            <b>Planned Downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>On 17th December 08:00 to 18:00 CET Anselm will be down for maintenance. Power supply upgrade will take place, as well as system maintenance and software updates.<br /><br />Prior to the period:<br />- Jobs will be scheduled for running with a respect to the downtime.<br /><br />During the period:<br />- No Anselm HPC service will be available.<br />- Following web applications will not be accessible: Request Tracker, Anselm cluster documentation, Anselm Allocation.<br />- Submitting tickets through the e-mail address <a class="email-link" href="mailto:support[at]it4i.cz" target="_self" title="">support[at]it4i.cz</a> will be delayed.<br /><br />After the period:<br />- All service will be brought back to normal.<br />- Jobs in a 'Q' state will be scheduled for running.<br /><br />We are sorry for the inconvenience.</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-10-14 00:00:00</td>
+          <td>
+            <b>Cooling system unstable</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there was an unplanned downtime due to severe issues with the cold doors today. We are trying hard to bring all services up. We assume that we will finish the maintenance at about 13:30 CEST.<br /><br />Thank you for understanding.<br /><br />Sincerely yours,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-09-17 15:50:00</td>
+          <td>
+            <b>A Fair Amount of Nodes Down</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />We had an outage on the Anselm Cluster. A fair amount of the nodes was unavailable to production.<br /><br />Consider terminated job resubmission.<br /><br />We are sorry for the troubles,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-08-23 15:25:00</td>
+          <td>
+            <b>Infiniband Maintenance Window</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />We would like to inform you about a planned Infiniband maintenance window, on Wednesday, 28th August from 09:00 till 16:30 CEST.<br />No Anselm service will be available during this outage.<br /><br />New batch jobs will not be scheduled for running during this time. Consider altering the job walltime, to achieve job execution prior to the downtime (See Job Submission in the Anselm Documentation).<br /><br />Sincerely yours,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-08-14 17:10:00</td>
+          <td>
+            <b>Planned Upgrade / Scheduler Downtime</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users,<br /><br />there's an upgrade planned on Thursday, 15th August from 18:00 till 22:00 CEST. Please, take in mind that PBS scheduler won't accept your jobs at the given timeframe. We are sorry for the inconvenience.<br /><br />Thank you for understanding,<br />Anselm Admins</p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-07-16 13:45:00</td>
+          <td>
+            <b>Anselm Cluster Upgrade - July 23rd</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users.<br /><br />We would like to inform you that Anselm cluster will be unavailable due to upgrades on Tuesday, July 23rd from 07:00 to 20:00 CEST.<br /><br />Sorry for the inconvenience,<br />Anselm admins<br /><br />-- <br /><br />Anselm cluster documentation can be found at:<br /><a class="external-link" href="http://support.it4i.cz/docs/anselm-cluster-documentation/" target="_self" title="">http://support.it4i.cz/docs/anselm-cluster-documentation/</a></p>
+        </div></p>
+          </td>
+        </tr>
+        <tr>
+          <td style="white-space: nowrap;">2013-06-27 09:35:00</td>
+          <td>
+            <b>SSH Password Authentication</b>
+            <p><div class="plain" id="parent-fieldname-text">
+            <p>Dear Anselm users.<br /><br />If you are experiencing some troubles when using SSH PasswordAuthentication on the client side, please switch to PubkeyAuthentication instead.<br /><br />We are trying hard to resolve this issue.<br /><br />Sincerely yours,<br />Anselm admins</p>
+        </div></p>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+</div>
+
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Mon, 18 Jul 2016 15:34:03 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/downtimes_history</guid>
+    </item>
+    <item>
+      <title>List of Available Modules</title>
+      <description>List of Available Modules on Salomon Cluster</description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-d445aa50ee524368ad3e74f6a3a1b9fb" class="">
+            <div>
+
+      <h2 id="categories">Categories</h2>
+
+      <ul>
+        <li>
+          <a href="#base">base</a><br />
+        </li>
+        <li>
+          <a href="#bio">bio</a><br />
+        </li>
+        <li>
+          <a href="#cae">cae</a><br />
+        </li>
+        <li>
+          <a href="#chem">chem</a><br />
+        </li>
+        <li>
+          <a href="#compiler">compiler</a><br />
+        </li>
+        <li>
+          <a href="#data">data</a><br />
+        </li>
+        <li>
+          <a href="#debugger">debugger</a><br />
+        </li>
+        <li>
+          <a href="#devel">devel</a><br />
+        </li>
+        <li>
+          <a href="#geo">geo</a><br />
+        </li>
+        <li>
+          <a href="#lang">lang</a><br />
+        </li>
+        <li>
+          <a href="#lib">lib</a><br />
+        </li>
+        <li>
+          <a href="#math">math</a><br />
+        </li>
+        <li>
+          <a href="#mpi">mpi</a><br />
+        </li>
+        <li>
+          <a href="#numlib">numlib</a><br />
+        </li>
+        <li>
+          <a href="#perf">perf</a><br />
+        </li>
+        <li>
+          <a href="#phys">phys</a><br />
+        </li>
+        <li>
+          <a href="#system">system</a><br />
+        </li>
+        <li>
+          <a href="#toolchain">toolchain</a><br />
+        </li>
+        <li>
+          <a href="#tools">tools</a><br />
+        </li>
+        <li>
+          <a href="#vis">vis</a><br />
+        </li>
+      </ul>
+
+      <div>
+      <h2 id="base"><a class="tooltip" title="Go to list of categories..." href="#categories">base</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>EasyBuild</b><br />
+              <a href="http://hpcugent.github.com/easybuild/">http://hpcugent.github.com/easybuild/</a>
+            </td>
+            <td>EasyBuild is a software build and installation framework
+written in Python that allows you to install software in a structured,
+repeatable and robust way.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.1</li>
+                <li style="white-space: nowrap;">2.2.0</li>
+                <li style="white-space: nowrap;">2.3.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Python</b><br />
+              <a href="http://python.org/">http://python.org/</a>
+            </td>
+            <td>Python is a programming language that lets you work more quickly and integrate your systems more effectively.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.4.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="bio"><a class="tooltip" title="Go to list of categories..." href="#categories">bio</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Amber</b><br />
+              <a href="http://ambermd.org">http://ambermd.org</a>
+            </td>
+            <td>A set of molecular mechanical force fields for the simulation of biomolecules</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">14</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>BCFtools</b><br />
+              <a href="http://www.htslib.org/">http://www.htslib.org/</a>
+            </td>
+            <td>Samtools is a suite of programs for interacting with high-throughput sequencing data.
+ BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>BWA</b><br />
+              <a href="http://bio-bwa.sourceforge.net/">http://bio-bwa.sourceforge.net/</a>
+            </td>
+            <td>Burrows-Wheeler Aligner (BWA) is an efficient program that aligns
+ relatively short nucleotide sequences against a long reference sequence such as the human genome.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.7.5a-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>FastQC</b><br />
+              <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">http://www.bioinformatics.babraham.ac.uk/projects/fastqc/</a>
+            </td>
+            <td>FastQC is a quality control application for high throughput sequence data.
+ It reads in sequence data in a variety of formats and can either provide an interactive
+ application to review the results of several different QC checks, or create an HTML based
+ report which can be integrated into a pipeline.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.11.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GATK</b><br />
+              <a href="http://www.broadinstitute.org/gatk/">http://www.broadinstitute.org/gatk/</a>
+            </td>
+            <td>The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute
+ to analyse next-generation resequencing data. The toolkit offers a wide variety of tools,
+ with a primary focus on variant discovery and genotyping as well as strong emphasis on
+ data quality assurance. Its robust architecture, powerful processing engine and
+ high-performance computing features make it capable of taking on projects of any size.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.6-5-Java-1.7.0_79</li>
+                <li style="white-space: nowrap;">3.5-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GROMACS</b><br />
+              <a href="http://www.gromacs.org">http://www.gromacs.org</a>
+            </td>
+            <td>GROMACS is a versatile package to perform molecular dynamics,
+ i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.6.7-foss-2015g-hybrid-single-PLUMED</li>
+                <li style="white-space: nowrap;">5.0.4-foss-2015e-hybrid-single-PLUMED</li>
+                <li style="white-space: nowrap;">5.0.4-foss-2015g-hybrid-single</li>
+                <li style="white-space: nowrap;">5.0.4-foss-2015g-hybrid-single-PLUMED</li>
+                <li style="white-space: nowrap;">5.0.4-ictce-7.3.5-hybrid-single</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HTSlib</b><br />
+              <a href="http://www.htslib.org/">http://www.htslib.org/</a>
+            </td>
+            <td> A C library for reading/writing high-throughput sequencing data.
+ This package includes the utilities bgzip and tabix </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PLUMED</b><br />
+              <a href="http://www.plumed-code.org">http://www.plumed-code.org</a>
+            </td>
+            <td>PLUMED is an open source library for free energy calculations
+ in molecular systems which works together with some of the most popular molecular
+ dynamics engines. Free energy calculations can be performed as a function of many
+ order parameters with a particular  focus on biological problems, using state of
+ the art methods such as metadynamics, umbrella sampling and Jarzynski-equation 
+ based steered MD. The software, written in C++, can be easily interfaced with 
+ both fortran and C/C++ codes.
+ </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>RELION</b><br />
+              <a href="http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page">http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page</a>
+            </td>
+            <td>RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone computer
+ program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class
+ averages in electron cryo-microscopy (cryo-EM).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SAMtools</b><br />
+              <a href="http://www.htslib.org/">http://www.htslib.org/</a>
+            </td>
+            <td>SAM Tools provide various utilities for manipulating alignments in the SAM format, 
+ including sorting, merging, indexing and generating alignments in a per-position format.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SnpEff</b><br />
+              <a href="http://snpeff.sourceforge.net/">http://snpeff.sourceforge.net/</a>
+            </td>
+            <td>Genetic variant annotation and effect prediction toolbox.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.1_G</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Trimmomatic</b><br />
+              <a href="http://www.usadellab.org/cms/?page=trimmomatic">http://www.usadellab.org/cms/?page=trimmomatic</a>
+            </td>
+            <td>Trimmomatic performs a variety of useful trimming tasks for illumina 
+ paired-end and single ended data.The selection of trimming steps and their associated 
+ parameters are supplied on the command line. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.35-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>almost</b><br />
+              <a href="http://www-almost.ch.cam.ac.uk/site">http://www-almost.ch.cam.ac.uk/site</a>
+            </td>
+            <td>all atom molecular simulation toolkit
+ - is a fast and flexible molecular modeling environment 
+ that provides powerful and efficient algorithms for molecular
+ simulation, homology modeling, de novo design and ab-initio 
+ calculations.
+ </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.0-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>picard</b><br />
+              <a href="http://sourceforge.net/projects/picard">http://sourceforge.net/projects/picard</a>
+            </td>
+            <td>A set of tools (in Java) for working with next generation sequencing data in the BAM format.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.119</li>
+                <li style="white-space: nowrap;">2.1.0</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="cae"><a class="tooltip" title="Go to list of categories..." href="#categories">cae</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>ANSYS</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">16.1</li>
+                <li style="white-space: nowrap;">17.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Adams</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>COMSOL</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">51-COM</li>
+                <li style="white-space: nowrap;">51-EDU</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Digimat</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.1-COM</li>
+                <li style="white-space: nowrap;">5.0.1-EDU</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>FreeFem++</b><br />
+              <a href="http://www.freefem.org">http://www.freefem.org</a>
+            </td>
+            <td>FreeFem++ is a partial differential equation solver. It has its own language. freefem scripts can solve multiphysics non linear systems in 2D and 3D.
+Problems involving PDE (2d, 3d) from several branches of physics such as fluid-structure interactions require interpolations of data on several meshes and their manipulation within one program. FreeFem++ includes a fast 2^d-tree-based interpolation algorithm and a language for the manipulation of data on multiple meshes (as a follow up of bamg (now a part of FreeFem++ ).
+
+FreeFem++ is written in C++ and the FreeFem++ language is a C++ idiom. It runs on Macs, Windows, Unix machines. FreeFem++ replaces the older freefem and freefem+.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.45-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HyperWorks</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">13.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Marc</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.1.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenFOAM</b><br />
+              <a href="http://www.openfoam.com/">http://www.openfoam.com/</a>
+            </td>
+            <td>OpenFOAM is a free, open source CFD software package. 
+ OpenFOAM has an extensive range of features to solve anything from complex fluid flows
+ involving chemical reactions, turbulence and heat transfer, 
+ to solid dynamics and electromagnetics.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.2.2-intel-2015b</li>
+                <li style="white-space: nowrap;">2.3.0-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="chem"><a class="tooltip" title="Go to list of categories..." href="#categories">chem</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>ABINIT</b><br />
+              <a href="http://www.abinit.org/">http://www.abinit.org/</a>
+            </td>
+            <td>Abinit is a plane wave pseudopotential code for doing
+ condensed phase electronic structure calculations using DFT.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.10.1-foss-2015b</li>
+                <li style="white-space: nowrap;">7.10.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>CP2K</b><br />
+              <a href="http://www.cp2k.org/">http://www.cp2k.org/</a>
+            </td>
+            <td>CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular
+ simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different
+ methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and
+ classical pair and many-body potentials. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.6.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LAMMPS</b><br />
+              <a href="http://lammps.sandia.gov">http://lammps.sandia.gov</a>
+            </td>
+            <td>LAMMPS is a classical molecular dynamics code, 
+and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator.
+Has potentials for solid-state materials (metals, semiconductors) and soft 
+matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. 
+It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, 
+meso, or continuum scale.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">28Jun14-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Libint</b><br />
+              <a href="https://sourceforge.net/p/libint/">https://sourceforge.net/p/libint/</a>
+            </td>
+            <td>Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body
+matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-foss-2015b</li>
+                <li style="white-space: nowrap;">1.1.4-gompi-2015b</li>
+                <li style="white-space: nowrap;">1.1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Molpro</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2010.1-patch-57-intel2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>NAMD</b><br />
+              <a href="http://www.ks.uiuc.edu/Research/namd/">http://www.ks.uiuc.edu/Research/namd/</a>
+            </td>
+            <td>NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.9-mpi</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>NWChem</b><br />
+              <a href="http://www.nwchem-sw.org">http://www.nwchem-sw.org</a>
+            </td>
+            <td>NWChem aims to provide its users with computational chemistry tools that are scalable both in
+ their ability to treat large scientific computational chemistry problems efficiently, and in their use of available
+ parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters.
+ NWChem software can handle: biomolecules, nanostructures, and solid-state; from quantum to classical, and all
+ combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties
+ and relativity.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.3.revision2-2013-10-17-Python-2.7.8</li>
+                <li style="white-space: nowrap;">6.5.revision26243-intel-2015b-2014-09-10-Python-2.7.8</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>S4MPLE</b><br />
+              <a href="http://infochim.u-strasbg.fr/spip.php?rubrique152">http://infochim.u-strasbg.fr/spip.php?rubrique152</a>
+            </td>
+            <td>S4MPLE (Sampler For Multiple Protein-Ligand Entities) is a flexible molecular modeling tool, supporting empirical
+force field-driven conformational sampling and geometry optimization heuristics using a hybrid genetic algorithm (GA).
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libctl</b><br />
+              <a href="http://ab-initio.mit.edu/libctl">http://ab-initio.mit.edu/libctl</a>
+            </td>
+            <td>libctl is a free Guile-based library implementing flexible control files for scientific simulations.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.2.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libxc</b><br />
+              <a href="http://www.tddft.org/programs/octopus/wiki/index.php/Libxc">http://www.tddft.org/programs/octopus/wiki/index.php/Libxc</a>
+            </td>
+            <td>Libxc is a library of exchange-correlation functionals for density-functional theory.
+ The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.2.0-foss-2015b</li>
+                <li style="white-space: nowrap;">2.2.0-gompi-2015b</li>
+                <li style="white-space: nowrap;">2.2.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="compiler"><a class="tooltip" title="Go to list of categories..." href="#categories">compiler</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>BerkeleyUPC</b><br />
+              <a href="http://upc.lbl.gov">http://upc.lbl.gov</a>
+            </td>
+            <td>The goal of the Berkeley UPC compiler group is to develop a portable, 
+high performance implementation of UPC for large-scale multiprocessors, PC clusters, 
+and clusters of shared memory multiprocessors. 
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.16.2-gompi-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Clang</b><br />
+              <a href="http://clang.llvm.org/">http://clang.llvm.org/</a>
+            </td>
+            <td>C, C++, Objective-C compiler, based on LLVM.  Does not
+ include C++ standard library -- use libstdc++ from GCC.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.7.0-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GCC</b><br />
+              <a href="http://gcc.gnu.org/">http://gcc.gnu.org/</a>
+            </td>
+            <td>The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
+ as well as libraries for these languages (libstdc++, libgcj,...).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.7-system</li>
+                <li style="white-space: nowrap;">4.7.4</li>
+                <li style="white-space: nowrap;">4.8.3</li>
+                <li style="white-space: nowrap;">4.9.2-binutils-2.25</li>
+                <li style="white-space: nowrap;">4.9.3</li>
+                <li style="white-space: nowrap;">4.9.3-2.25</li>
+                <li style="white-space: nowrap;">4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">5.2.0</li>
+                <li style="white-space: nowrap;">5.3.0-2.25</li>
+                <li style="white-space: nowrap;">5.3.0-2.26</li>
+                <li style="white-space: nowrap;">5.3.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">5.3.1-snapshot-20160419-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GCCcore</b><br />
+              <a href="http://gcc.gnu.org/">http://gcc.gnu.org/</a>
+            </td>
+            <td>The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada,
+ as well as libraries for these languages (libstdc++, libgcj,...).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.9.3</li>
+                <li style="white-space: nowrap;">5.3.0</li>
+                <li style="white-space: nowrap;">5.3.1-snapshot-20160419</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LLVM</b><br />
+              <a href="http://llvm.org/">http://llvm.org/</a>
+            </td>
+            <td>The LLVM Core libraries provide a modern source- and target-independent
+ optimizer, along with code generation support for many popular CPUs
+ (as well as some less common ones!) These libraries are built around a well
+ specified code representation known as the LLVM intermediate representation
+ ("LLVM IR"). The LLVM Core libraries are well documented, and it is
+ particularly easy to invent your own language (or port an existing compiler)
+ to use LLVM as an optimizer and code generator.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.7.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCoarrays</b><br />
+              <a href="http://www.opencoarrays.org/">http://www.opencoarrays.org/</a>
+            </td>
+            <td>A transport layer for coarray Fortran compilers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.0-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">1.4.0-GCC-5.3.1-snapshot-20160419-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PGI</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">15.7</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>icc</b><br />
+              <a href="http://software.intel.com/en-us/intel-compilers/">http://software.intel.com/en-us/intel-compilers/</a>
+            </td>
+            <td>C and C++ compiler from Intel</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.5.192</li>
+                <li style="white-space: nowrap;">2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2015.3.187</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ifort</b><br />
+              <a href="http://software.intel.com/en-us/intel-compilers/">http://software.intel.com/en-us/intel-compilers/</a>
+            </td>
+            <td>Fortran compiler from Intel</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.5.192</li>
+                <li style="white-space: nowrap;">2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2015.3.187</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="data"><a class="tooltip" title="Go to list of categories..." href="#categories">data</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>GDAL</b><br />
+              <a href="http://www.gdal.org/">http://www.gdal.org/</a>
+            </td>
+            <td>GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style
+ Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model
+ to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for
+ data translation and processing.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.9.2-foss-2015g</li>
+                <li style="white-space: nowrap;">2.0.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.1.0-GNU-5.1.0-2.25-intel-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HDF5</b><br />
+              <a href="http://www.hdfgroup.org/HDF5/">http://www.hdfgroup.org/HDF5/</a>
+            </td>
+            <td>HDF5 is a unique technology suite that makes possible the management of 
+ extremely large and complex data collections.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10.0-patch1-intel-2016.01-mic</li>
+                <li style="white-space: nowrap;">1.8.13-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.13-intel-2015b</li>
+                <li style="white-space: nowrap;">1.8.13-intel-2015b-no-mpi</li>
+                <li style="white-space: nowrap;">1.8.13-intel-2016.01</li>
+                <li style="white-space: nowrap;">1.8.14-ictce-7.3.5-serial</li>
+                <li style="white-space: nowrap;">1.8.15-patch1-foss-2015b</li>
+                <li style="white-space: nowrap;">1.8.16-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.16-intel-2015b</li>
+                <li style="white-space: nowrap;">1.8.16-intel-2015b-threadsafe</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>h5py</b><br />
+              <a href="http://www.h5py.org/">http://www.h5py.org/</a>
+            </td>
+            <td>HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library,
+ version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous
+ amounts of data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.0-ictce-7.3.5-Python-2.7.9-serial</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>netCDF</b><br />
+              <a href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>
+            </td>
+            <td>NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3.2-foss-2015g</li>
+                <li style="white-space: nowrap;">4.3.2-intel-2015b</li>
+                <li style="white-space: nowrap;">4.3.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">4.3.3.1-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>netCDF-Fortran</b><br />
+              <a href="http://www.unidata.ucar.edu/software/netcdf/">http://www.unidata.ucar.edu/software/netcdf/</a>
+            </td>
+            <td>NetCDF (network Common Data Form) is a set of software libraries 
+ and machine-independent data formats that support the creation, access, and sharing of array-oriented 
+ scientific data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="debugger"><a class="tooltip" title="Go to list of categories..." href="#categories">debugger</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>DDT</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2</li>
+                <li style="white-space: nowrap;">5.0.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Forge</b><br />
+              <a href="http://www.allinea.com/products/develop-allinea-forge">http://www.allinea.com/products/develop-allinea-forge</a>
+            </td>
+            <td>Allinea Forge is the complete toolsuite for software development 
+- with everything needed to debug, profile, optimize, edit and build C, C++ 
+and FORTRAN applications on Linux for high performance - from single threads through 
+to complex parallel HPC codes with MPI, OpenMP, threads or CUDA.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1-43967</li>
+                <li style="white-space: nowrap;">6.0.5</li>
+                <li style="white-space: nowrap;">6.0.6</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PerformanceReports</b><br />
+              <a href="http://www.allinea.com/products/allinea-performance-reports">http://www.allinea.com/products/allinea-performance-reports</a>
+            </td>
+            <td>Allinea Performance Reports are the most effective way
+to characterize and understand the performance of HPC application runs. 
+One single-page HTML report elegantly answers a range of vital questions for any HPC site.
+ - Is this application well-optimized for the system and the processors it is running on?
+ - Does it benefit from running at this scale?
+ - Are there I/O, networking or threading bottlenecks affecting performance?
+ - Which hardware, software or configuration changes can we make to improve performance further.
+ - How much energy did this application use?
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1-43967</li>
+                <li style="white-space: nowrap;">6.0.6</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>TotalView</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.15.4-6-linux-x86-64</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Valgrind</b><br />
+              <a href="http://valgrind.org/downloads/">http://valgrind.org/downloads/</a>
+            </td>
+            <td>Valgrind: Debugging and profiling tools</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.11.0-foss-2015b</li>
+                <li style="white-space: nowrap;">3.11.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>aislinn</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20160105-Python-2.7.9-gompi-2015e</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="devel"><a class="tooltip" title="Go to list of categories..." href="#categories">devel</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Autoconf</b><br />
+              <a href="http://www.gnu.org/software/autoconf/">http://www.gnu.org/software/autoconf/</a>
+            </td>
+            <td>Autoconf is an extensible package of M4 macros that produce shell scripts
+ to automatically configure software source code packages. These scripts can adapt the
+ packages to many kinds of UNIX-like systems without manual user intervention. Autoconf
+ creates a configuration script for a package from a template file that lists the
+ operating system features that the package can use, in the form of M4 macro calls.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.69</li>
+                <li style="white-space: nowrap;">2.69-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.69-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.69-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.69-foss-2015g</li>
+                <li style="white-space: nowrap;">2.69-intel-2015b</li>
+                <li style="white-space: nowrap;">2.69-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Automake</b><br />
+              <a href="http://www.gnu.org/software/automake/automake.html">http://www.gnu.org/software/automake/automake.html</a>
+            </td>
+            <td>Automake: GNU Standards-compliant Makefile generator</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.15</li>
+                <li style="white-space: nowrap;">1.15-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.15-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.15-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.15-foss-2015g</li>
+                <li style="white-space: nowrap;">1.15-intel-2015b</li>
+                <li style="white-space: nowrap;">1.15-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Autotools</b><br />
+              <a href="http://autotools.io">http://autotools.io</a>
+            </td>
+            <td>This bundle collect the standard GNU build tools: Autoconf, Automake and libtool</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20150215</li>
+                <li style="white-space: nowrap;">20150215-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">20150215-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">20150215-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">20150215-intel-2015b</li>
+                <li style="white-space: nowrap;">20150215-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Boost</b><br />
+              <a href="http://www.boost.org/">http://www.boost.org/</a>
+            </td>
+            <td>Boost provides free peer-reviewed portable C++ source libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.58.0-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-gompi-2015e-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-ictce-7.3.5-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.58.0-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.59.0-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">1.59.0-intel-2016.01</li>
+                <li style="white-space: nowrap;">1.60.0-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>CMake</b><br />
+              <a href="http://www.cmake.org">http://www.cmake.org</a>
+            </td>
+            <td>CMake, the cross-platform, open-source build system.
+ CMake is a family of tools designed to build, test and package software.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.0.0-foss-2015g</li>
+                <li style="white-space: nowrap;">3.0.0-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.3.1-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-GCC-5.3.1-snapshot-20160419-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.3.1-foss-2015g</li>
+                <li style="white-space: nowrap;">3.3.1-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.3.2-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.3.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.4.1-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">3.4.1-foss-2015b</li>
+                <li style="white-space: nowrap;">3.4.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.5.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Doxygen</b><br />
+              <a href="http://www.doxygen.org">http://www.doxygen.org</a>
+            </td>
+            <td>Doxygen is a documentation system for C++, C, Java, Objective-C, Python, 
+ IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.10-foss-2015b</li>
+                <li style="white-space: nowrap;">1.8.11</li>
+                <li style="white-space: nowrap;">1.8.7-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.7-intel-2015b</li>
+                <li style="white-space: nowrap;">1.8.7-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>JUnit</b><br />
+              <a href="http://sourceforge.net/projects/junit">http://sourceforge.net/projects/junit</a>
+            </td>
+            <td>A programmer-oriented testing framework for Java.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.11-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>M4</b><br />
+              <a href="http://www.gnu.org/software/m4/m4.html">http://www.gnu.org/software/m4/m4.html</a>
+            </td>
+            <td>GNU M4 is an implementation of the traditional Unix macro processor.
+ It is mostly SVR4 compatible although it has some extensions 
+ (for example, handling more than 9 positional parameters to macros).
+ GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.16-foss-2015g</li>
+                <li style="white-space: nowrap;">1.4.16-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.17</li>
+                <li style="white-space: nowrap;">1.4.17-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">1.4.17-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">1.4.17-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">1.4.17-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.4.17-foss-2015b</li>
+                <li style="white-space: nowrap;">1.4.17-foss-2015g</li>
+                <li style="white-space: nowrap;">1.4.17-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.17-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Maven</b><br />
+              <a href="http://maven.apache.org/index.html">http://maven.apache.org/index.html</a>
+            </td>
+            <td>Binary maven install, Apache Maven is a software project management and comprehension tool. Based on
+the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a
+central piece of information.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.3.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PCRE</b><br />
+              <a href="http://www.pcre.org/">http://www.pcre.org/</a>
+            </td>
+            <td>
+ The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax
+ and semantics as Perl 5.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.36-foss-2015g</li>
+                <li style="white-space: nowrap;">8.36-intel-2015b</li>
+                <li style="white-space: nowrap;">8.36-intel-2016.01</li>
+                <li style="white-space: nowrap;">8.37</li>
+                <li style="white-space: nowrap;">8.37-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Qt</b><br />
+              <a href="http://qt-project.org/">http://qt-project.org/</a>
+            </td>
+            <td>Qt is a comprehensive cross-platform C++ application framework.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.8.6-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SCons</b><br />
+              <a href="http://www.scons.org/">http://www.scons.org/</a>
+            </td>
+            <td>SCons is a software construction tool.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.6-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.3.6-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SQLite</b><br />
+              <a href="http://www.sqlite.org/">http://www.sqlite.org/</a>
+            </td>
+            <td>SQLite: SQL Database Engine in a C Library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.10.1-foss-2015g</li>
+                <li style="white-space: nowrap;">3.8.10.2-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.8.10.2-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">3.8.8.1</li>
+                <li style="white-space: nowrap;">3.8.8.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.8.8.1-foss-2015b</li>
+                <li style="white-space: nowrap;">3.8.8.1-foss-2015g</li>
+                <li style="white-space: nowrap;">3.8.8.1-gompi-2015e</li>
+                <li style="white-space: nowrap;">3.8.8.1-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">3.8.8.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.8.8.1-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.9.2-foss-2015g</li>
+                <li style="white-space: nowrap;">3.9.2-intel-2015b</li>
+                <li style="white-space: nowrap;">3.9.2-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SWIG</b><br />
+              <a href="http://www.swig.org/">http://www.swig.org/</a>
+            </td>
+            <td>SWIG is a software development tool that connects programs written in C and C++ with
+ a variety of high-level programming languages.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.0.12-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.0.12-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.0.7-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Spark</b><br />
+              <a href="http://spark.apache.org">http://spark.apache.org</a>
+            </td>
+            <td>Spark is Hadoop MapReduce done in memory</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ant</b><br />
+              <a href="http://ant.apache.org/">http://ant.apache.org/</a>
+            </td>
+            <td>Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files
+ as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.9.3-Java-1.7.0_79</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>fontsproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 font extension wire protocol</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>glproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X protocol and ancillary headers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.16-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gperf</b><br />
+              <a href="http://www.gnu.org/software/gperf/">http://www.gnu.org/software/gperf/</a>
+            </td>
+            <td>GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash
+ function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash
+ function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single
+ string comparison only.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.0.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>guile</b><br />
+              <a href="http://www.gnu.org/software/guile">http://www.gnu.org/software/guile</a>
+            </td>
+            <td>Guile is the GNU Ubiquitous Intelligent Language for Extensions,
+ the official extension language for the GNU operating system.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.8</li>
+                <li style="white-space: nowrap;">1.8.8-foss-2015b</li>
+                <li style="white-space: nowrap;">1.8.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.8.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libSM</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 Session Management library, which allows for applications to both manage sessions,
+ and make use of session managers to save and restore their state for later use.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.2</li>
+                <li style="white-space: nowrap;">1.2.2-foss-2015g</li>
+                <li style="white-space: nowrap;">1.2.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>make</b><br />
+              <a href="http://www.gnu.org/software/make/make.html">http://www.gnu.org/software/make/make.html</a>
+            </td>
+            <td>make-3.82: GNU version of make utility</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.82</li>
+                <li style="white-space: nowrap;">3.82-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>makedepend</b><br />
+              <a href="http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html">http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html</a>
+            </td>
+            <td>The makedepend package contains a C-preprocessor like utility to determine build-time dependencies.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.4</li>
+                <li style="white-space: nowrap;">1.0.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ncurses</b><br />
+              <a href="http://www.gnu.org/software/ncurses/">http://www.gnu.org/software/ncurses/</a>
+            </td>
+            <td>The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0,
+ and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and
+ function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.9</li>
+                <li style="white-space: nowrap;">5.9-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">5.9-GCC-5.3.1-snapshot-20160419-2.25</li>
+                <li style="white-space: nowrap;">5.9-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">5.9-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">5.9-foss-2015b</li>
+                <li style="white-space: nowrap;">5.9-foss-2015g</li>
+                <li style="white-space: nowrap;">5.9-gompi-2015e</li>
+                <li style="white-space: nowrap;">5.9-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">5.9-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">5.9-intel-2015b</li>
+                <li style="white-space: nowrap;">5.9-intel-2016.01</li>
+                <li style="white-space: nowrap;">6.0</li>
+                <li style="white-space: nowrap;">6.0-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">6.0-foss-2015b</li>
+                <li style="white-space: nowrap;">6.0-foss-2015g</li>
+                <li style="white-space: nowrap;">6.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>pkg-config</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/pkg-config/">http://www.freedesktop.org/wiki/Software/pkg-config/</a>
+            </td>
+            <td>pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the
+ correct compiler options on the command line so an application can use
+  gcc -o test test.c `pkg-config --libs --cflags glib-2.0`
+ for instance, rather than hard-coding values on where to find glib (or other libraries).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.27.1</li>
+                <li style="white-space: nowrap;">0.27.1-foss-2015b</li>
+                <li style="white-space: nowrap;">0.27.1-foss-2015g</li>
+                <li style="white-space: nowrap;">0.27.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>python-meep</b><br />
+              <a href="https://code.launchpad.net/python-meep">https://code.launchpad.net/python-meep</a>
+            </td>
+            <td>Python wrapper for the Meep FDTD solver.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4.2-intel-2015b-Python-2.7.9-Meep-1.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>renderproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>Xrender protocol and ancillary headers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.11</li>
+                <li style="white-space: nowrap;">0.11-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xbitmaps</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>provides bitmaps for x</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.1</li>
+                <li style="white-space: nowrap;">1.1.1-foss-2015g</li>
+                <li style="white-space: nowrap;">1.1.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xcb-proto</b><br />
+              <a href="http://xcb.freedesktop.org/">http://xcb.freedesktop.org/</a>
+            </td>
+            <td>The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint,
+latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.11-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xextproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>XExtProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.3.0</li>
+                <li style="white-space: nowrap;">7.3.0-foss-2015g</li>
+                <li style="white-space: nowrap;">7.3.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xineramaproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X protocol and ancillary headers for xinerama</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xorg-macros</b><br />
+              <a href="http://cgit.freedesktop.org/xorg/util/macros">http://cgit.freedesktop.org/xorg/util/macros</a>
+            </td>
+            <td>X.org macros utilities.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.17-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X protocol and ancillary headers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.0.26</li>
+                <li style="white-space: nowrap;">7.0.26-foss-2015g</li>
+                <li style="white-space: nowrap;">7.0.26-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>xtrans</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>xtrans includes a number of routines to make X implementations transport-independent;
+ at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.4-intel-2015b</li>
+                <li style="white-space: nowrap;">1.3.5</li>
+                <li style="white-space: nowrap;">1.3.5-foss-2015g</li>
+                <li style="white-space: nowrap;">1.3.5-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="geo"><a class="tooltip" title="Go to list of categories..." href="#categories">geo</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>DCW</b><br />
+              <a href="http://gmt.soest.hawaii.edu/projects/gmt">http://gmt.soest.hawaii.edu/projects/gmt</a>
+            </td>
+            <td>country polygons for GMT</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GMT</b><br />
+              <a href="http://gmt.soest.hawaii.edu/">http://gmt.soest.hawaii.edu/</a>
+            </td>
+            <td>GMT is an open source collection of about 80 command-line tools for manipulating
+ geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting,
+ etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps
+ to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another
+ 40 more specialized and discipline-specific tools. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.2.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PROJ_4</b><br />
+              <a href="http://proj.osgeo.org">http://proj.osgeo.org</a>
+            </td>
+            <td>PROJ.4 - Cartographic Projections Library originally written by Gerald Evenden then of the USGS.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.9.2-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="lang"><a class="tooltip" title="Go to list of categories..." href="#categories">lang</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Bison</b><br />
+              <a href="http://www.gnu.org/software/bison">http://www.gnu.org/software/bison</a>
+            </td>
+            <td>Bison is a general-purpose parser generator that converts an annotated context-free grammar
+ into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.5-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.7-foss-2015b</li>
+                <li style="white-space: nowrap;">2.7-foss-2015g</li>
+                <li style="white-space: nowrap;">2.7-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.2</li>
+                <li style="white-space: nowrap;">3.0.2-foss-2015g</li>
+                <li style="white-space: nowrap;">3.0.2-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.0.4</li>
+                <li style="white-space: nowrap;">3.0.4-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">3.0.4-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">3.0.4-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">3.0.4-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">3.0.4-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">3.0.4-foss-2015b</li>
+                <li style="white-space: nowrap;">3.0.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Java</b><br />
+              <a href="http://java.com/">http://java.com/</a>
+            </td>
+            <td>Java Platform, Standard Edition (Java SE) lets you develop and deploy
+ Java applications on desktops and servers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.7.0_79</li>
+                <li style="white-space: nowrap;">1.8.0_51</li>
+                <li style="white-space: nowrap;">1.8.0_72</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Mono</b><br />
+              <a href="http://www.mono-project.com">http://www.mono-project.com</a>
+            </td>
+            <td>Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards 
+for C# and the Common Language Runtime.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.12.1</li>
+                <li style="white-space: nowrap;">3.12.1-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">4.0.3.20-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">4.2.2.10-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>NASM</b><br />
+              <a href="http://www.nasm.us/">http://www.nasm.us/</a>
+            </td>
+            <td>NASM: General-purpose x86 assembler</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.11.05</li>
+                <li style="white-space: nowrap;">2.11.05-foss-2015b</li>
+                <li style="white-space: nowrap;">2.11.05-foss-2015g</li>
+                <li style="white-space: nowrap;">2.11.05-intel-2015b</li>
+                <li style="white-space: nowrap;">2.11.06-intel-2015b</li>
+                <li style="white-space: nowrap;">2.11.08-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCL-builder</b><br />
+              <a href="https://software.intel.com/en-us/intel-opencl">https://software.intel.com/en-us/intel-opencl</a>
+            </td>
+            <td>OpenCL™ is the first open, royalty-free standard for cross-platform,
+parallel programming of modern processors found in personal computers, servers and handheld/embedded devices.
+OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications 
+in numerous market categories from gaming and entertainment to scientific and medical software.
+
+This is builder (formerly runtime) package.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCL-runtime</b><br />
+              <a href="https://software.intel.com/en-us/intel-opencl">https://software.intel.com/en-us/intel-opencl</a>
+            </td>
+            <td>OpenCL™ is the first open, royalty-free standard for cross-platform,
+parallel programming of modern processors found in personal computers, servers and handheld/embedded devices.
+OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications 
+in numerous market categories from gaming and entertainment to scientific and medical software.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">15.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Perl</b><br />
+              <a href="http://www.perl.org/">http://www.perl.org/</a>
+            </td>
+            <td>Larry Wall's Practical Extraction and Report Language</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.16.3-intel-2015b</li>
+                <li style="white-space: nowrap;">5.20.2-GNU-4.9.3-2.25-bare</li>
+                <li style="white-space: nowrap;">5.20.2-bare</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Python</b><br />
+              <a href="http://python.org/">http://python.org/</a>
+            </td>
+            <td>Python is a programming language that lets you work more quickly and integrate your systems more effectively.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.7.10-GCC-4.9.3-2.25-bare</li>
+                <li style="white-space: nowrap;">2.7.10-GNU-4.9.3-2.25-bare</li>
+                <li style="white-space: nowrap;">2.7.11-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7.8-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7.8-intel-2016.01</li>
+                <li style="white-space: nowrap;">2.7.9</li>
+                <li style="white-space: nowrap;">2.7.9-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.7.9-foss-2015b</li>
+                <li style="white-space: nowrap;">2.7.9-foss-2015g</li>
+                <li style="white-space: nowrap;">2.7.9-gompi-2015e</li>
+                <li style="white-space: nowrap;">2.7.9-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">2.7.9-intel-2015b</li>
+                <li style="white-space: nowrap;">2.7.9-intel-2016.01</li>
+                <li style="white-space: nowrap;">3.5.1-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>R</b><br />
+              <a href="http://www.r-project.org/">http://www.r-project.org/</a>
+            </td>
+            <td>R is a free software environment for statistical computing and graphics.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.1.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.2.3-foss-2015b</li>
+                <li style="white-space: nowrap;">3.2.3-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Racket</b><br />
+              <a href="http://racket-lang.org">http://racket-lang.org</a>
+            </td>
+            <td>Racket is a full-spectrum programming language. It goes 
+beyond Lisp and Scheme with dialects that support objects, types, 
+laziness, and more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.1.1-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Ruby</b><br />
+              <a href="https://www.ruby-lang.org">https://www.ruby-lang.org</a>
+            </td>
+            <td>Ruby is a dynamic, open source programming language with 
+ a focus on simplicity and productivity. It has an elegant syntax that is 
+ natural to read and easy to write.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.5-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SIP</b><br />
+              <a href="http://www.riverbankcomputing.com/software/sip/">http://www.riverbankcomputing.com/software/sip/</a>
+            </td>
+            <td>SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.16.4-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">4.17-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SnuCL</b><br />
+              <a href="http://snucl.snu.ac.kr">http://snucl.snu.ac.kr</a>
+            </td>
+            <td>An OpenCL Framework for Heterogeneous Clusters</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.3-gompi-2015e</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Tcl</b><br />
+              <a href="http://www.tcl.tk/">http://www.tcl.tk/</a>
+            </td>
+            <td>Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language,
+suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.5.12-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.3</li>
+                <li style="white-space: nowrap;">8.6.3-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">8.6.3-foss-2015b</li>
+                <li style="white-space: nowrap;">8.6.3-foss-2015g</li>
+                <li style="white-space: nowrap;">8.6.3-gompi-2015e</li>
+                <li style="white-space: nowrap;">8.6.3-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">8.6.3-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.3-intel-2016.01</li>
+                <li style="white-space: nowrap;">8.6.4</li>
+                <li style="white-space: nowrap;">8.6.4-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">8.6.4-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015b</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015g</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>byacc</b><br />
+              <a href="http://invisible-island.net/byacc/byacc.html">http://invisible-island.net/byacc/byacc.html</a>
+            </td>
+            <td>Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available.
+ In contrast to bison, it is written to avoid dependencies upon a particular compiler.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20120526</li>
+                <li style="white-space: nowrap;">20120526-foss-2015b</li>
+                <li style="white-space: nowrap;">20120526-foss-2015g</li>
+                <li style="white-space: nowrap;">20120526-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>flex</b><br />
+              <a href="http://flex.sourceforge.net/">http://flex.sourceforge.net/</a>
+            </td>
+            <td>Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner,
+ sometimes called a tokenizer, is a program which recognizes lexical patterns in text.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.5.35-intel-2015b</li>
+                <li style="white-space: nowrap;">2.5.37-intel-2015b</li>
+                <li style="white-space: nowrap;">2.5.38-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2.5.39</li>
+                <li style="white-space: nowrap;">2.5.39-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.5.39-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.5.39-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">2.5.39-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">2.5.39-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">2.5.39-foss-2015b</li>
+                <li style="white-space: nowrap;">2.5.39-foss-2015g</li>
+                <li style="white-space: nowrap;">2.5.39-intel-2015b</li>
+                <li style="white-space: nowrap;">2.5.39-intel-2016.01</li>
+                <li style="white-space: nowrap;">2.6.0</li>
+                <li style="white-space: nowrap;">2.6.0-GCCcore-5.3.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libgdiplus</b><br />
+              <a href="https://github.com/mono/libgdiplus">https://github.com/mono/libgdiplus</a>
+            </td>
+            <td>An Open Source implementation of the GDI+ API.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.12-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">3.12-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.12-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="lib"><a class="tooltip" title="Go to list of categories..." href="#categories">lib</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FOX</b><br />
+              <a href="http://fox-toolkit.org">http://fox-toolkit.org</a>
+            </td>
+            <td>FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and effectively.
+It offers a wide, and growing, collection of Controls, and provides state of the art facilities such as 
+drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.51-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LibTIFF</b><br />
+              <a href="http://www.remotesensing.org/libtiff/">http://www.remotesensing.org/libtiff/</a>
+            </td>
+            <td>tiff: Library and tools for reading and writing TIFF data files</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.0.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCoarrays</b><br />
+              <a href="http://www.opencoarrays.org">http://www.opencoarrays.org</a>
+            </td>
+            <td>OpenCoarrays is an open-source software project for developing,
+porting and tuning transport layers that support coarray Fortran
+compilers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.0-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.0.1-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PROJ</b><br />
+              <a href="http://trac.osgeo.org/proj/">http://trac.osgeo.org/proj/</a>
+            </td>
+            <td>Program proj is a standard Unix filter function which converts 
+geographic longitude and latitude coordinates into cartesian coordinates</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.8.0-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>QCA</b><br />
+              <a href="http://delta.affinix.com/qca/">http://delta.affinix.com/qca/</a>
+            </td>
+            <td>QCA aims to provide a straightforward and cross-platform crypto API,
+using Qt datatypes and conventions. QCA separates the API from the implementation,
+using plugins known as Providers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>QGIS</b><br />
+              <a href="http://www.qgis.org">http://www.qgis.org</a>
+            </td>
+            <td>A Free and Open Source Geographic Information System</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.12.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Qwt</b><br />
+              <a href="http://qwt.sourceforge.net/index.html">http://qwt.sourceforge.net/index.html</a>
+            </td>
+            <td>The Qwt library contains GUI Components and utility classes which are primarily 
+useful for programs with a technical background. Beside a framework for 2D plots it provides scales, 
+sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, 
+or ranges of type double.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.1.2-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SpatiaLite</b><br />
+              <a href="https://www.gaia-gis.it/fossil/libspatialite/index">https://www.gaia-gis.it/fossil/libspatialite/index</a>
+            </td>
+            <td>SpatiaLite is an open source library intended to extend the SQLite core to support 
+fully fledged Spatial SQL capabilities.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3.0a-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libMesh</b><br />
+              <a href="http://libmesh.github.io/">http://libmesh.github.io/</a>
+            </td>
+            <td>The libMesh library provides a framework for the numerical simulation of partial differential equations
+ using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to
+ provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist
+  to focus on the physics they are modeling.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.5-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libdrm</b><br />
+              <a href="http://dri.freedesktop.org">http://dri.freedesktop.org</a>
+            </td>
+            <td>Direct Rendering Manager runtime library.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.27-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libffi</b><br />
+              <a href="http://sourceware.org/libffi/">http://sourceware.org/libffi/</a>
+            </td>
+            <td>The libffi library provides a portable, high level programming interface to various calling
+conventions. This allows a programmer to call any function specified by a call interface description at run-time.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.0.13</li>
+                <li style="white-space: nowrap;">3.0.13-foss-2015b</li>
+                <li style="white-space: nowrap;">3.0.13-foss-2015g</li>
+                <li style="white-space: nowrap;">3.0.13-intel-2015b</li>
+                <li style="white-space: nowrap;">3.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.1-foss-2015b</li>
+                <li style="white-space: nowrap;">3.1-intel-2015b</li>
+                <li style="white-space: nowrap;">3.1-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libfontenc</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs/">http://www.freedesktop.org/wiki/Software/xlibs/</a>
+            </td>
+            <td>X11 font encoding library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.3-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libjpeg-turbo</b><br />
+              <a href="http://sourceforge.net/libjpeg-turbo/">http://sourceforge.net/libjpeg-turbo/</a>
+            </td>
+            <td>libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG 
+compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.1-foss-2015b</li>
+                <li style="white-space: nowrap;">1.3.1-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.0</li>
+                <li style="white-space: nowrap;">1.4.0-foss-2015g</li>
+                <li style="white-space: nowrap;">1.4.0-intel-2015b</li>
+                <li style="white-space: nowrap;">1.4.1-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libmatheval</b><br />
+              <a href="http://www.gnu.org/software/libmatheval/">http://www.gnu.org/software/libmatheval/</a>
+            </td>
+            <td>GNU libmatheval is a library (callable from C and Fortran) to parse
+ and evaluate symbolic expressions input as text.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.8-foss-2015b</li>
+                <li style="white-space: nowrap;">1.1.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.1.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libpng</b><br />
+              <a href="http://www.libpng.org/pub/png/libpng.html">http://www.libpng.org/pub/png/libpng.html</a>
+            </td>
+            <td>libpng is the official PNG reference library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.12</li>
+                <li style="white-space: nowrap;">1.6.12-foss-2015b</li>
+                <li style="white-space: nowrap;">1.6.12-foss-2015g</li>
+                <li style="white-space: nowrap;">1.6.12-intel-2015b</li>
+                <li style="white-space: nowrap;">1.6.12-intel-2016.01</li>
+                <li style="white-space: nowrap;">1.6.17-foss-2015b</li>
+                <li style="white-space: nowrap;">1.6.21-foss-2015b</li>
+                <li style="white-space: nowrap;">1.6.21-foss-2015g</li>
+                <li style="white-space: nowrap;">1.6.9-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">1.6.9-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libpthread-stubs</b><br />
+              <a href="http://xcb.freedesktop.org/">http://xcb.freedesktop.org/</a>
+            </td>
+            <td>The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint,
+latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.3</li>
+                <li style="white-space: nowrap;">0.3-foss-2015g</li>
+                <li style="white-space: nowrap;">0.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libreadline</b><br />
+              <a href="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html">http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html</a>
+            </td>
+            <td>The GNU Readline library provides a set of functions for use by applications that
+ allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available.
+ The Readline library includes additional functions to maintain a list of previously-entered command lines,
+ to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.2-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">6.2-intel-2015b</li>
+                <li style="white-space: nowrap;">6.3</li>
+                <li style="white-space: nowrap;">6.3-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">6.3-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">6.3-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">6.3-foss-2015b</li>
+                <li style="white-space: nowrap;">6.3-foss-2015g</li>
+                <li style="white-space: nowrap;">6.3-gompi-2015e</li>
+                <li style="white-space: nowrap;">6.3-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">6.3-intel-2015b</li>
+                <li style="white-space: nowrap;">6.3-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libtool</b><br />
+              <a href="http://www.gnu.org/software/libtool">http://www.gnu.org/software/libtool</a>
+            </td>
+            <td>GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries
+ behind a consistent, portable interface.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.2</li>
+                <li style="white-space: nowrap;">2.4.2-foss-2015b</li>
+                <li style="white-space: nowrap;">2.4.2-foss-2015g</li>
+                <li style="white-space: nowrap;">2.4.2-intel-2015b</li>
+                <li style="white-space: nowrap;">2.4.6</li>
+                <li style="white-space: nowrap;">2.4.6-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.4.6-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.4.6-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.4.6-foss-2015g</li>
+                <li style="white-space: nowrap;">2.4.6-intel-2015b</li>
+                <li style="white-space: nowrap;">2.4.6-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libunistring</b><br />
+              <a href="http://www.gnu.org/software/libunistring/">http://www.gnu.org/software/libunistring/</a>
+            </td>
+            <td>This library provides functions for manipulating Unicode strings and for manipulating C strings
+ according to the Unicode standard.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.3</li>
+                <li style="white-space: nowrap;">0.9.3-foss-2015b</li>
+                <li style="white-space: nowrap;">0.9.3-foss-2015g</li>
+                <li style="white-space: nowrap;">0.9.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libxcb</b><br />
+              <a href="http://xcb.freedesktop.org/">http://xcb.freedesktop.org/</a>
+            </td>
+            <td>The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint,
+latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.11-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.11-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libxml2</b><br />
+              <a href="http://xmlsoft.org/">http://xmlsoft.org/</a>
+            </td>
+            <td>Libxml2 is the XML C parser and 
+toolchain developed for the Gnome project
+ (but usable outside of the Gnome platform).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.9.2-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.9.2-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.9.2-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.9.2-foss-2015b</li>
+                <li style="white-space: nowrap;">2.9.2-foss-2015g</li>
+                <li style="white-space: nowrap;">2.9.2-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.9.2-gompi-2015e</li>
+                <li style="white-space: nowrap;">2.9.2-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">2.9.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>spatialindex</b><br />
+              <a href="https://libspatialindex.github.io/index.html">https://libspatialindex.github.io/index.html</a>
+            </td>
+            <td>The purpose of this library is to provide:
+ * An extensible framework that will support robust spatial indexing methods.
+ * Support for sophisticated spatial queries. Range, point location, nearest 
+   neighbor and k-nearest neighbor as well as parametric queries (defined by spatial
+   constraints) should be easy to deploy and run.
+ * Easy to use interfaces for inserting, deleting and updating information.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.5-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>tbb</b><br />
+              <a href="http://software.intel.com/en-us/articles/intel-tbb/">http://software.intel.com/en-us/articles/intel-tbb/</a>
+            </td>
+            <td>Intel Threading Building Blocks 4.0 (Intel TBB)
+ is a widely used, award-winning C++ template library for creating reliable,
+ portable, and scalable parallel applications.
+ Use Intel TBB for a simple and rapid way of developing robust task-based
+ parallel applications that scale to available processor cores, are compatible
+ with multiple environments, and are easier to maintain.
+ Intel TBB is the most proficient way to implement future-proof parallel applications
+ that tap into the power and performance of multicore and manycore hardware platforms.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3.5.187</li>
+                <li style="white-space: nowrap;">4.4.2.152</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>zlib</b><br />
+              <a href="http://www.zlib.net/">http://www.zlib.net/</a>
+            </td>
+            <td>zlib is designed to be a free, general-purpose, legally unencumbered -- that is,
+ not covered by any patents -- lossless data-compression library for use on virtually any
+ computer hardware and operating system.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.7-foss-2015b</li>
+                <li style="white-space: nowrap;">1.2.7-ictce-5.5.0</li>
+                <li style="white-space: nowrap;">1.2.7-intel-2015b</li>
+                <li style="white-space: nowrap;">1.2.8</li>
+                <li style="white-space: nowrap;">1.2.8-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">1.2.8-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">1.2.8-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">1.2.8-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.2.8-GNU-5.1.0-2.25-intel-2015b</li>
+                <li style="white-space: nowrap;">1.2.8-foss-2015b</li>
+                <li style="white-space: nowrap;">1.2.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.2.8-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.2.8-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">1.2.8-intel-2015b</li>
+                <li style="white-space: nowrap;">1.2.8-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="math"><a class="tooltip" title="Go to list of categories..." href="#categories">math</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FIAT</b><br />
+              <a href="https://bitbucket.org/fenics-project/fiat">https://bitbucket.org/fenics-project/fiat</a>
+            </td>
+            <td>The FInite element Automatic Tabulator FIAT supports generation of arbitrary order
+instances of the Lagrange elements on lines, triangles, and tetrahedra. It is also capable of generating
+arbitrary order instances of Jacobi-type quadrature rules on the same element shapes.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.0-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">1.6.0-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.6.0-intel-2016.01-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GEOS</b><br />
+              <a href="http://trac.osgeo.org/geos">http://trac.osgeo.org/geos</a>
+            </td>
+            <td>GEOS (Geometry Engine - Open Source) is a C++ port of the  Java Topology Suite (JTS)</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.5.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GMP</b><br />
+              <a href="http://gmplib.org/">http://gmplib.org/</a>
+            </td>
+            <td>GMP is a free library for arbitrary precision arithmetic, 
+ operating on signed integers, rational numbers, and floating point numbers. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.5</li>
+                <li style="white-space: nowrap;">5.0.5-foss-2015b</li>
+                <li style="white-space: nowrap;">5.0.5-foss-2015g</li>
+                <li style="white-space: nowrap;">5.0.5-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.0a-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">6.0.0a-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">6.0.0a-foss-2015b</li>
+                <li style="white-space: nowrap;">6.1.0-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">6.1.0-intel-2015b</li>
+                <li style="white-space: nowrap;">6.1.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Harminv</b><br />
+              <a href="http://ab-initio.mit.edu/wiki/index.php/Harminv">http://ab-initio.mit.edu/wiki/index.php/Harminv</a>
+            </td>
+            <td>Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - given
+ a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying)
+ in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ISL</b><br />
+              <a href="http://isl.gforge.inria.fr/">http://isl.gforge.inria.fr/</a>
+            </td>
+            <td>isl is a library for manipulating sets and relations of integer points bounded by linear constraints.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.14-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">0.15-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">0.15-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>METIS</b><br />
+              <a href="http://glaros.dtc.umn.edu/gkhome/metis/metis/overview">http://glaros.dtc.umn.edu/gkhome/metis/metis/overview</a>
+            </td>
+            <td>METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes,
+and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the
+multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1.0-intel-2015b</li>
+                <li style="white-space: nowrap;">5.1.0-intel-2016.01</li>
+                <li style="white-space: nowrap;">5.1.0-intel-2016.01-32bitIDX</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Octave</b><br />
+              <a href="http://www.gnu.org/software/octave/">http://www.gnu.org/software/octave/</a>
+            </td>
+            <td>GNU Octave is a high-level interpreted language, primarily intended for numerical computations.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.8.2-foss-2015g</li>
+                <li style="white-space: nowrap;">3.8.2-intel-2015b</li>
+                <li style="white-space: nowrap;">4.0.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ParMETIS</b><br />
+              <a href="http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview">http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview</a>
+            </td>
+            <td>ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs,
+ meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes
+ routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in
+ ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning
+ schemes.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.0.3-intel-2015b</li>
+                <li style="white-space: nowrap;">4.0.3-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SCOTCH</b><br />
+              <a href="http://gforge.inria.fr/projects/scotch/">http://gforge.inria.fr/projects/scotch/</a>
+            </td>
+            <td>Software package and libraries for sequential and parallel graph partitioning,
+static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1.12b_esmumps-foss-2015b</li>
+                <li style="white-space: nowrap;">6.0.0_esmumps-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.3-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.3-intel-2016.01</li>
+                <li style="white-space: nowrap;">6.0.4-intel-2015b</li>
+                <li style="white-space: nowrap;">6.0.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ScientificPython</b><br />
+              <a href="https://sourcesup.cru.fr/projects/scientific-py/">https://sourcesup.cru.fr/projects/scientific-py/</a>
+            </td>
+            <td>ScientificPython is a collection of Python modules for scientific computing.
+ It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization,
+ and parallelization.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.9.4-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">2.9.4-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">2.9.4-intel-2016.01-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>numpy</b><br />
+              <a href="http://www.numpy.org">http://www.numpy.org</a>
+            </td>
+            <td>NumPy is the fundamental package for scientific computing with Python. It contains among other things:
+ a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran
+ code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses,
+ NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be 
+ defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.2-intel-2015b-Python-2.7.11</li>
+                <li style="white-space: nowrap;">1.8.2-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.8.2-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.9.1-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>sympy</b><br />
+              <a href="http://sympy.org/">http://sympy.org/</a>
+            </td>
+            <td>SymPy is a Python library for symbolic mathematics. It aims to
+ become a full-featured computer algebra system (CAS) while keeping the code as
+ simple as possible in order to be comprehensible and easily extensible. SymPy
+ is written entirely in Python and does not require any external libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.7.6-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">0.7.6-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">0.7.6.1-intel-2015b-Python-2.7.11</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="mpi"><a class="tooltip" title="Go to list of categories..." href="#categories">mpi</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>MPICH</b><br />
+              <a href="http://www.mpich.org/">http://www.mpich.org/</a>
+            </td>
+            <td>MPICH v3.x is an open source high-performance MPI 3.0 implementation.
+It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.2-GCC-5.3.0-2.25</li>
+                <li style="white-space: nowrap;">3.2-GCC-5.3.1-snapshot-20160419-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MPI_NET</b><br />
+              <a href="http://www.osl.iu.edu/research/mpi.net/">http://www.osl.iu.edu/research/mpi.net/</a>
+            </td>
+            <td>MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI) 
+for Microsoft's .NET environment</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.0-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.2.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MVAPICH2</b><br />
+              <a href="http://mvapich.cse.ohio-state.edu/overview/mvapich2/">http://mvapich.cse.ohio-state.edu/overview/mvapich2/</a>
+            </td>
+            <td>This is an MPI 3.0 implementation.  It is based on MPICH2 and MVICH.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">2.1-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.1-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenMPI</b><br />
+              <a href="http://www.open-mpi.org/">http://www.open-mpi.org/</a>
+            </td>
+            <td>The Open MPI Project is an open source MPI-2 implementation.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.10.1-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.10.2-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">1.8.6-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">1.8.6-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.8.8-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.8.8-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>impi</b><br />
+              <a href="http://software.intel.com/en-us/intel-mpi-library/">http://software.intel.com/en-us/intel-mpi-library/</a>
+            </td>
+            <td>The Intel(R) MPI Library for Linux* OS is a multi-fabric message
+ passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for
+ Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2017-BETA.ENG</li>
+                <li style="white-space: nowrap;">4.1.1.036-iccifort-2013.5.192</li>
+                <li style="white-space: nowrap;">4.1.1.036-iccifort-2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">5.0.3.048</li>
+                <li style="white-space: nowrap;">5.0.3.048-iccifort-2015.3.187</li>
+                <li style="white-space: nowrap;">5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">5.1.1.109-iccifort-2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">5.1.2.150-iccifort-2016.1.150</li>
+                <li style="white-space: nowrap;">5.1.2.150-iccifort-2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">5.1.2.150-iccifort-2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">5.1.3.181-iccifort-2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>mpt</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.12</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="numlib"><a class="tooltip" title="Go to list of categories..." href="#categories">numlib</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FFTW</b><br />
+              <a href="http://www.fftw.org">http://www.fftw.org</a>
+            </td>
+            <td>FFTW is a C subroutine library for computing the discrete Fourier transform (DFT)
+ in one or more dimensions, of arbitrary input size, and of both real and complex data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.5-gompi-2015b</li>
+                <li style="white-space: nowrap;">2.1.5-iimpi-7.3.5-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2015b</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2015e</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2015g</li>
+                <li style="white-space: nowrap;">3.3.4-gompi-2016.04</li>
+                <li style="white-space: nowrap;">3.3.4-intel-2015b</li>
+                <li style="white-space: nowrap;">3.3.4-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GSL</b><br />
+              <a href="http://www.gnu.org/software/gsl/">http://www.gnu.org/software/gsl/</a>
+            </td>
+            <td>The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers.
+ The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.16-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Hypre</b><br />
+              <a href="https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html">https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html</a>
+            </td>
+            <td>Hypre is a library for solving large, sparse linear systems of equations on massively parallel computers.
+ The problems of interest arise in the simulation codes being developed at LLNL and elsewhere 
+ to study physical phenomena in the defense, environmental, energy, and biological sciences.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.10.0b-intel-2015b</li>
+                <li style="white-space: nowrap;">2.10.0b-intel-2016.01</li>
+                <li style="white-space: nowrap;">2.10.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>LAPACKE</b><br />
+              <a href="http://www.netlib.org/lapack/lapacke.html">http://www.netlib.org/lapack/lapacke.html</a>
+            </td>
+            <td>LAPACKE C Interface to LAPACK header files and library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.5.0-LAPACK-3.5.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenBLAS</b><br />
+              <a href="http://xianyi.github.com/OpenBLAS/">http://xianyi.github.com/OpenBLAS/</a>
+            </td>
+            <td>OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.2.14-GNU-4.9.3-2.25-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.14-GNU-5.1.0-2.25-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.14-gompi-2015e-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">0.2.18-GCC-5.3.0-2.26-LAPACK-3.6.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PETSc</b><br />
+              <a href="http://www.mcs.anl.gov/petsc">http://www.mcs.anl.gov/petsc</a>
+            </td>
+            <td>PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the
+ scalable (parallel) solution of scientific applications modeled by partial differential equations.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.6.1-intel-2015b-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.6.1-intel-2016.01-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.6.3-intel-2015b-Python-2.7.11</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ScaLAPACK</b><br />
+              <a href="http://www.netlib.org/scalapack/">http://www.netlib.org/scalapack/</a>
+            </td>
+            <td>The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines
+ redesigned for distributed memory MIMD parallel computers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.0.2-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2015b-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2015e-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2015g-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+                <li style="white-space: nowrap;">2.0.2-gompi-2016.04-OpenBLAS-0.2.18-LAPACK-3.6.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SuiteSparse</b><br />
+              <a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/">http://www.cise.ufl.edu/research/sparse/SuiteSparse/</a>
+            </td>
+            <td>SuiteSparse is a collection of libraries manipulate sparse matrices.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.3-intel-2015b-ParMETIS-4.0.3</li>
+                <li style="white-space: nowrap;">4.4.3-intel-2016.01-ParMETIS-4.0.3</li>
+                <li style="white-space: nowrap;">4.4.6-intel-2015b-ParMETIS-4.0.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>arpack-ng</b><br />
+              <a href="http://forge.scilab.org/index.php/p/arpack-ng/">http://forge.scilab.org/index.php/p/arpack-ng/</a>
+            </td>
+            <td>ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.3.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>imkl</b><br />
+              <a href="http://software.intel.com/en-us/intel-mkl/">http://software.intel.com/en-us/intel-mkl/</a>
+            </td>
+            <td>Intel Math Kernel Library is a library of highly optimized,
+ extensively threaded math routines for science, engineering, and financial
+ applications that require maximum performance. Core math functions include
+ BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">11.0.5.192-iimpi-5.5.0</li>
+                <li style="white-space: nowrap;">11.0.5.192-iimpi-5.5.0-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">11.2.3.187</li>
+                <li style="white-space: nowrap;">11.2.3.187-iimpi-7.3.5</li>
+                <li style="white-space: nowrap;">11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">11.2.3.187-iompi-2015.03</li>
+                <li style="white-space: nowrap;">11.3.0.109-iimpi-2016.00-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">11.3.1.150-iimpi-2016.00-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">11.3.1.150-iimpi-2016.01-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">11.3.1.150-iimpi-8.3.5</li>
+                <li style="white-space: nowrap;">11.3.3.210-iimpi-2016.03-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="perf"><a class="tooltip" title="Go to list of categories..." href="#categories">perf</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Advisor</b><br />
+              <a href="https://software.intel.com/intel-advisor-xe">https://software.intel.com/intel-advisor-xe</a>
+            </td>
+            <td>Vectorization Optimization and Thread Prototyping
+ - Vectorize &amp; thread code or performance “dies”
+ - Easy workflow + data + tips = faster code faster
+ - Prioritize, Prototype &amp; Predict performance gain
+ </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016_update2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MAP</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2</li>
+                <li style="white-space: nowrap;">5.0.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OPARI2</b><br />
+              <a href="http://www.score-p.org">http://www.score-p.org</a>
+            </td>
+            <td>OPARI2, the successor of Forschungszentrum Juelich's OPARI,
+ is a source-to-source instrumentation tool for OpenMP and hybrid codes.
+ It surrounds OpenMP directives and runtime library calls with calls to
+ the POMP2 measurement interface.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OTF2</b><br />
+              <a href="http://www.score-p.org">http://www.score-p.org</a>
+            </td>
+            <td>The Open Trace Format 2 is a highly scalable, memory efficient event
+ trace data format plus support library. It will become the new standard trace format
+ for Scalasca, Vampir, and Tau and is open for other tools.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PAPI</b><br />
+              <a href="http://icl.cs.utk.edu/projects/papi/">http://icl.cs.utk.edu/projects/papi/</a>
+            </td>
+            <td>PAPI provides the tool designer and application engineer with a consistent interface and
+ methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables
+ software engineers to see, in near real time, the relation between software performance and processor events.
+ In addition Component PAPI provides access to a collection of components
+ that expose performance measurement opportunites across the hardware and software stack.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.4.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PerfReports</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Vampir</b><br />
+              <a href="http://www.vampir.eu">http://www.vampir.eu</a>
+            </td>
+            <td>The Vampir software tool provides an easy-to-use framework that enables
+ developers to quickly display and analyze arbitrary program behavior at any level of detail.
+ The tool suite implements optimized event analysis algorithms and customizable displays that
+ enable fast and interactive rendering of very complex performance monitoring data.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.5.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ipp</b><br />
+              <a href="http://software.intel.com/en-us/articles/intel-ipp/">http://software.intel.com/en-us/articles/intel-ipp/</a>
+            </td>
+            <td>Intel Integrated Performance Primitives (Intel IPP) is an extensive library
+ of multicore-ready, highly optimized software functions for multimedia, data processing,
+ and communications applications. Intel IPP offers thousands of optimized functions
+ covering frequently used fundamental algorithms.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">9.0.1.150</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>perfboost</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>perfcatcher</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>perfsuite</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1a5.3</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="phys"><a class="tooltip" title="Go to list of categories..." href="#categories">phys</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>Meep</b><br />
+              <a href="http://ab-initio.mit.edu/wiki/index.php/Meep">http://ab-initio.mit.edu/wiki/index.php/Meep</a>
+            </td>
+            <td>Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package
+ developed at MIT to model electromagnetic systems.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>phono3py</b><br />
+              <a href="http://phonopy.sourceforge.net/phono3py/index.html">http://phonopy.sourceforge.net/phono3py/index.html</a>
+            </td>
+            <td>This software calculates phonon-phonon interaction related properties</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.14-ictce-7.3.5-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="system"><a class="tooltip" title="Go to list of categories..." href="#categories">system</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>hwloc</b><br />
+              <a href="http://www.open-mpi.org/projects/hwloc/">http://www.open-mpi.org/projects/hwloc/</a>
+            </td>
+            <td>The Portable Hardware Locality (hwloc) software package provides a portable abstraction
+ (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including
+ NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various
+ system attributes such as cache and memory information as well as the locality of I/O devices such as
+ network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering
+ information about modern computing hardware so as to exploit it accordingly and efficiently.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.11.0-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.11.0-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.11.1-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.11.2-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.11.3-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">1.5-GCC-4.4.7-system</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libpciaccess</b><br />
+              <a href="http://cgit.freedesktop.org/xorg/lib/libpciaccess/">http://cgit.freedesktop.org/xorg/lib/libpciaccess/</a>
+            </td>
+            <td>Generic PCI access library.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.13.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="toolchain"><a class="tooltip" title="Go to list of categories..." href="#categories">toolchain</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>GNU</b><br />
+              <a href="http://www.gnu.org/software/">http://www.gnu.org/software/</a>
+            </td>
+            <td>Compiler-only toolchain with GCC and binutils.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.9.3-2.25</li>
+                <li style="white-space: nowrap;">5.1.0-2.25</li>
+                <li style="white-space: nowrap;">5.1.0-2.25-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PRACE</b><br />
+              <a href="http://www.prace-ri.eu/PRACE-Common-Production">http://www.prace-ri.eu/PRACE-Common-Production</a>
+            </td>
+            <td>The PRACE Common Production Environment (PCPE) is a set of software tools and libraries
+ that are planned to be available on all PRACE execution sites. The PCPE also defines a set of environment
+ variables that try to make compilation on all sites as homogeneous and simple as possible.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20150630-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>foss</b><br />
+              <a href="https://docs.it4i.cz/salomon/(none)">(none)</a>
+            </td>
+            <td>GNU Compiler Collection (GCC) based compiler toolchain, including
+ OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015b</li>
+                <li style="white-space: nowrap;">2015e</li>
+                <li style="white-space: nowrap;">2015g</li>
+                <li style="white-space: nowrap;">2016.04</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gompi</b><br />
+              <a href="https://docs.it4i.cz/salomon/(none)">(none)</a>
+            </td>
+            <td>GNU Compiler Collection (GCC) based compiler toolchain,
+ including OpenMPI for MPI support.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015b</li>
+                <li style="white-space: nowrap;">2015e</li>
+                <li style="white-space: nowrap;">2015g</li>
+                <li style="white-space: nowrap;">2016.04</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>iccifort</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel C, C++ and Fortran compilers</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2013.5.192</li>
+                <li style="white-space: nowrap;">2013.5.192-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">2015.3.187</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2015.3.187-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2016.0.109-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.1.150-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.3.210-GCC-5.3.0-2.26</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ictce</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI &amp; Intel MKL.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.5.0</li>
+                <li style="white-space: nowrap;">7.3.5</li>
+                <li style="white-space: nowrap;">8.3.5</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>iimpi</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel C/C++ and Fortran compilers, alongside Intel MPI.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016.00-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.01-GCC-4.9.3</li>
+                <li style="white-space: nowrap;">2016.01-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2016.03-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">5.5.0</li>
+                <li style="white-space: nowrap;">5.5.0-GCC-4.8.3</li>
+                <li style="white-space: nowrap;">7.3.5</li>
+                <li style="white-space: nowrap;">7.3.5-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">8.3.5</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>intel</b><br />
+              <a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a>
+            </td>
+            <td>Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI &amp; Intel MKL.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2014.06</li>
+                <li style="white-space: nowrap;">2015b</li>
+                <li style="white-space: nowrap;">2015b-intel-2015b</li>
+                <li style="white-space: nowrap;">2016.00</li>
+                <li style="white-space: nowrap;">2016.01</li>
+                <li style="white-space: nowrap;">2016.03-GCC-5.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>prace</b><br />
+              <a href="http://www.prace-ri.eu/PRACE-Common-Production">http://www.prace-ri.eu/PRACE-Common-Production</a>
+            </td>
+            <td>**** PRACE Common Production Environment (PCPE) ****
+
+Initialisation of the PRACE common production environment. This 
+allows you to assume that the following tools/libraries are available
+by default in your PATH/environment.
+
+ * Fortran, C, C++ Compilers
+ * MPI
+ * BLAS, LAPACK, BLACS, ScaLAPACK
+ * FFTW
+ * HDF5, NetCDF
+ 
+The compiler commands on are:
+
+ * mpif90 - Fortran compiler
+ * mpicc  - C compiler
+ * mpicxx - C++ compiler
+
+For more information on the PCPE please see the documentation at:
+
+http://www.prace-ri.eu/PRACE-Common-Production
+
+For help using this system, please see Local User Guide available at:
+
+http://prace-ri.eu/Best-Practice-Guide-Anselm-HTML
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20160107-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="tools"><a class="tooltip" title="Go to list of categories..." href="#categories">tools</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>APR</b><br />
+              <a href="http://apr.apache.org/">http://apr.apache.org/</a>
+            </td>
+            <td>Apache Portable Runtime (APR) libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.2-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>APR-util</b><br />
+              <a href="http://apr.apache.org/">http://apr.apache.org/</a>
+            </td>
+            <td>Apache Portable Runtime (APR) util libraries.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Bash</b><br />
+              <a href="http://www.gnu.org/software/bash">http://www.gnu.org/software/bash</a>
+            </td>
+            <td>Bash is an sh-compatible command language interpreter that executes commands 
+ read from the standard input or from a file.  Bash also incorporates useful features from the 
+ Korn and C shells (ksh and csh).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>EasyBuild</b><br />
+              <a href="http://hpcugent.github.com/easybuild/">http://hpcugent.github.com/easybuild/</a>
+            </td>
+            <td>EasyBuild is a software build and installation framework
+written in Python that allows you to install software in a structured,
+repeatable and robust way.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.0</li>
+                <li style="white-space: nowrap;">2.5.0</li>
+                <li style="white-space: nowrap;">2.7.0</li>
+                <li style="white-space: nowrap;">2.8.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>HPL</b><br />
+              <a href="http://www.netlib.org/benchmark/hpl/">http://www.netlib.org/benchmark/hpl/</a>
+            </td>
+            <td>HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic 
+ on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the 
+ High Performance Computing Linpack Benchmark.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Inspector</b><br />
+              <a href="http://software.intel.com/en-us/intel-inspector-xe">http://software.intel.com/en-us/intel-inspector-xe</a>
+            </td>
+            <td>Intel Inspector XE 2013 is an easy to use memory error checker and thread checker for serial and parallel applications</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016_update1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>JOE</b><br />
+              <a href="http://joe-editor.sourceforge.net">http://joe-editor.sourceforge.net</a>
+            </td>
+            <td>JOE is a full featured terminal-based screen editor which
+is distributed under the GNU General Public License (GPL)</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MATLAB</b><br />
+              <a href="https://docs.it4i.cz/salomon/"></a>
+            </td>
+            <td></td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2015a-COM</li>
+                <li style="white-space: nowrap;">2015a-EDU</li>
+                <li style="white-space: nowrap;">2015b-COM</li>
+                <li style="white-space: nowrap;">2015b-EDU</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>MIKE</b><br />
+              <a href="http://www.mikepoweredbydhi.com">http://www.mikepoweredbydhi.com</a>
+            </td>
+            <td>
+MIKE Powered by DHI is a part of DHI, the global organisation dedicated to
+solving challenges in water environments worldwide.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2014</li>
+                <li style="white-space: nowrap;">2016</li>
+                <li style="white-space: nowrap;">2016-SP2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Mercurial</b><br />
+              <a href="http://mercurial.selenic.com/">http://mercurial.selenic.com/</a>
+            </td>
+            <td>Mercurial is a free, distributed source control management tool. It efficiently handles projects
+of any size and offers an easy and intuitive interface.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">3.5-Python-2.7.9</li>
+                <li style="white-space: nowrap;">3.7.3-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>QEMU</b><br />
+              <a href="http://wiki.qemu.org/Main_Page">http://wiki.qemu.org/Main_Page</a>
+            </td>
+            <td>QEMU is a generic and open source machine emulator and
+virtualizer.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.2-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">2.1.2-GCC-4.4.7-system-VDE2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SDE</b><br />
+              <a href="https://software.intel.com/en-us/articles/intel-software-development-emulator">https://software.intel.com/en-us/articles/intel-software-development-emulator</a>
+            </td>
+            <td>
+ Intel Software Development Emulator is a pintool that enables the development of applications using instruction set extensions that are not currently implemented in hardware.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.41.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Serf</b><br />
+              <a href="http://serf.apache.org/">http://serf.apache.org/</a>
+            </td>
+            <td>The serf library is a high performance C-based HTTP client library
+ built upon the Apache Portable Runtime (APR) library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.8-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Subversion</b><br />
+              <a href="http://subversion.apache.org/">http://subversion.apache.org/</a>
+            </td>
+            <td> Subversion is an open source version control system.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.8.16-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Szip</b><br />
+              <a href="http://www.hdfgroup.org/doc_resource/SZIP/">http://www.hdfgroup.org/doc_resource/SZIP/</a>
+            </td>
+            <td>Szip compression software, providing lossless compression of scientific data</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1</li>
+                <li style="white-space: nowrap;">2.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">2.1-intel-2015b</li>
+                <li style="white-space: nowrap;">2.1-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VDE2</b><br />
+              <a href="http://vde.sourceforge.net">http://vde.sourceforge.net</a>
+            </td>
+            <td>VDE is an ethernet compliant virtual network that 
+can be spawned over a set of physical computer over the Internet. 
+VDE is part of virtualsquare project.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.2-GCC-4.4.7-system</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VTune</b><br />
+              <a href="http://software.intel.com/en-us/intel-vtune-amplifier-xe">http://software.intel.com/en-us/intel-vtune-amplifier-xe</a>
+            </td>
+            <td>Intel VTune Amplifier XE 2016 is the premier performance profiler for C, C++, C#, Fortran, Assembly and Java.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2016_update1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VirtualGL</b><br />
+              <a href="http://www.virtualgl.org">http://www.virtualgl.org</a>
+            </td>
+            <td>VirtualGL is an open source toolkit that gives any Unix or Linux remote display software the 
+ability to run OpenGL applications with full 3D hardware acceleration.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Wine</b><br />
+              <a href="https://www.winehq.org">https://www.winehq.org</a>
+            </td>
+            <td>Wine (originally an acronym for "Wine Is Not an Emulator") 
+is a compatibility layer capable of running Windows applications on several 
+POSIX-compliant operating systems, such as Linux, Mac OSX, &amp; BSD.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.7.29-GCC-4.4.7-system</li>
+                <li style="white-space: nowrap;">1.7.29-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>XZ</b><br />
+              <a href="http://tukaani.org/xz/">http://tukaani.org/xz/</a>
+            </td>
+            <td>xz: XZ utilities</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.2.2-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>binutils</b><br />
+              <a href="http://directory.fsf.org/project/binutils/">http://directory.fsf.org/project/binutils/</a>
+            </td>
+            <td>binutils: GNU binary utilities</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.25</li>
+                <li style="white-space: nowrap;">2.25-GCC-4.9.3-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.25-GCC-5.1.0-binutils-2.25</li>
+                <li style="white-space: nowrap;">2.25-GCCcore-4.9.3</li>
+                <li style="white-space: nowrap;">2.25-GCCcore-5.3.0</li>
+                <li style="white-space: nowrap;">2.25-GCCcore-5.3.1-snapshot-20160419</li>
+                <li style="white-space: nowrap;">2.25-foss-2015b</li>
+                <li style="white-space: nowrap;">2.26</li>
+                <li style="white-space: nowrap;">2.26-GCCcore-5.3.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>bzip2</b><br />
+              <a href="http://www.bzip.org/">http://www.bzip.org/</a>
+            </td>
+            <td>bzip2 is a freely available, patent free, high-quality data compressor. It typically 
+compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical 
+compressors), whilst being around twice as fast at compression and six times faster at decompression.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.6</li>
+                <li style="white-space: nowrap;">1.0.6-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.0.6-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">1.0.6-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">1.0.6-foss-2015b</li>
+                <li style="white-space: nowrap;">1.0.6-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.6-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.0.6-ictce-7.3.5</li>
+                <li style="white-space: nowrap;">1.0.6-intel-2015b</li>
+                <li style="white-space: nowrap;">1.0.6-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>cURL</b><br />
+              <a href="http://curl.haxx.se">http://curl.haxx.se</a>
+            </td>
+            <td>libcurl is a free and easy-to-use client-side URL transfer library,
+ supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS,
+ POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports
+ SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload,
+ proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate,
+ Kerberos), file transfer resume, http proxy tunneling and more.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">7.37.1</li>
+                <li style="white-space: nowrap;">7.37.1-foss-2015g</li>
+                <li style="white-space: nowrap;">7.37.1-intel-2015b</li>
+                <li style="white-space: nowrap;">7.37.1-intel-2016.01</li>
+                <li style="white-space: nowrap;">7.45.0-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>expat</b><br />
+              <a href="http://expat.sourceforge.net/">http://expat.sourceforge.net/</a>
+            </td>
+            <td>Expat is an XML parser library written in C. It is a stream-oriented parser in which an application
+ registers handlers for things the parser might find in the XML document (like start tags)</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.1.0</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015b</li>
+                <li style="white-space: nowrap;">2.1.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.1.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>git</b><br />
+              <a href="http://git-scm.com/">http://git-scm.com/</a>
+            </td>
+            <td>Git is a free and open source distributed version control system designed
+to handle everything from small to very large projects with speed and efficiency.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.8.0</li>
+                <li style="white-space: nowrap;">2.8.0-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gzip</b><br />
+              <a href="http://www.gnu.org/software/gzip/">http://www.gnu.org/software/gzip/</a>
+            </td>
+            <td>gzip (GNU zip) is a popular data compression program as a replacement for compress</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6-foss-2015g</li>
+                <li style="white-space: nowrap;">1.6-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>itac</b><br />
+              <a href="http://software.intel.com/en-us/intel-trace-analyzer/">http://software.intel.com/en-us/intel-trace-analyzer/</a>
+            </td>
+            <td>The Intel Trace Collector is a low-overhead tracing library that performs
+ event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application
+ activities gathered by the Intel Trace Collector through graphical displays. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">9.1.2.024</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>numactl</b><br />
+              <a href="http://oss.sgi.com/projects/libnuma/">http://oss.sgi.com/projects/libnuma/</a>
+            </td>
+            <td>The numactl program allows you to run your application program on specific cpu's and memory nodes.
+ It does this by supplying a NUMA memory policy to the operating system before running your program.
+ The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.0.10-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.0.10-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">2.0.10-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.0.11</li>
+                <li style="white-space: nowrap;">2.0.11-GCC-4.9.3-2.25</li>
+                <li style="white-space: nowrap;">2.0.11-GCC-5.3.0-2.26</li>
+                <li style="white-space: nowrap;">2.0.9-GCC-4.4.7-system</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>parallel</b><br />
+              <a href="http://savannah.gnu.org/projects/parallel/">http://savannah.gnu.org/projects/parallel/</a>
+            </td>
+            <td>parallel: Build and execute shell commands in parallel</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">20150322-GNU-5.1.0-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>tcsh</b><br />
+              <a href="http://www.tcsh.org">http://www.tcsh.org</a>
+            </td>
+            <td>Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). 
+ It is a command language interpreter usable both as an interactive login shell and a shell script command 
+ processor. It includes a command-line editor, programmable word completion, spelling correction, a history 
+ mechanism, job control and a C-like syntax.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">6.18.01-intel-2015b</li>
+                <li style="white-space: nowrap;">6.19.00</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>turbovnc</b><br />
+              <a href="http://www.turbovnc.org">http://www.turbovnc.org</a>
+            </td>
+            <td>
+TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to
+provide peak performance for 3D and video workloads.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.2.3</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>util-linux</b><br />
+              <a href="http://www.kernel.org/pub/linux/utils/util-linux">http://www.kernel.org/pub/linux/utils/util-linux</a>
+            </td>
+            <td>Set of Linux utilities</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.26.1</li>
+                <li style="white-space: nowrap;">2.26.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+      <div>
+      <h2 id="vis"><a class="tooltip" title="Go to list of categories..." href="#categories">vis</a></h2>
+      <table class="listing">
+        <thead>
+          <tr>
+            <th>Module</th>
+            <th>Description</th>
+            <th>Available versions</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td>
+              <b>FLTK</b><br />
+              <a href="http://www.fltk.org">http://www.fltk.org</a>
+            </td>
+            <td>FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows,
+ and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL
+ and its built-in GLUT emulation.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GLib</b><br />
+              <a href="http://www.gtk.org/">http://www.gtk.org/</a>
+            </td>
+            <td>GLib is one of the base libraries of the GTK+ project</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.40.0</li>
+                <li style="white-space: nowrap;">2.40.0-foss-2015g</li>
+                <li style="white-space: nowrap;">2.40.0-intel-2015b</li>
+                <li style="white-space: nowrap;">2.40.0-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>GPI-2</b><br />
+              <a href="http://www.gpi-site.com/gpi2/">http://www.gpi-site.com/gpi2/</a>
+            </td>
+            <td>GPI-2 is an API for the development of scalable, 
+asynchronous and fault tolerant parallel applications.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.1-gompi-2015e</li>
+                <li style="white-space: nowrap;">1.1.1-gompi-2015e-MPI</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>JasPer</b><br />
+              <a href="http://www.ece.uvic.ca/~frodo/jasper/">http://www.ece.uvic.ca/~frodo/jasper/</a>
+            </td>
+            <td>The JasPer Project is an open-source initiative to provide a free
+ software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.900.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Mesa</b><br />
+              <a href="http://www.mesa3d.org/">http://www.mesa3d.org/</a>
+            </td>
+            <td>Mesa is an open-source implementation of the OpenGL specification -
+ a system for rendering interactive 3D graphics.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">11.0.8-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OSPRay</b><br />
+              <a href="http://www.ospray.org">http://www.ospray.org</a>
+            </td>
+            <td>
+ A Ray Tracing Based Rendering Engine for High-Fidelity Visualization</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.1</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenCV</b><br />
+              <a href="http://opencv.org/">http://opencv.org/</a>
+            </td>
+            <td>OpenCV (Open Source Computer Vision Library) is an open source computer vision
+ and machine learning software library. OpenCV was built to provide
+ a common infrastructure for computer vision applications and to accelerate
+ the use of machine perception in the commercial products.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4.9-intel-2015b</li>
+                <li style="white-space: nowrap;">3.0.0-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>OpenDX</b><br />
+              <a href="http://www.opendx.org">http://www.opendx.org</a>
+            </td>
+            <td>Open source visualization software package based on IBM's Visualization Data Explorer.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.4.4-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ParaView</b><br />
+              <a href="http://www.paraview.org">http://www.paraview.org</a>
+            </td>
+            <td>ParaView is a scientific parallel visualizer.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.3-OSPRay</li>
+                <li style="white-space: nowrap;">5.0.0-binary</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>PyQt</b><br />
+              <a href="http://www.riverbankcomputing.co.uk/software/pyqt">http://www.riverbankcomputing.co.uk/software/pyqt</a>
+            </td>
+            <td>PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">4.11.3-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">4.11.4-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>SUMO</b><br />
+              <a href="http://www.sumo.dlr.de/wiki/Main_Page">http://www.sumo.dlr.de/wiki/Main_Page</a>
+            </td>
+            <td>Simulation of Urban MObility (SUMO) is an open source, highly portable, 
+microscopic and continuous road traffic simulation package designed to handle large road networks.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.25.0-foss-2015g</li>
+                <li style="white-space: nowrap;">0.26.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>Tk</b><br />
+              <a href="http://www.tcl.tk/">http://www.tcl.tk/</a>
+            </td>
+            <td>Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building
+ a graphical user interface (GUI) in many different programming languages.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">8.5.12-intel-2015b</li>
+                <li style="white-space: nowrap;">8.6.4-GCC-4.9.3-2.25-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-GNU-4.9.3-2.25-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015b-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-foss-2015g-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2015b-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-intel-2016.01-no-X11</li>
+                <li style="white-space: nowrap;">8.6.4-no-X11</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>VisIt</b><br />
+              <a href="https://wci.llnl.gov/simulation/computer-codes/visit">https://wci.llnl.gov/simulation/computer-codes/visit</a>
+            </td>
+            <td>VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.10.0</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>cairo</b><br />
+              <a href="http://cairographics.org">http://cairographics.org</a>
+            </td>
+            <td>Cairo is a 2D graphics library with support for multiple output devices.
+Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers,
+PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.12.18-foss-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>ffmpeg</b><br />
+              <a href="https://www.ffmpeg.org/">https://www.ffmpeg.org/</a>
+            </td>
+            <td>A complete, cross-platform solution to record, convert and stream audio and video.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.4-foss-2015g</li>
+                <li style="white-space: nowrap;">2.4-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>fixesproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X.org FixesProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>fontconfig</b><br />
+              <a href="http://www.freedesktop.org/software/fontconfig">http://www.freedesktop.org/software/fontconfig</a>
+            </td>
+            <td>Fontconfig is a library designed to provide system-wide font configuration, customization and
+application access.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.11.1-foss-2015b</li>
+                <li style="white-space: nowrap;">2.11.1-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>freetype</b><br />
+              <a href="http://freetype.org">http://freetype.org</a>
+            </td>
+            <td>FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and
+ portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display
+ servers, font conversion tools, text image generation tools, and many other products as well.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.5.3</li>
+                <li style="white-space: nowrap;">2.5.3-foss-2015b</li>
+                <li style="white-space: nowrap;">2.5.3-foss-2015g</li>
+                <li style="white-space: nowrap;">2.5.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>gettext</b><br />
+              <a href="http://www.gnu.org/software/gettext/">http://www.gnu.org/software/gettext/</a>
+            </td>
+            <td>GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may
+build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools
+and documentation</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.19.2</li>
+                <li style="white-space: nowrap;">0.19.2-GNU-5.1.0-2.25</li>
+                <li style="white-space: nowrap;">0.19.2-foss-2015b</li>
+                <li style="white-space: nowrap;">0.19.2-foss-2015g</li>
+                <li style="white-space: nowrap;">0.19.2-intel-2015b</li>
+                <li style="white-space: nowrap;">0.19.2-intel-2016.01</li>
+                <li style="white-space: nowrap;">0.19.6-foss-2015g</li>
+                <li style="white-space: nowrap;">0.19.6-intel-2016.01</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>grace</b><br />
+              <a href="http://freecode.com/projects/grace">http://freecode.com/projects/grace</a>
+            </td>
+            <td>Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.1.25-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>inputproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X.org InputProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3</li>
+                <li style="white-space: nowrap;">2.3-foss-2015g</li>
+                <li style="white-space: nowrap;">2.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>kbproto</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X.org KBProto protocol headers.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.6</li>
+                <li style="white-space: nowrap;">1.0.6-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.6-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libGLU</b><br />
+              <a href="ftp://ftp.freedesktop.org/pub/mesa/glu/">ftp://ftp.freedesktop.org/pub/mesa/glu/</a>
+            </td>
+            <td>The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. </td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">9.0.0-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libICE</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X Inter-Client Exchange library for freedesktop.org</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.9</li>
+                <li style="white-space: nowrap;">1.0.9-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.9-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libX11</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 client-side library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.6.2-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.6.2-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.6.2-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.6.2-intel-2015b-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXau</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>The libXau package contains a library implementing the X11 Authorization Protocol.
+This is useful for restricting client access to the display.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.0.8</li>
+                <li style="white-space: nowrap;">1.0.8-foss-2015g</li>
+                <li style="white-space: nowrap;">1.0.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXdamage</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X Damage extension library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXdmcp</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is
+useful for allowing clients to interact with the X Display Manager.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.2</li>
+                <li style="white-space: nowrap;">1.1.2-foss-2015g</li>
+                <li style="white-space: nowrap;">1.1.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXext</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>Common X Extensions library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.3.2-Python-2.7.8</li>
+                <li style="white-space: nowrap;">1.3.3</li>
+                <li style="white-space: nowrap;">1.3.3-foss-2015g</li>
+                <li style="white-space: nowrap;">1.3.3-foss-2015g-Python-2.7.9</li>
+                <li style="white-space: nowrap;">1.3.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXfixes</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X Fixes extension library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">5.0.1-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXfont</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X font libary</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.5.1-foss-2015g-Python-2.7.9</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXft</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 client-side library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.2-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXinerama</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>Xinerama multiple monitor library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.3-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXrender</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>X11 client-side library</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.9.8-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>libXt</b><br />
+              <a href="http://www.freedesktop.org/wiki/Software/xlibs">http://www.freedesktop.org/wiki/Software/xlibs</a>
+            </td>
+            <td>libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are
+ based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">1.1.4-foss-2015g-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">1.1.4-intel-2015b-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">1.1.4-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">1.1.5-foss-2015g</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>motif</b><br />
+              <a href="http://motif.ics.com/">http://motif.ics.com/</a>
+            </td>
+            <td>Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building
+ applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems.
+ It was the standard toolkit for the Common Desktop Environment and thus for Unix.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">2.3.4-foss-2015g-libX11-1.6.2</li>
+                <li style="white-space: nowrap;">2.3.4-intel-2015b-libX11-1.6.2</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>p4vasp</b><br />
+              <a href="http://www.p4vasp.at">http://www.p4vasp.at</a>
+            </td>
+            <td>p4vasp is a visualization suite for the Vienna Ab-initio Simulation Package
+ (VASP). It contains an extensible GUI framework, that can be used to view
+ material structure, density of states, band-structure and more.
+</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.3.29-GNU-4.9.3-2.25</li>
+              </ul>
+            </td>
+          </tr>
+          <tr>
+            <td>
+              <b>pixman</b><br />
+              <a href="http://www.pixman.org/">http://www.pixman.org/</a>
+            </td>
+            <td>Pixman is a low-level software library for pixel manipulation, providing features such as image
+compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.</td>
+            <td>
+              <ul>
+                <li style="white-space: nowrap;">0.32.6-foss-2015b</li>
+                <li style="white-space: nowrap;">0.32.6-intel-2015b</li>
+              </ul>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      </div>
+
+</div>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Mon, 18 Jul 2016 02:00:02 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/list_of_modules</guid>
+    </item>
+    <item>
+      <title>Matlab</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-73e8cd3babab4da398f316c8d257916d" class="">
+            <h2 class=" ">Introduction</h2>
+<p>Matlab is available in versions R2015a and R2015b. There are always two variants of the release:</p>
+<ul>
+<li>Non commercial or so called EDU variant, which can be used for common research and educational purposes.</li>
+<li>Commercial or so called COM variant, which can used also for commercial activities. The licenses for commercial variant are much more expensive, so usually the commercial variant has only subset of features compared to the EDU available.</li>
+</ul>
+<p> </p>
+<p>To load the latest version of Matlab load the module</p>
+<pre class=" ">$ module load MATLAB</pre>
+<p>By default the EDU variant is marked as default. If you need other version or variant, load the particular version. To obtain the list of available versions use</p>
+<pre class=" ">$ module avail MATLAB</pre>
+<p>If you need to use the Matlab GUI to prepare your Matlab programs, you can use Matlab directly on the login nodes. But for all computations use Matlab on the compute nodes via PBS Pro scheduler.</p>
+<p>If you require the Matlab GUI, please follow the general informations about <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">running graphical applications</a>.</p>
+<p>Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">here</a>) is recommended.</p>
+<p>To run Matlab with GUI, use</p>
+<pre class=" ">$ matlab</pre>
+<p>To run Matlab in text mode, without the Matlab Desktop GUI environment, use</p>
+<pre class=" ">$ matlab -nodesktop -nosplash</pre>
+<p>plots, images, etc... will be still available.</p>
+<h2 class=" "><a name="running-parallel-matlab-using-distributed-computing-toolbox---engine"></a>Running parallel Matlab using Distributed Computing Toolbox / Engine</h2>
+<p class="exclamation">Distributed toolbox is available only for the EDU variant</p>
+<p class=" ">The MPIEXEC mode available in previous versions is no longer available in MATLAB 2015. Also, the programming interface has changed. Refer to <a class="external-link" href="http://www.mathworks.com/help/distcomp/release-notes.html#buanp9e-1" target="_self" title="">Release Notes</a>.</p>
+<p class=" ">Delete previously used file mpiLibConf.m, we have observed crashes when using Intel MPI.</p>
+<p class=" ">To use Distributed Computing, you first need to setup a parallel profile. We have provided the profile for you, you can either import it in MATLAB command line:</p>
+<pre class=" ">&gt;&gt; parallel.importProfile('/apps/all/MATLAB/2015a-EDU/SalomonPBSPro.settings')<br /><br />ans = <br /><br />SalomonPBSPro </pre>
+<p class=" ">Or in the GUI, go to tab HOME -&gt; Parallel -&gt; Manage Cluster Profiles..., click Import and navigate to :</p>
+<p class=" ">/apps/all/MATLAB/2015a-EDU/SalomonPBSPro.settings</p>
+<p class=" ">With the new mode, MATLAB itself launches the workers via PBS, so you can either use interactive mode or a batch mode on one node, but the actual parallel processing will be done in a separate job started by MATLAB itself. Alternatively, you can use "local" mode to run parallel code on just a single node.</p>
+<p class="exclamation">The profile is confusingly named Salomon, but you can use it also on Anselm.</p>
+<h3 class=" ">Parallel Matlab interactive session</h3>
+<p>Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">this page</a>.</p>
+<pre class=" ">$ xhost +<br />$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 \<br />-l feature__matlab__MATLAB=1 </pre>
+<p>This qsub command example shows how to run Matlab on a single node.</p>
+<p>The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing Engines licenses.</p>
+<p>Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: </p>
+<pre class=" ">r1i0n17$ module load MATLAB/2015b-EDU<br />r1i0n17$ matlab &amp;</pre>
+<h3 class=" "><a name="parallel-matlab-batch-job-in-local-mode"></a>Parallel Matlab batch job in Local mode</h3>
+<p>To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core.</p>
+<pre class=" ">#!/bin/bash<br />#PBS -A PROJECT ID<br />#PBS -q qprod<br />#PBS -l select=1:ncpus=16:mpiprocs=16:ompthreads=1<br /><br /># change to shared scratch directory<br />SCR=/scratch/work/user/$USER/$PBS_JOBID<br />mkdir -p $SCR ; cd $SCR || exit<br /><br /># copy input file to scratch <br />cp $PBS_O_WORKDIR/matlabcode.m .<br /><br /># load modules<br />module load MATLAB/2015a-EDU<br /><br /># execute the calculation<br />matlab -nodisplay -r matlabcode &gt; output.out<br /><br /># copy output file to home<br />cp output.out $PBS_O_WORKDIR/.</pre>
+<p>This script may be submitted directly to the PBS workload manager via the qsub command.  The inputs and matlab script are in matlabcode.m file, outputs in output.out file. Note the missing .m extension in the matlab -r matlabcodefile call, <strong>the .m must not be included</strong>.  Note that the <strong>shared /scratch must be used</strong>. Further, it is <strong>important to include quit</strong> statement at the end of the matlabcode.m script.</p>
+<p>Submit the jobscript using qsub</p>
+<pre class=" ">$ qsub ./jobscript</pre>
+<h3 class=" ">Parallel Matlab Local mode program example</h3>
+<p>The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started.</p>
+<pre class=" ">cluster = parcluster('local')</pre>
+<p class=" ">This script creates scheduler object "cluster" of type "local" that starts workers locally. </p>
+<p class="callout">Please note: Every Matlab script that needs to initialize/use matlabpool has to contain these three lines prior to calling parpool(sched, ...) function. </p>
+<p class=" ">The last step is to start matlabpool with "cluster" object and correct number of workers. We have 24 cores per node, so we start 24 workers.</p>
+<pre class=" ">parpool(cluster,16);<br />                  <br />                 <br />... parallel code ...<br />                 <br />                   <br />parpool close</pre>
+<p>The complete example showing how to use Distributed Computing Toolbox in local mode is shown here. </p>
+<pre class=" ">cluster = parcluster('local');<br />cluster<br /><br />parpool(cluster,24);<br /><br />n=2000;<br /><br />W = rand(n,n);<br />W = distributed(W);<br />x = (1:n)';<br />x = distributed(x);<br />spmd<br />[~, name] = system('hostname')<br />    <br />    T = W*x; % Calculation performed on labs, in parallel.<br />             % T and W are both codistributed arrays here.<br />end<br />T;<br />whos         % T and W are both distributed arrays here.<br /><br />parpool close<br />quit</pre>
+<p>You can copy and paste the example in a .m file and execute. Note that the parpool size should correspond to <strong>total number of cores</strong> available on allocated nodes.</p>
+<h3 class=" ">Parallel Matlab Batch job using PBS mode (workers spawned in a separate job)</h3>
+<p>This mode uses PBS scheduler to launch the parallel pool. It uses the SalomonPBSPro profile that needs to be imported to Cluster Manager, as mentioned before. This methodod uses MATLAB's PBS Scheduler interface - it spawns the workers in a separate job submitted by MATLAB using qsub.</p>
+<p>This is an example of m-script using PBS mode:</p>
+<pre class=" ">cluster = parcluster('SalomonPBSPro');
+set(cluster, 'SubmitArguments', '-A OPEN-0-0');
+set(cluster, 'ResourceTemplate', '-q qprod -l select=10:ncpus=16');
+set(cluster, 'NumWorkers', 160);
+
+pool = parpool(cluster, 160);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)
+</pre>
+<p class=" ">Note that we first construct a cluster object using the imported profile, then set some important options, namely : SubmitArguments, where you need to specify accounting id, and ResourceTemplate, where you need to specify number of nodes to run the job. </p>
+<p class=" ">You can start this script using batch mode the same way as in Local mode example.</p>
+<h3 class=" ">Parallel Matlab Batch with direct launch (workers spawned within the existing job)</h3>
+<p>This method is a "hack" invented by us to emulate the mpiexec functionality found in previous MATLAB versions. We leverage the MATLAB Generic Scheduler interface, but instead of submitting the workers to PBS, we launch the workers directly within the running job, thus we avoid the issues with master script and workers running in separate jobs (issues with license not available, waiting for the worker's job to spawn etc.)</p>
+<p>Please note that this method is experimental.</p>
+<p>For this method, you need to use SalomonDirect profile, import it using <a class="anchor-link" href="#running-parallel-matlab-using-distributed-computing-toolbox---engine" target="_self" title="">the same way as SalomonPBSPro</a> </p>
+<p>This is an example of m-script using direct mode:</p>
+<pre class=" "><br />parallel.importProfile('/apps/all/MATLAB/2015a-EDU/SalomonDirect.settings')<br />cluster = parcluster('SalomonDirect');
+set(cluster, 'NumWorkers', 48);
+
+pool = parpool(cluster, 48);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)</pre>
+<h3 class=" ">Non-interactive Session and Licenses</h3>
+<p>If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the " -l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">look here</a>.</p>
+<p>In case of non-interactive session please read the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">following information</a> on how to modify the qsub command to test for available licenses prior getting the resource allocation.</p>
+<h3 class=" ">Matlab Distributed Computing Engines start up time</h3>
+<p>Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table:</p>
+<table class="plain">
+<tbody>
+<tr><th>compute nodes</th><th>number of workers</th><th>start-up time[s]</th></tr>
+<tr>
+<td>16</td>
+<td>384</td>
+<td>831</td>
+</tr>
+<tr>
+<td>8</td>
+<td>192</td>
+<td>807</td>
+</tr>
+<tr>
+<td>4</td>
+<td>96</td>
+<td>483</td>
+</tr>
+<tr>
+<td>2</td>
+<td>48</td>
+<td>16</td>
+</tr>
+</tbody>
+</table>
+<h2>MATLAB on UV2000 </h2>
+<p>UV2000 machine available in queue "qfat" can be used for MATLAB computations. This is a SMP NUMA machine with large amount of RAM, which can be beneficial for certain types of MATLAB jobs. CPU cores are allocated in chunks of 8 for this machine.</p>
+<p>You can use MATLAB on UV2000 in two parallel modes :</p>
+<h3>Threaded mode</h3>
+<p class=" ">Since this is a SMP machine, you can completely avoid using Parallel Toolbox and use only MATLAB's threading. MATLAB will automatically detect the number of cores you have allocated and will set <span class="monospace">maxNumCompThreads </span>accordingly and certain operations, such as <span class="monospace">fft, \, eig, svd</span>, etc. will be automatically run in threads. The advantage of this mode is that you don't need to modify your existing sequential codes.<span class="monospace"><br /></span></p>
+<h3 class=" ">Local cluster mode</h3>
+<p>You can also use Parallel Toolbox on UV2000. Use l<a class="anchor-link" href="#parallel-matlab-batch-job-in-local-mode" target="_self" title="">ocal cluster mode</a>, "SalomonPBSPro" profile will not work.</p>
+<p> </p>
+<p> </p>
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 24 Jul 2013 12:50:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab</guid>
+    </item>
+    <item>
+      <title>Matlab</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-2efd48d0282d45b7b8fb11393c96d853" class="">
+            <h2 class=" ">Introduction</h2>
+<p>Matlab is available in versions R2015a and R2015b. There are always two variants of the release:</p>
+<ul>
+<li>Non commercial or so called EDU variant, which can be used for common research and educational purposes.</li>
+<li>Commercial or so called COM variant, which can used also for commercial activities. The licenses for commercial variant are much more expensive, so usually the commercial variant has only subset of features compared to the EDU available.</li>
+</ul>
+<p> </p>
+<p>To load the latest version of Matlab load the module</p>
+<pre class=" ">$ module load MATLAB</pre>
+<p>By default the EDU variant is marked as default. If you need other version or variant, load the particular version. To obtain the list of available versions use</p>
+<pre class=" ">$ module avail MATLAB</pre>
+<p>If you need to use the Matlab GUI to prepare your Matlab programs, you can use Matlab directly on the login nodes. But for all computations use Matlab on the compute nodes via PBS Pro scheduler.</p>
+<p>If you require the Matlab GUI, please follow the general informations about <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">running graphical applications</a>.</p>
+<p>Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">here</a>) is recommended.</p>
+<p>To run Matlab with GUI, use</p>
+<pre class=" ">$ matlab</pre>
+<p>To run Matlab in text mode, without the Matlab Desktop GUI environment, use</p>
+<pre class=" ">$ matlab -nodesktop -nosplash</pre>
+<p>plots, images, etc... will be still available.</p>
+<h2 class=" "><a name="running-parallel-matlab-using-distributed-computing-toolbox---engine"></a>Running parallel Matlab using Distributed Computing Toolbox / Engine</h2>
+<p class="exclamation">Distributed toolbox is available only for the EDU variant</p>
+<p class=" ">The MPIEXEC mode available in previous versions is no longer available in MATLAB 2015. Also, the programming interface has changed. Refer to <a class="external-link" href="http://www.mathworks.com/help/distcomp/release-notes.html#buanp9e-1" target="_self" title="">Release Notes</a>.</p>
+<p class=" ">Delete previously used file mpiLibConf.m, we have observed crashes when using Intel MPI.</p>
+<p class=" ">To use Distributed Computing, you first need to setup a parallel profile. We have provided the profile for you, you can either import it in MATLAB command line:</p>
+<pre class=" ">&gt;&gt; parallel.importProfile('/apps/all/MATLAB/2015b-EDU/SalomonPBSPro.settings')<br /><br />ans = <br /><br />SalomonPBSPro </pre>
+<p class=" ">Or in the GUI, go to tab HOME -&gt; Parallel -&gt; Manage Cluster Profiles..., click Import and navigate to :</p>
+<p class=" ">/apps/all/MATLAB/2015b-EDU/SalomonPBSPro.settings</p>
+<p class=" ">With the new mode, MATLAB itself launches the workers via PBS, so you can either use interactive mode or a batch mode on one node, but the actual parallel processing will be done in a separate job started by MATLAB itself. Alternatively, you can use "local" mode to run parallel code on just a single node.</p>
+<h3 class=" ">Parallel Matlab interactive session</h3>
+<p>Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">this page</a>.</p>
+<pre class=" ">$ xhost +<br />$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 \<br />-l feature__matlab__MATLAB=1 </pre>
+<p>This qsub command example shows how to run Matlab on a single node.</p>
+<p>The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing Engines licenses.</p>
+<p>Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: </p>
+<pre class=" ">r1i0n17$ module load MATLAB/2015a-EDU<br />r1i0n17$ matlab &amp;</pre>
+<h3 class=" "><a name="parallel-matlab-batch-job-in-local-mode"></a>Parallel Matlab batch job in Local mode</h3>
+<p>To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core.</p>
+<pre class=" ">#!/bin/bash<br />#PBS -A PROJECT ID<br />#PBS -q qprod<br />#PBS -l select=1:ncpus=24:mpiprocs=24:ompthreads=1<br /><br /># change to shared scratch directory<br />SCR=/scratch/work/user/$USER/$PBS_JOBID<br />mkdir -p $SCR ; cd $SCR || exit<br /><br /># copy input file to scratch <br />cp $PBS_O_WORKDIR/matlabcode.m .<br /><br /># load modules<br />module load MATLAB/2015a-EDU<br /><br /># execute the calculation<br />matlab -nodisplay -r matlabcode &gt; output.out<br /><br /># copy output file to home<br />cp output.out $PBS_O_WORKDIR/.</pre>
+<p>This script may be submitted directly to the PBS workload manager via the qsub command.  The inputs and matlab script are in matlabcode.m file, outputs in output.out file. Note the missing .m extension in the matlab -r matlabcodefile call, <strong>the .m must not be included</strong>.  Note that the <strong>shared /scratch must be used</strong>. Further, it is <strong>important to include quit</strong> statement at the end of the matlabcode.m script.</p>
+<p>Submit the jobscript using qsub</p>
+<pre class=" ">$ qsub ./jobscript</pre>
+<h3 class=" ">Parallel Matlab Local mode program example</h3>
+<p>The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started.</p>
+<pre class=" ">cluster = parcluster('local')</pre>
+<p class=" ">This script creates scheduler object "cluster" of type "local" that starts workers locally. </p>
+<p class="callout">Please note: Every Matlab script that needs to initialize/use matlabpool has to contain these three lines prior to calling parpool(sched, ...) function. </p>
+<p class=" ">The last step is to start matlabpool with "cluster" object and correct number of workers. We have 24 cores per node, so we start 24 workers.</p>
+<pre class=" ">parpool(cluster,24);<br />                  <br />                 <br />... parallel code ...<br />                 <br />                   <br />parpool close</pre>
+<p>The complete example showing how to use Distributed Computing Toolbox in local mode is shown here. </p>
+<pre class=" ">cluster = parcluster('local');<br />cluster<br /><br />parpool(cluster,24);<br /><br />n=2000;<br /><br />W = rand(n,n);<br />W = distributed(W);<br />x = (1:n)';<br />x = distributed(x);<br />spmd<br />[~, name] = system('hostname')<br />    <br />    T = W*x; % Calculation performed on labs, in parallel.<br />             % T and W are both codistributed arrays here.<br />end<br />T;<br />whos         % T and W are both distributed arrays here.<br /><br />parpool close<br />quit</pre>
+<p>You can copy and paste the example in a .m file and execute. Note that the parpool size should correspond to <strong>total number of cores</strong> available on allocated nodes.</p>
+<h3 class=" ">Parallel Matlab Batch job using PBS mode (workers spawned in a separate job)</h3>
+<p>This mode uses PBS scheduler to launch the parallel pool. It uses the SalomonPBSPro profile that needs to be imported to Cluster Manager, as mentioned before. This methodod uses MATLAB's PBS Scheduler interface - it spawns the workers in a separate job submitted by MATLAB using qsub.</p>
+<p>This is an example of m-script using PBS mode:</p>
+<pre class=" ">cluster = parcluster('SalomonPBSPro');
+set(cluster, 'SubmitArguments', '-A OPEN-0-0');
+set(cluster, 'ResourceTemplate', '-q qprod -l select=10:ncpus=24');
+set(cluster, 'NumWorkers', 240);
+
+pool = parpool(cluster,240);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)
+</pre>
+<p class=" ">Note that we first construct a cluster object using the imported profile, then set some important options, namely : SubmitArguments, where you need to specify accounting id, and ResourceTemplate, where you need to specify number of nodes to run the job. </p>
+<p class=" ">You can start this script using batch mode the same way as in Local mode example.</p>
+<h3 class=" ">Parallel Matlab Batch with direct launch (workers spawned within the existing job)</h3>
+<p>This method is a "hack" invented by us to emulate the mpiexec functionality found in previous MATLAB versions. We leverage the MATLAB Generic Scheduler interface, but instead of submitting the workers to PBS, we launch the workers directly within the running job, thus we avoid the issues with master script and workers running in separate jobs (issues with license not available, waiting for the worker's job to spawn etc.)</p>
+<p>Please note that this method is experimental.</p>
+<p>For this method, you need to use SalomonDirect profile, import it using <a class="anchor-link" href="#running-parallel-matlab-using-distributed-computing-toolbox---engine" target="_self" title="">the same way as SalomonPBSPro</a> </p>
+<p>This is an example of m-script using direct mode:</p>
+<pre class=" "><br />parallel.importProfile('/apps/all/MATLAB/2015b-EDU/SalomonDirect.settings')<br />cluster = parcluster('SalomonDirect');
+set(cluster, 'NumWorkers', 48);
+
+pool = parpool(cluster, 48);
+
+n=2000;
+
+W = rand(n,n);
+W = distributed(W);
+x = (1:n)';
+x = distributed(x);
+spmd
+[~, name] = system('hostname')
+
+    T = W*x; % Calculation performed on labs, in parallel.
+             % T and W are both codistributed arrays here.
+end
+whos         % T and W are both distributed arrays here.
+
+% shut down parallel pool
+delete(pool)</pre>
+<h3 class=" ">Non-interactive Session and Licenses</h3>
+<p>If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the " -l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">look here</a>.</p>
+<p class="exclamation">The licensing feature of PBS is currently disabled.</p>
+<p>In case of non-interactive session please read the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">following information</a> on how to modify the qsub command to test for available licenses prior getting the resource allocation.</p>
+<h3 class=" ">Matlab Distributed Computing Engines start up time</h3>
+<p>Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table:</p>
+<table class="plain">
+<tbody>
+<tr><th>compute nodes</th><th>number of workers</th><th>start-up time[s]</th></tr>
+<tr>
+<td>16</td>
+<td>384</td>
+<td>831</td>
+</tr>
+<tr>
+<td>8</td>
+<td>192</td>
+<td>807</td>
+</tr>
+<tr>
+<td>4</td>
+<td>96</td>
+<td>483</td>
+</tr>
+<tr>
+<td>2</td>
+<td>48</td>
+<td>16</td>
+</tr>
+</tbody>
+</table>
+<h2>MATLAB on UV2000 </h2>
+<p>UV2000 machine available in queue "qfat" can be used for MATLAB computations. This is a SMP NUMA machine with large amount of RAM, which can be beneficial for certain types of MATLAB jobs. CPU cores are allocated in chunks of 8 for this machine.</p>
+<p>You can use MATLAB on UV2000 in two parallel modes :</p>
+<h3>Threaded mode</h3>
+<p class=" ">Since this is a SMP machine, you can completely avoid using Parallel Toolbox and use only MATLAB's threading. MATLAB will automatically detect the number of cores you have allocated and will set <span class="monospace">maxNumCompThreads </span>accordingly and certain operations, such as <span class="monospace">fft, \, eig, svd</span>, etc. will be automatically run in threads. The advantage of this mode is that you don't need to modify your existing sequential codes.<span class="monospace"><br /></span></p>
+<h3 class=" ">Local cluster mode</h3>
+<p>You can also use Parallel Toolbox on UV2000. Use l<a class="anchor-link" href="#parallel-matlab-batch-job-in-local-mode" target="_self" title="">ocal cluster mode</a>, "SalomonPBSPro" profile will not work.</p>
+<p> </p>
+<p> </p>
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 24 Jul 2013 12:50:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/numerical-languages/matlab</guid>
+    </item>
+    <item>
+      <title>Matlab 2013-2014</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-41bf242708954438ac56e1a431788c0e" class="">
+            <h2 class=" ">Introduction</h2>
+<p class="exclamation">This document relates to the old versions R2013 and R2014. For MATLAB 2015, please use <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/copy_of_matlab" class="internal-link">this documentation instead</a>.</p>
+<p>Matlab is available in the latest stable version. There are always two variants of the release:</p>
+<ul>
+<li>Non commercial or so called EDU variant, which can be used for common research and educational purposes.</li>
+<li>Commercial or so called COM variant, which can used also for commercial activities. The licenses for commercial variant are much more expensive, so usually the commercial variant has only subset of features compared to the EDU available.</li>
+</ul>
+<p> </p>
+<p>To load the latest version of Matlab load the module</p>
+<pre class=" ">$ module load matlab</pre>
+<p>By default the EDU variant is marked as default. If you need other version or variant, load the particular version. To obtain the list of available versions use</p>
+<pre class=" ">$ module avail matlab</pre>
+<p>If you need to use the Matlab GUI to prepare your Matlab programs, you can use Matlab directly on the login nodes. But for all computations use Matlab on the compute nodes via PBS Pro scheduler.</p>
+<p>If you require the Matlab GUI, please follow the general informations about <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">running graphical applications</a>.</p>
+<p>Matlab GUI is quite slow using the X forwarding built in the PBS (qsub -X), so using X11 display redirection either via SSH or directly by xauth (please see the "GUI Applications on Compute Nodes over VNC" part <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">here</a>) is recommended.</p>
+<p>To run Matlab with GUI, use</p>
+<pre class=" ">$ matlab</pre>
+<p>To run Matlab in text mode, without the Matlab Desktop GUI environment, use</p>
+<pre class=" ">$ matlab -nodesktop -nosplash</pre>
+<p>plots, images, etc... will be still available.</p>
+<h2 class=" ">Running parallel Matlab using Distributed Computing Toolbox / Engine</h2>
+<p>Recommended parallel mode for running parallel Matlab on Anselm is MPIEXEC mode. In this mode user allocates resources through PBS prior to starting Matlab. Once resources are granted the main Matlab instance is started on the first compute node assigned to job by PBS and workers are started on all remaining nodes. User can use both interactive and non-interactive PBS sessions. This mode guarantees that the data processing is not performed on login nodes, but all processing is on compute nodes.</p>
+<p> <img title="Parallel Matlab" alt="Parallel Matlab" src="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/Matlab.png" class="image-inline" /></p>
+<p>For the performance reasons Matlab should use system MPI. On Anselm the supported MPI implementation for Matlab is Intel MPI. To switch to system MPI user has to override default Matlab setting by creating new configuration file in its home directory. The path and file name has to be exactly the same as in the following listing:</p>
+<pre class=" "><strong>$ vim ~/matlab/mpiLibConf.m </strong></pre>
+<pre class=" "><strong>function [lib, extras] = mpiLibConf</strong><br /><strong>%MATLAB MPI Library overloading for Infiniband Networks</strong><br /><br /><strong>mpich = '/opt/intel/impi/4.1.1.036/lib64/';</strong><br /><br /><strong>disp('Using Intel MPI 4.1.1.036 over Infiniband')</strong><br /><br /><strong>lib = strcat(mpich, 'libmpich.so');</strong><br /><strong>mpl = strcat(mpich, 'libmpl.so');</strong><br /><strong>opa = strcat(mpich, 'libopa.so');</strong><br /><br /><strong>extras = {};</strong></pre>
+<p>System MPI library allows Matlab to communicate through 40Gbps Infiniband QDR interconnect instead of slower 1Gb ethernet network.</p>
+<p class="callout">Please note: The path to MPI library in "mpiLibConf.m" has to match with version of loaded Intel MPI module. In this example the version 4.1.1.036 of Iintel MPI is used by Matlab and therefore module impi/4.1.1.036  has to be loaded prior to starting Matlab.</p>
+<h3 class=" ">Parallel Matlab interactive session</h3>
+<p>Once this file is in place, user can request resources from PBS. Following example shows how to start interactive session with support for Matlab GUI. For more information about GUI based applications on Anselm see <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">this page</a>.</p>
+<pre class=" ">$ xhost +<br />$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=4:ncpus=16:mpiprocs=16 -l walltime=00:30:00 \<br />-l feature__matlab__MATLAB=1 </pre>
+<p>This qsub command example shows how to run Matlab with 32 workers in following configuration: 2 nodes (use all 16 cores per node) and 16 workers = mpirocs per node (-l select=2:ncpus=16:mpiprocs=16). If user requires to run smaller number of workers per node then the "mpiprocs" parameter has to be changed.</p>
+<p>The second part of the command shows how to request all necessary licenses. In this case 1 Matlab-EDU license and 32 Distributed Computing Engines licenses.</p>
+<p>Once the access to compute nodes is granted by PBS, user can load following modules and start Matlab: </p>
+<pre class=" ">cn79$ module load matlab/R2013a-EDU<br />cn79$ module load impi/4.1.1.036<br />cn79$ matlab &amp;</pre>
+<h3 class=" ">Parallel Matlab batch job</h3>
+<p>To run matlab in batch mode, write an matlab script, then write a bash jobscript and execute via the qsub command. By default, matlab will execute one matlab worker instance per allocated core.</p>
+<pre class=" ">#!/bin/bash<br />#PBS -A PROJECT ID<br />#PBS -q qprod<br />#PBS -l select=2:ncpus=16:mpiprocs=16:ompthreads=1<br /><br /># change to shared scratch directory<br />SCR=/scratch/$USER/$PBS_JOBID<br />mkdir -p $SCR ; cd $SCR || exit<br /><br /># copy input file to scratch <br />cp $PBS_O_WORKDIR/matlabcode.m .<br /><br /># load modules<br />module load matlab/R2013a-EDU<br />module load impi/4.1.1.036<br /><br /># execute the calculation<br />matlab -nodisplay -r matlabcode &gt; output.out<br /><br /># copy output file to home<br />cp output.out $PBS_O_WORKDIR/.</pre>
+<p>This script may be submitted directly to the PBS workload manager via the qsub command.  The inputs and matlab script are in matlabcode.m file, outputs in output.out file. Note the missing .m extension in the matlab -r matlabcodefile call, <strong>the .m must not be included</strong>.  Note that the <strong>shared /scratch must be used</strong>. Further, it is <strong>important to include quit</strong> statement at the end of the matlabcode.m script.</p>
+<p>Submit the jobscript using qsub</p>
+<pre class=" ">$ qsub ./jobscript</pre>
+<h3 class=" ">Parallel Matlab program example</h3>
+<p>The last part of the configuration is done directly in the user Matlab script before Distributed Computing Toolbox is started.</p>
+<pre class=" ">sched = findResource('scheduler', 'type', 'mpiexec');<br />set(sched, 'MpiexecFileName', '/apps/intel/impi/4.1.1/bin/mpirun');<br />set(sched, 'EnvironmentSetMethod', 'setenv');</pre>
+<p class=" ">This script creates scheduler object "sched" of type "mpiexec" that starts workers using mpirun tool. To use correct version of mpirun, the second line specifies the path to correct version of system Intel MPI library.</p>
+<p class="callout">Please note: Every Matlab script that needs to initialize/use matlabpool has to contain these three lines prior to calling matlabpool(sched, ...) function. </p>
+<p class=" ">The last step is to start matlabpool with "sched" object and correct number of workers. In this case qsub asked for total number of 32 cores, therefore the number of workers is also set to 32.</p>
+<pre class=" ">matlabpool(sched,32);<br />                  <br />                 <br />... parallel code ...<br />                 <br />                   <br />matlabpool close</pre>
+<p>The complete example showing how to use Distributed Computing Toolbox is show here. </p>
+<pre class=" ">sched = findResource('scheduler', 'type', 'mpiexec');<br />set(sched, 'MpiexecFileName', '/apps/intel/impi/4.1.1/bin/mpirun')<br />set(sched, 'EnvironmentSetMethod', 'setenv')<br />set(sched, 'SubmitArguments', '') <br />sched<br /><br />matlabpool(sched,32);<br /><br />n=2000;<br /><br />W = rand(n,n);<br />W = distributed(W);<br />x = (1:n)';<br />x = distributed(x);<br />spmd<br />[~, name] = system('hostname')<br />    <br />    T = W*x; % Calculation performed on labs, in parallel.<br />             % T and W are both codistributed arrays here.<br />end<br />T;<br />whos         % T and W are both distributed arrays here.<br /><br />matlabpool close<br />quit</pre>
+<p>You can copy and paste the example in a .m file and execute. Note that the matlabpool size should correspond to <strong>total number of cores</strong> available on allocated nodes.</p>
+<h3 class=" ">Non-interactive Session and Licenses</h3>
+<p>If you want to run batch jobs with Matlab, be sure to request appropriate license features with the PBS Pro scheduler, at least the " -l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More information about how to check the license features states and how to request them with PBS Pro, please <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">look here</a>.</p>
+<p>In case of non-interactive session please read the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses" class="internal-link">following information</a> on how to modify the qsub command to test for available licenses prior getting the resource allocation.</p>
+<h3 class=" ">Matlab Distributed Computing Engines start up time</h3>
+<p>Starting Matlab workers is an expensive process that requires certain amount of time. For your information please see the following table:</p>
+<table class="plain">
+<tbody>
+<tr><th>compute nodes</th><th>number of workers</th><th>start-up time[s]</th></tr>
+<tr>
+<td>16</td>
+<td>256</td>
+<td>1008</td>
+</tr>
+<tr>
+<td>8</td>
+<td>128</td>
+<td>534</td>
+</tr>
+<tr>
+<td>4</td>
+<td>64</td>
+<td>333</td>
+</tr>
+<tr>
+<td>2</td>
+<td>32</td>
+<td>210</td>
+</tr>
+</tbody>
+</table>
+<p> </p>
+<p> </p>
+
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 24 Jul 2013 12:50:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab</guid>
+    </item>
+    <item>
+      <title>MATLAB 2015b</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 13 Jul 2016 15:40:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/matlab-2015b</guid>
+    </item>
+    <item>
+      <title>Numerical languages</title>
+      <description>Interpreted languages for numerical computations and analysis</description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-6c3faf66932c4ed6aaf3471f0ab0e081" class="">
+            <h2 class=" ">Introduction</h2>
+<p>This section contains a collection of high-level interpreted languages, primarily intended for numerical computations.</p>
+<h2 class=" ">Matlab</h2>
+<p>MATLAB<sup>®</sup> is a high-level language and interactive environment for numerical computation, visualization, and programming.</p>
+<pre class=" ">$ module load MATLAB/2015b-EDU<br />$ matlab</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/matlab" class="internal-link">Matlab<span class="internal-link"></span> page</a>.</p>
+<h2 class=" ">Octave</h2>
+<p>GNU Octave is a high-level interpreted language, primarily intended for numerical computations. The Octave language is quite similar to Matlab so that most programs are easily portable.</p>
+<pre class=" ">$ module load Octave<br />$ octave</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/octave" class="internal-link">Octave page</a>.</p>
+<h2 class=" ">R</h2>
+<p>The R is an interpreted language and environment for statistical computing and graphics.</p>
+<pre class=" ">$ module load R<br />$ R</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/r" class="internal-link">R page</a>.</p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Tue, 25 Feb 2014 13:25:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/anselm-cluster-documentation/software/numerical-languages/introduction</guid>
+    </item>
+    <item>
+      <title>Vampir installed</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/vampir-installed</guid>
+    </item>
+    <item>
+      <title>Debuggers and profilers summary</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-e5c6c8364e82439f88e2de1434687fba" class="">
+            <h2 class=" ">Introduction</h2>
+<p>We provide state of the art programms and tools to develop, profile and debug HPC codes at IT4Innovations.<br />On these pages, we provide an overview of the profiling and debugging tools available on Anslem at IT4I.</p>
+<h2 class=" ">Intel debugger</h2>
+<p>The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use <a target="_self" title="" href="resolveuid/11e53ad0d2fd4c5187537f4baeedff33" class="internal-link">X display</a> for running the GUI.</p>
+<pre class=" ">$ module load intel<br />$ idb</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/intel-suite/intel-debugger" class="internal-link">Intel Debugger</a> page.</p>
+<h2 class=" ">Allinea Forge (DDT/MAP)</h2>
+<p>Allinea DDT, is a commercial debugger primarily for debugging parallel MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel Xeon Phi accelerators. DDT provides all the standard debugging features (stack trace, breakpoints, watches, view variables, threads etc.) for every thread running as part of your program, or for every process - even if these processes are distributed across a cluster using an MPI implementation.</p>
+<pre class=" ">$ module load Forge<br />$ forge</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-ddt" class="internal-link">Allinea DDT</a> page.</p>
+<h2 class=" ">Allinea Performance Reports</h2>
+<p>Allinea Performance Reports characterize the performance of HPC application runs. After executing your application through the tool, a synthetic HTML report is generated automatically, containing information about several metrics along with clear behavior statements and hints to help you improve the efficiency of your runs. Our license is limited to 64 MPI processes.</p>
+<pre class=" ">$ module load PerformanceReports/6.0 <br />$ perf-report mpirun -n 64 ./my_application argument01 argument02</pre>
+<p class=" ">Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/allinea-performance-reports" class="internal-link">Allinea Performance Reports</a> page.</p>
+<h2 class=" ">RougeWave Totalview</h2>
+<p>TotalView is a source- and machine-level debugger for multi-process, multi-threaded programs. Its wide range of tools provides ways to analyze, organize, and test programs, making it easy to isolate and identify problems in individual threads and processes in programs of great complexity.</p>
+<pre class=" ">$ module load totalview<br />$ totalview</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/total-view" class="internal-link">Totalview</a> page.</p>
+<h2 class=" ">Vampir trace analyzer</h2>
+<p>Vampir is a GUI trace analyzer for traces in OTF format.</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/vampir" class="internal-link">Vampir</a> page.</p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 12 Feb 2014 16:35:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/summary</guid>
+    </item>
+    <item>
+      <title>Vampir</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-50ee0f8999e14a08822bd423d24de7ef" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+<h2></h2>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 12:40:56 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/debuggers/vampir</guid>
+    </item>
+    <item>
+      <title>Debuggers and profilers summary</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-8ad8c412381d4fef857cbab87258d453" class="">
+            <h2 class=" ">Introduction</h2>
+<p>We provide state of the art programms and tools to develop, profile and debug HPC codes at IT4Innovations.<br />On these pages, we provide an overview of the profiling and debugging tools available on Anslem at IT4I.</p>
+<h2 class=" ">Intel debugger</h2>
+<p class="exclamation">Intel debugger is no longer available since Parallel Studio version 2015</p>
+<p>The intel debugger version 13.0 is available, via module intel. The debugger works for applications compiled with C and C++ compiler and the ifort fortran 77/90/95 compiler. The debugger provides java GUI environment. Use <a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc" class="internal-link">X display</a> for running the GUI.</p>
+<pre class=" ">$ module load intel<br />$ idb</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger" class="internal-link">Intel Debugger</a> page.</p>
+<h2 class=" ">Allinea Forge (DDT/MAP)</h2>
+<p>Allinea DDT, is a commercial debugger primarily for debugging parallel MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel Xeon Phi accelerators. DDT provides all the standard debugging features (stack trace, breakpoints, watches, view variables, threads etc.) for every thread running as part of your program, or for every process - even if these processes are distributed across a cluster using an MPI implementation.</p>
+<pre class=" ">$ module load Forge<br />$ forge</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/allinea-ddt" class="internal-link">Allinea DDT</a> page.</p>
+<h2 class=" ">Allinea Performance Reports</h2>
+<p>Allinea Performance Reports characterize the performance of HPC application runs. After executing your application through the tool, a synthetic HTML report is generated automatically, containing information about several metrics along with clear behavior statements and hints to help you improve the efficiency of your runs. Our license is limited to 64 MPI processes.</p>
+<pre class=" ">$ module load PerformanceReports/6.0  <br />$ perf-report mpirun -n 64 ./my_application argument01 argument02</pre>
+<p class=" ">Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports" class="internal-link">Allinea Performance Reports</a> page.</p>
+<h2 class=" ">RougeWave Totalview</h2>
+<p>TotalView is a source- and machine-level debugger for multi-process, multi-threaded programs. Its wide range of tools provides ways to analyze, organize, and test programs, making it easy to isolate and identify problems in individual threads and processes in programs of great complexity.</p>
+<pre class=" ">$ module load TotalView/8.15.4-6-linux-x86-64<br />$ totalview</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/total-view" class="internal-link">Totalview</a> page.</p>
+<h2 class=" ">Vampir trace analyzer</h2>
+<p>Vampir is a GUI trace analyzer for traces in OTF format.</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir</pre>
+<p>Read more at the <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/vampir" class="internal-link">Vampir</a> page.</p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 12 Feb 2014 16:35:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/debuggers/summary</guid>
+    </item>
+    <item>
+      <title>Vampir</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-f6e25102d1244fb4ab355175867747b5" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 12:38:13 +0200</pubDate>
+      <guid>https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir</guid>
+    </item>
+    <item>
+      <title>Vampir screenshot</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 12:34:13 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/view</guid>
+    </item>
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs.it4i.cz/download_icon.png b/docs.it4i.cz/download_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..95cf4fbff774a58d8b8459d9d0a71c980da6c706
Binary files /dev/null and b/docs.it4i.cz/download_icon.png differ
diff --git a/docs.it4i.cz/favicon.ico b/docs.it4i.cz/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..d51e1c2571169b49424f1ab0f91f59c0b4e63b34
Binary files /dev/null and b/docs.it4i.cz/favicon.ico differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8d3f8b4bd209a1da37ed87ab72722ca28c94ed3
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters.md
@@ -0,0 +1,22 @@
+Accessing the Clusters 
+======================
+
+The IT4Innovations clusters are accessed by SSH protocol via login
+nodes.
+
+Read more on [Accessing the Salomon
+Cluste](https://docs.it4i.cz/salomon/accessing-the-cluster)r
+or [Accessing the Anselm
+Cluster](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster)
+pages.
+
+### PuTTY
+
+On **Windows**, use [PuTTY ssh
+client](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty).
+
+### SSH keys 
+
+Read more about [SSH keys
+management](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys).
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface.md
new file mode 100644
index 0000000000000000000000000000000000000000..1a5958806c8af0d110147517225b6ed599cfce26
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface.md
@@ -0,0 +1,31 @@
+Graphical User Interface 
+========================
+
+
+
+  
+
+X Window System
+---------------
+
+The X Window system is a principal way to get GUI access to the
+clusters.
+
+Read more about configuring [**X Window
+System**](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+VNC
+---
+
+The **Virtual Network Computing** (**VNC**) is a graphical <span
+class="link-external">[desktop
+sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing")</span>
+system that uses the <span class="link-external">[Remote Frame Buffer
+protocol
+(RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol")</span>
+to remotely control another <span
+class="link-external">[computer](http://en.wikipedia.org/wiki/Computer "Computer")</span>.
+
+Read more about configuring
+**[VNC](https://docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc)**.
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md
new file mode 100644
index 0000000000000000000000000000000000000000..9cf4fed37e459c304590856469c1c50f9f1c01ae
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/graphical-user-interface.md
@@ -0,0 +1,33 @@
+Graphical User Interface 
+========================
+
+
+
+  
+
+X Window System
+---------------
+
+The X Window system is a principal way to get GUI access to the
+clusters.
+
+Read more about configuring [**X Window
+System**](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+VNC
+---
+
+The **Virtual Network Computing** (**VNC**) is a graphical <span
+class="link-external">[desktop
+sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing")</span>
+system that uses the <span class="link-external">[Remote Frame Buffer
+protocol
+(RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol")</span>
+to remotely control another <span
+class="link-external">[computer](http://en.wikipedia.org/wiki/Computer "Computer")</span>.
+
+Read more about configuring
+**[VNC](https://docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc)**.
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png
new file mode 100644
index 0000000000000000000000000000000000000000..078dfc73a90b2b3ffc1648fa82ba4b0a109fbc29
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png
new file mode 100644
index 0000000000000000000000000000000000000000..437d05effabe47a1dfd18129619398ef7ef74739
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmscreensaver.png/@@images/44048cfa-e854-4cb4-902b-c173821c2db1.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmscreensaver.png/@@images/44048cfa-e854-4cb4-902b-c173821c2db1.png
new file mode 100644
index 0000000000000000000000000000000000000000..7dbc23f6dcd9390d38bfd1b07650d69d87d818eb
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmscreensaver.png/@@images/44048cfa-e854-4cb4-902b-c173821c2db1.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7d24165d5b2a486534c095b5fb156d83db10428
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f404e503edeb796ed0ee96c0ed81aaca64d97eb
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2af3200f0c1c205cfb925f266a579ba65919249
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/vnc.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/vnc.md
new file mode 100644
index 0000000000000000000000000000000000000000..ada627f48e267acaf7282638d8e1432ee60a10c7
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/vnc.md
@@ -0,0 +1,280 @@
+VNC 
+===
+
+
+
+  
+
+The **Virtual Network Computing** (**VNC**) is a graphical [desktop
+sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing")
+system that uses the [Remote Frame Buffer protocol
+(RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol") to
+remotely control another
+[computer](http://en.wikipedia.org/wiki/Computer "Computer"). It
+transmits the
+[keyboard](http://en.wikipedia.org/wiki/Computer_keyboard "Computer keyboard")
+and
+[mouse](http://en.wikipedia.org/wiki/Computer_mouse "Computer mouse")
+events from one computer to another, relaying the graphical
+[screen](http://en.wikipedia.org/wiki/Computer_screen "Computer screen")
+updates back in the other direction, over a
+[network](http://en.wikipedia.org/wiki/Computer_network "Computer network").^[<span>[</span>1<span>]</span>](http://en.wikipedia.org/wiki/Virtual_Network_Computing#cite_note-1)^
+
+The recommended clients are
+[TightVNC](http://www.tightvnc.com) or
+[TigerVNC](http://sourceforge.net/apps/mediawiki/tigervnc/index.php?title=Main_Page)
+(free, open source, available for almost any platform).
+
+Create VNC password
+-------------------
+
+Local VNC password should be set before the first login. Do use a strong
+password.
+
+``` 
+[username@login2 ~]$ vncpasswd
+Password:
+Verify:
+```
+
+Start vncserver
+---------------
+
+To access VNC a local vncserver must be  started first and also a tunnel
+using SSH port forwarding must be established.
+[See below](#linux-example-of-creating-a-tunnel) for the
+details on SSH tunnels. In this example we use port 61.
+
+You can find ports which are already occupied. Here you can see that
+ports "<span class="pln">/usr/bin/Xvnc :79"</span> and "<span
+class="pln">/usr/bin/Xvnc :60" are occupied.</span>
+
+``` 
+[username@login2 ~]$ ps aux | grep Xvnc
+username    5971  0.0  0.0 201072 92564 ?        SN   Sep22   4:19 /usr/bin/Xvnc :79 -desktop login2:79 (username) -auth /home/gre196/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/username/.vnc/passwd -rfbport 5979 -fp catalogue:/etc/X11/fontpath.d -pn
+username    10296  0.0  0.0 131772 21076 pts/29   SN   13:01   0:01 /usr/bin/Xvnc :60 -desktop login2:61 (username) -auth /home/username/.Xauthority -geometry 1600x900 -depth 16 -rfbwait 30000 -rfbauth /home/jir13/.vnc/passwd -rfbport 5960 -fp catalogue:/etc/X11/fontpath.d -pn
+.....
+```
+
+Choose free port e.g. 61 and start your VNC server:
+
+``` 
+[username@login2 ~]$ vncserver :61 -geometry 1600x900 -depth 16
+
+New 'login2:1 (username)' desktop is login2:1
+
+Starting applications specified in /home/username/.vnc/xstartup
+Log file is /home/username/.vnc/login2:1.log
+```
+
+Check if VNC server is started on the port (in this example 61):
+
+``` 
+[username@login2 .vnc]$ vncserver -list
+
+TigerVNC server sessions:
+
+X DISPLAY #     PROCESS ID
+:61              18437
+```
+
+Another command:<span class="pln"></span>
+
+``` 
+[username@login2 .vnc]$  ps aux | grep Xvnc
+
+username    10296  0.0  0.0 131772 21076 pts/29   SN   13:01   0:01 /usr/bin/Xvnc :61 -desktop login2:61 (username) -auth /home/jir13/.Xauthority -geometry 1600x900 -depth 16 -rfbwait 30000 -rfbauth /home/username/.vnc/passwd -rfbport 5961 -fp catalogue:/etc/X11/fontpath.d -pn
+```
+
+To access the VNC server you have to create a tunnel between the login
+node using TCP **port 5961** and your machine using a free TCP port (for
+simplicity the very same, in this case).
+
+The tunnel must point to the same login node where you launched the VNC
+server, eg. login2. If you use just cluster-name.it4i.cz, the tunnel
+might point to a different node due to DNS round robin.
+
+### []()[]()Linux/Mac OS example of creating a tunnel
+
+At your machine, create the tunnel:
+
+``` 
+local $  ssh -TN -f username@login2.cluster-name.it4i.cz -L 5961:localhost:5961
+```
+
+Issue the following command to check the tunnel is established (please
+note the PID 2022 in the last column, you'll need it for closing the
+tunnel):
+
+``` 
+local $ netstat -natp | grep 5961
+(Not all processes could be identified, non-owned process info
+ will not be shown, you would have to be root to see it all.)
+tcp        0      0 127.0.0.1:5961          0.0.0.0:*               LISTEN      2022/ssh        
+tcp6       0      0 ::1:5961                :::*                    LISTEN      2022/ssh 
+```
+
+Or on Mac OS use this command:
+
+``` 
+local-mac $ lsof -n -i4TCP:5961 | grep LISTEN
+ssh 75890 sta545 7u IPv4 0xfb062b5c15a56a3b 0t0 TCP 127.0.0.1:5961 (LISTEN)
+```
+
+Connect with the VNC client:
+
+``` 
+local $ vncviewer 127.0.0.1:5961
+```
+
+In this example, we connect to VNC server on port 5961, via the ssh
+tunnel. The connection is encrypted and secured. The VNC server
+listening on port 5961 provides screen of 1600x900 pixels.
+
+You have to destroy the SSH tunnel which is still running at the
+background after you finish the work. Use the following command (PID
+2022 in this case, see the netstat command above):
+
+``` 
+kill 2022
+```
+
+### Windows example of creating a tunnel
+
+Use PuTTY to log in on cluster.
+
+Start vncserver using command vncserver described above.
+
+Search for the localhost and port number (in this case
+127.0.0.1:5961).**
+**
+
+``` 
+[username@login2 .vnc]$ netstat -tanp | grep Xvnc
+(Not all processes could be identified, non-owned process info
+ will not be shown, you would have to be root to see it all.)
+tcp        0      0 127.0.0.1:5961              0.0.0.0:*                   LISTEN      24031/Xvnc
+```
+
+On the PuTTY Configuration screen go to Connection-&gt;SSH-&gt;Tunnels
+to set up the tunnel.
+
+Fill the Source port and Destination fields. **Do not forget to click
+the Add button**.
+
+[![PuTTY - Create
+tunnel](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png/@@images/4c66cd51-c858-473b-98c2-8d901aea7118.png "PuTTY Tunnel")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png)
+
+Run the VNC client of your choice, select VNC server 127.0.0.1, port
+5961 and connect using VNC password.
+
+### Example of starting TigerVNC viewer
+
+![TigerVNC
+vncviewer](https://docs.it4i.cz/anselm-cluster-documentation/vncviewer.png/@@images/bb4cedff-4cb6-402b-ac79-039186fe5df3.png "Vncviewer")
+
+In this example, we connect to VNC server on port 5961, via the ssh
+tunnel, using TigerVNC viewer. The connection is encrypted and secured.
+The VNC server listening on port 5961 provides screen of 1600x900
+pixels.
+
+### Example of starting TightVNC Viewer
+
+Use your VNC password to log using TightVNC Viewer and start a Gnome
+Session on the login node.
+
+[**![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png/@@images/e53354d8-a2e8-4947-92b3-dd107d498408.png)**](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png)
+
+Gnome session
+-------------
+
+You should see after the successful login.
+
+[![Default Gnome
+session](https://docs.it4i.cz/salomon/gnome_screen.jpg/@@images/7758b792-24eb-48dc-bf72-618cda100fda.png "Default Gnome session")](https://docs.it4i.cz/get-started-with-it4innovations/gnome_screen.jpg)
+
+### **Disable your Gnome session screensaver
+**
+
+Open Screensaver preferences dialog:
+
+[![Screensaver
+Preferences](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmscreensaver.png/@@images/44048cfa-e854-4cb4-902b-c173821c2db1.png "Screensaver Preferences")](https://docs.it4i.cz/salomon/gnome_screen.jpg)
+
+Uncheck both options below the slider:
+
+[![Disable lock screen and
+screensaver](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png/@@images/0259b284-18eb-402c-a55c-584562e26b47.png "Disable lock screen and screensaver")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png)
+
+### Kill screensaver if locked screen
+
+If the screen gets locked you have to kill the screensaver. Do not to
+forget to disable the screensaver then.
+
+``` 
+[username@login2 .vnc]$ ps aux | grep screen
+username     1503  0.0  0.0 103244   892 pts/4    S+   14:37   0:00 grep screen
+username     24316  0.0  0.0 270564  3528 ?        Ss   14:12   0:00 gnome-screensaver
+
+[username@login2 .vnc]$ kill 24316
+```
+
+### Kill vncserver after finished work
+
+You should kill your VNC server using command:
+
+``` 
+[username@login2 .vnc]$  vncserver  -kill :61
+Killing Xvnc process ID 7074
+Xvnc process ID 7074 already killed
+```
+
+Or this way:
+
+``` 
+[username@login2 .vnc]$  pkill vnc
+```
+
+GUI applications on compute nodes over VNC
+------------------------------------------
+
+The very [same methods as described
+above](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-and-vnc#gui-applications-on-compute-nodes),
+may be used to run the GUI applications on compute nodes. However, for
+**maximum performance**, proceed following these steps:
+
+Open a Terminal (Applications -&gt; System Tools -&gt; Terminal). Run
+all the next commands in the terminal.
+
+[![gnome-terminal.png](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png/@@images/dc0f0207-c614-49be-9cfb-905a523c5a39.png "gnome-terminal.png")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png)
+
+Allow incoming X11 graphics from the compute nodes at the login node:
+
+``` 
+$ xhost +
+```
+
+Get an interactive session on a compute node (for more detailed info
+[look
+here](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)).
+Use the **-v DISPLAY** option to propagate the DISPLAY on the compute
+node. In this example, we want a complete node (24 cores in this
+example) from the production queue:
+
+``` 
+$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A PROJECT_ID -q qprod -l select=1:ncpus=24
+```
+
+Test that the DISPLAY redirection into your VNC session works, by
+running a X11 application (e. g. XTerm) on the assigned compute node:
+
+``` 
+$ xterm
+```
+
+Example described above:
+
+[![gnome-compute-nodes-over-vnc.png](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png/@@images/d4c9b6b6-6e2c-48c0-84dd-26d291517355.png "gnome-compute-nodes-over-vnc.png")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png)
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.1.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..f9cfdc10fcdb68982d1fa5d5f3c25d8cf177e5e0
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system.1.md
@@ -0,0 +1,203 @@
+X Window System 
+===============
+
+
+
+  
+
+The X Window system is a principal way to get GUI access to the
+clusters. The **X Window System** (commonly known as **X11**, based on
+its current major version being 11, or shortened to simply **X**, and
+sometimes informally **X-Windows**) is a computer software system and
+network
+[protocol](http://en.wikipedia.org/wiki/Protocol_%28computing%29 "Protocol (computing)")
+that provides a basis for [graphical user
+interfaces](http://en.wikipedia.org/wiki/Graphical_user_interface "Graphical user interface")
+(GUIs) and rich input device capability for [networked
+computers](http://en.wikipedia.org/wiki/Computer_network "Computer network").
+
+The X display forwarding must be activated and the X server running on
+client side
+
+### X display
+
+In order to display graphical user interface GUI of various software
+tools, you need to enable the X display forwarding. On Linux and Mac,
+log in using the -X option tho ssh client:
+
+``` 
+ local $ ssh -X username@cluster-name.it4i.cz
+```
+
+### X Display Forwarding on Windows
+
+On Windows use the PuTTY client to enable X11 forwarding.   In PuTTY
+menu, go to Connection-&gt;SSH-&gt;X11, mark the Enable X11 forwarding
+checkbox before logging in. Then log in as usual.
+
+To verify the forwarding, type
+
+``` 
+$ echo $DISPLAY
+```
+
+if you receive something like
+
+``` 
+localhost:10.0
+```
+
+then the X11 forwarding is enabled.
+
+### X Server
+
+In order to display graphical user interface GUI of various software
+tools, you need running X server on your desktop computer. For Linux
+users, no action is required as the X server is the default GUI
+environment on most Linux distributions. Mac and Windows users need to
+install and run the X server on their workstations.
+
+### X Server on OS X
+
+Mac OS users need to install [XQuartz
+server](http://xquartz.macosforge.org/landing/).
+
+### X Server on Windows
+
+There are variety of X servers available for Windows environment. The
+commercial Xwin32 is very stable and rich featured. The Cygwin
+environment provides fully featured open-source XWin X server. For
+simplicity, we recommend open-source X server by the [Xming
+project](http://sourceforge.net/projects/xming/). For
+stability and full features we recommend the
+[XWin](http://x.cygwin.com/) X server by Cygwin
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">How to use Xwin</th>
+<th align="left">How to use Xming</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><p><a href="http://x.cygwin.com/" class="external-link">Install Cygwin</a></p>
+<p>Find and execute XWin.exe<br />
+to start the X server on Windows desktop computer.</p>
+<p><a href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding" class="internal-link">If no able to forward X11 using PuTTY to CygwinX</a></p></td>
+<td align="left"><p>Use Xlaunch to configure the Xming.</p>
+<p>Run Xming<br />
+to start the X server on Windows desktop computer.</p></td>
+</tr>
+</tbody>
+</table>
+
+Read more on
+[http://www.math.umn.edu/systems_guide/putty_xwin32.html](http://www.math.umn.edu/systems_guide/putty_xwin32.shtml)
+
+### Running GUI Enabled Applications
+
+Make sure that X forwarding is activated and the X server is running.
+
+Then launch the application as usual. Use the & to run the application
+in background.
+
+``` 
+$ module load intel (idb and gvim not installed yet)
+$ gvim &
+```
+
+``` 
+$ xterm
+```
+
+In this example, we activate the intel programing environment tools,
+then start the graphical gvim editor.
+
+### []()GUI Applications on Compute Nodes
+
+Allocate the compute nodes using -X option on the qsub command
+
+``` 
+$ qsub -q qexp -l select=2:ncpus=24 -X -I
+```
+
+In this example, we allocate 2 nodes via qexp queue, interactively. We
+request X11 forwarding with the -X option. It will be possible to run
+the GUI enabled applications directly on the first compute node.
+
+**Better performance** is obtained by logging on the allocated compute
+node via ssh, using the -X option.
+
+``` 
+$ ssh -X r24u35n680
+```
+
+In this example, we log in on the r24u35n680 compute node, with the X11
+forwarding enabled.
+
+HTML commented section #1 (no GUI on Compute nodes - Xvfb)
+
+### The Gnome GUI Environment
+
+The Gnome 2.28 GUI environment is available on the clusters. We
+recommend to use separate X server window for displaying the Gnome
+environment.
+
+### Gnome on Linux and OS X
+
+To run the remote Gnome session in a window on Linux/OS X computer, you
+need to install Xephyr. Ubuntu package is <span
+class="monospace">xserver-xephyr</span>, on OS X it is part of
+[XQuartz](http://xquartz.macosforge.org/landing/).
+First, launch Xephyr on local machine:
+
+``` 
+local $ Xephyr -ac -screen 1024x768 -br -reset -terminate :1 &
+```
+
+This will open a new X window with size 1024x768 at DISPLAY :1. Next,
+ssh to the cluster with DISPLAY environment variable set and launch
+<span class="monospace">gnome-session</span>
+
+    local $ DISPLAY=:1.0 ssh -XC yourname@cluster-name.it4i.cz -i ~/.ssh/path_to_your_key
+    ... cluster-name MOTD...
+    yourname@login1.cluster-namen.it4i.cz $ gnome-session &
+
+On older systems where Xephyr is not available, you may also try Xnest
+instead of Xephyr. Another option is to launch a new X server in a
+separate console, via:
+
+``` 
+xinit /usr/bin/ssh -XT -i .ssh/path_to_your_key yourname@cluster-namen.it4i.cz gnome-session -- :1 vt12
+```
+
+However this method does not seem to work with recent Linux
+distributions and you will need to manually source <span
+class="monospace">/etc/profile</span> to properly set environment
+variables for PBS.
+
+### Gnome on Windows**
+**
+
+Use Xlaunch to start the Xming server or run the XWin.exe. Select the
+''One window" mode.
+
+Log in to the cluster, using PuTTY. On the cluster, run the
+gnome-session command.
+
+``` 
+$ gnome-session &
+```
+
+In this way, we run remote gnome session on the cluster, displaying it
+in the local X server
+
+Use System-&gt;Log Out to close the gnome-session
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding.md
new file mode 100644
index 0000000000000000000000000000000000000000..d235a1ecdb4701632e4602fed6d9ed09b3662120
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding.md
@@ -0,0 +1,46 @@
+Cygwin and X11 forwarding 
+=========================
+
+### If <span style="text-alignleft; floatnone; ">no able to forward X11 using PuTTY to CygwinX</span>
+
+``` 
+[usename@login1.anselm ~]$ gnome-session &
+[1] 23691
+[usename@login1.anselm ~]$ PuTTY X11 proxyunable to connect to forwarded X serverNetwork errorConnection refused
+PuTTY X11 proxyunable to connect to forwarded X serverNetwork errorConnection refused
+
+** (gnome-session:23691)WARNING **Cannot open display:
+```
+
+<span style="text-alignleft; floatnone; "> </span>
+
+1.  <span style="text-alignleft; floatnone; ">Locate and modify
+    <span style="text-alignleft; floatnone; ">Cygwin shortcut that
+    uses<span
+    class="Apple-converted-space"> </span></span>[startxwin](http://x.cygwin.com/docs/man1/startxwin.1.html)
+    locate
+    C:cygwin64binXWin.exe
+    <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; ">change it
+    to</span></span></span>
+    C:*cygwin64binXWin.exe -listen tcp*
+    
+    ![XWin-listen-tcp.png](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png "XWin-listen-tcp.png")
+    </span>
+    <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "></span></span>
+2.  <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; ">Check Putty settings:
+    <span style="text-alignleft; floatnone; ">Enable X11
+    forwarding</span><span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "></span><span
+    class="Apple-converted-space">
+    </span></span>
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding)
+    </span></span>
+
+ 
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdb297d57cebc7f76f7fff949f8cb7fcfed7f9e3
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding.md
new file mode 100644
index 0000000000000000000000000000000000000000..d235a1ecdb4701632e4602fed6d9ed09b3662120
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding.md
@@ -0,0 +1,46 @@
+Cygwin and X11 forwarding 
+=========================
+
+### If <span style="text-alignleft; floatnone; ">no able to forward X11 using PuTTY to CygwinX</span>
+
+``` 
+[usename@login1.anselm ~]$ gnome-session &
+[1] 23691
+[usename@login1.anselm ~]$ PuTTY X11 proxyunable to connect to forwarded X serverNetwork errorConnection refused
+PuTTY X11 proxyunable to connect to forwarded X serverNetwork errorConnection refused
+
+** (gnome-session:23691)WARNING **Cannot open display:
+```
+
+<span style="text-alignleft; floatnone; "> </span>
+
+1.  <span style="text-alignleft; floatnone; ">Locate and modify
+    <span style="text-alignleft; floatnone; ">Cygwin shortcut that
+    uses<span
+    class="Apple-converted-space"> </span></span>[startxwin](http://x.cygwin.com/docs/man1/startxwin.1.html)
+    locate
+    C:cygwin64binXWin.exe
+    <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; ">change it
+    to</span></span></span>
+    C:*cygwin64binXWin.exe -listen tcp*
+    
+    ![XWin-listen-tcp.png](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png "XWin-listen-tcp.png")
+    </span>
+    <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "></span></span>
+2.  <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; ">Check Putty settings:
+    <span style="text-alignleft; floatnone; ">Enable X11
+    forwarding</span><span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "></span><span
+    class="Apple-converted-space">
+    </span></span>
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding)
+    </span></span>
+
+ 
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png
new file mode 100644
index 0000000000000000000000000000000000000000..910a22d546a63d685090bb5981200ac20a911d83
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.md
new file mode 100644
index 0000000000000000000000000000000000000000..f9cfdc10fcdb68982d1fa5d5f3c25d8cf177e5e0
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc.md
@@ -0,0 +1,203 @@
+X Window System 
+===============
+
+
+
+  
+
+The X Window system is a principal way to get GUI access to the
+clusters. The **X Window System** (commonly known as **X11**, based on
+its current major version being 11, or shortened to simply **X**, and
+sometimes informally **X-Windows**) is a computer software system and
+network
+[protocol](http://en.wikipedia.org/wiki/Protocol_%28computing%29 "Protocol (computing)")
+that provides a basis for [graphical user
+interfaces](http://en.wikipedia.org/wiki/Graphical_user_interface "Graphical user interface")
+(GUIs) and rich input device capability for [networked
+computers](http://en.wikipedia.org/wiki/Computer_network "Computer network").
+
+The X display forwarding must be activated and the X server running on
+client side
+
+### X display
+
+In order to display graphical user interface GUI of various software
+tools, you need to enable the X display forwarding. On Linux and Mac,
+log in using the -X option tho ssh client:
+
+``` 
+ local $ ssh -X username@cluster-name.it4i.cz
+```
+
+### X Display Forwarding on Windows
+
+On Windows use the PuTTY client to enable X11 forwarding.   In PuTTY
+menu, go to Connection-&gt;SSH-&gt;X11, mark the Enable X11 forwarding
+checkbox before logging in. Then log in as usual.
+
+To verify the forwarding, type
+
+``` 
+$ echo $DISPLAY
+```
+
+if you receive something like
+
+``` 
+localhost:10.0
+```
+
+then the X11 forwarding is enabled.
+
+### X Server
+
+In order to display graphical user interface GUI of various software
+tools, you need running X server on your desktop computer. For Linux
+users, no action is required as the X server is the default GUI
+environment on most Linux distributions. Mac and Windows users need to
+install and run the X server on their workstations.
+
+### X Server on OS X
+
+Mac OS users need to install [XQuartz
+server](http://xquartz.macosforge.org/landing/).
+
+### X Server on Windows
+
+There are variety of X servers available for Windows environment. The
+commercial Xwin32 is very stable and rich featured. The Cygwin
+environment provides fully featured open-source XWin X server. For
+simplicity, we recommend open-source X server by the [Xming
+project](http://sourceforge.net/projects/xming/). For
+stability and full features we recommend the
+[XWin](http://x.cygwin.com/) X server by Cygwin
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">How to use Xwin</th>
+<th align="left">How to use Xming</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><p><a href="http://x.cygwin.com/" class="external-link">Install Cygwin</a></p>
+<p>Find and execute XWin.exe<br />
+to start the X server on Windows desktop computer.</p>
+<p><a href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding" class="internal-link">If no able to forward X11 using PuTTY to CygwinX</a></p></td>
+<td align="left"><p>Use Xlaunch to configure the Xming.</p>
+<p>Run Xming<br />
+to start the X server on Windows desktop computer.</p></td>
+</tr>
+</tbody>
+</table>
+
+Read more on
+[http://www.math.umn.edu/systems_guide/putty_xwin32.html](http://www.math.umn.edu/systems_guide/putty_xwin32.shtml)
+
+### Running GUI Enabled Applications
+
+Make sure that X forwarding is activated and the X server is running.
+
+Then launch the application as usual. Use the & to run the application
+in background.
+
+``` 
+$ module load intel (idb and gvim not installed yet)
+$ gvim &
+```
+
+``` 
+$ xterm
+```
+
+In this example, we activate the intel programing environment tools,
+then start the graphical gvim editor.
+
+### []()GUI Applications on Compute Nodes
+
+Allocate the compute nodes using -X option on the qsub command
+
+``` 
+$ qsub -q qexp -l select=2:ncpus=24 -X -I
+```
+
+In this example, we allocate 2 nodes via qexp queue, interactively. We
+request X11 forwarding with the -X option. It will be possible to run
+the GUI enabled applications directly on the first compute node.
+
+**Better performance** is obtained by logging on the allocated compute
+node via ssh, using the -X option.
+
+``` 
+$ ssh -X r24u35n680
+```
+
+In this example, we log in on the r24u35n680 compute node, with the X11
+forwarding enabled.
+
+HTML commented section #1 (no GUI on Compute nodes - Xvfb)
+
+### The Gnome GUI Environment
+
+The Gnome 2.28 GUI environment is available on the clusters. We
+recommend to use separate X server window for displaying the Gnome
+environment.
+
+### Gnome on Linux and OS X
+
+To run the remote Gnome session in a window on Linux/OS X computer, you
+need to install Xephyr. Ubuntu package is <span
+class="monospace">xserver-xephyr</span>, on OS X it is part of
+[XQuartz](http://xquartz.macosforge.org/landing/).
+First, launch Xephyr on local machine:
+
+``` 
+local $ Xephyr -ac -screen 1024x768 -br -reset -terminate :1 &
+```
+
+This will open a new X window with size 1024x768 at DISPLAY :1. Next,
+ssh to the cluster with DISPLAY environment variable set and launch
+<span class="monospace">gnome-session</span>
+
+    local $ DISPLAY=:1.0 ssh -XC yourname@cluster-name.it4i.cz -i ~/.ssh/path_to_your_key
+    ... cluster-name MOTD...
+    yourname@login1.cluster-namen.it4i.cz $ gnome-session &
+
+On older systems where Xephyr is not available, you may also try Xnest
+instead of Xephyr. Another option is to launch a new X server in a
+separate console, via:
+
+``` 
+xinit /usr/bin/ssh -XT -i .ssh/path_to_your_key yourname@cluster-namen.it4i.cz gnome-session -- :1 vt12
+```
+
+However this method does not seem to work with recent Linux
+distributions and you will need to manually source <span
+class="monospace">/etc/profile</span> to properly set environment
+variables for PBS.
+
+### Gnome on Windows**
+**
+
+Use Xlaunch to start the Xming server or run the XWin.exe. Select the
+''One window" mode.
+
+Log in to the cluster, using PuTTY. On the cluster, run the
+gnome-session command.
+
+``` 
+$ gnome-session &
+```
+
+In this way, we run remote gnome session on the cluster, displaying it
+in the local X server
+
+Use System-&gt;Log Out to close the gnome-session
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/accessing-the-clusters.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/accessing-the-clusters.md
new file mode 100644
index 0000000000000000000000000000000000000000..f8d3f8b4bd209a1da37ed87ab72722ca28c94ed3
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/accessing-the-clusters.md
@@ -0,0 +1,22 @@
+Accessing the Clusters 
+======================
+
+The IT4Innovations clusters are accessed by SSH protocol via login
+nodes.
+
+Read more on [Accessing the Salomon
+Cluste](https://docs.it4i.cz/salomon/accessing-the-cluster)r
+or [Accessing the Anselm
+Cluster](https://docs.it4i.cz/anselm-cluster-documentation/accessing-the-cluster)
+pages.
+
+### PuTTY
+
+On **Windows**, use [PuTTY ssh
+client](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty).
+
+### SSH keys 
+
+Read more about [SSH keys
+management](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys).
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.1.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..4cd6c2eba363d9b51d02a9ccff8699ae98dc6ccd
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty.1.md
@@ -0,0 +1,98 @@
+PuTTY 
+=====
+
+
+
+  
+
+PuTTY -<span class="Apple-converted-space"> </span>before we start SSH connection {#putty---before-we-start-ssh-connection style="text-alignstart; "}
+---------------------------------------------------------------------------------
+
+### Windows PuTTY Installer
+
+We recommned you to download "**A Windows installer for everything
+except PuTTYtel**" with ***Pageant*** (SSH authentication agent) and
+**PuTTYgen** (PuTTY key generator) which is available
+[here](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).
+
+<span class="internal-link">After installation you can proceed directly
+to private keys authentication using
+["Putty"](#putty).</span>
+"Change Password for Existing Private Key" is optional.
+"Generate a New Public/Private key pair" is intended for users without
+Public/Private key in the initial email containing login credentials.
+"Pageant" is optional.
+
+### PuTTYgen
+
+PuTTYgen is the PuTTY key generator. Read more how to load in an
+existing private key and change your passphrase or generate a new
+public/private key pair using
+[PuTTYgen](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen)
+if needed.
+
+### Pageant SSH agent
+
+[Pageant](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/pageant)
+holds your private key in memory without needing to retype a passphrase
+on every login. We recommend its usage.
+
+[]()PuTTY - how to connect to the IT4Innovations cluster
+--------------------------------------------------------
+
+-   Run PuTTY
+-   Enter Host name and Save session fields with [Login
+    address](https://docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access)
+    and browse Connection - &gt; SSH -&gt; Auth menu.
+    The *Host Name* input may be in the format
+    **"username@clustername.it4i.cz"** so you don't have to type your
+    login each time.
+    In this example we will connect to the Salomon cluster using
+     **"salomon.it4i.cz"**.
+    
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png/@@images/c24acdc5-21eb-47aa-b412-75849ccd2e82.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png)
+
+ 
+
+-   Category -&gt; Connection - &gt; SSH -&gt; Auth:
+    Select Attempt authentication using Pageant.
+    Select Allow agent forwarding.
+    Browse and select your [private
+    key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+    file.
+    
+    [![PuttyKey](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png/@@images/9f161548-31a6-42a7-ad61-4e885e4b4664.png "PuttyKey")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png)
+    
+-   Return to Session page and Save selected configuration with *Save*
+    button.
+    
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png/@@images/0eeeb971-b295-4780-88e7-7557da05a1cb.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png)
+    
+-   Now you can log in using *Open* button.
+    
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png/@@images/741d3e56-d9b3-48fd-838f-90ad6c1bf8eb.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png)
+    
+-   Enter your username if the *Host Name* input is not in the format
+    "username@salomon.it4i.cz".
+    
+-   Enter passphrase for selected [private
+    key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+    file if Pageant ****SSH authentication agent is not used.
+    
+
+Another PuTTY Settings
+----------------------
+
+-   Category -&gt; Windows -&gt; Translation -&gt; Remote character set
+    and select **UTF-8**.
+
+<!-- -->
+
+-   Category -&gt; Terminal -&gt; Features and select **Disable
+    application keypad mode** (enable numpad)
+-   Save your configuration on Session page in to Default Settings with
+    *Save* button .
+
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/20150312_143443.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/20150312_143443.png
new file mode 100644
index 0000000000000000000000000000000000000000..73a5505a2b2ac4aa1fd0adf4c3a74adcca0c8c08
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/20150312_143443.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PageantV.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PageantV.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a08be3c3b44dadfe4144fbd83639be0eb6151a5
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PageantV.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png
new file mode 100644
index 0000000000000000000000000000000000000000..61e1928f02f8348d4719cbeefe803eeb035e03e4
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d847de4a235c9d5cb1b134bb12bca3d6abab404
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png
new file mode 100644
index 0000000000000000000000000000000000000000..97e381683908ac7c813fed7b97a962a4ba44d223
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png
new file mode 100644
index 0000000000000000000000000000000000000000..886a79f60ca983084ae7218f21e5fe6e39fbcd00
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygeneratorV.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygeneratorV.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c3014a9443f5a65d56ff64c6a2639e35b4514de
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygeneratorV.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_001V.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_001V.png
new file mode 100644
index 0000000000000000000000000000000000000000..ba3183be0894ea4edffa9d514a55ce20e766e304
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_001V.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_002V.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_002V.png
new file mode 100644
index 0000000000000000000000000000000000000000..f15167f04fa6006f27908a97f61b8a5347ef2248
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_002V.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_004V.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_004V.png
new file mode 100644
index 0000000000000000000000000000000000000000..d90756b3a9a1816e48b37a66cfef174cb281778a
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_004V.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_005V.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_005V.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fe5c1258aeafbe5c564fb6655e480f8417f27d7
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_005V.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_006V.png b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_006V.png
new file mode 100644
index 0000000000000000000000000000000000000000..cee16e08f1c8d588a148e76f8374d1f16d3fd410
Binary files /dev/null and b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_006V.png differ
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/pageant.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/pageant.md
new file mode 100644
index 0000000000000000000000000000000000000000..8a65ef8bcd9d6c7446160b35bcf17016a4a400dc
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/pageant.md
@@ -0,0 +1,21 @@
+Pageant SSH agent 
+=================
+
+
+
+  
+
+Pageant holds your private key in memory without needing to retype a
+passphrase on every login.
+
+-   Run Pageant.
+-   On Pageant Key List press *Add key* and select your private
+    key (id_rsa.ppk).
+-   Enter your passphrase.
+-   Now you have your private key in memory without needing to retype a
+    passphrase on every login.
+    
+    [![Pageant](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PageantV.png/@@images/b82926bc-3890-49b9-b5be-a673975e442b.png "Pageant")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PageantV.png)
+
+ 
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty.md
new file mode 100644
index 0000000000000000000000000000000000000000..7c1ee07d335f85d93ef8bf13e4b4e2ae6a275c18
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty.md
@@ -0,0 +1,95 @@
+PuTTY 
+=====
+
+
+
+  
+
+PuTTY -<span class="Apple-converted-space"> </span>before we start SSH connection {#putty---before-we-start-ssh-connection style="text-alignstart; "}
+---------------------------------------------------------------------------------
+
+### Windows PuTTY Installer
+
+We recommned you to download "**A Windows installer for everything
+except PuTTYtel**" with ***Pageant*** (SSH authentication agent) and
+**PuTTYgen** (PuTTY key generator) which is available
+[here](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html).
+
+<span class="internal-link">After installation you can proceed directly
+to private keys authentication using
+["Putty"](#putty).</span>
+"Change Password for Existing Private Key" is optional.
+"Generate a New Public/Private key pair" is intended for users without
+Public/Private key in the initial email containing login credentials.
+"Pageant" is optional.
+
+### PuTTYgen
+
+PuTTYgen is the PuTTY key generator. Read more how to load in an
+existing private key and change your passphrase or generate a new
+public/private key pair using
+[PuTTYgen](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen)
+if needed.
+
+### Pageant SSH agent
+
+[Pageant](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/pageant)
+holds your private key in memory without needing to retype a passphrase
+on every login. We recommend its usage.
+
+[]()PuTTY - how to connect to the IT4Innovations cluster
+--------------------------------------------------------
+
+-   Run PuTTY
+-   Enter Host name and Save session fields with [Login
+    address](https://docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access)
+    and browse Connection - &gt; SSH -&gt; Auth menu.
+    The *Host Name* input may be in the format
+    **"username@clustername.it4i.cz"** so you don't have to type your
+    login each time.
+    In this example we will connect to the Salomon cluster using
+     **"salomon.it4i.cz"**.
+    
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png/@@images/c24acdc5-21eb-47aa-b412-75849ccd2e82.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_host_Salomon.png)
+
+ 
+
+-   Category -&gt; Connection - &gt; SSH -&gt; Auth:
+    Select Attempt authentication using Pageant.
+    Select Allow agent forwarding.
+    Browse and select your [private
+    key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+    file.
+    
+    [![PuttyKey](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png/@@images/9f161548-31a6-42a7-ad61-4e885e4b4664.png "PuttyKey")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_keyV.png)
+    
+-   Return to Session page and Save selected configuration with *Save*
+    button.
+    
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png/@@images/0eeeb971-b295-4780-88e7-7557da05a1cb.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_save_Salomon.png)
+    
+-   Now you can log in using *Open* button.
+    
+    [![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png/@@images/741d3e56-d9b3-48fd-838f-90ad6c1bf8eb.png)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuTTY_open_Salomon.png)
+    
+-   Enter your username if the *Host Name* input is not in the format
+    "username@salomon.it4i.cz".
+    
+-   Enter passphrase for selected [private
+    key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+    file if Pageant ****SSH authentication agent is not used.
+    
+
+Another PuTTY Settings
+----------------------
+
+-   Category -&gt; Windows -&gt; Translation -&gt; Remote character set
+    and select **UTF-8**.
+
+<!-- -->
+
+-   Category -&gt; Terminal -&gt; Features and select **Disable
+    application keypad mode** (enable numpad)
+-   Save your configuration on Session page in to Default Settings with
+    *Save* button .
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen.md
new file mode 100644
index 0000000000000000000000000000000000000000..18999da72d76c570e511601b537cdee290edf36f
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen.md
@@ -0,0 +1,73 @@
+PuTTY key generator 
+===================
+
+
+
+  
+
+PuTTYgen is the PuTTY key generator. You can load in an existing private
+key and change your passphrase or generate a new public/private key
+pair.
+
+### Change Password for Existing Private Key
+
+You can change the password of your SSH key with "PuTTY Key Generator".
+Make sure to backup the key.
+
+-   Load your [private
+    key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+    file with *Load* button.
+-   Enter your current passphrase.
+-   Change key passphrase.
+-   Confirm key passphrase.
+-   Save your private key with *Save private key* button.
+    
+    [![PuttyKeygenerator](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygeneratorV.png/@@images/22954eec-6127-4d42-b159-9bebacb3223d.png "PuttyKeygenerator")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygeneratorV.png)
+
+ 
+
+### Generate a New Public/Private key pair
+
+You can generate an additional public/private key pair and insert public
+key into authorized_keys file for authentication with your own private
+<span>key. </span>
+
+-   Start with *Generate* button.
+    
+    [![PuttyKeygenerator_001](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_001V.png/@@images/f7c1889f-605f-4c5c-8904-d962ec4531a2.png "PuttyKeygenerator_001")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_001V.png)
+    
+-   Generate some randomness.
+    
+    [![PuttyKeygenerator_002](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_002V.png/@@images/13b88922-8c1d-47b2-b3e6-043c18b11d86.png "PuttyKeygenerator_002")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_002V.png)
+    
+-   Wait.
+    
+    [![PuttyKeygenerator_003](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/20150312_143443.png/@@images/29ff0f89-8203-4777-9a00-c068d3188fd0.png "PuttyKeygenerator_003")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/20150312_143443.png)
+    
+-   Enter a *comment* for your key using format 
+    'username@organization.example.com'.
+    Enter key passphrase.
+    Confirm key passphrase.
+    Save your new private key `in "*.ppk" `format with *Save private
+    key* button.
+    
+    [![PuttyKeygenerator_004](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_004V.png/@@images/8ef00e6b-0155-4dc2-82e6-7141a15f282c.png "PuttyKeygenerator_004")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_004V.png)
+    
+-   Save the public key with *Save public key* button.
+    You can copy public key out of the ‘Public key for pasting into
+    authorized_keys file’ box.
+    
+    [![PuttyKeygenerator_005](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_005V.png/@@images/929621fe-45f7-45c8-9ed0-c34d430d65f4.png "PuttyKeygenerator_005")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_005V.png)
+    
+-   Export private key in OpenSSH format "id_rsa" using Conversion
+    -&gt; Export OpenSSH key
+    
+    [![PuttyKeygenerator_006](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_006V.png/@@images/de851079-6ed4-440a-b270-77dd6a0a950c.png "PuttyKeygenerator_006")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PuttyKeygenerator_006V.png)
+    
+-   Now you can insert additional public key into authorized_keys file
+    for authentication with your own private <span>key.
+    You must log in using ssh key received after registration. Then
+    proceed to [How to add your own
+    key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys).
+    </span>
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5f1a07266297c8b8a2532776d43497a73204306
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md
@@ -0,0 +1,149 @@
+SSH keys 
+========
+
+
+
+  
+
+<span id="Key_management" class="mw-headline">Key management</span>
+-------------------------------------------------------------------
+
+After logging in, you can see .ssh/ directory with SSH keys and
+authorized_keys file:
+
+    $ cd /home/username/
+    $ ls -la .ssh/
+    total 24
+    drwx------ 2 username username 4096 May 13 15:12 .
+    drwxr-x---22 username username 4096 May 13 07:22 ..
+    -rw-r--r-- 1 username username  392 May 21  2014 authorized_keys
+    -rw------- 1 username username 1675 May 21  2014 id_rsa
+    -rw------- 1 username username 1460 May 21  2014 id_rsa.ppk
+    -rw-r--r-- 1 username username  392 May 21  2014 id_rsa.pub
+
+<span class="visualHighlight"></span>Please note that private keys in
+.ssh directory are without passphrase and allow you to connect within
+the cluster.
+
+### Access privileges on .ssh folder
+
+-   `.ssh`{style="text-alignleft; "}<span
+    style="text-alignleft; floatnone; "><span
+    class="Apple-converted-space"> </span>directory:</span> <span
+    style="text-alignleft; floatnone; ">700 (drwx------)</span>
+-   <span
+    style="text-alignleft; floatnone; ">Authorized_keys, <span
+    style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; "><span
+    class="Apple-converted-space">known_hosts</span></span></span> and
+    <span style="text-alignleft; floatnone; ">public key <span
+    style="text-alignleft; floatnone; ">(</span>`.pub`{style="text-alignleft; "}<span
+    style="text-alignleft; floatnone; "><span
+    class="Apple-converted-space"> </span>file): <span
+    class="Apple-converted-space">
+    </span></span>`644 (-rw-r--r--)`{style="text-alignleft; "}</span></span>
+-   <span style="text-alignleft; floatnone; "><span
+    style="text-alignleft; floatnone; ">``{style="text-alignleft; "}<span
+    class="Apple-converted-space"> <span
+    style="text-alignleft; floatnone; ">Private key
+    (</span>`id_rsa/id_rsa.ppk`{style="text-alignleft; "}<span
+    style="text-alignleft; floatnone; ">)<span
+    class="Apple-converted-space"></span></span>`600 (-rw-------)`{style="text-alignleft; "}
+    </span></span>
+    </span>
+
+<!-- -->
+
+    cd /home/username/
+    chmod 700 .ssh/
+    chmod 644 .ssh/authorized_keys
+    chmod 644 .ssh/id_rsa.pub
+    chmod 644 .ssh/known_hosts
+    chmod 600 .ssh/id_rsa
+    chmod 600 .ssh/id_rsa.ppk
+
+Private key
+-----------
+
+The path to a private key is usually /home/username/.ssh/
+
+Private key file in "id_rsa" or `"*.ppk" `format is used to
+authenticate with the servers. <span
+style="text-alignstart; floatnone; ">Private key is present locally
+on local side and used for example in SSH agent [Pageant (for Windows
+users)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/PageantV.png).
+The private key should always be kept in a safe place.</span>
+
+<span style="text-alignstart; floatnone; ">An example of private key
+format:</span>
+
+    -----BEGIN RSA PRIVATE KEY-----
+    MIIEpAIBAAKCAQEAqbo7jokygnBpG2wYa5NB45ns6+UKTNLMLHF0BO3zmRtKEElE
+    aGqXfbYwvXlcuRb2d9/Y5dVpCZHV0kbY3NhtVOcEIe+1ROaiU9BEsUAhMNEvgiLV
+    gSql4QvRO4BWPlM8+WAWXDp3oeoBh8glXyuh9teb8yq98fv1r1peYGRrW3/s4V+q
+    O1SQ0XY2T7rWCYRLIP6rTMXArTI35v3WU513mn7nm1fJ7oN0QgVH5b0W9V1Kyc4l
+    9vILHeMXxvz+i/5jTEfLOJpiRGYZYcaYrE4dIiHPl3IlbV7hlkK23Xb1US8QJr5G
+    ADxp1VTkHjY+mKagEfxl1hQIb42JLHhKMEGqNQIDAQABAoIBAQCkypPuxZjL+vai
+    UGa5dAWiRZ46P2yrwHPKpvEdpCdDPbLAc1K/CtdBkHZsUPxNHVV6eFWweW99giIY
+    Av+mFWC58X8asBHQ7xkmxW0cqAZRzpkRAl9IBS9/fKjO28Fgy/p+suOi8oWbKIgJ
+    3LMkX0nnT9oz1AkOfTNC6Tv+3SE7eTj1RPcMjur4W1Cd1N3EljLszdVk4tLxlXBS
+    yl9NzVnJJbJR4t01l45VfFECgYEAno1WJSB/SwdZvS9GkfhvmZd3r4vyV9Bmo3dn
+    XZAh8HRW13imOnpklDR4FRe98D9A7V3yh9h60Co4oAUd6N+Oc68/qnv/8O9efA+M
+    /neI9ANYFo8F0+yFCp4Duj7zPV3aWlN/pd8TNzLqecqh10uZNMy8rAjCxybeZjWd
+    DyhgywXhAoGBAN3BCazNefYpLbpBQzwes+f2oStvwOYKDqySWsYVXeVgUI+OWTVZ
+    eZ26Y86E8MQO+q0TIxpwou+TEaUgOSqCX40Q37rGSl9K+rjnboJBYNCmwVp9bfyj
+    kCLL/3g57nTSqhgHNa1xwemePvgNdn6FZteA8sXiCg5ZzaISqWAffek5AoGBAMPw
+    V/vwQ96C8E3l1cH5cUbmBCCcfXM2GLv74bb1V3SvCiAKgOrZ8gEgUiQ0+TfcbAbe
+    7MM20vRNQjaLTBpai/BTbmqM1Q+r1KNjq8k5bfTdAoGANgzlNM9omM10rd9WagL5
+    yuJcal/03p048mtB4OI4Xr5ZJISHze8fK4jQ5veUT9Vu2Fy/w6QMsuRf+qWeCXR5
+    RPC2H0JzkS+2uZp8BOHk1iDPqbxWXJE9I57CxBV9C/tfzo2IhtOOcuJ4LY+sw+y/
+    ocKpJbdLTWrTLdqLHwicdn8OxeWot1mOukyK2l0UeDkY6H5pYPtHTpAZvRBd7ETL
+    Zs2RP3KFFvho6aIDGrY0wee740/jWotx7fbxxKwPyDRsbH3+1Wx/eX2RND4OGdkH
+    gejJEzpk/7y/P/hCad7bSDdHZwO+Z03HIRC0E8yQz+JYatrqckaRCtd7cXryTmTR
+    FbvLJmECgYBDpfno2CzcFJCTdNBZFi34oJRiDb+HdESXepk58PcNcgK3R8PXf+au
+    OqDBtZIuFv9U1WAg0gzGwt/0Y9u2c8m0nXziUS6AePxy5sBHs7g9C9WeZRz/nCWK
+    +cHIm7XOwBEzDKz5f9eBqRGipm0skDZNKl8X/5QMTT5K3Eci2n+lTw==
+    -----END RSA PRIVATE KEY-----
+
+Public key
+----------
+
+Public key file in "*.pub" format is used to <span
+style="text-alignstart; floatnone; ">verify a<span
+class="Apple-converted-space"> </span></span><span
+style="text-alignstart; ">digital signature</span>. Public <span
+style="text-alignstart; floatnone; ">key is present on the remote
+side and <span style="text-alignstart; floatnone; ">allows access to
+the owner of the matching private key</span>.</span>
+
+<span style="text-alignstart; floatnone; ">An example of public key
+format:</span>
+
+    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpujuOiTKCcGkbbBhrk0Hjmezr5QpM0swscXQE7fOZG0oQSURoapd9tjC9eVy5FvZ339jl1WkJkdXSRtjc2G1U5wQh77VE5qJT0ESxQCEw0S+CItWBKqXhC9E7gFY+UyP5YBZcOneh6gGHyCVfK6H215vzKr3x+/WvWl5gZGtbf+zhX6o4RJDRdjZPutYJhEsg/qtMxcCtMjfm/dZTnXeafuebV8nug3RCBUflvRb1XUrJuiX28gsd4xfG/P6L/mNMR8s4kmJEZhlhxpj8Th0iIc+XciVtXuGWQrbddcVRLxAmvkYAPGnVVOQeNj69pqAR/GXaFAhvjYkseEowQao1 username@organization.example.com
+
+### How to add your own key
+
+First, generate a new keypair of your public and private key:
+
+    local $ ssh-keygen -C 'username@organization.example.com' -f additional_key
+
+Please, enter **strong** **passphrase** for securing your private key.
+
+You can insert additional public key into authorized_keys file for
+authentication with your own private <span>key. Additional records in
+authorized_keys file must be delimited by new line</span>. Users are
+not advised to remove the default public key from authorized_keys file.
+
+Example:
+
+    $ cat additional_key.pub >> ~/.ssh/authorized_keys
+
+In this example, we add an additional public key, stored in file
+additional_key.pub into the authorized_keys. Next time we log in, we
+will be able to use the private addtional_key key to log in.
+
+### How to remove your own key
+
+Removing your key from authorized_keys can be done simply by deleting
+the corresponding public key which can be identified by a comment at the
+end of line (eg. username@organization.example.com).
diff --git a/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md b/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md
new file mode 100644
index 0000000000000000000000000000000000000000..a7f5e4800ea623975f790193f5c92224093afac3
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/applying-for-resources.md
@@ -0,0 +1,41 @@
+Applying for Resources 
+======================
+
+
+
+  
+
+Computational resources may be allocated by any of the following
+[Computing resources
+allocation](http://www.it4i.cz/computing-resources-allocation/?lang=en)
+mechanisms.
+
+Academic researchers can apply for computational resources via  [Open
+Access
+Competitions](http://www.it4i.cz/open-access-competition/?lang=en&lang=en).
+
+Anyone is welcomed to apply via the [Directors
+Discretion.](http://www.it4i.cz/obtaining-computational-resources-through-directors-discretion/?lang=en&lang=en)
+
+Foreign (mostly European) users can obtain computational resources via
+the [PRACE (DECI)
+program](http://www.prace-ri.eu/DECI-Projects).
+
+In all cases, IT4Innovations’ access mechanisms are aimed at
+distributing computational resources while taking into account the
+development and application of supercomputing methods and their benefits
+and usefulness for society. The applicants are expected to submit a
+proposal. In the proposal, the applicants ***apply for a particular
+amount of core-hours*** of computational resources. The requested
+core-hours should be substantiated by scientific excellence of the
+proposal, its computational maturity and expected impacts.
+<span>Proposals do undergo a scientific, technical and economic
+evaluation.</span> The allocation decisions are based on this
+evaluation. More information at [Computing resources
+allocation](http://www.it4i.cz/computing-resources-allocation/?lang=en)
+and [Obtaining Login
+Credentials](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials)
+page.
+
+ 
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/changelog.md b/docs.it4i.cz/get-started-with-it4innovations/changelog.md
new file mode 100644
index 0000000000000000000000000000000000000000..b28b04f643122b019e912540f228c8ed20be9eeb
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/changelog.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/introduction.md b/docs.it4i.cz/get-started-with-it4innovations/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..c65dd96aba0799c9a294ba4992ac0e0d0961ce41
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/introduction.md
@@ -0,0 +1,148 @@
+Documentation 
+=============
+
+
+
+  
+
+Welcome to IT4Innovations documentation pages. The IT4Innovations
+national supercomputing center operates supercomputers
+[Salomon](https://docs.it4i.cz/salomon) and
+[Anselm](https://docs.it4i.cz/anselm-cluster-documentation).
+The supercomputers are [<span
+class="external-link">available</span>](https://docs.it4i.cz/get-started-with-it4innovations/applying-for-resources)
+to academic community within the Czech Republic and Europe and
+industrial community worldwide. The purpose of these pages is to provide
+a comprehensive documentation on hardware, software and usage of the
+computers.
+
+<span class="link-external"><span class="WYSIWYG_LINK">How to read the documentation</span></span>
+--------------------------------------------------------------------------------------------------
+
+1.  Read the list in the left column. Select the subject of interest.
+    Alternatively, use the Search box in the upper right corner.
+2.  Read the CONTENTS in the upper right corner.
+3.  Scan for all the yellow bulb call-outs on the page.
+4.  Read the details if still more information is needed. **Look for
+    examples** illustrating the concepts.
+
+ 
+
+The call-out.   Focus on the call-outs before reading full details.
+
+ 
+
+-   Read the
+    [Changelog](https://docs.it4i.cz/get-started-with-it4innovations/changelog)
+    to keep up to date.
+
+Getting Help and Support
+------------------------
+
+Contact [support [at]
+it4i.cz](mailto:support%20%5Bat%5D%20it4i.cz) for help and
+support regarding the cluster technology at IT4Innovations.
+Please use **Czech**, **Slovak** or **English** language for
+communication with us.
+Follow the status of your request to IT4Innovations at
+[support.it4i.cz/rt](http://support.it4i.cz/rt).
+
+ 
+
+Use your IT4Innotations username and password to log in to the
+[support](http://support.it4i.cz/) portal.
+
+Required Proficiency
+--------------------
+
+You need basic proficiency in Linux environment.
+
+ 
+
+In order to use the system for your calculations, you need basic
+proficiency in Linux environment. To gain the proficiency, we recommend
+you reading the [<span class="WYSIWYG_LINK">introduction to
+Linux</span>](http://www.tldp.org/LDP/intro-linux/html/)
+operating system environment and installing a Linux distribution on your
+personal computer. A good choice might be the [<span
+class="WYSIWYG_LINK">Fedora</span>](http://fedoraproject.org/)
+distribution, as it is similar to systems on the clusters at
+IT4Innovations. It's easy to install and use. In fact, any distribution
+would do.
+
+ 
+
+Learn how to parallelize your code!
+
+ 
+
+In many cases, you will run your own code on the cluster. In order to
+fully exploit the cluster, you will need to carefully consider how to
+utilize all the cores available on the node and how to use multiple
+nodes at the same time. You need to **parallelize** your code.
+Proficieny in MPI, OpenMP, CUDA, UPC or GPI2 programming may be gained
+via the [training provided by
+IT4Innovations.](http://prace.it4i.cz)
+
+Terminology Frequently Used on These Pages
+------------------------------------------
+
+-   **node:** a computer, interconnected by network to other computers -
+    Computational nodes are powerful computers, designed and dedicated
+    for executing demanding scientific computations.
+-   **core:** processor core, a unit of processor, executing
+    computations
+-   **corehours:** wall clock hours of processor core time - Each node
+    is equipped with **X** processor cores, provides **X** corehours per
+    1 wall clock hour.
+-   **[]()job:** a calculation running on the supercomputer - The job
+    allocates and utilizes resources of the supercomputer for
+    certain time.
+-   **HPC:** High Performance Computing
+-   []()**HPC (computational) resources:** corehours, storage capacity,
+    software licences
+-   **code:** a program
+-   **primary investigator (PI):** a person responsible for execution of
+    computational project and utilization of computational resources
+    allocated to that project
+-   **collaborator:** a person participating on execution of
+    computational project and utilization of computational resources
+    allocated to that project
+-   **[]()project:** a computational project under investigation by the
+    PI - The project is identified by the project ID. The computational
+    resources are allocated and charged per project.
+-   **[]()jobscript:** a script to be executed by the PBS Professional
+    workload manager
+
+Conventions
+-----------
+
+In this documentation, you will find a number of pages containing
+examples. We use the following conventions:
+
+ Cluster command prompt
+
+``` 
+$
+```
+
+Your local linux host command prompt
+
+``` 
+local $
+```
+
+ Errata
+-------
+
+Although we have taken every care to ensure the accuracy of our content,
+mistakes do happen. If you find a mistake in the text or the code we
+would be grateful if you would report this to us. By doing so, you can
+save other readers from frustration and help us improve subsequent
+versions of this documentation. If you find any errata, please report
+them by visiting http://support.it4i.cz/rt, creating a new ticket, and
+entering the details of your errata. Once your errata are verified, your
+submission will be accepted and the errata will be uploaded on our
+website.
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials.md b/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials.md
new file mode 100644
index 0000000000000000000000000000000000000000..b28b04f643122b019e912540f228c8ed20be9eeb
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md b/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md
new file mode 100644
index 0000000000000000000000000000000000000000..1b905bcd723879328fdaadec727890e9f4d48036
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq.md
@@ -0,0 +1,316 @@
+Certificates FAQ 
+================
+
+FAQ about certificates in general
+
+
+  
+
+
+What are certificates?
+-------------------------
+
+IT4Innovations employs X.509 certificates for secure communication (e.
+g. credentials exchange) and for grid services related to PRACE, as they
+present a single method of authentication for all PRACE services, where
+only one password is required.
+
+There are different kinds of certificates, each with a different scope
+of use. We mention here:
+
+-   User (Private) certificates
+
+<!-- -->
+
+-   Certificate Authority (CA) certificates
+
+<!-- -->
+
+-   Host certificates
+
+<!-- -->
+
+-   Service certificates
+
+ 
+
+However, users need only manage User and CA certificates. Note that your
+user certificate is protected by an associated private key, and this
+**private key must never be disclosed**.
+
+Which X.509 certificates are recognised by IT4Innovations?
+-------------------------------------------------------------
+
+Any certificate that has been issued by a Certification Authority (CA)
+from a member of the IGTF ([http:www.igtf.net](http://www.igtf.net/)) is
+recognised by IT4InnovationsEuropean certificates are issued by
+members of the EUGridPMA
+([https://www.eugridmpa.org](https://www.eugridpma.org/)), which is part
+of the IGTF and coordinates the trust fabric for e-Science Grid
+authentication within Europe. Further the Czech *"Qualified certificate"
+(Kvalifikovaný certifikát)* (provided by <http://www.postsignum.cz/> or
+<http://www.ica.cz/Kvalifikovany-certifikat.aspx>), that is used in
+electronic contact with Czech public authorities is accepted.
+
+How do I get a User Certificate that can be used with IT4Innovations?
+------------------------------------------------------------------------
+
+To get a certificate, you must make a request to your local, IGTF
+approved, Certificate Authority (CA). Usually you then must visit, in
+person, your nearest Registration Authority (RA) to verify your
+affiliation and identity (photo identification is required). Usually,
+you will then be emailed details on how to retrieve your certificate,
+although procedures can vary between CAs. If you are in Europe, you can
+locate your trusted CA via <http://www.eugridpma.org/members/worldmap>.
+
+In some countries certificates can also be retrieved using the TERENA
+Certificate Service, see the FAQ below for the link.
+
+Does IT4Innovations support short lived certificates (SLCS)?
+---------------------------------------------------------------
+
+Yes, provided that the CA which provides this service is also a member
+of IGTF.
+
+Does IT4Innovations support the TERENA certificate service?
+--------------------------------------------------------------
+
+Yes, ITInnovations supports TERENA eScience personal certificates. For
+more information, please visit
+[https://tcs-escience-portal.terena.org](https://tcs-escience-portal.terena.org/){.spip_url
+.spip_out}, where you also can find if your organisation/country can use
+this service
+
+What format should my certificate take?
+------------------------------------------
+
+User Certificates come in many formats, the three most common being the
+’PKCS12’, ’PEM’ and the JKS formats.
+
+The PKCS12 (often abbreviated to ’p12’) format stores your user
+certificate, along with your associated private key, in a single file.
+This form of your certificate is typically employed by web browsers,
+mail clients, and grid services like UNICORE, DART, gsissh-term and
+Globus toolkit (GSI-SSH, GridFTP and GRAM5).
+
+The PEM format (*.pem) stores your user certificate and your associated
+private key in two separate files. This form of your certificate can be
+used by PRACE’s gsissh-term and with the grid related services like
+Globus toolkit (GSI-SSH, GridFTP and GRAM5).
+
+To convert your Certificate from PEM to p12 formats, and *vice versa*,
+IT4Innovations recommends using the openssl tool (see separate FAQ
+entry).
+
+JKS is the Java KeyStore and may contain both your personal certificate
+with your private key and a list of your trusted CA certificates. This
+form of your certificate can be used by grid services like DART and
+UNICORE6.
+
+To convert your Certificate from p12 to JKS, IT4Innovations recommends
+using the keytool utiliy (see separate FAQ entry).
+
+What are CA certificates?
+----------------------------
+
+Certification Authority (CA) certificates are used to verify the link
+between your user certificate and the authority which issued it. They
+are also used to verify the link between the host certificate of a
+IT4Innovations server and the CA which issued that certificate. In
+essence they establish a chain of trust between you and the target
+server. Thus, for some grid services, users must have a copy of all the
+CA certificates.
+
+To assist users, SURFsara (a member of PRACE) provides a complete and
+up-to-date bundle of all the CA certificates that any PRACE user (or
+IT4Innovations grid services user) will require. Bundle of certificates,
+in either p12, PEM or JKS formats, are available from
+<http://winnetou.sara.nl/prace/certs/>.
+
+It is worth noting that gsissh-term and DART automatically updates their
+CA certificates from this SURFsara website. In other cases, if you
+receive a warning that a server’s certificate can not be validated (not
+trusted), then please update your CA certificates via the SURFsara
+website. If this fails, then please contact the IT4Innovations helpdesk.
+
+Lastly, if you need the CA certificates for a personal Globus 5
+installation, then you can install the CA certificates from a MyProxy
+server with the following command.
+
+    myproxy-get-trustroots -s myproxy-prace.lrz.de
+
+If you run this command as ’root’, then it will install the certificates
+into /etc/grid-security/certificates. If you run this not as ’root’,
+then the certificates will be installed into
+$HOME/.globus/certificates. For Globus, you can download the
+globuscerts.tar.gz packet from <http://winnetou.sara.nl/prace/certs/>.
+
+What is a DN and how do I find mine?
+---------------------------------------
+
+DN stands for Distinguished Name and is part of your user certificate.
+IT4Innovations needs to know your DN to enable your account to use the
+grid services. You may use openssl (see below) to determine your DN or,
+if your browser contains your user certificate, you can extract your DN
+from your browser.
+
+For Internet Explorer users, the DN is referred to as the "subject" of
+your certificate. Tools-&gt;Internet
+Options-&gt;Content-&gt;Certificates-&gt;View-&gt;Details-&gt;Subject.
+
+For users running Firefox under Windows, the DN is referred to as the
+"subject" of your certificate.
+Tools-&gt;Options-&gt;Advanced-&gt;Encryption-&gt;View Certificates.
+Highlight your name and then Click View-&gt;Details-&gt;Subject.
+
+How do I use the openssl tool?
+---------------------------------
+
+The following examples are for Unix/Linux operating systems only.
+
+To convert from PEM to p12, enter the following command:
+
+    openssl pkcs12 -export -in usercert.pem -inkey userkey.pem -out
+    username.p12
+
+To convert from p12 to PEM, type the following *four* commands:
+
+    openssl pkcs12 -in username.p12 -out usercert.pem -clcerts -nokeys
+    openssl pkcs12 -in username.p12 -out userkey.pem -nocerts
+    chmod 444 usercert.pem
+    chmod 400 userkey.pem
+
+To check your Distinguished Name (DN), enter the following command:
+
+    openssl x509 -in usercert.pem -noout -subject -nameopt
+    RFC2253
+
+To check your certificate (e.g., DN, validity, issuer, public key
+algorithm, etc.), enter the following command:
+
+    openssl x509 -in usercert.pem -text -noout
+
+To download openssl for both Linux and Windows, please visit
+<http://www.openssl.org/related/binaries.html>. On Macintosh Mac OS X
+computers openssl is already pre-installed and can be used immediately.
+
+How do I create and then manage a keystore?
+----------------------------------------------
+
+IT4innovations recommends the java based keytool utility to create and
+manage keystores, which themselves are stores of keys and certificates.
+For example if you want to convert your pkcs12 formatted key pair into a
+java keystore you can use the following command.
+
+    keytool -importkeystore -srckeystore $my_p12_cert -destkeystore
+    $my_keystore -srcstoretype pkcs12 -deststoretype jks -alias
+    $my_nickname -destalias $my_nickname
+
+where $my_p12_cert is the name of your p12 (pkcs12) certificate,
+$my_keystore is the name that you give to your new java keystore and
+$my_nickname is the alias name that the p12 certificate was given and
+is used also for the new keystore.
+
+You also can import CA certificates into your java keystore with the
+tool, e.g.:
+
+    keytool -import -trustcacerts -alias $mydomain -file $mydomain.crt -keystore $my_keystore
+
+where $mydomain.crt is the certificate of a trusted signing authority
+(CA) and $mydomain is the alias name that you give to the entry.
+
+More information on the tool can be found
+at:<http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/keytool.html>
+
+How do I use my certificate to access the different grid Services?
+---------------------------------------------------------------------
+
+Most grid services require the use of your certificate; however, the
+format of your certificate depends on the grid Service you wish to
+employ.
+
+If employing the PRACE version of GSISSH-term (also a Java Web Start
+Application), you may use either the PEM or p12 formats. Note that this
+service automatically installs up-to-date PRACE CA certificates.
+
+If the grid service is UNICORE, then you bind your certificate, in
+either the p12 format or JKS, to UNICORE during the installation of the
+client on your local machine. For more information, please visit
+[UNICORE6 in PRACE](http://www.prace-ri.eu/UNICORE6-in-PRACE){.spip_in
+.external-link}
+
+If the grid service is part of Globus, such as GSI-SSH, GriFTP or GRAM5,
+then the certificates can be in either p12 or PEM format and must reside
+in the "$HOME/.globus" directory for Linux and Mac users or
+%HOMEPATH%.globus for Windows users. (Windows users will have to use
+the DOS command ’cmd’ to create a directory which starts with a ’.’).
+Further, user certificates should be named either "usercred.p12" or
+"usercert.pem" and "userkey.pem", and the CA certificates must be kept
+in a pre-specified directory as follows. For Linux and Mac users, this
+directory is either $HOME/.globus/certificates or
+/etc/grid-security/certificates. For Windows users, this directory is
+%HOMEPATH%.globuscertificates. (If you are using GSISSH-Term from
+prace-ri.eu then you do not have to create the .globus directory nor
+install CA certificates to use this tool alone).
+
+How do I manually import my certificate into my browser?
+-----------------------------------------------------------
+
+If you employ the Firefox browser, then you can import your certificate
+by first choosing the "Preferences" window. For Windows, this is
+Tools-&gt;Options. For Linux, this is Edit-&gt;Preferences. For Mac,
+this is Firefox-&gt;Preferences. Then, choose the "Advanced" button;
+followed by the "Encryption" tab. Then, choose the "Certificates" panel;
+select the option []()"Select one automatically" if you have only one
+certificate, or "Ask me every time" if you have more then one. Then
+click on the "View Certificates" button to open the "Certificate
+Manager" window. You can then select the "Your Certificates" tab and
+click on button "Import". Then locate the PKCS12 (.p12) certificate you
+wish to import, and employ its associated password.
+
+If you are a Safari user, then simply open the "Keychain Access"
+application and follow "File-&gt;Import items".
+
+If you are an Internet Explorer user, click
+Start-&gt;Settings-&gt;Control Panel and then double-click on Internet.
+On the Content tab, click Personal, and then click Import. In the
+Password box, type your password. NB you may be prompted multiple times
+for your password. In the "Certificate File To Import" box, type the
+filename of the certificate you wish to import, and then click OK. Click
+Close, and then click OK.
+
+What is a proxy certificate?
+-------------------------------
+
+A proxy certificate is a short-lived certificate which may be employed
+by UNICORE and the Globus services. The proxy certificate consists of a
+new user certificate and a newly generated proxy private key. This proxy
+typically has a rather short lifetime (normally 12 hours) and often only
+allows a limited delegation of rights. Its default location, for
+Unix/Linux, is /tmp/x509_u*uid* but can be set via the
+$X509_USER_PROXY environment variable.
+
+What is the MyProxy service?
+-------------------------------
+
+[The MyProxy Service](http://grid.ncsa.illinois.edu/myproxy/){.spip_in
+.external-link}, can be employed by gsissh-term and Globus tools, and is
+an online repository that allows users to store long lived proxy
+certificates remotely, which can then be retrieved for use at a later
+date. Each proxy is protected by a password provided by the user at the
+time of storage. This is beneficial to Globus users as they do not have
+to carry their private keys and certificates when travelling; nor do
+users have to install private keys and certificates on possibly insecure
+computers.
+
+Someone may have copied or had access to the private key of my certificate either in a separate file or in the browser. What should I do?
+--------------------------------------------------------------------------------------------------------------------------------------------
+
+Please ask the CA that issued your certificate to revoke this certifcate
+and to supply you with a new one. In addition, please report this to
+IT4Innovations by contacting [the support
+team](https://support.it4i.cz/rt).
+
+
+
+
diff --git a/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md b/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md
new file mode 100644
index 0000000000000000000000000000000000000000..0bdf0d91e9e6dcef849fb20f68f07921e86d1f5b
--- /dev/null
+++ b/docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials.md
@@ -0,0 +1,275 @@
+Obtaining Login Credentials 
+===========================
+
+
+
+  
+
+Obtaining Authorization
+-----------------------
+
+The computational resources of IT4I  are allocated by the Allocation
+Committee to a
+[Project](https://docs.it4i.cz/get-started-with-it4innovations/introduction),
+investigated by a Primary Investigator. By allocating the computational
+resources, the Allocation Committee is authorizing the PI to access and
+use the clusters. The PI may decide to authorize a number of her/his
+Collaborators to access and use the clusters, to consume the resources
+allocated to her/his Project. These collaborators will be associated to
+the Project. The Figure below is depicting the authorization chain:
+
+
+![The Authorization chain for access and utilization of computational
+resources on
+Anselm](https://docs.it4i.cz/anselm-cluster-documentation/Authorization_chain.png "Authorization chain")
+
+
+
+ You need to either [become the
+PI](https://docs.it4i.cz/get-started-with-it4innovations/applying-for-resources)
+or [be named as a
+collaborator](#authorization-of-collaborator-by-pi) by a
+PI in order to access and use the clusters.
+
+Head of Supercomputing Services acts as a PI of a project DD-13-5.
+Joining this project, you may **access and explore the clusters**, use
+software, development environment and computers via the qexp and qfree
+queues. You may use these resources for own education/research, no
+paperwork is required. All IT4I employees may contact the Head of
+Supercomputing Services in order to obtain **free access to the
+clusters**.
+
+### []()Authorization of PI by Allocation Committee
+
+The PI is authorized to use the clusters by the allocation decision
+issued by the Allocation Committee.The PI will be informed by IT4I about
+the Allocation Committee decision.
+
+### Authorization by web
+
+This is a preferred way of granting access to project resources.
+Please, use this method whenever it's possible.
+
+Log in to the [IT4I Extranet
+portal](https://extranet.it4i.cz) using IT4I credentials
+and go to the **Projects** section.
+
+-   **Users:** Please, submit your requests for becoming a
+    project member.
+-   **Primary Investigators:** Please, approve or deny users' requests
+    in the same section.
+
+### Authorization by e-mail (an alternative approach)
+
+ In order to authorize a Collaborator to utilize the allocated
+resources, the PI should contact the [IT4I
+support](https://support.it4i.cz/rt/) (E-mail[support
+[at] it4i.cz](mailto:support%20%5Bat%5D%20it4i.cz)) and provide
+following information:
+
+1.  Identify your project by project ID
+2.  Provide list of people, including himself, who are authorized to use
+    the resources allocated to the project. The list must include full
+    name, e-mail and affiliation.  Provide usernames as well, if 
+    collaborator login access already exists on the IT4I systems.
+3.  Include "Authorization to IT4Innovations" into the subject line.
+
+Example (except the subject line which must be in English, you may use
+Czech or Slovak language for communication with us):
+
+    SubjectAuthorization to IT4Innovations
+
+    Dear support,
+
+    Please include my collaborators to project OPEN-0-0.
+
+    John Smith, john.smith@myemail.com, Department of Chemistry, MIT, US
+    Jonas Johansson, jjohansson@otheremail.se, Department of Physics, Royal Institute of Technology, Sweden
+    Luisa Fibonacci, lf@emailitalia.it, Department of Mathematics, National Research Council, Italy
+
+    Thank you,
+    PI
+    (Digitally signed)
+
+Should the above information be provided by e-mail, the e-mail **must
+be** digitally signed. Read more on [digital
+signatures](#the-certificates-for-digital-signatures)
+below.
+
+[]()The Login Credentials
+-------------------------
+
+Once authorized by PI, every person (PI or Collaborator) wishing to
+access the clusters, should contact the [IT4I
+support](https://support.it4i.cz/rt/) (E-mail[support
+[at] it4i.cz](mailto:support%20%5Bat%5D%20it4i.cz)) providing
+following information:
+
+1.  Project ID
+2.  Full name and affiliation
+3.  Statement that you have read and accepted the [Acceptable use policy
+    document](http://www.it4i.cz/acceptable-use-policy.pdf) (AUP).
+4.  Attach the AUP file.
+5.  Your preferred username, max 8 characters long. The preferred
+    username must associate your surname and name or be otherwise
+    derived from it. Only alphanumeric sequences, dash and underscore
+    signs are allowed.
+6.  In case you choose [Alternative way to personal
+    certificate](#alternative-way-of-getting-personal-certificate),
+    a **scan of photo ID** (personal ID or passport or driver license)
+    is required
+
+Example (except the subject line which must be in English, you may use
+Czech or Slovak language for communication with us):
+
+    SubjectAccess to IT4Innovations
+
+    Dear support,
+
+    Please open the user account for me and attach the account to OPEN-0-0
+    Name and affiliationJohn Smith, john.smith@myemail.com, Department of Chemistry, MIT, US
+    I have read and accept the Acceptable use policy document (attached)
+
+    Preferred usernamejohnsm
+
+    Thank you,
+    John Smith
+    (Digitally signed)
+
+Should the above information be provided by e-mail, the e-mail **must
+be** digitally signed. To sign an e-mail, you need digital certificate.
+Read more on [digital
+signatures](#the-certificates-for-digital-signatures)
+below.
+
+Digital signature allows us to confirm your identity in remote
+electronic communication and provides an encrypted channel to exchange
+sensitive information such as login credentials. After receiving your
+signed e-mail with the requested information, we will send you your
+login credentials (user name, key, passphrase and password) to access
+the IT4I systems.
+
+We accept certificates issued by any widely respected certification
+authority.
+
+**For various reasons we do not accept PGP keys.** Please, use only
+X.509 PKI certificates for communication with us.
+
+You will receive your personal login credentials by protected e-mail.
+The login credentials include:
+
+1.  username
+2.  ssh private key and private key passphrase
+3.  system password
+
+The clusters are accessed by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+and username.
+Username and password is used for login to the information systems
+listed on <http://support.it4i.cz/>.
+
+### Change Passphrase
+
+On Linux, use
+
+``` 
+local $ ssh-keygen -f id_rsa -p
+```
+
+On Windows, use [PuTTY Key
+Generator](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/puttygen).
+
+### Change Password
+
+Change password in your user profile at 
+<https://extranet.it4i.cz/user/>
+
+[]()The Certificates for Digital Signatures
+-------------------------------------------
+
+We accept personal certificates issued by any widely respected
+certification authority (CA). This includes certificates by CAs
+organized in International Grid Trust Federation
+(<http://www.igtf.net/>), its European branch EUGridPMA -
+<https://www.eugridpma.org/> and its member organizations, e.g. the
+CESNET certification authority - <https://tcs-p.cesnet.cz/confusa/>. The
+Czech *"Qualified certificate" (Kvalifikovaný certifikát)* (provided by
+<http://www.postsignum.cz/> or
+<http://www.ica.cz/Kvalifikovany-certifikat.aspx>), that is used in
+electronic contact with Czech authorities is accepted as well.
+
+Certificate generation process is well-described here:
+
+-   [How to generate a personal TCS certificate in Mozilla Firefox web
+    browser
+    (in Czech)](http://idoc.vsb.cz/xwiki/wiki/infra/view/uzivatel/moz-cert-gen)
+
+ 
+
+A FAQ about certificates can be found here<span>[Certificates
+FAQ](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/certificates-faq).</span>
+
+[]()Alternative Way to Personal Certificate
+-------------------------------------------
+
+Follow these steps **only** if you can not obtain your certificate in a
+standard way.
+In case you choose this procedure, please attach a **scan of photo ID**
+(personal ID or passport or drivers license) when applying for [login
+credentials](#the-login-credentials).
+
+1.  Go to <https://www.cacert.org/>.
+    -   If there's a security warning, just acknowledge it.
+
+2.  Click *Join*.
+3.  Fill in the form and submit it by the *Next* button.
+    -   Type in the e-mail address which you use for communication
+        with us.
+    -   Don't forget your chosen *Pass Phrase*.
+
+4.  You will receive an e-mail verification link. Follow it.
+5.  After verifying, go to the CAcert's homepage and login using
+    *Password Login*.
+6.  Go to *Client Certificates* -&gt; *New*.
+7.  Tick *Add* for your e-mail address and click the *Next* button.
+8.  Click the *Create Certificate Request* button.
+9.  You'll be redirected to a page from where you can download/install
+    your certificate.
+    -   Simultaneously you'll get an e-mail with a link to
+        the certificate.
+
+Installation of the Certificate Into Your Mail Client
+-----------------------------------------------------
+
+The procedure is similar to the following guides:
+
+-   MS Outlook 2010
+    -   [How to Remove, Import, and Export Digital
+        Certificates](http://support.microsoft.com/kb/179380)
+    -   [Importing a PKCS #12 certificate
+        (in Czech)](http://idoc.vsb.cz/xwiki/wiki/infra/view/uzivatel/outl-cert-imp)
+-   Mozilla Thudnerbird
+    -   [Installing an SMIME
+        certificate](http://kb.mozillazine.org/Installing_an_SMIME_certificate)
+    -   [Importing a PKCS #12 certificate
+        (in Czech)](http://idoc.vsb.cz/xwiki/wiki/infra/view/uzivatel/moz-cert-imp)
+
+End of User Account Lifecycle
+-----------------------------
+
+User accounts are supported by membership in active Project(s) or by
+affiliation to IT4Innovations. User accounts, that loose the support
+(meaning, are not attached to an active project and are not affiliated
+with IT4I), will be deleted 1 year after the last project to which they
+were attached expires.
+
+User will get 3 automatically generated warning e-mail messages of the
+pending removal:.
+
+-   First message will be sent 3 months before the removal
+-   Second message will be sent 1 month before the removal
+-   Third message will be sent 1 week before the removal.
+
+The messages will inform about the projected removal date and will
+challenge the user to migrate her/his data
+
diff --git a/docs.it4i.cz/heartbleed-bug.md b/docs.it4i.cz/heartbleed-bug.md
new file mode 100644
index 0000000000000000000000000000000000000000..4bfac06606eedd225707425de78e0b72d3d5442b
--- /dev/null
+++ b/docs.it4i.cz/heartbleed-bug.md
@@ -0,0 +1,81 @@
+Heartbleed bug 
+==============
+
+
+
+  
+
+Last update2014-04-16 12:20:32
+
+Introduction
+------------
+
+A serious bug in the OpenSSL library, known as the "Heartbleed bug" has
+been recently discovered.
+
+The bug in OpenSSL library affected many sites worldwide for nearly two
+years.<span> Although the Anselm cluster itself was exposed only for two
+weeks and other systems for approximately three months, IT4I didn't take
+this situation lightly and with full responsibility responded
+immediately.</span> At this moment, there is no evidence that any abuse
+of data took place at IT4I.
+
+<span>For more information about the Heartbleed bug, please see:
+<http://heartbleed.com/></span>
+
+Response
+--------
+
+### <span>OpenSSL fix
+</span>
+
+<span>IT4I has taken all necessary steps to fix the OpenSSL library on
+all it's systems.</span>
+
+### <span>Server keys change</span>
+
+Due to a safety preventive action, the fingerprint of Anselm login nodes
+has changed.
+
+You are advised to remove the deprecated fingerprint from your local SSH
+known_hosts file:
+
+    local $ ssh-keygen -R anselm.it4i.cz 
+    local $ ssh-keygen -R login1.anselm.it4i.cz 
+    local $ ssh-keygen -R login2.anselm.it4i.cz 
+    local $ ssh-keygen -R 195.113.250.82 
+    local $ ssh-keygen -R 195.113.250.83
+
+new fingerprints for both login nodes are:
+<span
+class="monospace">29:b3:f4:64:b0:73:f5:6f:a7:85:0f:e0:0d:be:76:bf (DSA)
+d4:6f:5c:18:f4:3f:70:ef:bc:fc:cc:2b:fd:13:36:b7 (RSA)</span>
+
+You have to reconnect on Anselm to apply this change.
+
+### Login credentials change
+
+There is no evidence that any abuse of data took place at IT4I, however
+as a safety preventive action, all users will be issued new login
+credentials.
+
+In order to ensure the security and integrity of IT4I systems, all users
+will be issued new login credentials, including password and ssh kyes.
+
+We will use your original digital signatures to deliver the login
+credential in a secure way.
+
+In case that you're using a new digital signature since getting access
+to Anselm, please let us know by writing to <span
+class="moz-txt-link-abbreviated">[support [at]
+it4i.cz](mailto:support%20%5Bat%5D%20it4i.cz)</span> .
+Don't forget to digitally sign your message and please include the
+string "**Digital Signature Change**" in the subject line.
+
+We'll be collecting new digital signatures till Friday, 18th April.
+<span>[](http://heartbleed.com/)</span>
+
+ 
+
+
+
diff --git a/docs.it4i.cz/index.md b/docs.it4i.cz/index.md
new file mode 100644
index 0000000000000000000000000000000000000000..4a39978c4cd1160ffb7d06cf475c68bf0d9bc4e5
--- /dev/null
+++ b/docs.it4i.cz/index.md
@@ -0,0 +1,146 @@
+Documentation 
+=============
+
+
+
+  
+
+Welcome to IT4Innovations documentation pages. The IT4Innovations
+national supercomputing center operates supercomputers
+[Salomon](https://docs.it4i.cz/salomon) and
+[Anselm](https://docs.it4i.cz/anselm-cluster-documentation).
+The supercomputers are [<span
+class="external-link">available</span>](https://docs.it4i.cz/get-started-with-it4innovations/applying-for-resources)
+to academic community within the Czech Republic and Europe and
+industrial community worldwide. The purpose of these pages is to provide
+a comprehensive documentation on hardware, software and usage of the
+computers.
+
+<span class="link-external"><span class="WYSIWYG_LINK">How to read the documentation</span></span>
+--------------------------------------------------------------------------------------------------
+
+1.  Read the list in the left column. Select the subject of interest.
+    Alternatively, use the Search box in the upper right corner.
+2.  Read the CONTENTS in the upper right corner.
+3.  Scan for all the yellow bulb call-outs on the page.
+4.  Read the details if still more information is needed. **Look for
+    examples** illustrating the concepts.
+
+ 
+
+The call-out.   Focus on the call-outs before reading full details.
+
+ 
+
+-   Read the
+    [Changelog](https://docs.it4i.cz/get-started-with-it4innovations/changelog)
+    to keep up to date.
+
+Getting Help and Support
+------------------------
+
+Contact [support [at]
+it4i.cz](mailto:support%20%5Bat%5D%20it4i.cz) for help and
+support regarding the cluster technology at IT4Innovations.
+Please use **Czech**, **Slovak** or **English** language for
+communication with us.
+Follow the status of your request to IT4Innovations at
+[support.it4i.cz/rt](http://support.it4i.cz/rt).
+
+ 
+
+Use your IT4Innotations username and password to log in to the
+[support](http://support.it4i.cz/) portal.
+
+Required Proficiency
+--------------------
+
+You need basic proficiency in Linux environment.
+
+ 
+
+In order to use the system for your calculations, you need basic
+proficiency in Linux environment. To gain the proficiency, we recommend
+you reading the [<span class="WYSIWYG_LINK">introduction to
+Linux</span>](http://www.tldp.org/LDP/intro-linux/html/)
+operating system environment and installing a Linux distribution on your
+personal computer. A good choice might be the [<span
+class="WYSIWYG_LINK">Fedora</span>](http://fedoraproject.org/)
+distribution, as it is similar to systems on the clusters at
+IT4Innovations. It's easy to install and use. In fact, any distribution
+would do.
+
+ 
+
+Learn how to parallelize your code!
+
+ 
+
+In many cases, you will run your own code on the cluster. In order to
+fully exploit the cluster, you will need to carefully consider how to
+utilize all the cores available on the node and how to use multiple
+nodes at the same time. You need to **parallelize** your code.
+Proficieny in MPI, OpenMP, CUDA, UPC or GPI2 programming may be gained
+via the [training provided by
+IT4Innovations.](http://prace.it4i.cz)
+
+Terminology Frequently Used on These Pages
+------------------------------------------
+
+-   **node:** a computer, interconnected by network to other computers -
+    Computational nodes are powerful computers, designed and dedicated
+    for executing demanding scientific computations.
+-   **core:** processor core, a unit of processor, executing
+    computations
+-   **corehours:** wall clock hours of processor core time - Each node
+    is equipped with **X** processor cores, provides **X** corehours per
+    1 wall clock hour.
+-   **[]()job:** a calculation running on the supercomputer - The job
+    allocates and utilizes resources of the supercomputer for
+    certain time.
+-   **HPC:** High Performance Computing
+-   []()**HPC (computational) resources:** corehours, storage capacity,
+    software licences
+-   **code:** a program
+-   **primary investigator (PI):** a person responsible for execution of
+    computational project and utilization of computational resources
+    allocated to that project
+-   **collaborator:** a person participating on execution of
+    computational project and utilization of computational resources
+    allocated to that project
+-   **[]()project:** a computational project under investigation by the
+    PI - The project is identified by the project ID. The computational
+    resources are allocated and charged per project.
+-   **[]()jobscript:** a script to be executed by the PBS Professional
+    workload manager
+
+Conventions
+-----------
+
+In this documentation, you will find a number of pages containing
+examples. We use the following conventions:
+
+ Cluster command prompt
+
+``` 
+$
+```
+
+Your local linux host command prompt
+
+``` 
+local $
+```
+
+ Errata
+-------
+
+Although we have taken every care to ensure the accuracy of our content,
+mistakes do happen. If you find a mistake in the text or the code we
+would be grateful if you would report this to us. By doing so, you can
+save other readers from frustration and help us improve subsequent
+versions of this documentation. If you find any errata, please report
+them by visiting http://support.it4i.cz/rt, creating a new ticket, and
+entering the details of your errata. Once your errata are verified, your
+submission will be accepted and the errata will be uploaded on our
+website.
diff --git a/docs.it4i.cz/links.md b/docs.it4i.cz/links.md
new file mode 100644
index 0000000000000000000000000000000000000000..e6a35b388776729e4ffb74d048d19e7931a3485b
--- /dev/null
+++ b/docs.it4i.cz/links.md
@@ -0,0 +1,24 @@
+Links 
+=====
+
+
+
+  
+
+-   <span
+    class="WYSIWYG_LINK">[IT4Innovations](http://www.it4i.cz/?lang=en)</span>
+-   <span class="WYSIWYG_LINK">[VSB-Technical university of
+    Ostrava](http://www.vsb.cz)
+    </span>
+-   <span
+    class="WYSIWYG_LINK">[PRACE](http://www.prace-ri.eu)</span>
+-   <span
+    class="WYSIWYG_LINK">[CESNET](http://www.cesnet.cz)
+    </span>
+-   [<span class="WYSIWYG_LINK">Introduction to
+    Linux</span>](http://www.tldp.org/LDP/intro-linux/html/)
+    [<span
+    class="WYSIWYG_LINK">(TLDP</span>](http://www.tldp.org/LDP/intro-linux/html/))
+
+<span class="WYSIWYG_LINK">
+</span>
diff --git a/docs.it4i.cz/login.js b/docs.it4i.cz/login.js
new file mode 100644
index 0000000000000000000000000000000000000000..a66dc132449846f7d079f604afa98f5578f013b0
--- /dev/null
+++ b/docs.it4i.cz/login.js
@@ -0,0 +1,74 @@
+// Functions used by login pages
+
+function cookiesEnabled() {
+  // Test whether cookies are enabled by attempting to set a cookie and then change its value
+  // set test cookie
+  var c = "areYourCookiesEnabled=0";
+  document.cookie = c;
+  var dc = document.cookie;
+  // cookie not set?  fail
+  if (dc.indexOf(c) == -1) return 0;
+  // change test cookie
+  c = "areYourCookiesEnabled=1";
+  document.cookie = c;
+  dc = document.cookie;
+  // cookie not changed?  fail
+  if (dc.indexOf(c) == -1) return 0;
+  // delete cookie
+  document.cookie = "areYourCookiesEnabled=; expires=Thu, 01-Jan-70 00:00:01 GMT";
+  return 1;
+}
+
+function setLoginVars(user_name_id, alt_user_name_id, password_id, empty_password_id, js_enabled_id, cookies_enabled_id) {
+  // Indicate that javascript is enabled, set cookie status, copy username and password length info to 
+  // alternative variables since these vars are removed from the request by zope's authentication mechanism.
+  if (js_enabled_id) {
+    el = document.getElementById(js_enabled_id);
+    if (el) { el.value = 1; }
+  }
+  if (cookies_enabled_id) {
+    el = document.getElementById(cookies_enabled_id);
+    // Do a fresh cookies enabled test every time we press the login button
+    //   so that we are up to date in case the user enables cookies after seeing
+    //   the cookies message.
+    if (el) { el.value = cookiesEnabled(); } 
+  }
+  if (user_name_id && alt_user_name_id) {
+    user_name = document.getElementById(user_name_id)
+    alt_user_name = document.getElementById(alt_user_name_id)
+    if (user_name && alt_user_name) {
+       alt_user_name.value = user_name.value;
+    } 
+  }
+  if (password_id && empty_password_id) {
+    password = document.getElementById(password_id)
+    empty_password = document.getElementById(empty_password_id)
+    if (password && empty_password) {
+       if (password.value.length==0) {
+          empty_password.value = '1';
+       } else {
+          empty_password.value = '0';
+       }
+    }
+  }
+  return 1;
+}
+
+function showCookieMessage(msg_id) {
+  // Show the element with the given id if cookies are not enabled
+  msg = document.getElementById(msg_id)
+  if (msg) {
+     if (cookiesEnabled()) {
+        msg.style.display = 'none';
+     } else {
+        msg.style.display = 'block';
+     }
+  }
+}
+
+function showEnableCookiesMessage() {
+  // Show the element with the id 'enable_cookies_message' if cookies are not enabled
+  showCookieMessage('enable_cookies_message')
+}
+// Call showEnableCookiesMessage after the page loads
+jQuery(showEnableCookiesMessage);
diff --git a/docs.it4i.cz/logo.png b/docs.it4i.cz/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbb51c7f5ee2e361a0cb3ebb69a46dc23a2818fc
Binary files /dev/null and b/docs.it4i.cz/logo.png differ
diff --git a/docs.it4i.cz/pbspro-documentation.md b/docs.it4i.cz/pbspro-documentation.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/pbspro-documentation.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide.1 b/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide.1
new file mode 100644
index 0000000000000000000000000000000000000000..0dedf4abdd8383d57404efbae0943baab3185d91
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide.1 differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide/at_download/file b/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..0dedf4abdd8383d57404efbae0943baab3185d91
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide/at_download/file differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide/view.md b/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/pbspro-documentation/pbspro-programmers-guide/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide.1 b/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide.1
new file mode 100644
index 0000000000000000000000000000000000000000..19748e9c286e4ab83e6d8ec872bb4d20958189ac
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide.1 differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide/at_download/file b/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..19748e9c286e4ab83e6d8ec872bb4d20958189ac
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide/at_download/file differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide/view.md b/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/pbspro-documentation/pbspro-quick-start-guide/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide.1 b/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide.1
new file mode 100644
index 0000000000000000000000000000000000000000..10f4b7f116a69f53e188686b109172dba13ba6f1
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide.1 differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide/at_download/file b/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..10f4b7f116a69f53e188686b109172dba13ba6f1
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide/at_download/file differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide/view.md b/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/pbspro-documentation/pbspro-reference-guide/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-users-guide.1 b/docs.it4i.cz/pbspro-documentation/pbspro-users-guide.1
new file mode 100644
index 0000000000000000000000000000000000000000..8c933ce03e23ee4df154ebec358c17f2b7becd2e
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-users-guide.1 differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-users-guide/at_download/file b/docs.it4i.cz/pbspro-documentation/pbspro-users-guide/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..8c933ce03e23ee4df154ebec358c17f2b7becd2e
Binary files /dev/null and b/docs.it4i.cz/pbspro-documentation/pbspro-users-guide/at_download/file differ
diff --git a/docs.it4i.cz/pbspro-documentation/pbspro-users-guide/view.md b/docs.it4i.cz/pbspro-documentation/pbspro-users-guide/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/pbspro-documentation/pbspro-users-guide/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/pdf.png b/docs.it4i.cz/pdf.png
new file mode 100644
index 0000000000000000000000000000000000000000..64fcbead36b4e6352527f37daf3b2c2d7dcc87a7
Binary files /dev/null and b/docs.it4i.cz/pdf.png differ
diff --git a/docs.it4i.cz/png.png b/docs.it4i.cz/png.png
new file mode 100644
index 0000000000000000000000000000000000000000..df6111fb562e94be3bc8a79ed94af3810a627327
Binary files /dev/null and b/docs.it4i.cz/png.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/arrowDown.png b/docs.it4i.cz/portal_css/Sunburst Theme/arrowDown.png
new file mode 100644
index 0000000000000000000000000000000000000000..487bc8b60dfdf36fc983215e7ce368a7e3b715cb
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/arrowDown.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/arrowRight.png b/docs.it4i.cz/portal_css/Sunburst Theme/arrowRight.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb807ba5f5d11b871def34d3e94983d364499290
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/arrowRight.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/base-cachekey-f42567a9b3d7b2318db6477cef6d2d1b.css b/docs.it4i.cz/portal_css/Sunburst Theme/base-cachekey-f42567a9b3d7b2318db6477cef6d2d1b.css
new file mode 100644
index 0000000000000000000000000000000000000000..c33d5e008b58efbebcdc6f05bef21e40d149a32b
--- /dev/null
+++ b/docs.it4i.cz/portal_css/Sunburst Theme/base-cachekey-f42567a9b3d7b2318db6477cef6d2d1b.css	
@@ -0,0 +1,2767 @@
+
+/* - base.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/base.css?original=1 */
+/* */
+/* */
+#content ul,
+.portletStaticText ul {
+list-style-type: disc;
+margin-left: 2em;
+}
+#content ol,
+dl.portlet ol,
+.portletStaticText ol {
+list-style-type: decimal;
+margin-left: 2em;
+}
+#content li,
+dl.portlet li,
+.portletStaticText li {
+margin-bottom: 0.25em;
+line-height: 1.5em;
+display: list-item;
+}
+/* */
+#content .discreet,
+#sidebar .discreet,
+.portletStaticText .discreet {
+color: #666;
+font-size: 85%;
+font-weight: normal;
+}
+#content .visualHighlight,
+.portletStaticText .visualHighlight {
+background-color: #ffb;
+}
+#content .pullquote,
+.portletStaticText .pullquote {
+margin: 0 1em 0.5em 0.5em;
+font-weight: bold;
+line-height: 1.25em;
+float: right;
+width: 35%;
+clear: right;
+color: #444;
+font-size: 1.6em;
+letter-spacing: -0.08em !important;
+}
+#content .callout,
+.portletStaticText .callout {
+background: #eee;
+padding: 1em;
+border-left: 1em solid #ccc;
+clear: both;
+}
+/* */
+#content div.documentByLine {
+font-size: 85%;
+display: block;
+color: #666;
+}
+#content img.tileImage,
+#content div.newsImageContainer {
+float: right;
+margin: 0 1em 0.5em 1em;
+}
+.eventDetails {
+float: right;
+clear: right;
+margin: 0 0 0.5em 1em;
+}
+#content .eventDetails .eventDetail {
+clear: both;
+}
+/* */
+/* */
+table.listing,
+table.plain {
+border-spacing: 0;
+border-collapse: collapse;
+}
+table.invisible td,
+table.invisible th,
+table.plain td,
+table.plain th,
+table.listing td,
+table.listing th {
+padding: 0.5em 1em;
+vertical-align: top;
+}
+table.plain th,
+table.plain td {
+border: 1px solid #ddd;
+}
+table.plain th {
+text-align: left;
+}
+table.listing td.listingCheckbox,
+table.listing th.listingCheckbox {
+text-align: center;
+}
+table.listing {
+border-left: 1px solid #ddd;
+border-bottom: 1px solid #ddd;
+}
+table.listing .top {
+border-left: 1px solid #ddd;
+border-top: 1px solid #ddd;
+border-right: 1px solid #ddd;
+}
+table.listing th {
+text-align: left;
+color: #666;
+border: 0.1em solid #e7e7e7;
+border-style: solid solid none;
+background: #ddd;
+}
+table.listing tr.odd th {
+border: 0.1em solid #fff;
+border-style: solid solid none none;
+}
+table.listing tbody th {
+font-weight: bold;
+}
+table.listing tbody tr {
+text-align:left;
+}
+table.listing tbody tr.odd {
+background: #eee;
+}
+table.listing tbody tr td {
+background: transparent;
+}
+table.listing tbody tr.odd td {
+background: #eee;
+}
+table.listing td {
+border-right: 1px solid #ddd;
+}
+.icons-on #listing-table td {
+line-height: 2em;
+}
+table.listing a {
+border: none;
+display: inline-block;
+border-bottom: none !important;
+}
+table.listing td.draggable {
+text-shadow: White 1px 1px 1px;
+background: #ddd !important;
+border-bottom: 1px solid white;
+padding: 0.4em 0.4em 0 0.5em;
+}
+/* */
+table.vertical {
+}
+table.vertical th {
+text-align: right;
+}
+table.vertical td {
+border-top: 0.1em solid #e7e7e7;
+padding: 0.5em;
+}
+/* */
+table.grid td,
+table.grid th {
+border: 1px solid #e7e7e7;
+padding: 0.5em;
+}
+.dragindicator {
+outline: 2px solid #FFD700;
+}
+#foldercontents-order-column {
+padding: 0;
+}
+div.listingBar {
+font-size: 80%;
+margin: 1em 0;
+}
+div.listingBar .next {
+display: inline-block;
+float: right;
+}
+div.listingBar .previous {
+display: inline-block;
+}
+div.listingBar a {
+display: inline-block;
+padding: 0.25em 0.5em;
+border: 0.1em solid #ccc;
+}
+div.listingBar a:hover {
+color: White;
+background-color: #329fd7;
+border-color: #329fd7;
+}
+/* */
+/* */
+dl.portalMessage,
+div.attention,
+div.caution,
+div.danger,
+div.error,
+div.hint,
+div.important,
+div.note,
+div.tip,
+div.warning {
+margin: 1em 0;
+font-size: 80%;
+border: 1px solid #996;
+background-color: #ffffe3;
+clear:both;
+}
+dl.portalMessage a,
+#content dl.portalMessage a,
+div.attention a,
+div.caution a,
+div.danger a,
+div.error a,
+div.hint a,
+div.important a,
+div.note a,
+div.tip a,
+div.warning a,
+#content div.attention a,
+#content div.caution a,
+#content div.danger a,
+#content div.error a,
+#content div.hint a,
+#content div.important a,
+#content div.note a,
+#content div.tip a,
+#content div.warning a {
+color: black;
+border-bottom: 1px solid #888;
+}
+dl.portalMessage dt,
+div > .admonition-title {
+background-color: #996;
+font-weight: bold;
+float: left;
+margin: 0 0.5em 0 0;
+padding: 0.5em 0.75em;
+color: White;
+line-height: 1.25em;
+}
+dl.portalMessage dd,
+div.attention > .last,
+div.caution > .last,
+div.danger > .last,
+div.error > .last,
+div.hint > .last,
+div.important > .last,
+div.note > .last,
+div.tip > .last,
+div.warning > .last {
+padding: 0.5em 0.5em;
+margin: 0;
+line-height: 1.25em;
+}
+dl.warning {
+border-color: #d80;
+}
+dl.warning > dt,
+.warning > .admonition-title {
+background-color: #d80;
+}
+dl.error {
+border-color: red;
+}
+dl.error > dt,
+.error > .admonition-title {
+background-color: #d00;
+}
+.warning > dd,
+.warning > .last {
+background-color: #fd7;
+}
+.error > dd,
+.error > .last {
+background-color: #fdc;
+}
+/* */
+#content dl.portalMessage,
+#content div.attention a,
+#content div.caution a,
+#content div.danger a,
+#content div.error a,
+#content div.hint a,
+#content div.important a,
+#content div.note a,
+#content div.tip a,
+#content div.warning a {
+font-size: 100%;
+}
+#content dl.portalMessage dt,
+#content div > .admonition-title {
+margin: 0 0.5em 0 0;
+padding: 0.5em 0.75em;
+}
+#content dl.portalMessage dd,
+#content div.attention > .last,
+#content div.caution > .last,
+#content div.danger > .last,
+#content div.error > .last,
+#content div.hint > .last,
+#content div.important > .last,
+#content div.note > .last,
+#content div.tip > .last,
+#content div.warning > .last {
+margin: 0;
+}
+/* */
+/* */
+dl.collapsible {
+border: 0.1em solid #8cacbb;
+margin: 1em 0;
+padding: 0;
+}
+dl.collapsible dt.collapsibleHeader {
+display: block;
+float: left;
+background: White;
+line-height: 1.2em;
+vertical-align: middle;
+font-size: 90%;
+position: relative;
+top: -0.6em;
+width: auto;
+margin: 0 0 -0.6em 1em;
+padding: 0 0.5em;
+}
+dl.collapsible dd.collapsibleContent {
+margin: 0;
+padding: 0 1em 0.4em;
+clear: left;
+}
+/* */
+dl.collapsible dd.collapsibleContent > dl {
+margin: 0;
+padding: 0;
+}
+dl.expandedInlineCollapsible dt.collapsibleHeader,
+dl.expandedBlockCollapsible dt.collapsibleHeader {
+padding: 0 0.5em 0 2em;
+background: White url(treeExpanded.png) no-repeat 0.5em 50%;
+cursor: pointer;
+}
+dl.collapsedBlockCollapsible {
+border: none;
+height: 1em;
+width: auto;
+}
+dl.collapsedInlineCollapsible dt.collapsibleHeader,
+dl.collapsedBlockCollapsible dt.collapsibleHeader {
+float: none;
+position: relative;
+margin: 0 0 0 1em;
+padding: 0 0.5em 0 2em;
+line-height: 1.2em;
+cursor: pointer;
+background: White url(treeCollapsed.png) no-repeat 0.5em 50%;
+}
+dl.collapsedInlineCollapsible dd.collapsibleContent,
+dl.collapsedBlockCollapsible dd.collapsibleContent {
+display: none;
+}
+dl.collapsedInlineCollapsible {
+border: none;
+height: 1em;
+width: auto;
+display: inline;
+}
+dl.collapsedInlineCollapsible dt.collapsibleHeader {
+position: static;
+float: none;
+margin: 0;
+padding: 0 0 0 2em;
+line-height: 1em;
+cursor: pointer;
+display: inline;
+}
+/* */
+/* */
+.comment {
+margin-top: 1.5em;
+font-size: 80%;
+}
+.comment .documentByLine {
+margin-left: 1em;
+}
+.comment .formControls {
+margin-left: 0;
+}
+.commentTime {
+color: #666;
+}
+.commentBody {
+padding: 1em;
+margin: 0.5em 0;
+border-radius: 0.5em;
+-webkit-border-radius: 0.5em;
+-moz-border-radius: 0.5em;
+box-shadow: 0 0 1em 0 #888;
+-moz-box-shadow: 0 0 0.5em 0 #888;
+-webkit-box-shadow: 0 0 0.5em #888;
+}
+.comment h1,
+.comment h2,
+.comment h3,
+.comment h4,
+.comment h5,
+.comment h6 {
+font-weight: normal;
+}
+/* */
+.reviewHistory,
+.contentHistory {
+display: inline;
+color: Black;
+}
+.spacer {
+margin: 1em;
+}
+.label {
+font-weight: bold;
+display: inline;
+}
+.label .fieldErrorBox {
+font-weight: normal;
+}
+.optionsToggle {
+border: 0.1em solid #8cacbb;
+color: Black;
+background-color: #dee7ec;
+font-weight: normal;
+font-size: 90%;
+}
+/* */
+.highlightedSearchTerm {
+background-color: #ffa;
+}
+dl.searchResults .highlightedSearchTerm {
+background-color: transparent;
+font-weight: bold;
+}
+/* */
+.noInheritedRoles {
+color: #a0a0a0;
+}
+/* */
+.currentItem {
+border-collapse: collapse;
+border: 0.2em solid #ffa500;
+padding: 0.1em;
+}
+/* */
+/* */
+fieldset#search-field {
+border: none !important;
+text-align: center;
+}
+input.searchPage {
+font-size:200% !important;
+}
+#rss-subscription {
+float: left;
+line-height: 3em;
+}
+#search-results-bar .actionMenuContent {
+margin-top: 1em;
+padding: 0;
+}
+#search-filter {
+background: #ddd;
+margin: 0;
+padding: 0;
+}
+#content #search-filter fieldset {
+border: none !important;
+position: relative;
+padding: 0;
+margin: 0;
+}
+#content #search-filter legend {
+background: transparent;
+font-size: 1.1em;
+padding: 0.5em 0.9em;
+font-weight: bold;
+}
+#search-filter .field {
+background: #eee;
+padding: 1em 1.5em;
+margin: 0;
+}
+#search-filter .field label {
+font-weight: normal;
+}
+#search-filter .formControls {
+text-align:center
+}
+#search-results-wrapper {
+margin-top: 1em;
+}
+form.searchPage h1.documentFirstHeading {
+font-weight:normal;
+letter-spacing:0;
+float: left;
+margin-right: 0.8em;
+}
+form.searchPage h1.documentFirstHeading .highlightedSearchTerm {
+background: transparent !important;
+}
+#search-results-bar > * {
+float: left;
+}
+#searchResultsSort{
+float:right;
+}
+#search-results-bar {
+position: relative;
+z-index: 1;
+float: left;
+width: 100%;
+border-top: 1px solid #DDD;
+border-bottom: 1px solid #DDD;
+padding: 1em 0;
+}
+#search-results-bar dl.actionMenu {
+margin-bottom: 0;
+}
+#search-results-bar dd.actionMenuContent {
+margin-left: 0;
+padding-left: 0;
+}
+#search-results-bar dt.actionMenuHeader a {
+border-bottom: none;
+}
+#search-results-bar dt.actionMenuHeader a::after {
+content: " â–Ľ";
+}
+#search-results {
+padding: 1em;
+}
+.searchResults {
+margin-top: 0;
+}
+#ajax-search-res {
+display: none;
+}
+/* */
+/* */
+.image-left {
+float: left;
+margin: 0.5em 1em 0.5em 0;
+}
+.image-right {
+float: right;
+margin: 0.5em;
+}
+.image-inline {
+float: none;
+}
+/* */
+/* */
+dl.toc {
+float: right;
+width: 35%;
+font-size: 100%;
+margin: 1em 0 0.5em 1.5em;
+}
+dl.toc dt {
+margin-left: 1em;
+font-weight: normal;
+text-transform: uppercase;
+}
+dl.toc dd {
+margin-bottom: 0;
+padding-left: 2em;
+}
+dl.toc dd ol {
+margin-left: 1.5em;
+}
+/* */
+/* */
+#portal-sitemap {
+list-style: none;
+margin-left: 0;
+font-size: 130%;
+font-weight: bold;
+}
+#portal-sitemap li {
+list-style: none;
+margin-left: 0;
+}
+#portal-sitemap a {
+border-bottom: none;
+display: block;
+}
+#portal-sitemap > li {
+border-bottom:0.1em dotted #ddd;
+line-height:1.8em;
+padding:0.25em 1em;
+margin-bottom: 0;
+}
+#portal-sitemap .navTreeLevel2,
+#portal-sitemap .navTreeLevel2 ul {
+font-size: 85%;
+font-weight: normal;
+margin-bottom: 0;
+padding: 0.25em 0;
+}
+/* */
+/* */
+.photoAlbumEntry {
+float: left;
+position:relative;
+overflow: hidden;
+height: 185px;
+width: 143px;
+margin: 0em;
+padding: 0px 6px 0px 9px;
+text-align: center;
+background-image: url('polaroid-single.png');
+background-repeat: no-repeat;
+}
+.photoAlbumEntry img {
+border: 1px solid #ccc;
+display: block;
+margin: 0 auto;
+}
+.photoAlbumEntryWrapper {
+height: 130px;
+width: 128px;
+margin-bottom: 7px;
+}
+.photoAlbumEntry a {
+display: block;
+text-decoration: none;
+font-size: 90%;
+height: 169px;
+width: 130px;
+margin: 16px auto 0px;
+}
+.photoAlbumFolder {
+background-image: url('polaroid-multi.png');
+background-repeat: no-repeat;
+}
+.photoAlbumEntryTitle {
+color: #76797c;
+display: block;
+width: 128px;
+height: 3.6em;
+}
+/* */
+/* */
+.hiddenStructure {
+display: block;
+background: transparent;
+background-image: none; /* */
+border: none;
+height: 0.1em;
+overflow: hidden;
+padding: 0;
+margin: -0.1em 0 0 -0.1em;
+width: 1px;
+}
+/* */
+/* */
+.ie6 .hiddenStructure,
+.ie7 .hiddenStructure {
+position: absolute;
+}
+#content .visualNoMarker {
+list-style:none;
+margin-left: 0;
+}
+.visualClear {
+clear: both;
+}
+/* */
+/* */
+body.largeText { font-size: 125%; }
+body.smallText { font-size: 85%; }
+/* */
+/* */
+/* */
+div.overlay {
+width: auto;
+height: auto;
+/* */
+display: none;
+/* */
+margin: 1em;
+font-size: 80%;
+}
+div.overlay-iframe,
+div.overlay-ajax {
+width: 60%;
+min-height: 100px;
+z-index: 99; /* */
+}
+div.overlay-iframe {
+height: 60%;
+}
+/* */
+div.overlaybg div.close,
+div.overlay div.close {
+background-image: url(pb_close.png);
+position: absolute;
+left: -14px;
+top: -14px;
+cursor: pointer;
+height: 30px;
+width: 30px;
+}
+.pb-ajax {
+overflow-y: auto;
+}
+.pb-ajax, .pb-image, .overlay iframe {
+background-color: #fff;
+border: 1px solid #999;
+white-space: normal;
+box-shadow: 0 0 3em 0.5em #666;
+-moz-box-shadow: 0 0 3em 0.5em #666;
+-webkit-box-shadow: 0 0 3em #666;
+}
+.pb-ajax > div {
+width: 92%;
+padding: 1em;
+}
+.pb-ajax .documentActions {display:none}
+div.overlay div.close span {
+display: block;
+height: 1px;
+margin: -1px 0 0 -1px;
+overflow: hidden;
+padding: 0;
+width: 1px;
+}
+div.overlay textarea { width: 100%; }
+/* */
+div.overlay .link-parent { display: none; }
+div.overlay #createGroup legend { display: none; }
+div.overlay #createGroup fieldset { border: none; }
+/* */
+div.overlay p {
+margin-bottom: 1em;
+}
+div.overlay label {
+margin-bottom: 0.25em;
+}
+div.overlay a:hover {
+color: #75ad0a;
+}
+div.overlay a:hover label{
+cursor: pointer;
+}
+div.overlay a.selected {
+color: #000000;
+}
+div.overlay .formTab {
+margin-right:1em;
+font-weight: bold;
+}
+div.overlay .formTab.lastFormTab {
+margin-right:0em;
+}
+div.overlay .formControls a {
+display: block;
+margin: 0.75em;
+}
+/* */
+/* */
+#history dd {
+}
+div.historyRecord {
+margin-bottom: 1em;
+}
+div.historyTools ul {
+float: right;
+margin: 2px 1em;
+}
+div.historyTools ul li {
+display: inline;
+padding: 0 0.015em;
+}
+div.historyTools ul li a{
+border-bottom: none;
+}
+div.historyTools form {
+display: inline;
+}
+.historyAction {
+}
+.historyByLine {
+background: #ddd;
+padding: 0.5em;
+border-top-right-radius: 0.5em;
+border-top-left-radius: 0.5em;
+-webkit-border-top-right-radius: 0.5em;
+-webkit-border-top-left-radius: 0.5em;
+-moz-border-radius-topleft: 0.5em;
+-moz-border-radius-topright: 0.5em;
+}
+div.historyLinks {
+float: right;
+clear: right;
+margin: 0.5em 1em 0 0;
+}
+div.historyComment {
+padding: 0.5em 1em;
+border: 1px solid #ddd;
+}
+div.historyComment p {
+margin: 0;
+padding-top: 1px;
+}
+a.historyComparePrevious {
+border-top: 1px dotted #ccc;
+display: block;
+margin-top: 1.5em;
+margin-bottom: -0.5em;
+text-align: center;
+}
+a.historyComparePrevious span {
+background-color: white;
+position: relative;
+top: -0.75em;
+padding: 0 0.5em;
+}
+/* */
+/* */
+.icons-on .contenttype-document {
+background: no-repeat transparent 0px 4px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-event {
+background: no-repeat transparent 0px -212px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-folder {
+background: no-repeat transparent 0px -644px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-link {
+background: no-repeat transparent 0px -1076px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-news-item {
+background: no-repeat transparent 0px -1292px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-plone-site {
+background: no-repeat transparent 0px -1508px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-collection {
+background: no-repeat transparent 0px -1724px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-topic {
+background: no-repeat transparent 0px -1724px url(contenttypes-sprite.png);
+}
+/* */
+.icons-on #plone-contentmenu-factories .contenttype-file {
+background: no-repeat transparent 0px -428px url(contenttypes-sprite.png);
+}
+.icons-on #plone-contentmenu-factories .contenttype-image {
+background: no-repeat transparent 0px -860px url(contenttypes-sprite.png);
+}
+.icons-on .contenttype-document,
+.icons-on .contenttype-event,
+.icons-on .contenttype-folder,
+.icons-on .contenttype-link,
+.icons-on .contenttype-news-item,
+.icons-on .contenttype-plone-site,
+.icons-on .contenttype-collection,
+.icons-on .contenttype-topic,
+.icons-on #plone-contentmenu-factories .contenttype-file,
+.icons-on #plone-contentmenu-factories .contenttype-image {
+line-height: 2em;
+display: inline-block;
+*display: block;
+padding-left: 20px !important;
+}
+/* */
+/* */
+.optionsBox {
+overflow-y: auto;
+border: solid 1px #999999;
+background: #FFFFFF;
+height: 14em;
+width: 100%;
+}
+/* */
+/* */
+.ie7 div.optionsBox {
+width: 50%;
+}
+.optionsBox LABEL {
+padding: 2px 0 0 0;
+display: block;
+line-height: 1em;
+font-weight: normal;
+}
+.optionsBox input{
+vertical-align: middle;
+margin: 1px 4px 4px 6px;
+}
+/* */
+/* */
+.ie7 .optionsBox input {
+margin: 0px;
+}
+.optionsBox LABEL.checked {
+background-color: #EEEEEE;
+}
+.optionsBox LABEL.hover {
+background-color: #777777;
+color: #FFFFFF;
+}
+#archetypes-fieldname-subject .formHelp {
+font-weight: normal;
+}
+#existingTagsSection {
+position: relative;
+margin-left: 3em;
+}
+#existingTags {
+float: left;
+width: 50%;
+}
+#content #existingTags dd {
+margin-bottom: 1px;
+margin-left: 0;
+}
+#content #selectedTags, #content #newTags {
+margin-bottom: 0;
+margin-left: 0;
+}
+#content #selectedTagsSection {
+margin-left: 3em;
+float: left;
+width: 43%;
+margin-bottom: 0;
+}
+#newTagsSection {
+width: 48%;
+margin-left: 3em;
+}
+#content p.selectedTag {
+margin-bottom: .4em;
+}
+#existingTagsTitle, #newTagsTitle {
+float: left;
+}
+#existingTagsHelp, #newTagsHelp {
+float: right;
+}
+#noTagsSelected, #oneOrMoreTagsSelected {
+display: none;
+}
+#ajax-spinner {
+display:none;
+width: 20px;
+height: 20px;
+position: fixed;
+background-position: center center;
+top: 50%;
+left: 50%;
+margin-top: -10px;
+margin-left: -10px;
+}
+/* */
+
+}
+
+
+/* - collective.js.jqueryui.custom.min.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/collective.js.jqueryui.custom.min.css?original=1 */
+/* */
+/* */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted #000}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin-top:2px;padding:.5em .5em .5em .7em;min-height:0}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-noicons{padding-left:.7em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:21px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:0;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:0}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:400}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:400;margin:-1px}.ui-menu .ui-state-disabled{font-weight:400;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url(/++resource++jquery-ui-themes/sunburst/images/animated-overlay.gif);height:100%;filter:alpha(opacity=25);opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:0;background:0;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:0;border-bottom:0;border-right:0}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav li a{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active a,.ui-tabs .ui-tabs-nav li.ui-state-disabled a,.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}.ui-tabs .ui-tabs-nav li a,.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:0}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,FreeSans,sans-serif;font-size:0.9em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,FreeSans,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ccc;background:#fff url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;color:#444}.ui-widget-content a{color:#444}.ui-widget-header{border:1px solid #ccc;background:#ddd url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_dddddd_40x100.png) 50% 50% repeat-x;color:#444;font-weight:bold}.ui-widget-header a{color:#444}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#205c90 url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_205c90_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#fff;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #448dae;background:#ddd url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_dddddd_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#444}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited{color:#444;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #ccc;background:#75ad0a url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_50_75ad0a_40x100.png) 50% 50% repeat-x;font-weight:normal;color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #d80;background:#fd7 url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_ffdd77_40x100.png) 50% 50% repeat-x;color:#000}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#000}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #d00;background:#fdc url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_45_ffddcc_40x100.png) 50% 50% repeat-x;color:#000}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#000}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#000}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_205c90_256x240.png)}.ui-widget-header .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_205c90_256x240.png)}.ui-state-default .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_ffffff_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_444444_256x240.png)}.ui-state-active .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_ffffff_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd8800_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(/++resource++jquery-ui-themes/sunburst/images/ui-icons_dd0000_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:5px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:5px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:5px}.ui-widget-overlay{background:#aaa url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_75_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:5px 0 0 5px;padding:0;background:#999 url(/++resource++jquery-ui-themes/sunburst/images/ui-bg_flat_55_999999_40x100.png) 50% 50% repeat-x;opacity:.45;filter:Alpha(Opacity=45);border-radius:5px}
+/* */
+#content .ui-state-default a, #content .ui-state-default a:link, #content .ui-state-default a:visited,
+dl.portlet .ui-state-default a, dl.portlet .ui-state-default a:link, dl.portlet .ui-state-default a:visited,
+a.ui-state-default,
+#content a.ui-state-default, #content .ui-state-default a, #content .ui-state-default a:link, #content .ui-state-default a:visited,
+dl.portlet a.ui-state-default, dl.portlet .ui-state-default a, dl.portlet .ui-state-default a:link, dl.portlet .ui-state-default a:visited,
+#content .ui-state-active a, #content .ui-state-active a:link, #content .ui-state-active a:visited,
+dl.portlet .ui-state-active a, dl.portlet .ui-state-active a:link, dl.portlet .ui-state-active a:visited  { color: #ffffff !important; }
+#content .ui-widget-header a,
+dl.portlet .ui-widget-header a,
+a.ui-state-hover,
+#content a.ui-state-hover, #content .ui-state-hover a, #content .ui-state-hover a:hover,
+dl.portlet a.ui-state-hover, dl.portlet .ui-state-hover a, dl.portlet .ui-state-hover a:hover { color: #444444 !important;}
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a,
+#content .ui-state-highlight a, #content .ui-widget-content .ui-state-highlight a, #content .ui-widget-header .ui-state-highlight a,
+dl.portlet .ui-state-highlight a, dl.portlet .ui-widget-content .ui-state-highlight a, dl.portlet .ui-widget-header .ui-state-highlight a { color: #000000 !important; }
+
+}
+
+
+/* - public.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/public.css?original=1 */
+/* */
+.state-published {
+color: #436976 !important;
+}
+/* */
+body {
+font: 100% Arial, FreeSans, sans-serif;
+background: White;
+color: Black;
+/* */
+}
+h1, h2, h3, h4, h5, h6 {
+font-family: "Helvetica Neue", Arial, FreeSans, sans-serif;
+font-weight: bold;
+color: Black;
+line-height: 1.5em;
+}
+h1, h2 {
+letter-spacing: -0.05em;
+}
+h1 {
+font-size: 2em;
+}
+h2 {
+font-size: 1.75em;
+}
+h3 {
+font-size: 1.25em;
+}
+h4 {
+font-size: 1.25em;
+}
+h5 {
+font-size: 1em;
+}
+h6 {
+font-size: 0.8em;
+}
+h2, h3, h4, h5, h6 {
+color: #444;
+}
+h2 a, h3 a, h4 a {
+border-bottom: none !important;
+}
+p {
+}
+a:link, a:visited {
+color: #205c90;
+}
+a:focus img {
+outline: thin dotted;
+}
+dt {
+font-weight: bold;
+}
+input {
+font-family: "Lucida Grande", Arial, FreeSans;
+}
+q {
+quotes: "“" "”" "‘" "’";
+}
+sup,
+sub {
+height: 0;
+line-height: 1;
+vertical-align: baseline;
+_vertical-align: bottom;
+position: relative;
+}
+sup {
+bottom: 1ex;
+}
+sub {
+top: 0.5ex;
+}
+/* */
+/* */
+#portal-header {
+position: relative;
+z-index: 2;
+}
+#portal-logo {
+display: inline-block;
+margin: 1.375em 0;
+}
+/* */
+/* */
+.ie6 #portal-logo,
+.ie7 #portal-logo {
+margin-top: 0;
+}
+#portal-globalnav {
+clear: both;
+font-size: 80%;
+background: #ddd;
+/* */
+margin: 0 0 1em 0;
+}
+#portal-globalnav li {
+}
+#portal-globalnav li a {
+display: inline-block;
+padding: 0.5em 1em 1.8em 1em;
+background: #ddd;
+min-width: 6em;
+white-space: normal;
+border-right: 0.1em solid white;
+}
+#portal-globalnav .selected a,
+#portal-globalnav a:hover {
+background: #205c90;
+color: White;
+}
+#portal-globalnav .selected a:hover {
+background: #ddd;
+color: #205c90;
+}
+#portal-personaltools {
+float: right;
+background: #e3e3e3;
+position: relative;
+z-index: 3; /* */
+top: 0;
+right: 0;
+padding: 0.25em 0.5em;
+font-size: 80%;
+border-bottom-right-radius: 0.5em;
+border-bottom-left-radius: 0.5em;
+-webkit-border-bottom-right-radius: 0.5em;
+-webkit-border-bottom-left-radius: 0.5em;
+-moz-border-radius-bottomleft: 0.5em;
+-moz-border-radius-bottomright: 0.5em;
+}
+#portal-personaltools #anon-personalbar a {
+float: left;
+margin: 0 0.5em;
+}
+#portal-languageselector {
+float: right;
+background: #e3e3e3;
+position: relative;
+top: 0;
+right: 1px;
+z-index: 3; /* */
+padding: 0.25em 0.5em;
+font-size: 80%;
+border-bottom-right-radius: 0.5em;
+border-bottom-left-radius: 0.5em;
+-webkit-border-bottom-right-radius: 0.5em;
+-webkit-border-bottom-left-radius: 0.5em;
+-moz-border-radius-bottomleft: 0.5em;
+-moz-border-radius-bottomright: 0.5em;
+max-width: 50%;
+}
+#portal-searchbox {
+float: right;
+text-align: left;
+clear: right;
+margin: 1.2em 0;
+font-size: 80%;
+}
+#portal-searchbox form {
+white-space: nowrap;
+}
+#portal-searchbox label {
+font-weight: normal;
+}
+#searchGadget {
+width: 13em;
+}
+#searchGadget,
+.LSBox input.searchButton {
+}
+.LSBox .searchSection {
+}
+#content input.searchField {
+margin-bottom: 1em;
+}
+input.searchField {
+-moz-appearance: searchfield;
+}
+/* */
+.collapsible .collapser.collapsed {
+padding-right: 14px;
+background: url('arrowRight.png') center right no-repeat;
+}
+.collapsible .collapser.expanded {
+padding-right: 14px;
+background: url('arrowDown.png') center right no-repeat;
+}
+/* */
+/* */
+#LSResult {
+position: absolute;
+right: 0;
+background: White;
+margin: -1.5em 0 0 -7em;
+}
+#LSResult fieldset {
+padding: 1em 0 0;
+border: 0.1em solid #ccc;
+}
+#livesearchLegend {
+background-color:#ccc;
+padding:0.3em;
+}
+#LSResult .LSDescr {
+font-size: 85%;
+color: #666;
+}
+.LSRow,
+#LSNothingFound {
+display: block;
+padding: 0.5em 1em;
+white-space: normal;
+width:28em;
+}
+.LSHighlight {
+background: #ddd;
+}
+/* */
+/* */
+#portal-breadcrumbs {
+font-size: 80%;
+margin-bottom: 1em;
+margin-left: 0.25em;
+}
+#portal-breadcrumbs a {
+border-bottom: none;
+display: inline-block;
+}
+.breadcrumbSeparator {
+color: #666666;
+}
+/* */
+/* */
+#portal-siteactions {
+font-size: 85%;
+padding-bottom: 2em;
+text-align: center;
+clear: left;
+}
+#portal-siteactions li {
+margin-right: 0.5em;
+}
+#portal-siteactions li a:hover {
+color: #75ad0a
+}
+/* */
+/* */
+a.link-parent {
+}
+a.link-anchor {
+border: none !important;
+color: Black !important;
+cursor: default !important;
+}
+#content a.link-overlay {
+border-bottom: 1px dotted #205c90 !important;
+}
+dl dt .documentByLine {
+font-weight: normal;
+}
+dl dt span.summary a {
+border: none !important;
+}
+/* */
+/* */
+#content {
+line-height: 1.5em;
+clear: both;
+font-size: 80%;
+margin: 1em 0.25em 2em 0.25em;
+}
+/* */
+body#content {
+margin: 1em;
+}
+#content h1 {
+margin-top: 0.5em;
+}
+#content h1.documentFirstHeading {
+margin-top: 0;
+}
+#content p,
+#content table,
+#content dl,
+dl.portlet p,
+dl.portlet {
+margin-bottom: 1em;
+}
+#content ul,
+#content ol {
+}
+#content a:link,
+dl.portlet a:link {
+color: #205c90;
+border-bottom: 0.1em solid #ccc;
+}
+#content a:visited,
+dl.portlet a:visited {
+color: #427597;
+border-bottom: 0.1em solid #ccc;
+}
+#content a:hover,
+dl.portlet a:hover {
+color: #75ad0a !important; /* */
+}
+#content a:target {
+background-color: #ffb;
+}
+#content span.link-external a {
+background: transparent url(link_icon.png) 0px 1px no-repeat;
+padding: 1px 0px 1px 16px;
+}
+#category {
+font-size: 75%;
+margin-bottom: 1em;
+color: #666;
+text-align: right;
+}
+#category a.link-category, span.selectedTag {
+color: black;
+padding: 0.25em 0.5em;
+background: #ddd;
+border-radius: 0.5em;
+-webkit-border-radius: 0.5em;
+-moz-border-radius: 0.5em;
+}
+#category a.link-category:hover {
+background: #205c90;
+color: White;
+border-color: #205c90;
+}
+#category .separator {
+display: none;
+}
+#content dt {
+font-weight: bold;
+margin-bottom: 0;
+margin-right: 0;
+}
+#content-core dd {
+margin: 0 0 1em 2em;
+}
+#content pre,
+.portletStaticText pre {
+background-color: #222;
+color: White;
+font-family: Consolas, Inconsolata, Menlo, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace;
+padding: 1em;
+overflow-x: auto;
+font-size: 90%;
+margin-bottom: 1em;
+line-height: 1.25em;
+}
+#content pre.python,
+.portletStaticText pre.python {
+background-color: White;
+}
+#content code,
+.portletStaticText code {
+font-family: Consolas, Inconsolata, Menlo, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace;
+}
+#content table {
+text-align: left;
+border-collapse: collapse;
+border-spacing: 0px;
+}
+#content .documentDescription,
+#content #description {
+color: #666;
+margin-left: 0;
+font: bold 1.25em "Helvetica Neue", Arial, FreeSans, sans-serif;
+}
+#content div.newsImageContainer a {
+border-bottom: none;
+}
+#content div.newsImageContainer p.discreet {
+margin: 0;
+padding: 0.5em;
+background-color: #666;
+background-color: rgba(40,40,40,0.7);
+color: White;
+font-weight: bold;
+position: relative;
+width: 190px;
+top: -3em;
+}
+/* */
+#content .eventDetails {
+border-color: #CCCCCC;
+border-style: solid;
+border-width: 0.08em;
+width: 22em;
+margin-top: 1em;
+}
+#content .eventDetails h2 {
+background-color: #DDDDDD;
+font-size: 100%;
+letter-spacing: 0;
+padding: 0.5em;
+padding-left: 1em;
+}
+#content .eventDetails .eventDetail h3,
+#content .eventDetails .eventDetail div {
+padding: 2%;
+}
+#content .eventDetails .eventDetail h3 {
+float: left;
+font-size: 100%;
+text-align: right;
+width: 37%;
+}
+#content .eventDetails .eventDetail div {
+float: left;
+width: 55%;
+}
+/* */
+/* */
+img.image-left,
+img.image-right,
+.captioned img {
+border: 1px solid #ddd;
+}
+dd.image-caption {
+text-align: left;
+padding: 0 0 0 3px; /**/
+margin: 0;
+color: #666;
+font-size: 85%;
+}
+/* */
+/* */
+#portal-footer {
+font-size: 75%;
+background: #ddd;
+padding: 1em;
+margin: 1em 0;
+line-height: 2em;
+}
+#portal-colophon {
+font-size: 70%;
+text-align: center;
+margin-bottom: 1em;
+}
+#portal-colophon li {
+padding:0 0.75em;
+}
+#portal-colophon a {
+color: #444;
+}
+/* */
+
+}
+
+
+/* - columns.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/columns.css?original=1 */
+div.row {
+float: left;
+width: 100%;
+display: block;
+position: relative;
+}
+div.cell {
+position: relative;
+float: left;
+left: 100%;
+}
+/* */
+.ie6 div.cell {
+float: none;
+}
+/* */
+div.width-1  { width:  4%    }
+div.width-2  { width: 10.25% }
+div.width-3  { width: 16.5%  }
+div.width-4  { width: 22.75% }
+div.width-5  { width: 29%    }
+div.width-6  { width: 35.25% }
+div.width-7  { width: 41.5%  }
+div.width-8  { width: 47.75% }
+div.width-9  { width: 54%    }
+div.width-10 { width: 60.25% }
+div.width-11 { width: 66.5%  }
+div.width-12 { width: 72.75% }
+div.width-13 { width: 79%    }
+div.width-14 { width: 85.25% }
+div.width-15 { width: 91.5%  }
+div.width-16 { width: 97.75% }
+/* */
+/* */
+div.position-0  { margin-left: -98.875% }
+div.position-1  { margin-left: -92.625% }
+div.position-2  { margin-left: -86.375% }
+div.position-3  { margin-left: -80.125% }
+div.position-4  { margin-left: -73.875% }
+div.position-5  { margin-left: -67.625% }
+div.position-6  { margin-left: -61.375% }
+div.position-7  { margin-left: -55.125% }
+div.position-8  { margin-left: -48.875% }
+div.position-9  { margin-left: -42.625% }
+div.position-10 { margin-left: -36.375% }
+div.position-11 { margin-left: -30.125% }
+div.position-12 { margin-left: -23.875% }
+div.position-13 { margin-left: -17.625% }
+div.position-14 { margin-left: -11.375% }
+div.position-15 { margin-left:  -5.125% }
+/* */
+/* */
+div.width-1\3a 2 { width:    47.75%; } /* */
+div.width-1\3a 4 { width:    22.75%; } /* */
+div.width-3\3a 4 { width:    72.75%; } /* */
+div.width-full   { width:    97.75%  }
+div.position-1\3a 4 {margin-left:    -73.875%;} /* */
+div.position-1\3a 2 {margin-left:    -48.875%;} /* */
+div.position-3\3a 4 {margin-left:    -23.875%;} /* */
+/* */
+div.width-1\3a 3 { width: 31.08%; } /* */
+div.width-2\3a 3 { width: 64.42%; } /* */
+div.position-1\3a 3 {margin-left: -65.545%;} /* */
+div.position-2\3a 3 {margin-left: -32.205%;} /* */
+
+}
+
+
+/* - authoring.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/authoring.css?original=1 */
+/* */
+/* */
+/* */
+#content ul.formTabs {
+background-color: #ddd;
+border: 0.3em solid #ddd;
+}
+#edit-bar {
+background-color: #75ad0a;
+border: 0.25em solid #75ad0a;
+font-size: 80%;
+min-height: 2em;
+margin-bottom: 1em;
+padding-top: 0.05em;
+}
+#content-views {
+float: left;
+background-color: #75ad0a;
+}
+/* */
+/* */
+.ie6 ul#content-views{
+margin: -2px -3px 0px -3px;
+}
+#content-views a {
+color: White;
+}
+/* */
+#edit-bar,
+#content ul.formTabs,
+#content-core ul.formTabs {
+display: block;
+border-style: solid solid none solid;
+margin-left: 0;
+border-top-right-radius: 0.5em;
+border-top-left-radius: 0.5em;
+-webkit-border-top-right-radius: 0.5em;
+-webkit-border-top-left-radius: 0.5em;
+-moz-border-radius-topleft: 0.5em;
+-moz-border-radius-topright: 0.5em;
+}
+#content li.formTab,
+#content-core li.formTab {
+display: inline;
+margin-right:0.25em;
+}
+#content-views a,
+#content li.formTab a,
+#content-core li.formTab a {
+/* */
+display: inline-block;
+}
+#content-views a,
+#content li.formTab a,
+#content-core li.formTab a {
+line-height: 26px;
+padding: 0 0.75em;
+text-decoration: none;
+border: none;
+margin: 0 ;
+}
+#content-views li.selected a,
+#content li.formTab a.selected,
+#content-core li.formTab a.selected {
+font-weight: bold;
+}
+#content-views li.selected a,
+#content-views li a:hover,
+#content li.formTab a.selected,
+#content li.formTab a:hover,
+#content-core li.formTab a.selected,
+#content-core li.formTab a:hover {
+background: White;
+color: Black;
+border-top-right-radius: 0.5em;
+border-top-left-radius: 0.5em;
+-webkit-border-top-right-radius: 0.5em;
+-webkit-border-top-left-radius: 0.5em;
+-moz-border-radius-topleft: 0.5em;
+-moz-border-radius-topright: 0.5em;
+}
+#content li.formTab a.notify,
+#content-core li.formTab a.notify {
+background-color: red;
+color: White;
+}
+#content li.formTab a.required span:after,
+#content-core li.formTab a.required span:after,
+div.field span.required:after {
+content: "â– ";
+color: Red;
+padding-left: 0.2em;
+}
+#content fieldset.formPanel,
+#content-core fieldset.formPanel {
+border: none;
+}
+#content fieldset.formPanel.hidden,
+#content-core fieldset.formPanel.hidden {
+display: none;
+}
+#content div.formControls input.hidden,
+#content-core div.formControls input.hidden {
+display: none;
+}
+/* */
+/* */
+/* */
+#portal-personaltools dl {
+}
+#portal-personaltools dt {
+font-weight: normal;
+}
+#portal-personaltools dt.actionMenuHeader a:after {
+content: " â–Ľ";
+}
+#portal-personaltools dd {
+right: 0;
+padding-top: 0.5em;
+}
+#portal-personaltools dd {
+background: #e3e3e3;
+padding-bottom: 0.5em;
+}
+#portal-personaltools dd a {
+line-height: 2em;
+padding: 0 0.75em;
+}
+#portal-personaltools dd a:hover {
+background: #205c90;
+color: White;
+}
+/* */
+/* */
+#contentActionMenus dl.actionMenu a,
+#contentActionMenus dl.actionMenu.activated dd {
+background-color: #75ad0a;
+color: White;
+z-index: 5;
+}
+#contentActionMenus dl.actionMenu.activated dd {
+border-bottom: 0.5em solid #75ad0a;
+right: -3px;
+}
+#contentActionMenus dl.actionMenu.activated dd a:hover,
+#contentActionMenus dl.actionMenu.activated dd .actionMenuSelected {
+background-color: White !important;
+color: #666;
+}
+#contentActionMenus dl.actionMenu {
+line-height: 2em;
+}
+#folderHeader, #contextHeader {
+border-bottom: 2px solid white;
+}
+#contextHeader { margin-top: 5px; }
+/* */
+#contentActionMenus {
+float: right;
+background: #75ad0a;
+margin: 0;
+position: relative;
+top: -0.23em;
+right:-0.24em;
+padding: 0.1em 0.24em 0 0;
+border-radius: 0.5em;
+border-top-left-radius: 0;
+-webkit-border-radius: 0.5em;
+-webkit-border-top-left-radius: 0;
+-moz-border-radius: 0.5em;
+-moz-border-radius-topleft: 0;
+}
+.actionMenuContent {
+padding: 0 0.25em;
+}
+dl.actionMenu {
+float: right;
+white-space: nowrap;
+position: relative;
+margin-left: 0.5em;
+}
+dl.actionMenu a,
+dl.actionMenu div {
+display: block !important;
+white-space: nowrap;
+}
+dl.actionMenu dt {
+font-weight: normal;
+}
+span.arrowDownAlternative {
+font-size: 80%;
+}
+dl.actionMenu.deactivated dt {
+margin: 0 0.25em;
+}
+dl.actionMenu.deactivated dd {
+display: none;
+}
+dl.actionMenu.activated dd {
+position: absolute;
+width: auto;
+min-width: 100%;
+border-bottom-right-radius: 0.5em;
+border-bottom-left-radius: 0.5em;
+-webkit-border-bottom-right-radius: 0.5em;
+-webkit-border-bottom-left-radius: 0.5em;
+-moz-border-radius-bottomleft: 0.5em;
+-moz-border-radius-bottomright: 0.5em;
+}
+dl.actionMenu.activated dt a,
+dl.actionMenu.activated dd a,
+dl.actionMenu.activated dd div {
+margin: 0 0.25em;
+}
+/* */
+
+}
+
+
+/* - portlets.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/portlets.css?original=1 */
+/* */
+dl.portlet {
+margin: 0 0 1em;
+font-size: 80%;
+}
+dl.portletError {
+background-color: #FFA500;
+}
+dl.portlet dt {
+padding: 0.42em 1em;
+background: #ddd;
+line-height: normal;
+}
+dl.portlet dt.hiddenStructure {
+padding: 0;
+}
+dl.portlet dt a:link,
+dl.portlet dt a:visited,
+dl.portlet dt a:hover {
+color: black;
+display: block;
+border: none;
+}
+dl.portlet dd.portletItem,
+dl.portlet dd.portletFooter,
+dl.portletError dd {
+padding: 1em;
+}
+.blockedPortlet .portletHeader {
+border: 1px dashed #ddd;
+margin: -1px;
+background: none !important;
+}
+.blockedPortlet .portletHeader a {
+color: #666;
+}
+.blockedPortlet .portletBlockedMessage {
+color: white;
+display: inline;
+}
+.portletItemDetails {
+font-size: 85%;
+padding-top: .5em;
+line-height: 1.5em;
+margin-left: 1em;
+display: block;
+}
+#portlet-prefs a {
+border: none;
+line-height: 2em;
+}
+/* */
+/* */
+dl.portlet ul.navTree li a {
+border: none;
+display: block;
+zoom: 1;
+}
+dl.portlet ul.navTree li a:hover {
+}
+dl.portletNavigationTree dd.portletItem {
+padding: 0;
+}
+dl.portlet ul.navTreeLevel0 > .navTreeItem {
+padding: 0.25em 1em;
+border-bottom: 0.1em dotted #ddd;
+line-height: 2em;
+}
+dl.portlet ul.navTreeLevel1 .navTreeItem {
+padding-left: 0.5em;
+line-height: 2em;
+}
+dl.portlet ul.navTree .navTreeCurrentItem {
+background-color: #ddd;
+border-left: 1em solid #ddd;
+margin-left: -1em;
+margin-right: -1em;
+}
+/* */
+/* */
+.portletCalendar {
+margin: 1px 0 1em 0;
+}
+.portletCalendar dt {
+background-color: #eee;
+font-weight: bold;
+text-align: center;
+line-height: 1.6em;
+border-bottom: none;
+}
+#visual-portal-wrapper dl.portletCalendar dd {
+padding: 0;
+}
+.portletCalendar dd {
+margin: 0;
+padding: 0;
+}
+.portletCalendar dt a#calendar-previous {
+float: left;
+padding: 0 1em;
+margin: 0 -.5em;
+}
+.portletCalendar dt a#calendar-next {
+float: right;
+padding: 0 1em;
+margin: 0 -.5em;
+}
+.portletCalendar a, .portletCalendar a:focus,
+.portletCalendar a, .portletCalendar a:hover,
+.ploneCalendar a {
+text-decoration: none;
+border-bottom: none !important;
+}
+.ploneCalendar {
+border-spacing: 0;
+width:100%;
+}
+.ploneCalendar td {
+background-color: transparent;
+width: 14%;
+text-align: center;
+padding: 2px;
+}
+.ploneCalendar .weekdays th {
+background-color: #eee;
+text-align: center;
+padding: 2px;
+}
+.ploneCalendar .event {
+background-color: #eee;
+}
+.ploneCalendar .todayevent {
+background-color: #eee;
+border: 2px solid #205C90;
+}
+.ploneCalendar .todaynoevent {
+border: 2px solid #205C90;
+}
+/* */
+
+}
+
+
+/* - controlpanel.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/controlpanel.css?original=1 */
+/* */
+#setup-link {
+font-size: 90%;
+}
+#content ul.configlets {
+margin: 1em 0;
+list-style-image: none;
+list-style: none;
+}
+#content ul.configlets li {
+margin-bottom: 1em;
+list-style: none;
+display: block;
+}
+#content ul.configlets li a {
+text-decoration: none;
+border: none;
+}
+#content ul.configlets li a:visited {
+color: #436976;
+background-color: transparent;
+}
+#content ul.configlets li a:active {
+color: #436976;
+background-color: transparent;
+}
+#content ul.configlets li label {
+font-weight: bold;
+}
+#content ul.configletDetails {
+margin: 0em 1em 1em 4em;
+list-style-image: none;
+list-style: none;
+}
+#content ul.configletDetails li {
+margin-bottom: 1em;
+display: inline;
+}
+#content ul.configletDetails li a {
+text-decoration: none;
+}
+#content ul.configletDetails li label {
+font-weight: bold;
+}
+#content ul.configletDetails li.configletDescription {
+display: block;
+color: #76797c;
+margin: 0;
+}
+.inlineDisplay {
+display:inline
+}
+table.controlpanel-listing {
+width:100%;
+}
+table.controlpanel-listing td, table.controlpanel-listing th {
+font-size:120%;
+}
+table.controlpanel-listing dl {
+margin-top:0;
+}
+table.controlpanel-listing dd {
+margin-left: 1em;
+}
+table.controlpanel-listing dl dt a .trigger{
+font-weight:normal;
+}
+table .controlpanel-listing td {
+vertical-align:top;
+}
+table.controlpanel-listing td.checker{
+text-align:center;
+}
+table.controlpanel-listing th.smallcolumn {
+width:1.5em;
+}
+.chooser-right {
+float:right;
+margin-right:0;
+margin-bottom:0;
+}
+.rule-element {
+background-color:#EEF3F5;
+margin:0.5em 0pt 0.5em;
+padding:0.3em 1em 0.3em 1em;
+width:auto;
+}
+.rule-element dl {
+}
+.rule-element dl dd {
+margin-left:1em;
+}
+.rule-updown, .rule-operations {
+float:right;
+padding-top:0.8em;
+}
+/* */
+/* */
+div.portletAssignments {
+font-size: 0.8em;
+line-height: 2em;
+}
+div.portletAssignments div.portletHeader {
+padding: 0.42em 1em;
+background: #ddd;
+line-height: normal;
+}
+div.portletAssignments .managedPortletActions {
+float: right;
+}
+div.portletAssignments .managedPortletActions a, div.portletAssignments .managedPortletActions button {
+margin: 0 0.25em;
+border: none;
+cursor: pointer;
+background-color: transparent;
+color: #205C90;
+}
+div.portletAssignments .managedPortletActions form {
+display: inline;
+}
+.managedPortlet {
+margin: 0.8em 0;
+}
+div.managePortletsLink,
+a.managePortletsFallback {
+text-align: center;
+padding: 0.25em 0.5em;
+font-size: 80%;
+margin: 0 auto 1em;
+background: #ddd;
+border-radius: 0.5em;
+-webkit-border-radius: 0.5em;
+-moz-border-radius: 0.5em;
+}
+a.managePortletsFallback {
+display:inline-block; /* */
+}
+#content a.managePortletsFallback {
+display: block;
+border-bottom: none !important;
+}
+/* */
+
+}
+
+
+/* - forms.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/forms.css?original=1 */
+/* */
+fieldset,
+.editionComment {
+line-height:1.5em;
+margin:1em 0;
+padding:0 1em 1em;
+width:auto;
+}
+/* */
+#content .field input[type="text"][name$=".title"],
+#archetypes-fieldname-title input {
+font-family: "Helvetica Neue", Arial, FreeSans, sans-serif;
+line-height: 125%;
+color: Black;
+letter-spacing: -0.05em;
+margin: inherit -0.05em;
+font-size: 2em; /* */
+font-weight: bold;
+}
+/* */
+#content .field textarea[name$=".description"],
+#archetypes-fieldname-description textarea#description {
+font-family: Arial,FreeSans,sans-serif;
+color:#666666;
+font-size:1.25em;
+font-weight: bold;
+}
+div.formControls {
+margin: 1em;
+}
+input[type="text"]:focus,
+input[type="password"]:focus,
+textarea:focus {
+background-color: #ffffe0;
+}
+#content textarea {
+font: 100% Monaco, "Courier New", Courier, monospace;
+width: 100%;
+}
+#content select {
+vertical-align: top;
+}
+#content fieldset {
+border: 0.1em solid #329fd7;
+border-style: solid none none none;
+}
+#content legend {
+padding: 0.5em;
+font-size: 85%;
+}
+label {
+font-weight:bold;
+}
+label .fieldErrorBox {
+font-weight: normal;
+}
+#content label {
+}
+#content optgroup {
+font-style: normal;
+font-weight: bold;
+color: #999;
+padding-left: 0.25em;
+}
+#content option {
+color: black;
+}
+#content optgroup > option {
+padding: 0 0.25em 0 1em;
+}
+dl.enableFormTabbing dd {
+margin-left: 0;
+padding-top: 2em;
+}
+.searchSection {
+color: #76797c;
+margin-top: 0.25em;
+}
+.searchSection label:hover {
+color: Black;
+}
+.field {
+clear: both;
+margin-bottom: 1em;
+}
+.field input[type="text"] {
+width: 20em;
+}
+.field input[type="text"][size] {
+width: auto;
+}
+.field input[type="text"][name$=".title"],
+input#title {
+width: 100%;
+}
+.field.error input[type="text"][name$=".title"],
+.error input#title {
+width: 99%;
+}
+.fieldRequired {
+background: url(required.png) center left no-repeat;
+padding: 0 0 0 1em;
+color: White;
+}
+.fieldUploadFile {
+text-align: right;
+margin-right: 0.75em;
+display: none;
+}
+.fieldTextFormat {
+text-align: right;
+margin-right: 0.75em
+}
+.formHelp {
+color: #555;
+margin: 0 0 0.2em 0;
+display: block;
+font-weight: normal;
+}
+div.field.error {
+background-color: #fdc;
+border:  1px solid red;
+padding: 0.5em;
+margin:  1em 0;
+}
+.error .fieldRequired {
+color: #d00;
+}
+div.error.warning {
+background-color: transparent;
+border: none;
+margin-top: 0;
+padding: 0;
+}
+div.error.warning input {
+border: 2px solid red;
+}
+input.inputLabelActive {
+color: #76797c;
+}
+textarea#form\.description {
+height: 6em;
+width: 99%;
+}
+table.listing tbody tr.odd.selected td,
+table.listing tbody tr.odd.dragging td,
+tr.dragging,
+tr.selected {
+background-color: #ffa;
+}
+table.listing tbody tr.odd.error td,
+tr.error {
+background-color: #fdc;
+}
+.multi-widget-field {
+padding-left: 0.5em;
+border-left: 1.5em solid #DDD;
+}
+.multi-widget-checkbox {
+margin-left: -2em;
+margin-right: 0.5em;
+width: 1.5em;
+display: inline-block;
+}
+/* */
+body.template-logged_out #content,
+body.template-login_form #content,
+.pb-ajax #login-form {
+text-align: center;
+}
+#fieldset-openid-login input, #login-form input {
+font-size: 150%;
+}
+body.template-register #content input,
+body.template-new-user #content input {
+font-size: 150%;
+width: inherit;
+}
+#fieldset-openid-login label, #login-form label {
+margin-right:0.5em;
+padding-top:0.2em;
+text-align:right;
+width: 10em;
+display: inline-block;
+}
+#fieldset-openid-login .formControls input, #login-form .formControls input {
+margin-left: 0.25em;
+}
+/* */
+/* */
+}
+
+
+/* - dropdown-menu.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/dropdown-menu.css?original=1 */
+/* */
+#portal-top {
+z-index:1;
+}
+#portal-globalnav {
+list-style-image:none;
+position:relative; /* */
+zoom:1; /* */
+}
+#portal-globalnav:after {
+content:"";
+clear:both;
+display:block;
+visibility:hidden;
+}
+#portal-globalnav li {
+float:left;
+position:relative;
+}
+#portal-globalnav li a {
+display:block;
+border-top: 1px solid #fff;
+}
+ul.submenu {
+display:none;
+left:0;
+position:absolute;
+top:100%;
+}
+#portal-globalnav li:hover > ul.submenu {
+display:block;
+}
+ul.submenu li {
+float:none;
+margin:0;
+}
+#portal-globalnav ul.submenu li a {
+padding:0.5em 1.5em 0.5em 1em;
+width:12em;
+}
+ul.submenu ul {
+top:0;
+left:100%;
+}
+ul.submenu a.state-published:hover,
+.selected ul.submenu .state-published {
+color: #fff !important;
+}
+
+}
+
+
+/* - ++resource++plone.app.discussion.stylesheets/discussion.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/++resource++plone.app.discussion.stylesheets/discussion.css?original=1 */
+/* */
+.discussion .hide {
+display: none;
+}
+/* */
+.discussion,
+#commenting {
+/* */
+clear: both;
+}
+.comment {
+}
+.commentImage {
+float: left;
+margin-right: 0.5em;
+height: 3.5em;
+}
+.commentImage a:link {
+/* */
+border: 0px;
+}
+.commentImage img {
+}
+.commentDate {
+display: block;
+font-size: 85%;
+line-height: 1.5em;
+padding-top: 0.5em;
+color: #76797C;
+}
+.commentBody {
+clear: both;
+margin: 1em 0;
+overflow: auto;
+border: 1px solid #ccc;
+}
+.commentBody p {
+float: left;
+}
+.discussion .documentByLine {
+float: left;
+margin-left: 0;
+margin-bottom: 0.5em;
+}
+.commentActions {
+float: right;
+text-align: right;
+}
+.discussion .discreet {
+color: #666666;
+font-size: 85%;
+}
+.loginbutton {
+margin-bottom: 1.25em;
+}
+.commentactionsform {
+display: inline;
+}
+.replyTreeLevel0 {
+margin-left: 0em;
+}
+.replyTreeLevel1 {
+margin-left: 1em;
+}
+.replyTreeLevel2 {
+margin-left: 2em;
+}
+.replyTreeLevel3 {
+margin-left: 3em;
+}
+.replyTreeLevel4 {
+margin-left: 4em;
+}
+.replyTreeLevel5 {
+margin-left: 5em;
+}
+.replyTreeLevel6 {
+margin-left: 6em;
+}
+.replyTreeLevel7 {
+margin-left: 7em;
+}
+.replyTreeLevel8 {
+margin-left: 8em;
+}
+.replyTreeLevel9 {
+margin-left: 9em;
+}
+.replyTreeLevel10 {
+margin-left: 10em;
+}
+.defaultuserimg {
+border: 0;
+}
+/* */
+.reply fieldset {
+/* */
+margin: 0 !important;
+}
+.reply .text-widget {
+display: block;
+}
+.reply-to-comment-button {
+display: none;
+}
+.cancelreplytocomment {
+display: none;
+}
+/* */
+#bulkactions {
+text-align: left;
+}
+#dobulkaction {
+margin: 0.3em 0;
+}
+.comment-publish-button {
+float: left;
+margin-right: 0.5em;
+}
+.comment-delete-button {
+float: left;
+}
+#review-comments {
+margin: 0;
+width: 100%;
+}
+#review-comments tbody tr {
+vertical-align: top
+}
+#fieldset-moderate-comments {
+padding: 2em 1em;
+}
+/* */
+.template-discussion-settings .unclickable {
+opacity: 0.6;
+filter: alpha(opacity = 50);
+}
+/* */
+/* */
+.row #dobulkaction {
+margin: 0;
+}
+.row #commenting {
+font-size: 80%;
+}
+.row #commenting .formControls {
+margin: 0;
+}
+.row #commenting textarea,
+.row .discussion textarea {
+font: 100% Monaco, "Courier New", Courier, monospace;
+width: 100%;
+}
+.row #commenting fieldset,
+.row .discussion fieldset {
+border: 0.1em solid #329fd7;
+border-style: solid none none none;
+}
+.row #commenting legend,
+.row .discussion legend {
+padding: 0.5em 0.5em 0.5em 0;
+font-size: 85%;
+}
+.row #commenting label,
+.row .discussion label {
+font-weight:bold;
+}
+/* */
+.overlay-edit-comment textarea {
+height: 10em;
+}
+}
+
+
+/* XXX ERROR -- could not find 'bbb-kss.css'*/
+
+/* - ++resource++tinymce.stylesheets/tinymce.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/++resource++tinymce.stylesheets/tinymce.css?original=1 */
+#content ul.listTypeDisc {
+list-style-type: disc;
+list-style-image: none;
+}
+#content ul.listTypeSquare {
+list-style-type: square;
+list-style-image: none;
+}
+#content ul.listTypeCircle {
+list-style-type: circle;
+list-style-image: none;
+}
+#content ol.listTypeDecimal {
+list-style-type: decimal;
+list-style-image: none;
+}
+#content ol.listTypeLowerAlpha {
+list-style-type: lower-alpha;
+list-style-image: none;
+}
+#content ol.listTypeUpperAlpha {
+list-style-type: upper-alpha;
+list-style-image: none;
+}
+#content ol.listTypeLowerRoman {
+list-style-type: lower-roman;
+list-style-image: none;
+}
+#content ol.listTypeUpperRoman {
+list-style-type: upper-roman;
+list-style-image: none;
+}
+
+}
+
+
+/* - ++resource++tcp_stylesheets/cookiepolicy.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/++resource++tcp_stylesheets/cookiepolicy.css?original=1 */
+#viewlet-cookiepolicy {
+position: fixed;
+bottom: 0px;
+width: 88%;
+left: 4%;
+margin-right: auto;
+margin-left: auto;
+padding: 5px 15px 0px 15px;
+background-color: #E0E0C0;
+background-image: linear-gradient(top, #FFFFFF 0%, #909070 100%);
+background-image: -o-linear-gradient(top, #FFFFFF 0%, #909070 100%);
+background-image: -moz-linear-gradient(top, #FFFFFF 0%, #909070 100%);
+background-image: -webkit-linear-gradient(top, #FFFFFF 0%, #909070 100%);
+background-image: -ms-linear-gradient(top, #FFFFFF 0%, #909070 100%);
+box-shadow: 0px 0px 32px 8px #808080;
+border-radius: 20px 20px 0px 0px;
+z-index: 100;
+}
+#tlspu_cookiepolicy_title {
+padding: 0px;
+font-size: 18px;
+font-weight: bold;
+color: #404040;
+text-align: center;
+padding: 0px;
+margin: 0px;
+}
+#tlspu_cookiepolicy_message, #tlspu_cookiepolicy_form {
+font-size: 11px;
+font-weight: normal;
+color: #606060;
+text-align: justify;
+padding: 0px;
+margin: 0px;
+}
+#tlspu_cookiepolicy_form {
+padding: 8px 0 8px 0;
+text-align: right;
+}
+#tlspu_cookiepolicy_button {
+padding: 2px 8px 2px 8px;
+margin-left: 16px;
+}
+}
+
+
+/* - print.css - */
+@media print {
+/* https://docs.it4i.cz/portal_css/print.css?original=1 */
+/* */
+body {
+font-family: "Helvetica Neue", Arial, FreeSans, sans-serif;
+}
+h1, h2, h3, h4, h5, h6 {
+font-family: "Helvetica Neue", Arial, FreeSans, sans-serif;
+font-weight: bold;
+line-height: 125%;
+page-break-inside: avoid;
+page-break-after: avoid;
+}
+h1, h2 {
+letter-spacing: -0.05em;
+}
+a {
+text-decoration: none;
+border-bottom: 0.1em solid gray;
+color: black;
+}
+#portal-column-content {
+width: 95%;
+}
+.documentDescription {
+font-weight: bold;
+}
+pre {
+border: 1pt dotted black;
+white-space: pre;
+font-size: 8pt;
+overflow: auto;
+padding: 1em;
+}
+table.listing,
+table.listing td {
+border: 1pt solid black;
+border-collapse: collapse;
+}
+table.listing td,
+table.listing th {
+padding: 6px;
+}
+/* */
+div.pageBreak {
+page-break-before: always;
+}
+/* */
+#content dt {
+margin:1em 0 0.625em;
+}
+#content p, #content table {
+margin-bottom:0.625em;
+margin-top:0.625em;
+}
+#content .documentDescription, #content #description {
+margin:0.5em 0 1.31em;
+}
+/* */
+div.top,
+#portal-logo,
+#portal-siteactions,
+.hiddenStructure,
+#portal-searchbox,
+#portal-globalnav,
+#portal-personaltools,
+#portal-breadcrumbs,
+#edit-bar,
+#portal-column-one,
+#portal-column-two,
+#portal-languageselector,
+.contentViews,
+.contentActions,
+.help,
+.legend,
+.portalMessage,
+.documentActions,
+.netscape4,
+#viewlet-below-content .reply,
+#viewlet-below-content .discussion,
+#kss-spinner,
+#review-history,
+#content-history,
+.listingBar,
+#portal-footer,
+#portal-colophon,
+.skipnav,
+#kss-spinner,
+#review-history,
+#content-history,
+.listingBar,
+.link-presentation,
+input.standalone,
+.overlay,
+.managePortletsFallback,
+.close,
+.link-parent,
+.draggingHook,
+#foldercontents-order-column,
+input.context,
+.visualNoPrint {
+display: none;
+}
+/* */
+.image-left {
+float: left;
+clear: both;
+margin: 0.5em 1em 0.5em 0;
+border: 0.4pt solid Black;
+}
+.image-inline {
+float: none;
+}
+.image-right {
+float: right;
+clear: both;
+margin: 0.5em;
+border: 0.4pt solid Black;
+}
+dd.image-caption {
+text-align:left;
+padding: 0; margin:0;
+}
+dl.captioned {
+padding: 0.8em;
+}
+.newsImageContainer {
+float:right;
+margin: 0 0 0.5em 1em;
+width: 16em;
+}
+
+}
+
+
+/* - mobile.css - */
+@media handheld, screen and (max-device-width: 480px) {
+/* https://docs.it4i.cz/portal_css/mobile.css?original=1 */
+/* */
+#portal-column-one,
+#portal-column-two,
+#portal-column-content {
+clear: both;
+width: 97.75%;
+margin-left: -98.875%;
+}
+#portal-logo {
+display: none;
+}
+#portal-top {
+font-size: 180%;
+}
+#portal-personaltools {
+margin-bottom: 1em;
+}
+#portal-globalnav li a {
+min-width: 3em !important;
+padding:0.5em 1.5em 1em 0.5em;
+}
+#portal-searchbox {
+float: none !important;
+margin: 1em 0;
+text-align: center;
+}
+#portal-searchbox input {
+font-size: 100% !important;
+}
+#content-views a {
+font-size: 150%;
+line-height: 2em !important;
+padding: 0.5em;
+}
+#content li.formTab a {
+font-size: 140%;
+line-height: 2em !important;
+padding: 0.25em;
+}
+#edit-bar {
+min-height: 5em;
+}
+#contentActionMenus a {
+width: 100%;
+line-height: 2em !important;
+font-size: 150%;
+}
+input, textarea {
+font-size: 140% !important;
+}
+div.managePortletsLink,
+a.managePortletsFallback {
+font-size: 140%;
+}
+div.overlay {
+font-size: 120%;
+}
+div.overlay-iframe,
+div.overlay-ajax {
+width: 90%;
+}
+
+}
+
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/contenttypes-sprite.png b/docs.it4i.cz/portal_css/Sunburst Theme/contenttypes-sprite.png
new file mode 100644
index 0000000000000000000000000000000000000000..64574c78fb1866f722abfa4e9bc947679c5f80d9
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/contenttypes-sprite.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/link_icon.png b/docs.it4i.cz/portal_css/Sunburst Theme/link_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..de5387f54ecd3d7e6e746139cc846cd7335fea06
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/link_icon.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/link_icon_external.png b/docs.it4i.cz/portal_css/Sunburst Theme/link_icon_external.png
new file mode 100644
index 0000000000000000000000000000000000000000..16f9b92db47a1f1cd9d2320cc7d03122155a5200
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/link_icon_external.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/pb_close.png b/docs.it4i.cz/portal_css/Sunburst Theme/pb_close.png
new file mode 100644
index 0000000000000000000000000000000000000000..9c4275ccaff38e27c9650d79587b473581e0e735
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/pb_close.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/polaroid-multi.png b/docs.it4i.cz/portal_css/Sunburst Theme/polaroid-multi.png
new file mode 100644
index 0000000000000000000000000000000000000000..18c2dd48952b0bdd4fd082b5bf854e4a337d427f
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/polaroid-multi.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/polaroid-single.png b/docs.it4i.cz/portal_css/Sunburst Theme/polaroid-single.png
new file mode 100644
index 0000000000000000000000000000000000000000..c6f613dd7c357e33b79817ff9cdc2c00406a3833
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/polaroid-single.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/required.png b/docs.it4i.cz/portal_css/Sunburst Theme/required.png
new file mode 100644
index 0000000000000000000000000000000000000000..df04f232cd5cd88ac918e6220eeb5cb341053ff0
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/required.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/reset-cachekey-e265a1e68e2103b05918ef661c168cdb.css b/docs.it4i.cz/portal_css/Sunburst Theme/reset-cachekey-e265a1e68e2103b05918ef661c168cdb.css
new file mode 100644
index 0000000000000000000000000000000000000000..8d2b46f34d588dc9acfed5f5479ef442b17ad6da
--- /dev/null
+++ b/docs.it4i.cz/portal_css/Sunburst Theme/reset-cachekey-e265a1e68e2103b05918ef661c168cdb.css	
@@ -0,0 +1,19 @@
+
+/* - reset.css - */
+@media screen {
+/* https://docs.it4i.cz/portal_css/reset.css?original=1 */
+/* */
+* { margin: 0; padding: 0; }
+* :link,:visited { text-decoration:none }
+* ul,ol { list-style:none; }
+* li { display: inline; }
+* h1,h2,h3,h4,h5,h6,pre,code { font-size:1em; }
+* a img,:link img,:visited img { border:none }
+a { outline: none; }
+table { border-spacing: 0; }
+img { vertical-align: text-bottom; }
+iframe { border-width: 0; border-style:none; }
+/* */
+
+}
+
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/resourcecioppino.twothumbs.stylesheetstwothumbs-cachekey-a07097acfdb29ca21e76e2372e673858.css b/docs.it4i.cz/portal_css/Sunburst Theme/resourcecioppino.twothumbs.stylesheetstwothumbs-cachekey-a07097acfdb29ca21e76e2372e673858.css
new file mode 100644
index 0000000000000000000000000000000000000000..2732a7f545eb614308060cba3d310b1a94700da0
--- /dev/null
+++ b/docs.it4i.cz/portal_css/Sunburst Theme/resourcecioppino.twothumbs.stylesheetstwothumbs-cachekey-a07097acfdb29ca21e76e2372e673858.css	
@@ -0,0 +1,2 @@
+
+/* XXX ERROR -- could not find '++resource++cioppino.twothumbs.stylesheets/twothumbs.css'*/
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/resourceit4i.portal.commonjquery.dataTables.min-cachekey-5939d0a22955a2f783ae949901e3df21.css b/docs.it4i.cz/portal_css/Sunburst Theme/resourceit4i.portal.commonjquery.dataTables.min-cachekey-5939d0a22955a2f783ae949901e3df21.css
new file mode 100644
index 0000000000000000000000000000000000000000..4a0605e49f3cb300a2e74ec50d762e1bc9c1c192
--- /dev/null
+++ b/docs.it4i.cz/portal_css/Sunburst Theme/resourceit4i.portal.commonjquery.dataTables.min-cachekey-5939d0a22955a2f783ae949901e3df21.css	
@@ -0,0 +1,395 @@
+
+/* - ++resource++it4i.portal.common/jquery.dataTables.min.css - */
+@media screen {
+table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting{cursor:pointer;*cursor:hand}table.dataTable thead .sorting{background:url("../images/sort_both.png") no-repeat center right}table.dataTable thead .sorting_asc{background:url("../images/sort_asc.png") no-repeat center right}table.dataTable thead .sorting_desc{background:url("../images/sort_desc.png") no-repeat center right}table.dataTable thead .sorting_asc_disabled{background:url("../images/sort_asc_disabled.png") no-repeat center right}table.dataTable thead .sorting_desc_disabled{background:url("../images/sort_desc_disabled.png") no-repeat center right}table.dataTable tbody tr{background-color:#fff}table.dataTable tbody tr.selected{background-color:#b0bed9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#abb9d3}table.dataTable.hover tbody tr:hover,table.dataTable.hover tbody tr.odd:hover,table.dataTable.hover tbody tr.even:hover,table.dataTable.display tbody tr:hover,table.dataTable.display tbody tr.odd:hover,table.dataTable.display tbody tr.even:hover{background-color:#f5f5f5}table.dataTable.hover tbody tr:hover.selected,table.dataTable.hover tbody tr.odd:hover.selected,table.dataTable.hover tbody tr.even:hover.selected,table.dataTable.display tbody tr:hover.selected,table.dataTable.display tbody tr.odd:hover.selected,table.dataTable.display tbody tr.even:hover.selected{background-color:#a9b7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#f9f9f9}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad4}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:#f5f5f5}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b3cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a7b5ce}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b6d0}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#f9f9f9}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fbfbfb}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fdfdfd}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad4}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#adbbd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.display tbody tr.odd:hover>.sorting_1,table.dataTable.display tbody tr.even:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr.odd:hover>.sorting_1,table.dataTable.order-column.hover tbody tr.even:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.display tbody tr.odd:hover>.sorting_2,table.dataTable.display tbody tr.even:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr.odd:hover>.sorting_2,table.dataTable.order-column.hover tbody tr.even:hover>.sorting_2{background-color:#ebebeb}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.display tbody tr.odd:hover>.sorting_3,table.dataTable.display tbody tr.even:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr.odd:hover>.sorting_3,table.dataTable.order-column.hover tbody tr.even:hover>.sorting_3{background-color:#eee}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.display tbody tr.odd:hover.selected>.sorting_1,table.dataTable.display tbody tr.even:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr.odd:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr.even:hover.selected>.sorting_1{background-color:#a1aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.display tbody tr.odd:hover.selected>.sorting_2,table.dataTable.display tbody tr.even:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr.odd:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr.even:hover.selected>.sorting_2{background-color:#a2afc8}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.display tbody tr.odd:hover.selected>.sorting_3,table.dataTable.display tbody tr.even:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr.odd:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr.even:hover.selected>.sorting_3{background-color:#a4b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:5px 9px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:5px 9px 3px 9px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px 5px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #cacaca;background-color:#fff;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}
+
+}
+
+
+/* - ++resource++it4i.portal.common/prettify.css - */
+@media screen {
+.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
+}
+
+
+/* - ++resource++it4i.portal.common/base.css - */
+@media screen {
+/*
+ *
+ * base.css
+ * IT4I Portal-wide base CSS library
+ *
+ */
+
+body {
+    /* background if any */
+    background: url('/background.png');
+    min-height: 100%;
+    position: absolute;
+    width: 100%;
+}
+
+/* wow effect */
+a {
+    transition: color 0.2s linear 0s, background 0.1s linear 0s;
+}
+
+div#portal-columns {
+    margin-bottom: 60px;
+}
+
+/* official colours */
+div#portal-columns a, div#portal-columns a:visited {
+    color: #C0081F;
+}
+
+div#portal-columns a:hover {
+    color: #00A0EE;
+}
+
+ul#portal-globalnav {
+    background-color: #00A0EE;
+}
+
+ul#portal-globalnav>li>a {
+    border-top: none;
+}
+
+ul#portal-globalnav li a:after {
+    content: " →";
+}
+
+ul#portal-globalnav li a.plain {
+    background-color: #00A0EE;
+    color: #fff;
+}
+
+ul#portal-globalnav li.selected a, ul#portal-globalnav li.selected a:hover, ul#portal-globalnav li a:hover {
+    background-color: #11134F;
+    color: #e6e6e6;
+}
+
+/* portal footer */
+div#portal-footer-wrapper {
+    bottom: 0px;
+    position: absolute;
+    text-align: right;
+}
+
+#portal-footer {
+    color: #e6e6e6;
+    background-color: #00A0EE;
+    margin: 0;
+    padding: 0;
+}
+
+#portal-footer a {
+    color: #fff;
+    line-height: 225%;
+    padding: 0.5em 1em;
+    white-space: nowrap;
+}
+
+#portal-footer a:not(:last-child) {
+    border-right: 1px dotted white;
+}
+
+#portal-footer p {
+    line-height: 1.5em;
+    padding: 1em;
+}
+
+.hidden {
+    display: none;
+}
+
+/* breadcrumbs alignment */
+div#portal-breadcrumbs {
+    text-align: right;
+}
+
+#LSResult {
+    z-index: 1;
+}
+
+dl.actionMenu.activated dd {
+    min-width: inherit;
+}
+
+/*
+ *
+ * Pretty printing styles. Used with prettify.js.
+ * BEGIN
+ *
+*/
+
+/* Vim sunburst theme by David Leibovic */
+
+pre .str, code .str { color: #65B042; } /* string  - green */
+pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */
+pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */
+pre .typ, code .typ { color: #89bdff; } /* type - light blue */
+pre .lit, code .lit { color: #3387CC; } /* literal - blue */
+pre .pun, code .pun { color: #fff; } /* punctuation - white */
+pre .pln, code .pln { color: #fff; } /* plaintext - white */
+pre .tag, code .tag { color: #89bdff; } /* html/xml tag    - light blue */
+pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name  - khaki */
+pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */
+pre .dec, code .dec { color: #3387CC; } /* decimal - blue */
+
+pre.prettyprint, code.prettyprint {
+        background-color: #000;
+        -moz-border-radius: 8px;
+        -webkit-border-radius: 8px;
+        -o-border-radius: 8px;
+        -ms-border-radius: 8px;
+        -khtml-border-radius: 8px;
+        border-radius: 8px;
+}
+
+pre.prettyprint {
+        width: 95%;
+        margin: 1em auto;
+        padding: 1em;
+        white-space: pre-wrap;
+}
+
+/* Specify class=linenums on a pre to get line numbering */
+ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */
+li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none }
+/* Alternate shading for lines */
+li.L1,li.L3,li.L5,li.L7,li.L9 { }
+
+@media print {
+  pre .str, code .str { color: #060; }
+  pre .kwd, code .kwd { color: #006; font-weight: bold; }
+  pre .com, code .com { color: #600; font-style: italic; }
+  pre .typ, code .typ { color: #404; font-weight: bold; }
+  pre .lit, code .lit { color: #044; }
+  pre .pun, code .pun { color: #440; }
+  pre .pln, code .pln { color: #000; }
+  pre .tag, code .tag { color: #006; font-weight: bold; }
+  pre .atn, code .atn { color: #404; }
+  pre .atv, code .atv { color: #060; }
+}
+
+/*
+ *
+ * Pretty printing styles. Used with prettify.js.
+ * END
+ *
+*/
+
+}
+
+
+/* - ploneCustom.css - */
+@media all {
+/* https://docs.it4i.cz/portal_css/ploneCustom.css?original=1 */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+
+}
+
+
+/* - custom.css - */
+@media screen {
+body {
+    font-size: 110%;
+}
+
+h1 {
+    color: #000;
+}
+
+h2, h3 {
+    color: #000;
+    margin-top: 1.25em;
+    margin-bottom: 0.6em;
+}
+
+#portal-header {
+    border-bottom: 0.1em dotted #aaa;
+}
+
+dl.portlet ul.navTreeLevel0 > .navTreeItem {
+    border-bottom: 0.1em dotted #aaa;
+}
+
+#portal-column-content {
+    margin-top: 0.6em;
+}
+
+dl.toc {
+    margin: 0em 0em 2.5em 2.5em;
+}
+
+dl.portlet ul.navTreeLevel1 .navTreeItem {
+    line-height: 2em;
+    padding-left: 2em;
+}
+
+dl.portlet ul.navTree .navTreeCurrentItem {
+    padding-right: 2em;
+}
+
+table.filled,
+table.filled td,
+table.filled th {
+    border: 1px solid #777;
+    background: #ddd;
+    padding: 0.5em;
+    border-collapse: collapse;
+}
+
+#big-picture-of-cluster td {
+    vertical-align: middle;
+}
+
+#big-picture-of-cluster {
+    border: 2px solid #777;
+}
+
+table#blade-chassis {
+    height: 120px;
+    font-size: 80%;
+    width: 100%;
+}
+
+#blade-chassis td {
+    width: 10%;
+    padding: 0em;
+    text-align: center;
+    background-color: transparent;
+    -webkit-transform: rotate(270deg);
+    -moz-transform: rotate(270deg);
+    -ms-transform: rotate(270deg);
+    -o-transform: rotate(270deg);
+    transform: rotate(270deg);
+    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
+}
+
+#blade-chassis td[colspan^="2"] {
+    width: 20% !important;
+}
+
+.monospace {
+    font-family: "Courier New";
+}
+
+.searchField, .searchButton {
+    font-size: 130%;
+}
+
+#content .callout {
+    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADBklEQVR42u3YyWsTURwHcP8aQUWtWlu7JEbtpngQvIqXevDWm1fXehO12BTErdQiVMFQ8ODBusWkmSa1lVrTxdrG0FA9WJtkljfL19/LTDKMibl0EorkwReSCQ8+fN+bl2G2AdhSqYH+P1CpAS0DfXUI+ufzUCfaoQptYMIxsMhRsE/d0L4/BNR0qcnug4y159CmTkOLdkKNdnBQAaNEjkAZ90EOH4YcOQ51dQQVBRnLN6DHuqDFOqGZGEpbaVDICynkAVvoRUVAxuqQE8PjXC7C/AX64KG0gq3ch6sgQ1zkEBtTph2FY8JeApkYKdgCMdgMPTMP10D64kUOsTDtDsw/27FAIge9b4Y8e8EdELS0jTAh5TF2Ow5Q9l0TDDWNTYOMjSkLQREcEAdGCRfvHdFcLgI1EegQtPXY5kFactAE2JDyGHvvONrhILZ81w3QIxNQCEfw2JvYxpRYKrMdSqNLoNSzPMBGTJwEmz4HuSSGMnkWYrgjv1Rm3jZATQ5vHqT//sgRVhtmI8p0NwADbOF6EUaOX4GiZCHGzhAkD2ogUD20XxNw5baXhRN2G2EvR+QwhqFDme91YJgiQfpyCTamkTAHaQm97p1DauIBR1jxWI14CHMNuqZCmbsKmcKYBLkYQzkA9m3APRA/P6TxrvztbCfYkoOoqgKVydTQ5ZIYMdgKQ91wD8SHvj7JAYXb2T5jmqEkhiEnHnNIESb7po72joCK/Ntray8sRD7UBkVeGoBEIQilwYFRUwFU9HmIrdzjCHtpKNJXP48FqSfIfspe2jf+Sj4P2UOMnOKQfCOE6Ye0eMdqZR+yr/fwc8icXA2QmnzCD7pCI+JiH8SFPt4KYXYjO7YTLDFYPZCensu3QakjzC2I8zcJsguZsR3IvNoOfWO2eiA+tJ9jfI9Q+qEkn1JGoCz1UW5D+/HSnFhNUCqVQjwezyUajSIUChW+02/VB42OjqJMaqCtB5qZmUEgEIDf73eEXxMEofogPtLpNHp6euDz+Xhyn+lauUm1tx81UMXzBw5wT9JYWi53AAAAAElFTkSuQmCC") no-repeat scroll 8px 50% #EEEEEE;
+    border-left: 1em solid #CCCCCC;
+    clear: both;
+    padding: 8px 0 8px 54px;
+    min-height: 42px;
+}
+
+#content .exclamation {
+    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAADBklEQVR42u3YyWsTURwHcP8aQUWtWlu7JEbtpngQvIqXevDWm1fXehO12BTErdQiVMFQ8ODBusWkmSa1lVrTxdrG0FA9WJtkljfL19/LTDKMibl0EorkwReSCQ8+fN+bl2G2AdhSqYH+P1CpAS0DfXUI+ufzUCfaoQptYMIxsMhRsE/d0L4/BNR0qcnug4y159CmTkOLdkKNdnBQAaNEjkAZ90EOH4YcOQ51dQQVBRnLN6DHuqDFOqGZGEpbaVDICynkAVvoRUVAxuqQE8PjXC7C/AX64KG0gq3ch6sgQ1zkEBtTph2FY8JeApkYKdgCMdgMPTMP10D64kUOsTDtDsw/27FAIge9b4Y8e8EdELS0jTAh5TF2Ow5Q9l0TDDWNTYOMjSkLQREcEAdGCRfvHdFcLgI1EegQtPXY5kFactAE2JDyGHvvONrhILZ81w3QIxNQCEfw2JvYxpRYKrMdSqNLoNSzPMBGTJwEmz4HuSSGMnkWYrgjv1Rm3jZATQ5vHqT//sgRVhtmI8p0NwADbOF6EUaOX4GiZCHGzhAkD2ogUD20XxNw5baXhRN2G2EvR+QwhqFDme91YJgiQfpyCTamkTAHaQm97p1DauIBR1jxWI14CHMNuqZCmbsKmcKYBLkYQzkA9m3APRA/P6TxrvztbCfYkoOoqgKVydTQ5ZIYMdgKQ91wD8SHvj7JAYXb2T5jmqEkhiEnHnNIESb7po72joCK/Ntray8sRD7UBkVeGoBEIQilwYFRUwFU9HmIrdzjCHtpKNJXP48FqSfIfspe2jf+Sj4P2UOMnOKQfCOE6Ye0eMdqZR+yr/fwc8icXA2QmnzCD7pCI+JiH8SFPt4KYXYjO7YTLDFYPZCensu3QakjzC2I8zcJsguZsR3IvNoOfWO2eiA+tJ9jfI9Q+qEkn1JGoCz1UW5D+/HSnFhNUCqVQjwezyUajSIUChW+02/VB42OjqJMaqCtB5qZmUEgEIDf73eEXxMEofogPtLpNHp6euDz+Xhyn+lauUm1tx81UMXzBw5wT9JYWi53AAAAAElFTkSuQmCC") no-repeat scroll 8px 50% #EEEEEE;
+    border-left: 1em solid #CCCCCC;
+    clear: both;
+    padding: 8px 0 8px 54px;
+    min-height: 42px;
+}
+
+pre code {
+    background-color: transparent;
+}
+
+/*
+ *
+ * Pretty printing styles. Used with prettify.js.
+ * BEGIN
+ *
+*/
+
+/* Vim sunburst theme by David Leibovic */
+
+pre .str, code .str { color: #65B042; } /* string  - green */
+pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */
+pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */
+pre .typ, code .typ { color: #89bdff; } /* type - light blue */
+pre .lit, code .lit { color: #3387CC; } /* literal - blue */
+pre .pun, code .pun { color: #fff; } /* punctuation - white */
+pre .pln, code .pln { color: #fff; } /* plaintext - white */
+pre .tag, code .tag { color: #89bdff; } /* html/xml tag    - light blue */
+pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name  - khaki */
+pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */
+pre .dec, code .dec { color: #3387CC; } /* decimal - blue */
+
+pre.prettyprint, code.prettyprint {
+        background-color: #000;
+        -moz-border-radius: 8px;
+        -webkit-border-radius: 8px;
+        -o-border-radius: 8px;
+        -ms-border-radius: 8px;
+        -khtml-border-radius: 8px;
+        border-radius: 8px;
+}
+
+pre.prettyprint {
+        width: 95%;
+        margin: 1em auto;
+        padding: 1em;
+        white-space: pre-wrap;
+}
+
+/* Specify class=linenums on a pre to get line numbering */
+ol.linenums { margin-top: 0; margin-bottom: 0; color: #AEAEAE; } /* IE indents via margin-left */
+li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none }
+/* Alternate shading for lines */
+li.L1,li.L3,li.L5,li.L7,li.L9 { }
+
+@media print {
+  pre .str, code .str { color: #060; }
+  pre .kwd, code .kwd { color: #006; font-weight: bold; }
+  pre .com, code .com { color: #600; font-style: italic; }
+  pre .typ, code .typ { color: #404; font-weight: bold; }
+  pre .lit, code .lit { color: #044; }
+  pre .pun, code .pun { color: #440; }
+  pre .pln, code .pln { color: #000; }
+  pre .tag, code .tag { color: #006; font-weight: bold; }
+  pre .atn, code .atn { color: #404; }
+  pre .atv, code .atv { color: #060; }
+}
+
+/*
+ *
+ * Pretty printing styles. Used with prettify.js.
+ * END
+ *
+*/
+
+p.hiddenForView {
+    display: none;
+}
+
+html>body>p.hiddenForView {
+    display: inline;
+    background-color: yellow;
+}
+
+#content span.link-external a {
+    background: transparent url("link_icon_external.png") no-repeat right 0px top 1px;
+    background-size: 12px;
+    padding: 1px 16px 1px 0px;
+}
+
+#content a#plone-discussions-href {
+    border-bottom: 0;
+}
+
+div#viewlet-below-content {
+    display: none;
+}
+}
+
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/treeCollapsed.png b/docs.it4i.cz/portal_css/Sunburst Theme/treeCollapsed.png
new file mode 100644
index 0000000000000000000000000000000000000000..c94bccbfaceb2e701961823bcbbd853e4a5e9ae4
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/treeCollapsed.png differ
diff --git a/docs.it4i.cz/portal_css/Sunburst Theme/treeExpanded.png b/docs.it4i.cz/portal_css/Sunburst Theme/treeExpanded.png
new file mode 100644
index 0000000000000000000000000000000000000000..4704998bdf5720c86070f688addb1182ced24a79
Binary files /dev/null and b/docs.it4i.cz/portal_css/Sunburst Theme/treeExpanded.png differ
diff --git a/docs.it4i.cz/portal_javascripts/Sunburst Theme/++resource++it4i.portal.common/exporting.js b/docs.it4i.cz/portal_javascripts/Sunburst Theme/++resource++it4i.portal.common/exporting.js
new file mode 100644
index 0000000000000000000000000000000000000000..cf150eacff1dbd567675be2e8d3bd560e9a747de
--- /dev/null
+++ b/docs.it4i.cz/portal_javascripts/Sunburst Theme/++resource++it4i.portal.common/exporting.js	
@@ -0,0 +1,23 @@
+/*
+ Highcharts JS v4.0.4 (2014-09-02)
+ Exporting module
+
+ (c) 2010-2014 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(f){var A=f.Chart,t=f.addEvent,B=f.removeEvent,l=f.createElement,o=f.discardElement,v=f.css,k=f.merge,r=f.each,p=f.extend,D=Math.max,j=document,C=window,E=f.isTouchDevice,F=f.Renderer.prototype.symbols,s=f.getOptions(),y;p(s.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});s.navigation={menuStyle:{border:"1px solid #A0A0A0",
+background:"#FFFFFF",padding:"5px 0"},menuItemStyle:{padding:"0 10px",background:"none",color:"#303030",fontSize:E?"14px":"11px"},menuItemHoverStyle:{background:"#4572A5",color:"#FFFFFF"},buttonOptions:{symbolFill:"#E0E0E0",symbolSize:14,symbolStroke:"#666",symbolStrokeWidth:3,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,theme:{fill:"white",stroke:"none"},verticalAlign:"top",width:24}};s.exporting={type:"image/png",url:"http://export.highcharts.com/",buttons:{contextButton:{menuClassName:"highcharts-contextmenu",
+symbol:"menu",_titleKey:"contextButtonTitle",menuItems:[{textKey:"printChart",onclick:function(){this.print()}},{separator:!0},{textKey:"downloadPNG",onclick:function(){this.exportChart()}},{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}]}}};f.post=function(b,a,d){var c,b=l("form",k({method:"post",
+action:b,enctype:"multipart/form-data"},d),{display:"none"},j.body);for(c in a)l("input",{type:"hidden",name:c,value:a[c]},null,b);b.submit();o(b)};p(A.prototype,{getSVG:function(b){var a=this,d,c,z,h,g=k(a.options,b);if(!j.createElementNS)j.createElementNS=function(a,b){return j.createElement(b)};b=l("div",null,{position:"absolute",top:"-9999em",width:a.chartWidth+"px",height:a.chartHeight+"px"},j.body);c=a.renderTo.style.width;h=a.renderTo.style.height;c=g.exporting.sourceWidth||g.chart.width||
+/px$/.test(c)&&parseInt(c,10)||600;h=g.exporting.sourceHeight||g.chart.height||/px$/.test(h)&&parseInt(h,10)||400;p(g.chart,{animation:!1,renderTo:b,forExport:!0,width:c,height:h});g.exporting.enabled=!1;g.series=[];r(a.series,function(a){z=k(a.options,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});z.isInternal||g.series.push(z)});d=new f.Chart(g,a.callback);r(["xAxis","yAxis"],function(b){r(a[b],function(a,c){var g=d[b][c],f=a.getExtremes(),h=f.userMin,f=f.userMax;g&&(h!==
+void 0||f!==void 0)&&g.setExtremes(h,f,!0,!1)})});c=d.container.innerHTML;g=null;d.destroy();o(b);c=c.replace(/zIndex="[^"]+"/g,"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ href=/g," xlink:href=").replace(/\n/," ").replace(/<\/svg>.*?$/,"</svg>").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/&nbsp;/g,
+" ").replace(/&shy;/g,"­").replace(/<IMG /g,"<image ").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href="$1"/>').replace(/id=([^" >]+)/g,'id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()});return c=c.replace(/(url\(#highcharts-[0-9]+)&quot;/g,"$1").replace(/&quot;/g,"'")},exportChart:function(b,a){var b=
+b||{},d=this.options.exporting,d=this.getSVG(k({chart:{borderRadius:0}},d.chartOptions,a,{exporting:{sourceWidth:b.sourceWidth||d.sourceWidth,sourceHeight:b.sourceHeight||d.sourceHeight}})),b=k(this.options.exporting,b);f.post(b.url,{filename:b.filename||"chart",type:b.type,width:b.width||0,scale:b.scale||2,svg:d},b.formAttributes)},print:function(){var b=this,a=b.container,d=[],c=a.parentNode,f=j.body,h=f.childNodes;if(!b.isPrinting)b.isPrinting=!0,r(h,function(a,b){if(a.nodeType===1)d[b]=a.style.display,
+a.style.display="none"}),f.appendChild(a),C.focus(),C.print(),setTimeout(function(){c.appendChild(a);r(h,function(a,b){if(a.nodeType===1)a.style.display=d[b]});b.isPrinting=!1},1E3)},contextMenu:function(b,a,d,c,f,h,g){var e=this,k=e.options.navigation,q=k.menuItemStyle,m=e.chartWidth,n=e.chartHeight,j="cache-"+b,i=e[j],u=D(f,h),w,x,o,s=function(a){e.pointer.inClass(a.target,b)||x()};if(!i)e[j]=i=l("div",{className:b},{position:"absolute",zIndex:1E3,padding:u+"px"},e.container),w=l("div",null,p({MozBoxShadow:"3px 3px 10px #888",
+WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},k.menuStyle),i),x=function(){v(i,{display:"none"});g&&g.setState(0);e.openMenu=!1},t(i,"mouseleave",function(){o=setTimeout(x,500)}),t(i,"mouseenter",function(){clearTimeout(o)}),t(document,"mouseup",s),t(e,"destroy",function(){B(document,"mouseup",s)}),r(a,function(a){if(a){var b=a.separator?l("hr",null,null,w):l("div",{onmouseover:function(){v(this,k.menuItemHoverStyle)},onmouseout:function(){v(this,q)},onclick:function(){x();a.onclick.apply(e,
+arguments)},innerHTML:a.text||e.options.lang[a.textKey]},p({cursor:"pointer"},q),w);e.exportDivElements.push(b)}}),e.exportDivElements.push(w,i),e.exportMenuWidth=i.offsetWidth,e.exportMenuHeight=i.offsetHeight;a={display:"block"};d+e.exportMenuWidth>m?a.right=m-d-f-u+"px":a.left=d-u+"px";c+h+e.exportMenuHeight>n&&g.alignOptions.verticalAlign!=="top"?a.bottom=n-c-u+"px":a.top=c+h-u+"px";v(i,a);e.openMenu=!0},addButton:function(b){var a=this,d=a.renderer,c=k(a.options.navigation.buttonOptions,b),j=
+c.onclick,h=c.menuItems,g,e,l={stroke:c.symbolStroke,fill:c.symbolFill},q=c.symbolSize||12;if(!a.btnCount)a.btnCount=0;if(!a.exportDivElements)a.exportDivElements=[],a.exportSVGElements=[];if(c.enabled!==!1){var m=c.theme,n=m.states,o=n&&n.hover,n=n&&n.select,i;delete m.states;j?i=function(){j.apply(a,arguments)}:h&&(i=function(){a.contextMenu(e.menuClassName,h,e.translateX,e.translateY,e.width,e.height,e);e.setState(2)});c.text&&c.symbol?m.paddingLeft=f.pick(m.paddingLeft,25):c.text||p(m,{width:c.width,
+height:c.height,padding:0});e=d.button(c.text,0,0,i,m,o,n).attr({title:a.options.lang[c._titleKey],"stroke-linecap":"round"});e.menuClassName=b.menuClassName||"highcharts-menu-"+a.btnCount++;c.symbol&&(g=d.symbol(c.symbol,c.symbolX-q/2,c.symbolY-q/2,q,q).attr(p(l,{"stroke-width":c.symbolStrokeWidth||1,zIndex:1})).add(e));e.add().align(p(c,{width:e.width,x:f.pick(c.x,y)}),!0,"spacingBox");y+=(e.width+c.buttonSpacing)*(c.align==="right"?-1:1);a.exportSVGElements.push(e,g)}},destroyExport:function(b){var b=
+b.target,a,d;for(a=0;a<b.exportSVGElements.length;a++)if(d=b.exportSVGElements[a])d.onclick=d.ontouchstart=null,b.exportSVGElements[a]=d.destroy();for(a=0;a<b.exportDivElements.length;a++)d=b.exportDivElements[a],B(d,"mouseleave"),b.exportDivElements[a]=d.onmouseout=d.onmouseover=d.ontouchstart=d.onclick=null,o(d)}});F.menu=function(b,a,d,c){return["M",b,a+2.5,"L",b+d,a+2.5,"M",b,a+c/2+0.5,"L",b+d,a+c/2+0.5,"M",b,a+c-1.5,"L",b+d,a+c-1.5]};A.prototype.callbacks.push(function(b){var a,d=b.options.exporting,
+c=d.buttons;y=0;if(d.enabled!==!1){for(a in c)b.addButton(c[a]);t(b,"destroy",b.destroyExport)}})})(Highcharts);
diff --git a/docs.it4i.cz/portal_javascripts/Sunburst Theme/collective.js.jqueryui.custom.min-cachekey-d6da9ac77d181fb49c1976e00c066a74.js b/docs.it4i.cz/portal_javascripts/Sunburst Theme/collective.js.jqueryui.custom.min-cachekey-d6da9ac77d181fb49c1976e00c066a74.js
new file mode 100644
index 0000000000000000000000000000000000000000..39ce403e266cf66459acef0bd6127d6c749a8d70
--- /dev/null
+++ b/docs.it4i.cz/portal_javascripts/Sunburst Theme/collective.js.jqueryui.custom.min-cachekey-d6da9ac77d181fb49c1976e00c066a74.js	
@@ -0,0 +1,87 @@
+
+/* Merged Plone Javascript file
+ * This file is dynamically assembled from separate parts.
+ * Some of these parts have 3rd party licenses or copyright information attached
+ * Such information is valid for that section,
+ * not for the entire composite file
+ * originating files are separated by - filename.js -
+ */
+
+/* - collective.js.jqueryui.custom.min.js - */
+// https://docs.it4i.cz/portal_javascripts/collective.js.jqueryui.custom.min.js?original=1
+(function(e,t){function i(t,i){var a,n,r,o=t.nodeName.toLowerCase();return"area"===o?(a=t.parentNode,n=a.name,t.href&&n&&"map"===a.nodeName.toLowerCase()?(r=e("img[usemap=#"+n+"]")[0],!!r&&s(r)):!1):(/input|select|textarea|button|object/.test(o)?!t.disabled:"a"===o?t.href||i:i)&&s(t)}function s(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var a=0,n=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var s,a,n=e(this[0]);n.length&&n[0]!==document;){if(s=n.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(a=parseInt(n.css("zIndex"),10),!isNaN(a)&&0!==a))return a;n=n.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})},removeUniqueId:function(){return this.each(function(){n.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var s=e.attr(t,"tabindex"),a=isNaN(s);return(a||s>=0)&&i(t,!a)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,s){function a(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===s?["Left","Right"]:["Top","Bottom"],r=s.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+s]=function(i){return i===t?o["inner"+s].call(this):this.each(function(){e(this).css(r,a(this,i)+"px")})},e.fn["outer"+s]=function(t,i){return"number"!=typeof t?o["outer"+s].call(this,t):this.each(function(){e(this).css(r,a(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,s){var a,n=e.ui[t].prototype;for(a in s)n.plugins[a]=n.plugins[a]||[],n.plugins[a].push([i,s[a]])},call:function(e,t,i){var s,a=e.plugins[t];if(a&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(s=0;a.length>s;s++)e.options[a[s][0]]&&a[s][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",a=!1;return t[s]>0?!0:(t[s]=1,a=t[s]>0,t[s]=0,a)}})})(jQuery);(function(e,t){var i=0,s=Array.prototype.slice,n=e.cleanData;e.cleanData=function(t){for(var i,s=0;null!=(i=t[s]);s++)try{e(i).triggerHandler("remove")}catch(a){}n(t)},e.widget=function(i,s,n){var a,r,o,h,l={},u=i.split(".")[0];i=i.split(".")[1],a=u+"-"+i,n||(n=s,s=e.Widget),e.expr[":"][a.toLowerCase()]=function(t){return!!e.data(t,a)},e[u]=e[u]||{},r=e[u][i],o=e[u][i]=function(e,i){return this._createWidget?(arguments.length&&this._createWidget(e,i),t):new o(e,i)},e.extend(o,r,{version:n.version,_proto:e.extend({},n),_childConstructors:[]}),h=new s,h.options=e.widget.extend({},h.options),e.each(n,function(i,n){return e.isFunction(n)?(l[i]=function(){var e=function(){return s.prototype[i].apply(this,arguments)},t=function(e){return s.prototype[i].apply(this,e)};return function(){var i,s=this._super,a=this._superApply;return this._super=e,this._superApply=t,i=n.apply(this,arguments),this._super=s,this._superApply=a,i}}(),t):(l[i]=n,t)}),o.prototype=e.widget.extend(h,{widgetEventPrefix:r?h.widgetEventPrefix:i},l,{constructor:o,namespace:u,widgetName:i,widgetFullName:a}),r?(e.each(r._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete r._childConstructors):s._childConstructors.push(o),e.widget.bridge(i,o)},e.widget.extend=function(i){for(var n,a,r=s.call(arguments,1),o=0,h=r.length;h>o;o++)for(n in r[o])a=r[o][n],r[o].hasOwnProperty(n)&&a!==t&&(i[n]=e.isPlainObject(a)?e.isPlainObject(i[n])?e.widget.extend({},i[n],a):e.widget.extend({},a):a);return i},e.widget.bridge=function(i,n){var a=n.prototype.widgetFullName||i;e.fn[i]=function(r){var o="string"==typeof r,h=s.call(arguments,1),l=this;return r=!o&&h.length?e.widget.extend.apply(null,[r].concat(h)):r,o?this.each(function(){var s,n=e.data(this,a);return n?e.isFunction(n[r])&&"_"!==r.charAt(0)?(s=n[r].apply(n,h),s!==n&&s!==t?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):t):e.error("no such method '"+r+"' for "+i+" widget instance"):e.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+r+"'")}):this.each(function(){var t=e.data(this,a);t?t.option(r||{})._init():e.data(this,a,new n(r,this))}),l}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(t,s){s=e(s||this.defaultElement||this)[0],this.element=e(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this.bindings=e(),this.hoverable=e(),this.focusable=e(),s!==this&&(e.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===s&&this.destroy()}}),this.document=e(s.style?s.ownerDocument:s.document||s),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(i,s){var n,a,r,o=i;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof i)if(o={},n=i.split("."),i=n.shift(),n.length){for(a=o[i]=e.widget.extend({},this.options[i]),r=0;n.length-1>r;r++)a[n[r]]=a[n[r]]||{},a=a[n[r]];if(i=n.pop(),s===t)return a[i]===t?null:a[i];a[i]=s}else{if(s===t)return this.options[i]===t?null:this.options[i];o[i]=s}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!t).attr("aria-disabled",t),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var a,r=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=a=e(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,a=this.widget()),e.each(n,function(n,o){function h(){return i||r.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?r[o]:o).apply(r,arguments):t}"string"!=typeof o&&(h.guid=o.guid=o.guid||h.guid||e.guid++);var l=n.match(/^(\w+)\s*(.*)$/),u=l[1]+r.eventNamespace,c=l[2];c?a.delegate(c,u,h):s.bind(u,h)})},_off:function(e,t){t=(t||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.unbind(t).undelegate(t)},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,r=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(r)&&r.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var r,o=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),r=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),r&&e.effects&&e.effects.effect[o]?s[t](n):o!==t&&s[o]?s[o](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}})})(jQuery);(function(e){var t=!1;e(document).mouseup(function(){t=!1}),e.widget("ui.mouse",{version:"1.10.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!t){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?e(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===e.data(i.target,this.widgetName+".preventClickEvent")&&e.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return s._mouseMove(e)},this._mouseUpDelegate=function(e){return s._mouseUp(e)},e(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),t=!0,!0)):!0}},_mouseMove:function(t){return e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button?this._mouseUp(t):this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return e(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]);return{element:i,isWindow:s,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,m,g,v,_,b=t(e.of),y=t.position.getWithinInfo(e.within),w=t.position.getScrollInfo(y),x=(e.collision||"flip").split(" "),k={};return _=n(b),b[0].preventDefault&&(e.at="left top"),p=_.width,m=_.height,g=_.offset,v=t.extend({},g),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),k[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=m:"center"===e.at[1]&&(v.top+=m/2),a=i(k.at,p,m),v.left+=a[0],v.top+=a[1],this.each(function(){var n,l,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),_=s(this,"marginTop"),D=u+f+s(this,"marginRight")+w.width,T=d+_+s(this,"marginBottom")+w.height,C=t.extend({},v),M=i(k.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?C.left-=u:"center"===e.my[0]&&(C.left-=u/2),"bottom"===e.my[1]?C.top-=d:"center"===e.my[1]&&(C.top-=d/2),C.left+=M[0],C.top+=M[1],t.support.offsetFractions||(C.left=h(C.left),C.top=h(C.top)),n={marginLeft:f,marginTop:_},t.each(["left","top"],function(i,s){t.ui.position[x[i]]&&t.ui.position[x[i]][s](C,{targetWidth:p,targetHeight:m,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:D,collisionHeight:T,offset:[a[0]+M[0],a[1]+M[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(l=function(t){var i=g.left-C.left,s=i+p-u,n=g.top-C.top,a=n+m-d,h={target:{element:b,left:g.left,top:g.top,width:p,height:m},element:{element:c,left:C.left,top:C.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>m&&m>r(n+a)&&(h.vertical="middle"),h.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(C,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-o-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-o-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-o-a,t.top+p+f+m>c&&(0>s||r(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,t.top+p+f+m>u&&(i>0||u>r(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){e.widget("ui.draggable",e.ui.mouse,{version:"1.10.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(t){var i=this.options;return this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(e(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){e("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(e(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),i.containment&&this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_mouseDrag:function(t,i){if(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i,s=this,n=!1,a=!1;for(e.ui.ddmanager&&!this.options.dropBehaviour&&(a=e.ui.ddmanager.drop(this,t)),this.dropped&&(a=this.dropped,this.dropped=!1),i=this.element[0];i&&(i=i.parentNode);)i===document&&(n=!0);return n||"original"!==this.options.helper?("invalid"===this.options.revert&&!a||"valid"===this.options.revert&&a||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,a)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){s._trigger("stop",t)!==!1&&s._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1):!1},_mouseUp:function(t){return e("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.element.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;if("parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=["document"===n.containment?0:e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,"document"===n.containment?0:e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,("document"===n.containment?0:e(window).scrollLeft())+e("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,("document"===n.containment?0:e(window).scrollTop())+(e("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||n.containment.constructor===Array)n.containment.constructor===Array&&(this.containment=n.containment);else{if(i=e(n.containment),s=i[0],!s)return;t="hidden"!==e(s).css("overflow"),this.containment=[(parseInt(e(s).css("borderLeftWidth"),10)||0)+(parseInt(e(s).css("paddingLeft"),10)||0),(parseInt(e(s).css("borderTopWidth"),10)||0)+(parseInt(e(s).css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(e(s).css("borderRightWidth"),10)||0)-(parseInt(e(s).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(e(s).css("borderBottomWidth"),10)||0)-(parseInt(e(s).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i}},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName),l=t.pageX,u=t.pageY;return this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(l=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(u=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(l=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(u=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((u-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,u=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,l=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:u-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s]),"drag"===t&&(this.positionAbs=this._convertPositionTo("absolute")),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i){var s=e(this).data("ui-draggable"),n=s.options,a=e.extend({},i,{item:s.element});s.sortables=[],e(n.connectToSortable).each(function(){var i=e.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",t,a))})},stop:function(t,i){var s=e(this).data("ui-draggable"),n=e.extend({},i,{item:s.element});e.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(t),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",t,n))})},drag:function(t,i){var s=e(this).data("ui-draggable"),n=this;e.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,e.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&e.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=e(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},t.target=this.instance.currentItem[0],this.instance._mouseCapture(t,!0),this.instance._mouseStart(t,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",t),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(t)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",t,this.instance._uiHash(this.instance)),this.instance._mouseStop(t,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",t),s.dropped=!1)})}}),e.ui.plugin.add("draggable","cursor",{start:function(){var t=e("body"),i=e(this).data("ui-draggable").options;t.css("cursor")&&(i._cursor=t.css("cursor")),t.css("cursor",i.cursor)},stop:function(){var t=e(this).data("ui-draggable").options;t._cursor&&e("body").css("cursor",t._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._opacity&&e(i.helper).css("opacity",s._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(){var t=e(this).data("ui-draggable");t.scrollParent[0]!==document&&"HTML"!==t.scrollParent[0].tagName&&(t.overflowOffset=t.scrollParent.offset())},drag:function(t){var i=e(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-t.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:t.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-t.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:t.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(t.pageY-e(document).scrollTop()<s.scrollSensitivity?n=e(document).scrollTop(e(document).scrollTop()-s.scrollSpeed):e(window).height()-(t.pageY-e(document).scrollTop())<s.scrollSensitivity&&(n=e(document).scrollTop(e(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(t.pageX-e(document).scrollLeft()<s.scrollSensitivity?n=e(document).scrollLeft(e(document).scrollLeft()-s.scrollSpeed):e(window).width()-(t.pageX-e(document).scrollLeft())<s.scrollSensitivity&&(n=e(document).scrollLeft(e(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&e.ui.ddmanager&&!s.dropBehaviour&&e.ui.ddmanager.prepareOffsets(i,t)}}),e.ui.plugin.add("draggable","snap",{start:function(){var t=e(this).data("ui-draggable"),i=t.options;t.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=e(this),s=i.offset();this!==t.element[0]&&t.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(t,i){var s,n,a,o,r,h,l,u,c,d,p=e(this).data("ui-draggable"),f=p.options,m=f.snapTolerance,g=i.offset.left,v=g+p.helperProportions.width,y=i.offset.top,b=y+p.helperProportions.height;for(c=p.snapElements.length-1;c>=0;c--)r=p.snapElements[c].left,h=r+p.snapElements[c].width,l=p.snapElements[c].top,u=l+p.snapElements[c].height,g>r-m&&h+m>g&&y>l-m&&u+m>y||g>r-m&&h+m>g&&b>l-m&&u+m>b||v>r-m&&h+m>v&&y>l-m&&u+m>y||v>r-m&&h+m>v&&b>l-m&&u+m>b?("inner"!==f.snapMode&&(s=m>=Math.abs(l-b),n=m>=Math.abs(u-y),a=m>=Math.abs(r-v),o=m>=Math.abs(h-g),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||a||o,"outer"!==f.snapMode&&(s=m>=Math.abs(l-y),n=m>=Math.abs(u-b),a=m>=Math.abs(r-g),o=m>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:u-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[c].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=s||n||a||o||d):(p.snapElements[c].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,t,e.extend(p._uiHash(),{snapItem:p.snapElements[c].item})),p.snapElements[c].snapping=!1)}}),e.ui.plugin.add("draggable","stack",{start:function(){var t,i=this.data("ui-draggable").options,s=e.makeArray(e(i.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});s.length&&(t=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(i){e(this).css("zIndex",t+i)}),this.css("zIndex",t+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i){var s=e(i.helper),n=e(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(t,i){var s=e(this).data("ui-draggable").options;s._zIndex&&e(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(e){function t(e,t,i){return e>t&&t+i>e}e.widget("ui.droppable",{version:"1.10.2",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t=this.options,i=t.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(i)?i:function(e){return e.is(i)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},e.ui.ddmanager.droppables[t.scope]=e.ui.ddmanager.droppables[t.scope]||[],e.ui.ddmanager.droppables[t.scope].push(this),t.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var t=0,i=e.ui.ddmanager.droppables[this.options.scope];i.length>t;t++)i[t]===this&&i.splice(t,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){"accept"===t&&(this.accept=e.isFunction(i)?i:function(e){return e.is(i)}),e.Widget.prototype._setOption.apply(this,arguments)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var t=e.data(this,"ui-droppable");return t.options.greedy&&!t.options.disabled&&t.options.scope===s.options.scope&&t.accept.call(t.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(t,{offset:t.element.offset()}),t.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(e,i,s){if(!i.offset)return!1;var n,a,o=(e.positionAbs||e.position.absolute).left,r=o+e.helperProportions.width,h=(e.positionAbs||e.position.absolute).top,l=h+e.helperProportions.height,u=i.offset.left,c=u+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return o>=u&&c>=r&&h>=d&&p>=l;case"intersect":return o+e.helperProportions.width/2>u&&c>r-e.helperProportions.width/2&&h+e.helperProportions.height/2>d&&p>l-e.helperProportions.height/2;case"pointer":return n=(e.positionAbs||e.position.absolute).left+(e.clickOffset||e.offset.click).left,a=(e.positionAbs||e.position.absolute).top+(e.clickOffset||e.offset.click).top,t(a,d,i.proportions.height)&&t(n,u,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(o>=u&&c>=o||r>=u&&c>=r||u>o&&r>c);default:return!1}},e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions.height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions={width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight})}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e.data(this,"ui-droppable").options.scope===n}),a.length&&(s=e.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}}})(jQuery);(function(e){function t(e){return parseInt(e,10)||0}function i(e){return!isNaN(parseInt(e,10))}e.widget("ui.resizable",e.ui.mouse,{version:"1.10.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var t,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),t=this.handles.split(","),this.handles={},i=0;t.length>i;i++)s=e.trim(t[i]),a="ui-resizable-"+s,n=e("<div class='ui-resizable-handle "+a+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(t){var i,s,n,a;t=t||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=e(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=e(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(n,a),this._proportionallyResize()),e(this.handles[i]).length},this._renderAxis(this.element),this._handles=e(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),e(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(e(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(e(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var t,i=function(t){e(t).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(t){var i,s,n=!1;for(i in this.handles)s=e(this.handles[i])[0],(s===t.target||e.contains(s,t.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=t(this.helper.css("left")),n=t(this.helper.css("top")),o.containment&&(s+=e(o.containment).scrollLeft()||0,n+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(t){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,u=this.size.height,c=t.pageX-a.left||0,d=t.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[t,c,d]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==u&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(n)||this._trigger("resize",t,this.ui()),!1):!1},_mouseStop:function(t){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,u=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&e.ui.hasScroll(i[0],"left")?0:u.sizeDiff.height,a=s?0:u.sizeDiff.width,o={width:u.helper.width()-a,height:u.helper.height()-n},r=parseInt(u.element.css("left"),10)+(u.position.left-u.originalPosition.left)||null,h=parseInt(u.element.css("top"),10)+(u.position.top-u.originalPosition.top)||null,l.animate||this.element.css(e.extend(o,{top:h,left:r})),u.helper.height(u.size.height),u.helper.width(u.size.width),this._helper&&!l.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(e){var t,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),i(e.left)&&(this.position.left=e.left),i(e.top)&&(this.position.top=e.top),i(e.height)&&(this.size.height=e.height),i(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,s=this.size,n=this.axis;return i(e.height)?e.width=e.height*this.aspectRatio:i(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===n&&(e.left=t.left+(s.width-e.width),e.top=null),"nw"===n&&(e.top=t.top+(s.height-e.height),e.left=t.left+(s.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,s=this.axis,n=i(e.width)&&t.maxWidth&&t.maxWidth<e.width,a=i(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=i(e.width)&&t.minWidth&&t.minWidth>e.width,r=i(e.height)&&t.minHeight&&t.minHeight>e.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,u=/sw|nw|w/.test(s),c=/nw|ne|n/.test(s);return o&&(e.width=t.minWidth),r&&(e.height=t.minHeight),n&&(e.width=t.maxWidth),a&&(e.height=t.maxHeight),o&&u&&(e.left=h-t.minWidth),n&&u&&(e.left=h-t.maxWidth),r&&c&&(e.top=l-t.minHeight),a&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var e,t,i,s,n,a=this.helper||this.element;for(e=0;this._proportionallyResizeElements.length>e;e++){if(n=this._proportionallyResizeElements[e],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],t=0;i.length>t;t++)this.borderDif[t]=(parseInt(i[t],10)||0)+(parseInt(s[t],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var i=this.originalSize,s=this.originalPosition;return{left:s.left+t,width:i.width-t}},n:function(e,t,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(e,t,i){return{height:this.originalSize.height+i}},se:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},sw:function(t,i,s){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,s]))},ne:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,s]))},nw:function(t,i,s){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,s]))}},_propagate:function(t,i){e.ui.plugin.call(this,t,[i,this.ui()]),"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var i=e(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&e.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,u=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(e.extend(h,u&&l?{top:u,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&e(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=e(this).data("ui-resizable"),u=l.options,c=l.element,d=u.containment,p=d instanceof e?d.get(0):/parent/.test(d)?c.parent().get(0):d;p&&(l.containerElement=e(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(i=e(p),s=[],e(["Top","Right","Left","Bottom"]).each(function(e,n){s[e]=t(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=e.ui.hasScroll(p,"left")?p.scrollWidth:o,h=e.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(t){var i,s,n,a,o=e(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,u=o._aspectRatio||t.shiftKey,c={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(c=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-c.left),u&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),u&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-c.left:o.offset.left-c.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-c.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=o.parentData.left),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,u&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,u&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.containerOffset,n=t.containerPosition,a=t.containerElement,o=e(t.helper),r=o.offset(),h=o.outerWidth()-t.sizeDiff.width,l=o.outerHeight()-t.sizeDiff.height;t._helper&&!i.animate&&/relative/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l}),t._helper&&!i.animate&&/static/.test(a.css("position"))&&e(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=function(t){e(t).each(function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseInt(t.width(),10),height:parseInt(t.height(),10),left:parseInt(t.css("left"),10),top:parseInt(t.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):e.each(i.alsoResize,function(e){s(e)})},resize:function(t,i){var s=e(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(t,s){e(t).each(function(){var t=e(this),n=e(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,function(e,t){var i=(n[t]||0)+(r[t]||0);i&&i>=0&&(a[t]=i||null)}),t.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):e.each(n.alsoResize,function(e,t){h(e,t)})},stop:function(){e(this).removeData("resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).data("ui-resizable");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).data("ui-resizable");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t=e(this).data("ui-resizable"),i=t.options,s=t.size,n=t.originalSize,a=t.originalPosition,o=t.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,u=Math.round((s.width-n.width)/h)*h,c=Math.round((s.height-n.height)/l)*l,d=n.width+u,p=n.height+c,f=i.maxWidth&&d>i.maxWidth,m=i.maxHeight&&p>i.maxHeight,g=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,g&&(d+=h),v&&(p+=l),f&&(d-=h),m&&(p-=l),/^(se|s|e)$/.test(o)?(t.size.width=d,t.size.height=p):/^(ne)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.top=a.top-c):/^(sw)$/.test(o)?(t.size.width=d,t.size.height=p,t.position.left=a.left-u):(t.size.width=d,t.size.height=p,t.position.top=a.top-c,t.position.left=a.left-u)}})})(jQuery);(function(e){e.widget("ui.selectable",e.ui.mouse,{version:"1.10.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t=e(i.options.filter,i.element[0]),t.addClass("ui-selectee"),t.each(function(){var t=e(this),i=t.offset();e.data(this,"selectable-item",{element:this,$element:t,left:i.left,top:i.top,right:i.left+t.outerWidth(),bottom:i.top+t.outerHeight(),startselected:!1,selected:t.hasClass("ui-selected"),selecting:t.hasClass("ui-selecting"),unselecting:t.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=t.addClass("ui-selectee"),this._mouseInit(),this.helper=e("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(t){var i=this,s=this.options;this.opos=[t.pageX,t.pageY],this.options.disabled||(this.selectees=e(s.filter,this.element[0]),this._trigger("start",t),e(s.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=e.data(this,"selectable-item");s.startselected=!0,t.metaKey||t.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",t,{unselecting:s.element}))}),e(t.target).parents().addBack().each(function(){var s,n=e.data(this,"selectable-item");return n?(s=!t.metaKey&&!t.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",t,{selecting:n.element}):i._trigger("unselecting",t,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=t.pageX,h=t.pageY;return a>r&&(i=r,r=a,a=i),o>h&&(i=h,h=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:h-o}),this.selectees.each(function(){var i=e.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||a>i.right||i.top>h||o>i.bottom):"fit"===n.tolerance&&(l=i.left>a&&r>i.right&&i.top>o&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",t,{selecting:i.element}))):(i.selecting&&((t.metaKey||t.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",t,{unselecting:i.element}))),i.selected&&(t.metaKey||t.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",t,{unselecting:i.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,e(".ui-unselecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",t,{unselected:s.element})}),e(".ui-selecting",this.element[0]).each(function(){var s=e.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",t,{selected:s.element})}),this._trigger("stop",t),this.helper.remove(),!1}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.2",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,a.widgetName+"-item")===a?(s=t(this),!1):undefined}),t.data(e.target,a.widgetName+"-item")===a&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=t("<style>*{ cursor: "+o.cursor+" !important; }</style>").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<o.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+o.scrollSpeed:e.pageY-this.overflowOffset.top<o.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-o.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<o.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+o.scrollSpeed:e.pageX-this.overflowOffset.left<o.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-o.scrollSpeed)):(e.pageY-t(document).scrollTop()<o.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-o.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<o.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+o.scrollSpeed)),e.pageX-t(document).scrollLeft()<o.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-o.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<o.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+o.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!o.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=t.left,o=a+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u=s+l>r&&h>s+l&&e+c>a&&o>e+c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?u:e+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,a=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return n?this.floating?o&&"right"===o||"down"===a?2:1:a&&("down"===a?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return this.floating&&a?"right"===a&&s||"left"===a&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,a,o=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&r.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){o.push(this)});return t(o)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)a=t.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(u.push([t.isFunction(a.options.items)?a.options.items.call(a.element[0],e,{item:this.currentItem}):t(a.options.items,a.element),a]),this.containers.push(a));for(i=u.length-1;i>=0;i--)for(o=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",o),c.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t(e.document[0].createElement(s)).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?n.append("<td colspan='99'>&#160;</td>"):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,a,o,r,h,l,c,u,d,p,f=null,m=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],m=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[m].containerCache.over||(this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1);else{for(o=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],a=this.items.length-1;a>=0;a--)t.contains(this.containers[m].element[0],this.items[a].item[0])&&this.items[a].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[a].top,this.items[a].height))&&(u=this.items[a].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[a][l]-c)&&(d=!0,u+=this.items[a][l]),o>Math.abs(u-c)&&(o=Math.abs(u-c),r=this.items[a],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[m])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[m].element,!0),this._trigger("change",s,this._uiHash()),this.containers[m]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[m],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[m]._trigger("over",s,this._uiHash(this)),this.containers[m].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,a=e.pageX,o=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(a=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(o=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(a=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.2",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("<span>").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),a=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:a=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:a=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:a=this.headers[0];break;case i.END:a=this.headers[s-1]}a&&(t(e.target).attr("tabIndex",-1),t(a).attr("tabIndex",0),a.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),(e.active===!1&&e.collapsible===!0||!this.headers.length)&&(e.active=!1,this.active=t()),e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,a=this.element.parent(),o=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),a=n.attr("id");s||(s=o+"-header-"+e,i.attr("id",s)),a||(a=o+"-panel-"+e,n.attr("id",a)),i.attr("aria-controls",a),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=a.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n[0]===s[0],o=a&&i.collapsible,r=o?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:o?t():n,newPanel:r};e.preventDefault(),a&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=o?!1:this.headers.index(n),this.active=a?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),a||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var a,o,r,h=this,l=0,c=t.length&&(!e.length||t.index()<e.index()),u=this.options.animate||{},d=c&&u.down||u,p=function(){h._toggleComplete(n)};return"number"==typeof d&&(r=d),"string"==typeof d&&(o=d),o=o||d.easing||u.easing,r=r||d.duration||u.duration,e.length?t.length?(a=t.show().outerHeight(),e.animate(i,{duration:r,easing:o,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(s,{duration:r,easing:o,complete:p,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(a-e.outerHeight()-l),l=0)}}),undefined):e.animate(i,r,o,p):t.animate(s,r,o,p)},_toggleComplete:function(t){var e=t.oldPanel;e.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}})})(jQuery);(function(e){var t=0;e.widget("ui.autocomplete",{version:"1.10.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({input:e(),role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertAfter(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var e=this,i=++t;return function(s){i===t&&e.__response(s),e.pending--,e.pending||e.element.removeClass("ui-autocomplete-loading")}},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(t){var e,i,s,n,a="ui-button ui-widget ui-state-default ui-corner-all",o="ui-state-hover ui-state-active ",r="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",h=function(){var e=t(this).find(":ui-button");setTimeout(function(){e.button("refresh")},1)},l=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.2",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,h),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var o=this,r=this.options,c="checkbox"===this.type||"radio"===this.type,u=c?"":"ui-state-active",d="ui-state-focus";null===r.label&&(r.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(a).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){r.disabled||this===e&&t(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){r.disabled||t(this).removeClass(u)}).bind("click"+this.eventNamespace,function(t){r.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){o.buttonElement.addClass(d)}).bind("blur"+this.eventNamespace,function(){o.buttonElement.removeClass(d)}),c&&(this.element.bind("change"+this.eventNamespace,function(){n||o.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(t){r.disabled||(n=!1,i=t.pageX,s=t.pageY)}).bind("mouseup"+this.eventNamespace,function(t){r.disabled||(i!==t.pageX||s!==t.pageY)&&(n=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return r.disabled||n?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(r.disabled||n)return!1;t(this).addClass("ui-state-active"),o.buttonElement.attr("aria-pressed","true");var e=o.element[0];l(e).not(e).map(function(){return t(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return r.disabled?!1:(t(this).addClass("ui-state-active"),e=this,o.document.one("mouseup",function(){e=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return r.disabled?!1:(t(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(e){return r.disabled?!1:((e.keyCode===t.ui.keyCode.SPACE||e.keyCode===t.ui.keyCode.ENTER)&&t(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){t(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===t.ui.keyCode.SPACE&&t(this).click()})),this._setOption("disabled",r.disabled),this._resetButton()},_determineButtonType:function(){var t,e,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(t=this.element.parents().last(),e="label[for='"+this.element.attr("id")+"']",this.buttonElement=t.find(e),this.buttonElement.length||(t=t.length?t.siblings():this.element.siblings(),this.buttonElement=t.filter(e),this.buttonElement.length||(this.buttonElement=t.find(e))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(a+" "+o+" "+r).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(t,e){return this._super(t,e),"disabled"===t?(e?this.element.prop("disabled",!0):this.element.prop("disabled",!1),undefined):(this._resetButton(),undefined)},refresh:function(){var e=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");e!==this.options.disabled&&this._setOption("disabled",e),"radio"===this.type?l(this.element[0]).each(function(){t(this).is(":checked")?t(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):t(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var e=this.buttonElement.removeClass(r),i=t("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(e.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,a=[];s.primary||s.secondary?(this.options.text&&a.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&e.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&e.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(a.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||e.attr("title",t.trim(i)))):a.push("ui-button-text-only"),e.addClass(a.join(" "))}}),t.widget("ui.buttonset",{version:"1.10.2",options:{items:"button,input[type=button],input[type=submit],input[type=reset],input[type=checkbox],input[type=radio],a,:data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(t,e){"disabled"===t&&this.buttons.button("option",t,e),this._super(t,e)},refresh:function(){var e="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(e?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(e?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})})(jQuery);(function(t,e){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(a.inline?e.parent()[0]:a.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.2"}});var a,r="datepicker",o=(new Date).getTime();t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,a;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),a=this._newInst(t(e),n),a.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,a):n&&this._inlineDatepicker(e,a)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,r,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,a,r=this._get(i,"appendText"),o=this._get(i,"isRTL");i.append&&i.append.remove(),r&&(i.append=t("<span class='"+this._appendClass+"'>"+r+"</span>"),e[o?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),a=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:a,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(a?t("<img/>").attr({src:a,alt:n,title:n}):n)),e[o?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,a=new Date(2009,11,20),r=this._get(t,"dateFormat");r.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},a.setMonth(e(this._get(t,r.match(/MM/)?"monthNames":"monthNamesShort"))),a.setDate(e(this._get(t,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-a.getDay())),t.input.attr("size",this._formatDate(t,a).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,a,o){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],r,p)),n(p.settings,a||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,r);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,r),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,a.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),a=t.data(e,r);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,a.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,a){var r,o,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(r=s||{},"string"==typeof s&&(r={},r[s]=a),c&&(this._curInst===c&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,r),null!==h&&r.dateFormat!==e&&r.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&r.dateFormat!==e&&r.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,o),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,a=t.datepicker._getInst(e.target),r=!0,o=a.dpDiv.is(".ui-datepicker-rtl");if(a._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),r=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",a.dpDiv),n[0]&&t.datepicker._selectDay(e.target,a.selectedMonth,a.selectedYear,n[0]),i=t.datepicker._get(a,"onSelect"),i?(s=t.datepicker._formatDate(a),i.apply(a.input?a.input[0]:null,[s,a])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),r=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),r=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?1:-1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(a,"stepBigMonths"):-t.datepicker._get(a,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),r=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,o?-1:1,"D"),r=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(a,"stepBigMonths"):+t.datepicker._get(a,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),r=e.ctrlKey||e.metaKey;break;default:r=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):r=!1;r&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,a=t.datepicker._getInst(i.target);return t.datepicker._get(a,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(a,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,a,r,o,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),a=s?s.apply(e,[e,i]):{},a!==!1&&(n(i.settings,a),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),o={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),o=t.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),i.input.is(":visible")&&!i.input.is(":disabled")&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,a=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],r=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",r*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&e.input[0]!==document.activeElement&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_getBorders:function(t){var e=function(t){return{thin:1,medium:2,thick:3}[t]||t};return[parseFloat(e(t.css("border-left-width"))),parseFloat(e(t.css("border-top-width")))]},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),a=e.dpDiv.outerHeight(),r=e.input?e.input.outerWidth():0,o=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-r:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+o?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+a>l&&l>a?Math.abs(a+o):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,a,o=this._curInst;!o||e&&o!==t.data(e,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),s=this._get(o,"duration"),n=function(){t.datepicker._tidyDialog(o)},t.effects&&(t.effects.effect[i]||t.effects[i])?o.dpDiv.hide(i,t.datepicker._get(o,"showOptions"),s,n):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,a=this._get(o,"onClose"),a&&a.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),a=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(a,i+("M"===s?this._get(a,"showCurrentAtPos"):0),s),this._updateDatepicker(a))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),a=this._getInst(n[0]);a["selected"+("M"===s?"Month":"Year")]=a["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(a),this._adjustDate(n)},_selectDay:function(e,i,s,n){var a,r=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(a=this._getInst(r[0]),a.selectedDay=a.currentDay=t("a",n).html(),a.selectedMonth=a.currentMonth=i,a.selectedYear=a.currentYear=s,this._selectDate(e,this._formatDate(a,a.currentDay,a.currentMonth,a.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),a=this._getInst(n[0]);i=null!=i?i:this._formatDate(a),a.input&&a.input.val(i),this._updateAlternate(a),s=this._get(a,"onSelect"),s?s.apply(a.input?a.input[0]:null,[i,a]):a.input&&a.input.trigger("change"),a.inline?this._updateDatepicker(a):(this._hideDatepicker(),this._lastInput=a.input[0],"object"!=typeof a.input[0]&&a.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,a=this._get(e,"altField");a&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(a).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var a,r,o,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,m=(n?n.monthNames:null)||this._defaults.monthNames,g=-1,v=-1,_=-1,b=-1,y=!1,w=function(t){var e=i.length>a+1&&i.charAt(a+1)===t;return e&&a++,e},k=function(t){var e=w(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),a=s.substring(l).match(n);if(!a)throw"Missing number at position "+l;return l+=a[0].length,parseInt(a[0],10)},x=function(i,n,a){var r=-1,o=t.map(w(i)?a:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(o,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(r=i[0],l+=n.length,!1):e}),-1!==r)return r+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(a))throw"Unexpected literal at position "+l;l++};for(a=0;i.length>a;a++)if(y)"'"!==i.charAt(a)||w("'")?D():y=!1;else switch(i.charAt(a)){case"d":_=k("d");break;case"D":x("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=x("M",f,m);break;case"y":g=k("y");break;case"@":h=new Date(k("@")),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),g=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":w("'")?D():y=!0;break;default:D()}if(s.length>l&&(o=s.substr(l),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=g?0:-100)),b>-1)for(v=1,_=b;;){if(r=this._getDaysInMonth(g,v-1),r>=_)break;v++,_-=r}if(h=this._daylightSavingAdjust(new Date(g,v-1,_)),h.getFullYear()!==g||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,a=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,a);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),r,o);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),a=n,r=this._getFormatConfig(t);try{a=this.parseDate(i,s,r)||n}catch(o){s=e?"":s}t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),t.currentDay=s?a.getDate():0,t.currentMonth=s?a.getMonth():0,t.currentYear=s?a.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},a=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,a=n.getFullYear(),r=n.getMonth(),o=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":o+=parseInt(l[1],10);break;case"w":case"W":o+=7*parseInt(l[1],10);break;case"m":case"M":r+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r));break;case"y":case"Y":a+=parseInt(l[1],10),o=Math.min(o,t.datepicker._getDaysInMonth(a,r))}l=h.exec(i)}return new Date(a,r,o)},r=null==i||""===i?s:"string"==typeof i?a(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?s:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,a=t.selectedYear,r=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=r.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=r.getMonth(),t.drawYear=t.selectedYear=t.currentYear=r.getFullYear(),n===t.selectedMonth&&a===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){window["DP_jQuery_"+o].datepicker._adjustDate(s,-i,"M")},next:function(){window["DP_jQuery_"+o].datepicker._adjustDate(s,+i,"M")},hide:function(){window["DP_jQuery_"+o].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+o].datepicker._gotoToday(s)},selectDay:function(){return window["DP_jQuery_"+o].datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+o].datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+o].datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,a,r,o,h,l,c,u,d,p,f,m,g,v,_,b,y,w,k,x,D,T,C,S,M,N,I,P,A,z,H,E,F,O,W,j,R=new Date,L=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),J=this._get(t,"hideIfNoPrevNext"),Q=this._get(t,"navigationAsDateFormat"),K=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),U=this._get(t,"stepMonths"),q=1!==K[0]||1!==K[1],X=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),$=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),$)for(e=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-K[0]*K[1]+1,$.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=Q?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-U,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":J?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=Q?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+U,1)),this._getFormatConfig(t)):n,a=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":J?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",r=this._get(t,"currentText"),o=this._get(t,"gotoCurrent")&&t.currentDay?X:L,r=Q?this.formatDate(r,o,this._getFormatConfig(t)):r,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,o)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+r+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),m=this._get(t,"monthNamesShort"),g=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;K[0]>k;k++){for(x="",this.maxRows=4,D=0;K[1]>D;D++){if(T=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),C=" ui-corner-all",S="",q){if(S+="<div class='ui-datepicker-group",K[1]>1)switch(D){case 0:S+=" ui-datepicker-group-first",C=" ui-corner-"+(Y?"right":"left");break;case K[1]-1:S+=" ui-datepicker-group-last",C=" ui-corner-"+(Y?"left":"right");break;default:S+=" ui-datepicker-group-middle",C=""}S+="'>"}for(S+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+C+"'>"+(/all|left/.test(C)&&0===k?Y?a:s:"")+(/all|right/.test(C)&&0===k?Y?s:a:"")+this._generateMonthYearHeader(t,Z,te,G,$,k>0||D>0,f,m)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",M=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)N=(w+c)%7,M+="<th"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[N]+"'>"+p[N]+"</span></th>";for(S+=M+"</tr></thead><tbody>",I=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,I)),P=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((P+I)/7),z=q?this.maxRows>A?this.maxRows:A:A,this.maxRows=z,H=this._daylightSavingAdjust(new Date(te,Z,1-P)),E=0;z>E;E++){for(S+="<tr>",F=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(H)+"</td>":"",w=0;7>w;w++)O=g?g.apply(t.input?t.input[0]:null,[H]):[!0,""],W=H.getMonth()!==Z,j=W&&!_||!O[0]||G&&G>H||$&&H>$,F+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(W?" ui-datepicker-other-month":"")+(H.getTime()===T.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===H.getTime()&&b.getTime()===T.getTime()?" "+this._dayOverClass:"")+(j?" "+this._unselectableClass+" ui-state-disabled":"")+(W&&!v?"":" "+O[1]+(H.getTime()===X.getTime()?" "+this._currentClass:"")+(H.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(W&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(j?"":" data-handler='selectDay' data-event='click' data-month='"+H.getMonth()+"' data-year='"+H.getFullYear()+"'")+">"+(W&&!v?"&#xa0;":j?"<span class='ui-state-default'>"+H.getDate()+"</span>":"<a class='ui-state-default"+(H.getTime()===L.getTime()?" ui-state-highlight":"")+(H.getTime()===X.getTime()?" ui-state-active":"")+(W?" ui-priority-secondary":"")+"' href='#'>"+H.getDate()+"</a>")+"</td>",H.setDate(H.getDate()+1),H=this._daylightSavingAdjust(H);S+=F+"</tr>"}Z++,Z>11&&(Z=0,te++),S+="</tbody></table>"+(q?"</div>"+(K[0]>0&&D===K[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=S}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,a,r,o){var h,l,c,u,d,p,f,m,g=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(a||!g)y+="<span class='ui-datepicker-month'>"+r[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+o[c]+"</option>");y+="</select>"}if(_||(b+=y+(!a&&g&&v?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",a||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),m=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,m=n?Math.min(m,n.getFullYear()):m,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";m>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!a&&g&&v?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),a=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),r=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,a)));t.selectedDay=r.getDate(),t.drawMonth=t.selectedMonth=r.getMonth(),t.drawYear=t.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),a=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&a.setDate(this._getDaysInMonth(a.getFullYear(),a.getMonth())),this._isInRange(t,a)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),a=this._getMinMaxDate(t,"max"),r=null,o=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=s),i[1].match(/[+\-].*/)&&(o+=s)),(!n||e.getTime()>=n.getTime())&&(!a||e.getTime()<=a.getTime())&&(!r||e.getFullYear()>=r)&&(!o||o>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.2",window["DP_jQuery_"+o]=t})(jQuery);jQuery(function(e){e.datepicker.regional.af={closeText:"Selekteer",prevText:"Vorige",nextText:"Volgende",currentText:"Vandag",monthNames:["Januarie","Februarie","Maart","April","Mei","Junie","Julie","Augustus","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrydag","Saterdag"],dayNamesShort:["Son","Maa","Din","Woe","Don","Vry","Sat"],dayNamesMin:["So","Ma","Di","Wo","Do","Vr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.af)}),jQuery(function(e){e.datepicker.regional["ar-DZ"]={closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويلية","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["ar-DZ"])}),jQuery(function(e){e.datepicker.regional.ar={closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ar)}),jQuery(function(e){e.datepicker.regional.az={closeText:"Bağla",prevText:"&#x3C;Geri",nextText:"İrəli&#x3E;",currentText:"Bugün",monthNames:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthNamesShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],dayNames:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],dayNamesShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayNamesMin:["B","B","Ç","С","Ç","C","Ş"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.az)}),jQuery(function(e){e.datepicker.regional.be={closeText:"Зачыніць",prevText:"&larr;Папяр.",nextText:"Наст.&rarr;",currentText:"Сёньня",monthNames:["Студзень","Люты","Сакавік","Красавік","Травень","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Сьнежань"],monthNamesShort:["Сту","Лют","Сак","Кра","Тра","Чэр","Ліп","Жні","Вер","Кас","Ліс","Сьн"],dayNames:["нядзеля","панядзелак","аўторак","серада","чацьвер","пятніца","субота"],dayNamesShort:["ндз","пнд","аўт","срд","чцв","птн","сбт"],dayNamesMin:["Нд","Пн","Аў","Ср","Чц","Пт","Сб"],weekHeader:"Тд",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.be)}),jQuery(function(e){e.datepicker.regional.bg={closeText:"затвори",prevText:"&#x3C;назад",nextText:"напред&#x3E;",nextBigText:"&#x3E;&#x3E;",currentText:"днес",monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Нов","Дек"],dayNames:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],dayNamesShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.bg)}),jQuery(function(e){e.datepicker.regional.bs={closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.bs)}),jQuery(function(e){e.datepicker.regional.ca={closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ca)}),jQuery(function(e){e.datepicker.regional.cs={closeText:"Zavřít",prevText:"&#x3C;Dříve",nextText:"Později&#x3E;",currentText:"Nyní",monthNames:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],dayNames:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","čt","pá","so"],dayNamesMin:["ne","po","út","st","čt","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.cs)}),jQuery(function(e){e.datepicker.regional["cy-GB"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["Ionawr","Chwefror","Mawrth","Ebrill","Mai","Mehefin","Gorffennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthNamesShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tac","Rha"],dayNames:["Dydd Sul","Dydd Llun","Dydd Mawrth","Dydd Mercher","Dydd Iau","Dydd Gwener","Dydd Sadwrn"],dayNamesShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],dayNamesMin:["Su","Ll","Ma","Me","Ia","Gw","Sa"],weekHeader:"Wy",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["cy-GB"])}),jQuery(function(e){e.datepicker.regional.da={closeText:"Luk",prevText:"&#x3C;Forrige",nextText:"Næste&#x3E;",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.da)}),jQuery(function(e){e.datepicker.regional.de={closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.de)}),jQuery(function(e){e.datepicker.regional.el={closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Τρέχων Μήνας",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.el)}),jQuery(function(e){e.datepicker.regional["en-AU"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["en-AU"])}),jQuery(function(e){e.datepicker.regional["en-GB"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["en-GB"])}),jQuery(function(e){e.datepicker.regional["en-NZ"]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["en-NZ"])}),jQuery(function(e){e.datepicker.regional.eo={closeText:"Fermi",prevText:"&#x3C;Anta",nextText:"Sekv&#x3E;",currentText:"Nuna",monthNames:["Januaro","Februaro","Marto","Aprilo","Majo","Junio","Julio","Aŭgusto","Septembro","Oktobro","Novembro","Decembro"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aŭg","Sep","Okt","Nov","Dec"],dayNames:["Dimanĉo","Lundo","Mardo","Merkredo","Ĵaŭdo","Vendredo","Sabato"],dayNamesShort:["Dim","Lun","Mar","Mer","Ĵaŭ","Ven","Sab"],dayNamesMin:["Di","Lu","Ma","Me","Ĵa","Ve","Sa"],weekHeader:"Sb",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.eo)}),jQuery(function(e){e.datepicker.regional.es={closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthNamesShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],dayNames:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mié","Juv","Vie","Sáb"],dayNamesMin:["Do","Lu","Ma","Mi","Ju","Vi","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.es)}),jQuery(function(e){e.datepicker.regional.et={closeText:"Sulge",prevText:"Eelnev",nextText:"Järgnev",currentText:"Täna",monthNames:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthNamesShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],dayNames:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],dayNamesShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],dayNamesMin:["P","E","T","K","N","R","L"],weekHeader:"näd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.et)}),jQuery(function(e){e.datepicker.regional.eu={closeText:"Egina",prevText:"&#x3C;Aur",nextText:"Hur&#x3E;",currentText:"Gaur",monthNames:["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],monthNamesShort:["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe."],dayNames:["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],dayNamesShort:["ig.","al.","ar.","az.","og.","ol.","lr."],dayNamesMin:["ig","al","ar","az","og","ol","lr"],weekHeader:"As",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.eu)}),jQuery(function(e){e.datepicker.regional.fa={closeText:"بستن",prevText:"&#x3C;قبلی",nextText:"بعدی&#x3E;",currentText:"امروز",monthNames:["فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دی","بهمن","اسفند"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ی","د","س","چ","پ","ج","ش"],dayNamesMin:["ی","د","س","چ","پ","ج","ش"],weekHeader:"هف",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.fa)}),jQuery(function(e){e.datepicker.regional.fi={closeText:"Sulje",prevText:"&#xAB;Edellinen",nextText:"Seuraava&#xBB;",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.fi)}),jQuery(function(e){e.datepicker.regional.fo={closeText:"Lat aftur",prevText:"&#x3C;Fyrra",nextText:"Næsta&#x3E;",currentText:"Í dag",monthNames:["Januar","Februar","Mars","Apríl","Mei","Juni","Juli","August","September","Oktober","November","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],dayNames:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leyardagur"],dayNamesShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],dayNamesMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],weekHeader:"Vk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.fo)}),jQuery(function(e){e.datepicker.regional["fr-CA"]={closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["fr-CA"])}),jQuery(function(e){e.datepicker.regional["fr-CH"]={closeText:"Fermer",prevText:"&#x3C;Préc",nextText:"Suiv&#x3E;",currentText:"Courant",monthNames:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthNamesShort:["Jan","Fév","Mar","Avr","Mai","Jun","Jul","Aoû","Sep","Oct","Nov","Déc"],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayNamesMin:["Di","Lu","Ma","Me","Je","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["fr-CH"])}),jQuery(function(e){e.datepicker.regional.fr={closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthNamesShort:["Janv.","Févr.","Mars","Avril","Mai","Juin","Juil.","Août","Sept.","Oct.","Nov.","Déc."],dayNames:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],dayNamesShort:["Dim.","Lun.","Mar.","Mer.","Jeu.","Ven.","Sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.fr)}),jQuery(function(e){e.datepicker.regional.gl={closeText:"Pechar",prevText:"&#x3C;Ant",nextText:"Seg&#x3E;",currentText:"Hoxe",monthNames:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthNamesShort:["Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec"],dayNames:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],dayNamesMin:["Do","Lu","Ma","Mé","Xo","Ve","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.gl)}),jQuery(function(e){e.datepicker.regional.he={closeText:"סגור",prevText:"&#x3C;הקודם",nextText:"הבא&#x3E;",currentText:"היום",monthNames:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","אפר","מאי","יוני","יולי","אוג","ספט","אוק","נוב","דצמ"],dayNames:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayNamesMin:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.he)}),jQuery(function(e){e.datepicker.regional.hi={closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मार्च","अप्रेल","मई","जून","जूलाई","अगस्त ","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर"],monthNamesShort:["जन","फर","मार्च","अप्रेल","मई","जून","जूलाई","अग","सित","अक्ट","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],dayNamesMin:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],weekHeader:"हफ्ता",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hi)}),jQuery(function(e){e.datepicker.regional.hr={closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hr)}),jQuery(function(e){e.datepicker.regional.hu={closeText:"bezár",prevText:"vissza",nextText:"előre",currentText:"ma",monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hu)}),jQuery(function(e){e.datepicker.regional.hy={closeText:"Փակել",prevText:"&#x3C;Նախ.",nextText:"Հաջ.&#x3E;",currentText:"Այսօր",monthNames:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthNamesShort:["Հունվ","Փետր","Մարտ","Ապր","Մայիս","Հունիս","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],dayNames:["կիրակի","եկուշաբթի","երեքշաբթի","չորեքշաբթի","հինգշաբթի","ուրբաթ","շաբաթ"],dayNamesShort:["կիր","երկ","երք","չրք","հնգ","ուրբ","շբթ"],dayNamesMin:["կիր","երկ","երք","չրք","հնգ","ուրբ","շբթ"],weekHeader:"ՇԲՏ",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.hy)}),jQuery(function(e){e.datepicker.regional.id={closeText:"Tutup",prevText:"&#x3C;mundur",nextText:"maju&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.id)}),jQuery(function(e){e.datepicker.regional.is={closeText:"Loka",prevText:"&#x3C; Fyrri",nextText:"Næsti &#x3E;",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.is)}),jQuery(function(e){e.datepicker.regional.it={closeText:"Chiudi",prevText:"&#x3C;Prec",nextText:"Succ&#x3E;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.it)}),jQuery(function(e){e.datepicker.regional.ja={closeText:"閉じる",prevText:"&#x3C;前",nextText:"次&#x3E;",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["日","月","火","水","木","金","土"],dayNamesMin:["日","月","火","水","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional.ja)}),jQuery(function(e){e.datepicker.regional.ka={closeText:"დახურვა",prevText:"&#x3c; წინა",nextText:"შემდეგი &#x3e;",currentText:"დღეს",monthNames:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthNamesShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],dayNames:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],dayNamesShort:["კვ","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],dayNamesMin:["კვ","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],weekHeader:"კვირა",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ka)}),jQuery(function(e){e.datepicker.regional.kk={closeText:"Жабу",prevText:"&#x3C;Алдыңғы",nextText:"Келесі&#x3E;",currentText:"Бүгін",monthNames:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthNamesShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],dayNames:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],dayNamesShort:["жкс","дсн","ссн","срс","бсн","жма","снб"],dayNamesMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],weekHeader:"Не",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.kk)}),jQuery(function(e){e.datepicker.regional.km={closeText:"ធ្វើ​រួច",prevText:"មុន",nextText:"បន្ទាប់",currentText:"ថ្ងៃ​នេះ",monthNames:["មករា","កុម្ភៈ","មីនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthNamesShort:["មករា","កុម្ភៈ","មីនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],dayNames:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],dayNamesShort:["អា","ច","អ","ពុ","ព្រហ","សុ","សៅ"],dayNamesMin:["អា","ច","អ","ពុ","ព្រហ","សុ","សៅ"],weekHeader:"សប្ដាហ៍",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.km)}),jQuery(function(e){e.datepicker.regional.ko={closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"년"},e.datepicker.setDefaults(e.datepicker.regional.ko)}),jQuery(function(e){e.datepicker.regional.ky={closeText:"Жабуу",prevText:"&#x3c;Мур",nextText:"Кий&#x3e;",currentText:"Бүгүн",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["жекшемби","дүйшөмбү","шейшемби","шаршемби","бейшемби","жума","ишемби"],dayNamesShort:["жек","дүй","шей","шар","бей","жум","ише"],dayNamesMin:["Жк","Дш","Шш","Шр","Бш","Жм","Иш"],weekHeader:"Жум",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ky)}),jQuery(function(e){e.datepicker.regional.lb={closeText:"Fäerdeg",prevText:"Zréck",nextText:"Weider",currentText:"Haut",monthNames:["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"],dayNamesShort:["Son","Méi","Dën","Mët","Don","Fre","Sam"],dayNamesMin:["So","Mé","Dë","Më","Do","Fr","Sa"],weekHeader:"W",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.lb)}),jQuery(function(e){e.datepicker.regional.lt={closeText:"Uždaryti",prevText:"&#x3C;Atgal",nextText:"Pirmyn&#x3E;",currentText:"Šiandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","šeš"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Še"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.lt)}),jQuery(function(e){e.datepicker.regional.lv={closeText:"Aizvērt",prevText:"Iepr",nextText:"Nāka",currentText:"Šodien",monthNames:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],dayNames:["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Nav",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.lv)}),jQuery(function(e){e.datepicker.regional.mk={closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Денес",monthNames:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],dayNames:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],dayNamesShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Са"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.mk)}),jQuery(function(e){e.datepicker.regional.ml={closeText:"ശരി",prevText:"മുന്നത്തെ",nextText:"അടുത്തത് ",currentText:"ഇന്ന്",monthNames:["ജനുവരി","ഫെബ്രുവരി","മാര്‍ച്ച്","ഏപ്രില്‍","മേയ്","ജൂണ്‍","ജൂലൈ","ആഗസ്റ്റ്","സെപ്റ്റംബര്‍","ഒക്ടോബര്‍","നവംബര്‍","ഡിസംബര്‍"],monthNamesShort:["ജനു","ഫെബ്","മാര്‍","ഏപ്രി","മേയ്","ജൂണ്‍","ജൂലാ","ആഗ","സെപ്","ഒക്ടോ","നവം","ഡിസ"],dayNames:["ഞായര്‍","തിങ്കള്‍","ചൊവ്വ","ബുധന്‍","വ്യാഴം","വെള്ളി","ശനി"],dayNamesShort:["ഞായ","തിങ്ക","ചൊവ്വ","ബുധ","വ്യാഴം","വെള്ളി","ശനി"],dayNamesMin:["ഞാ","തി","ചൊ","ബു","വ്യാ","വെ","ശ"],weekHeader:"ആ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ml)}),jQuery(function(e){e.datepicker.regional.ms={closeText:"Tutup",prevText:"&#x3C;Sebelum",nextText:"Selepas&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthNamesShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],dayNames:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],dayNamesShort:["Aha","Isn","Sel","Rab","kha","Jum","Sab"],dayNamesMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ms)}),jQuery(function(e){e.datepicker.regional.nb={closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.nb)}),jQuery(function(e){e.datepicker.regional["nl-BE"]={closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["nl-BE"])}),jQuery(function(e){e.datepicker.regional.nl={closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.nl)}),jQuery(function(e){e.datepicker.regional.nn={closeText:"Lukk",prevText:"&#xAB;Førre",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["sun","mån","tys","ons","tor","fre","lau"],dayNames:["sundag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"],dayNamesMin:["su","må","ty","on","to","fr","la"],weekHeader:"Veke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.nn)}),jQuery(function(e){e.datepicker.regional.no={closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.no)}),jQuery(function(e){e.datepicker.regional.pl={closeText:"Zamknij",prevText:"&#x3C;Poprzedni",nextText:"Następny&#x3E;",currentText:"Dziś",monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Śr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Śr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.pl)}),jQuery(function(e){e.datepicker.regional["pt-BR"]={closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Próximo&#x3E;",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["pt-BR"])}),jQuery(function(e){e.datepicker.regional.pt={closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.pt)}),jQuery(function(e){e.datepicker.regional.rm={closeText:"Serrar",prevText:"&#x3C;Suandant",nextText:"Precedent&#x3E;",currentText:"Actual",monthNames:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],monthNamesShort:["Scha","Fev","Mar","Avr","Matg","Zer","Fan","Avu","Sett","Oct","Nov","Dec"],dayNames:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"],dayNamesShort:["Dum","Gli","Mar","Mes","Gie","Ven","Som"],dayNamesMin:["Du","Gl","Ma","Me","Gi","Ve","So"],weekHeader:"emna",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.rm)}),jQuery(function(e){e.datepicker.regional.ro={closeText:"Închide",prevText:"&#xAB; Luna precedentă",nextText:"Luna următoare &#xBB;",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ro)}),jQuery(function(e){e.datepicker.regional.ru={closeText:"Закрыть",prevText:"&#x3C;Пред",nextText:"След&#x3E;",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ru)}),jQuery(function(e){e.datepicker.regional.sk={closeText:"Zavrieť",prevText:"&#x3C;Predchádzajúci",nextText:"Nasledujúci&#x3E;",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sk)}),jQuery(function(e){e.datepicker.regional.sl={closeText:"Zapri",prevText:"&#x3C;Prejšnji",nextText:"Naslednji&#x3E;",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sl)}),jQuery(function(e){e.datepicker.regional.sq={closeText:"mbylle",prevText:"&#x3C;mbrapa",nextText:"Përpara&#x3E;",currentText:"sot",monthNames:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthNamesShort:["Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gus","Sht","Tet","Nën","Dhj"],dayNames:["E Diel","E Hënë","E Martë","E Mërkurë","E Enjte","E Premte","E Shtune"],dayNamesShort:["Di","Hë","Ma","Më","En","Pr","Sh"],dayNamesMin:["Di","Hë","Ma","Më","En","Pr","Sh"],weekHeader:"Ja",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sq)}),jQuery(function(e){e.datepicker.regional["sr-SR"]={closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Sed",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional["sr-SR"])}),jQuery(function(e){e.datepicker.regional.sr={closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sr)}),jQuery(function(e){e.datepicker.regional.sv={closeText:"Stäng",prevText:"&#xAB;Förra",nextText:"Nästa&#xBB;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.sv)}),jQuery(function(e){e.datepicker.regional.ta={closeText:"மூடு",prevText:"முன்னையது",nextText:"அடுத்தது",currentText:"இன்று",monthNames:["தை","மாசி","பங்குனி","சித்திரை","வைகாசி","ஆனி","ஆடி","ஆவணி","புரட்டாசி","ஐப்பசி","கார்த்திகை","மார்கழி"],monthNamesShort:["தை","மாசி","பங்","சித்","வைகா","ஆனி","ஆடி","ஆவ","புர","ஐப்","கார்","மார்"],dayNames:["ஞாயிற்றுக்கிழமை","திங்கட்கிழமை","செவ்வாய்க்கிழமை","புதன்கிழமை","வியாழக்கிழமை","வெள்ளிக்கிழமை","சனிக்கிழமை"],dayNamesShort:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],dayNamesMin:["ஞா","தி","செ","பு","வி","வெ","ச"],weekHeader:"Не",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.ta)}),jQuery(function(e){e.datepicker.regional.th={closeText:"ปิด",prevText:"&#xAB;&#xA0;ย้อน",nextText:"ถัดไป&#xA0;&#xBB;",currentText:"วันนี้",monthNames:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthNamesShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.th)}),jQuery(function(e){e.datepicker.regional.tj={closeText:"Идома",prevText:"&#x3c;Қафо",nextText:"Пеш&#x3e;",currentText:"Имрӯз",monthNames:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["якшанбе","душанбе","сешанбе","чоршанбе","панҷшанбе","ҷумъа","шанбе"],dayNamesShort:["якш","душ","сеш","чор","пан","ҷум","шан"],dayNamesMin:["Як","Дш","Сш","Чш","Пш","Ҷм","Шн"],weekHeader:"Хф",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.tj)}),jQuery(function(e){e.datepicker.regional.tr={closeText:"kapat",prevText:"&#x3C;geri",nextText:"ileri&#x3e",currentText:"bugün",monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.tr)}),jQuery(function(e){e.datepicker.regional.uk={closeText:"Закрити",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],dayNames:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"],dayNamesShort:["нед","пнд","вів","срд","чтв","птн","сбт"],dayNamesMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.uk)}),jQuery(function(e){e.datepicker.regional.vi={closeText:"Đóng",prevText:"&#x3C;Trước",nextText:"Tiếp&#x3E;",currentText:"Hôm nay",monthNames:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},e.datepicker.setDefaults(e.datepicker.regional.vi)}),jQuery(function(e){e.datepicker.regional["zh-CN"]={closeText:"关闭",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional["zh-CN"])}),jQuery(function(e){e.datepicker.regional["zh-HK"]={closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"dd-mm-yy",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional["zh-HK"])}),jQuery(function(e){e.datepicker.regional["zh-TW"]={closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"},e.datepicker.setDefaults(e.datepicker.regional["zh-TW"])});(function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.2",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||t(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("<button></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html("&#160;"),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,a;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},a={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("<button></button>",s).button(a).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,a){s.position=[a.position.left-i.document.scrollLeft(),a.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(a))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,a=this.uiDialog.css("position"),o="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:o,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,a){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(a))}}).css("position",a)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,a=!1,o={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(a=!0),t in i&&(o[t]=s)}),a&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",o)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(e),i.has(".ui-menu").length?this.expand(e):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery);(function(t,e){t.widget("ui.progressbar",{version:"1.10.2",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,h,l,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),h=a.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-a.width()/2,top:e.pageY-h.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i,!0))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),u["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](u,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);(function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.2",options:{content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,a=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=a),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function a(t){l.of=t,o.is(":hidden")||o.position(l)}var o,r,h,l=t.extend({},this.options.position);if(n){if(o=this._find(s),o.length)return o.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),o=this._tooltip(s),e(s,o.attr("id")),o.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:a}),a(i)):o.position(t.extend({of:s},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){o.is(":visible")&&(a(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:o}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(o)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),a=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),a.stop(!0),this._hide(a,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:a}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("<div>").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery);(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,a){var o,r=a.re.exec(i),h=r&&a.parse(r),l=a.space||"rgba";return h?(o=s[l](h),s[c[l].cache]=o[c[l].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,o,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,h],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),a=c[n],o=0===this.alpha()?l("transparent"):this,r=o[a.cache]||a.to(o._rgba),h=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],l=s[a],c=u[n.type]||{};null!==l&&(null===o?h[a]=l:(c.mod&&(l-o>c.mod/2?o+=c.mod:o-l>c.mod/2&&(o-=c.mod)),h[a]=i((l-o)*e+o,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),h=Math.min(s,n,a),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-a)/l+360:n===r?60*(a-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[o]&&(this[o]=h(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[o]=d,n):l(d)},f(a,function(e,i){l.fn[e]||(l.fn[e]=function(n){var a,o=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=l(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var h=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",l=h.children?o.find("*").addBack():o;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.2",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);(function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var a,o,r,h=t(this),l=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(h,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",m=i.test(u),g={},v="show"===c;h.parent().is(".ui-effects-wrapper")?t.effects.save(h.parent(),l):t.effects.save(h,l),h.show(),a=t.effects.createWrapper(h).css({overflow:"hidden"}),o=a[p](),r=parseFloat(a.css(f))||0,g[p]=v?o:0,m||(h.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),g[f]=v?r:o+r),v&&(a.css(p,0),m||a.css(f,r+o)),a.animate(g,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&h.hide(),t.effects.restore(h,l),t.effects.removeWrapper(h),n()}})}})(jQuery);(function(t){t.effects.effect.bounce=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(o,e.mode||"effect"),l="hide"===h,c="show"===h,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||l?1:0),m=e.duration/f,g=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=o.queue(),y=b.length;for((c||l)&&r.push("opacity"),t.effects.save(o,r),o.show(),t.effects.createWrapper(o),d||(d=o["top"===v?"outerHeight":"outerWidth"]()/3),c&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,_?2*-d:2*d).animate(a,m,g)),l&&(d/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,o.animate(n,m,g).animate(a,m,g),d=l?2*d:d/2;l&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,o.animate(n,m,g)),o.queue(function(){l&&o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),o.dequeue()}})(jQuery);(function(t){t.effects.effect.clip=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(o,e.mode||"hide"),l="show"===h,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(o,r),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[d](),l&&(n.css(d,0),n.css(p,a/2)),f[d]=l?a:0,f[p]=l?0:a/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","opacity","height","width"],o=t.effects.setMode(n,e.mode||"hide"),r="show"===o,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,a),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===c?-s:s),u[l]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),m||p.hide(),i()}var a,o,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),m="show"===f,g=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(a=0;u>a;a++)for(h=g.top+a*_,c=a-(u-1)/2,o=0;d>o;o++)r=g.left+o*v,l=o-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(m?l*v:0),top:h+(m?c*_:0),opacity:m?0:1}).animate({left:r+(m?0:l*v),top:h+(m?0:c*_),opacity:m?1:0},e.duration||500,e.easing,s)}})(jQuery);(function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}})(jQuery);(function(t){t.effects.effect.fold=function(e,i){var s,n,a=t(this),o=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(a,e.mode||"hide"),h="show"===r,l="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=h!==d,f=p?["width","height"]:["height","width"],m=e.duration/2,g={},v={};t.effects.save(a,o),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[l?0:1]),h&&s.css(d?{height:0,width:c}:{height:c,width:0}),g[f[0]]=h?n[0]:c,v[f[1]]=h?n[1]:0,s.animate(g,m,e.easing).animate(v,m,e.easing,function(){l&&a.hide(),t.effects.restore(a,o),t.effects.removeWrapper(a),i()})}})(jQuery);(function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],a=t.effects.setMode(s,e.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&s.hide(),t.effects.restore(s,n),i()}})}})(jQuery);(function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),a=t.effects.setMode(n,e.mode||"show"),o="show"===a,r="hide"===a,h=o||"hide"===a,l=2*(e.times||5)+(h?1:0),c=e.duration/l,u=0,d=n.queue(),p=d.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;l>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,l+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),a="hide"===n,o=parseInt(e.percent,10)||150,r=o/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),a=t.effects.setMode(s,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===a?0:100),r=e.direction||"both",h=e.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=h||["middle","center"],n.restore=!0),n.from=e.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*c.y,width:l.width*c.x,outerHeight:l.outerHeight*c.y,outerWidth:l.outerWidth*c.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(o,e.mode||"effect"),f=e.restore||"effect"!==p,m=e.scale||"both",g=e.origin||["middle","center"],v=o.css("position"),_=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===e.mode&&"show"===p?(o.from=e.to||b,o.to=e.from||s):(o.from=e.from||("show"===p?b:s),o.to=e.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===m||"both"===m)&&(a.from.y!==a.to.y&&(_=_.concat(u),o.from=t.effects.setTransition(o,u,a.from.y,o.from),o.to=t.effects.setTransition(o,u,a.to.y,o.to)),a.from.x!==a.to.x&&(_=_.concat(d),o.from=t.effects.setTransition(o,d,a.from.x,o.from),o.to=t.effects.setTransition(o,d,a.to.x,o.to))),("content"===m||"both"===m)&&a.from.y!==a.to.y&&(_=_.concat(c).concat(l),o.from=t.effects.setTransition(o,c,a.from.y,o.from),o.to=t.effects.setTransition(o,c,a.to.y,o.to)),t.effects.save(o,_),o.show(),t.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),g&&(n=t.effects.getBaseline(g,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===m||"both"===m)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),l=r.concat(u).concat(d),o.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,l),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=t.effects.setTransition(i,u,a.from.y,i.from),i.to=t.effects.setTransition(i,u,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=t.effects.setTransition(i,d,a.from.x,i.from),i.to=t.effects.setTransition(i,d,a.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,l)})})),o.animate(o.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),t.effects.restore(o,_),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):t.each(["top","left"],function(t,e){o.css(e,function(e,i){var s=parseInt(i,10),n=t?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","height","width"],o=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",h=e.distance||20,l=e.times||3,c=2*l+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},m={},g={},v=n.queue(),_=v.length;for(t.effects.save(n,a),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+h,m[d]=(p?"+=":"-=")+2*h,g[d]=(p?"-=":"+=")+2*h,n.animate(f,u,e.easing),s=1;l>s;s++)n.animate(m,u,e.easing).animate(g,u,e.easing);n.animate(m,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","width","height"],o=t.effects.setMode(n,e.mode||"show"),r="show"===o,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u={};t.effects.save(n,a),n.show(),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,c?isNaN(s)?"-"+s:-s:s),u[l]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),a="fixed"===n.css("position"),o=t("body"),r=a?o.scrollTop():0,h=a?o.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}})(jQuery);
+
+/* - ++resource++jsi18n.js - */
+// https://docs.it4i.cz/portal_javascripts/++resource++jsi18n.js?original=1
+(function(jarn,$){jarn.i18n={storage:null,catalogs:{},currentLanguage:null,ttl:24 * 3600 * 1000,init: function(){jarn.i18n.currentLanguage=$('html').attr('lang');try{if('localStorage' in window&&window.localStorage!==null&&'JSON' in window&&window.JSON!==null){jarn.i18n.storage=localStorage}} catch(e){}},setTTL: function(millis){jarn.i18n.ttl=millis},_setCatalog: function(domain,language,catalog){if(domain in jarn.i18n.catalogs){jarn.i18n.catalogs[domain][language]=catalog} else{jarn.i18n.catalogs[domain]={};jarn.i18n.catalogs[domain][language]=catalog}},_storeCatalog: function(domain,language,catalog){var key=domain+'-'+language;if(jarn.i18n.storage!==null&&catalog!==null){jarn.i18n.storage.setItem(key,JSON.stringify(catalog));jarn.i18n.storage.setItem(key+'-updated',Date.now())}},loadCatalog: function(domain,language){if(typeof(language)==='undefined'){language=jarn.i18n.currentLanguage}
+if(jarn.i18n.storage!==null){var key=domain+'-'+language;if(key in jarn.i18n.storage){if((Date.now()-parseInt(jarn.i18n.storage.getItem(key+'-updated'),10))<jarn.i18n.ttl){var catalog=JSON.parse(jarn.i18n.storage.getItem(key));jarn.i18n._setCatalog(domain,language,catalog);return}}}
+$.getJSON(portal_url+'/jsi18n?'+'domain='+domain+'&language='+language,
+function(catalog){if(catalog===null){return}
+jarn.i18n._setCatalog(domain,language,catalog);jarn.i18n._storeCatalog(domain,language,catalog)})},MessageFactory: function(domain,language){language=language||jarn.i18n.currentLanguage;return function translate(msgid,keywords){var msgstr;if((domain in jarn.i18n.catalogs)&&(language in jarn.i18n.catalogs[domain])&&(msgid in jarn.i18n.catalogs[domain][language])){msgstr=jarn.i18n.catalogs[domain][language][msgid]} else{msgstr=msgid}
+if(keywords){var regexp,keyword;for(keyword in keywords){if(keywords.hasOwnProperty(keyword)){regexp=RegExp("\\$\\{"+keyword+'\\}','g');msgstr=msgstr.replace(regexp,keywords[keyword])}}}
+return msgstr}}};jarn.i18n.init()})(window.jarn=window.jarn||{},jQuery);
+
+/* - ++resource++tcp_scripts/cookiepolicy.js - */
+function hideCookiePolicy() {
+    jQuery("#viewlet-cookiepolicy").each(function() {
+        jQuery(this).slideUp(500);
+    });
+}
+function displayCookiePolicy() {
+    jQuery("#viewlet-cookiepolicy").each(function() {
+        jQuery(this).slideDown(500);
+    });
+}
+jQuery(function() {
+    var btn = document.getElementById("tlspu_cookiepolicy_button")
+    var chk = document.getElementById("tlspu_cookiepolicy_agreed")
+
+    if (btn == null) {
+        return;
+    }
+
+    btn.onclick = function() {
+        acceptCookiePolicy();
+        return false;
+    };
+    chk.onclick = function() {
+        if (chk.checked) {
+            btn.disabled = false;
+        } else {
+            btn.disabled = true;
+        }
+    };
+    function acceptCookiePolicy() {
+        var date = new Date();
+        date.setTime(date.getTime()+(90*24*60*60*1000));
+        var expires = "; expires="+date.toGMTString();
+        document.cookie = "cookie-policy=accepted"+expires+"; path=/";
+        hideCookiePolicy();
+        return false;
+    }
+    function confirmAcceptCookiePolicy()
+    {   
+        if (document.getElementById("cookie-agreed").checked) {
+            acceptCookiePolicy();
+        } else {
+            // This should never happen unless users are removing the disabled flag themselves.
+            alert("You must confirm that you have read and understood this message before dismissing it."); 
+        }
+    }
+    
+    var ca = document.cookie.split(';');
+    for(var i=0;i < ca.length;i++) {
+        var c = ca[i];
+        while (c.charAt(0)==' ') {
+            c = c.substring(1,c.length);
+        }
+        if (c.indexOf("cookie-policy=") == 0) {
+            acceptCookiePolicy();
+            return;
+        }
+    }
+    setTimeout(displayCookiePolicy, 1000);
+});
+
+
+/* XXX ERROR -- could not find '++resource++cioppino.twothumbs.javascripts/twothumbs.js'*/
diff --git a/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourcedropdown-menu-cachekey-b132c7c9cab5eb4d3c541e47271da509.js b/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourcedropdown-menu-cachekey-b132c7c9cab5eb4d3c541e47271da509.js
new file mode 100644
index 0000000000000000000000000000000000000000..e87dd491fd69bf95c50cbfec873417c245349cc9
--- /dev/null
+++ b/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourcedropdown-menu-cachekey-b132c7c9cab5eb4d3c541e47271da509.js	
@@ -0,0 +1,327 @@
+
+/* Merged Plone Javascript file
+ * This file is dynamically assembled from separate parts.
+ * Some of these parts have 3rd party licenses or copyright information attached
+ * Such information is valid for that section,
+ * not for the entire composite file
+ * originating files are separated by - filename.js -
+ */
+
+/* - ++resource++dropdown-menu.js - */
+// https://docs.it4i.cz/portal_javascripts/++resource++dropdown-menu.js?original=1
+jQuery(function($){$('#portal-globalnav .noClick').click(function(e){e.preventDefault()})});
+
+/* - ++resource++it4i.portal.common/highcharts.js - */
+/*
+ Highcharts JS v4.0.4 (2014-09-02)
+
+ (c) 2009-2014 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(){function r(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function w(){var a,b=arguments,c,d={},e=function(a,b){var c,d;typeof a!=="object"&&(a={});for(d in b)b.hasOwnProperty(d)&&(c=b[d],a[d]=c&&typeof c==="object"&&Object.prototype.toString.call(c)!=="[object Array]"&&d!=="renderTo"&&typeof c.nodeType!=="number"?e(a[d]||{},c):b[d]);return a};b[0]===!0&&(d=b[1],b=Array.prototype.slice.call(b,2));c=b.length;for(a=0;a<c;a++)d=e(d,b[a]);return d}function y(a,b){return parseInt(a,b||
+10)}function Ga(a){return typeof a==="string"}function da(a){return a&&typeof a==="object"}function Ha(a){return Object.prototype.toString.call(a)==="[object Array]"}function ja(a){return typeof a==="number"}function za(a){return V.log(a)/V.LN10}function ka(a){return V.pow(10,a)}function la(a,b){for(var c=a.length;c--;)if(a[c]===b){a.splice(c,1);break}}function s(a){return a!==u&&a!==null}function F(a,b,c){var d,e;if(Ga(b))s(c)?a.setAttribute(b,c):a&&a.getAttribute&&(e=a.getAttribute(b));else if(s(b)&&
+da(b))for(d in b)a.setAttribute(d,b[d]);return e}function ra(a){return Ha(a)?a:[a]}function p(){var a=arguments,b,c,d=a.length;for(b=0;b<d;b++)if(c=a[b],c!==u&&c!==null)return c}function B(a,b){if(Aa&&!ba&&b&&b.opacity!==u)b.filter="alpha(opacity="+b.opacity*100+")";r(a.style,b)}function $(a,b,c,d,e){a=x.createElement(a);b&&r(a,b);e&&B(a,{padding:0,border:P,margin:0});c&&B(a,c);d&&d.appendChild(a);return a}function ma(a,b){var c=function(){return u};c.prototype=new a;r(c.prototype,b);return c}function Ba(a,
+b,c,d){var e=K.numberFormat,f=E.lang,g=+a||0,h=b===-1?(g.toString().split(".")[1]||"").length:isNaN(b=Q(b))?2:b,i=c===void 0?f.decimalPoint:c,f=d===void 0?f.thousandsSep:d,j=g<0?"-":"",k=String(y(g=Q(g).toFixed(h))),l=k.length>3?k.length%3:0;return e!==Ba?e(a,b,c,d):j+(l?k.substr(0,l)+f:"")+k.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+f)+(h?i+Q(g-k).toFixed(h).slice(2):"")}function Ia(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function Na(a,b,c){var d=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments);
+a.unshift(d);return c.apply(this,a)}}function Ja(a,b){for(var c="{",d=!1,e,f,g,h,i,j=[];(c=a.indexOf(c))!==-1;){e=a.slice(0,c);if(d){f=e.split(":");g=f.shift().split(".");i=g.length;e=b;for(h=0;h<i;h++)e=e[g[h]];if(f.length)f=f.join(":"),g=/\.([0-9])/,h=E.lang,i=void 0,/f$/.test(f)?(i=(i=f.match(g))?i[1]:-1,e!==null&&(e=Ba(e,i,h.decimalPoint,f.indexOf(",")>-1?h.thousandsSep:""))):e=cb(f,e)}j.push(e);a=a.slice(c+1);c=(d=!d)?"}":"{"}j.push(a);return j.join("")}function mb(a){return V.pow(10,U(V.log(a)/
+V.LN10))}function nb(a,b,c,d){var e,c=p(c,1);e=a/c;b||(b=[1,2,2.5,5,10],d===!1&&(c===1?b=[1,2,5,10]:c<=0.1&&(b=[1/c])));for(d=0;d<b.length;d++)if(a=b[d],e<=(b[d]+(b[d+1]||b[d]))/2)break;a*=c;return a}function ob(a,b){var c=a.length,d,e;for(e=0;e<c;e++)a[e].ss_i=e;a.sort(function(a,c){d=b(a,c);return d===0?a.ss_i-c.ss_i:d});for(e=0;e<c;e++)delete a[e].ss_i}function Oa(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&(c=a[b]);return c}function Ca(a){for(var b=a.length,c=a[0];b--;)a[b]>c&&(c=a[b]);return c}
+function Pa(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function Qa(a){db||(db=$(Ka));a&&db.appendChild(a);db.innerHTML=""}function ea(a){return parseFloat(a.toPrecision(14))}function Ra(a,b){va=p(a,b.animation)}function Bb(){var a=E.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";Da=E.global.Date||window.Date;Sa=(a&&E.global.timezoneOffset||0)*6E4;eb=a?Da.UTC:function(a,b,c,g,h,i){return(new Da(a,b,p(c,1),p(g,0),p(h,0),p(i,0))).getTime()};pb=b+"Minutes";qb=b+
+"Hours";rb=b+"Day";Xa=b+"Date";fb=b+"Month";gb=b+"FullYear";Cb=c+"Minutes";Db=c+"Hours";sb=c+"Date";Eb=c+"Month";Fb=c+"FullYear"}function S(){}function Ta(a,b,c,d){this.axis=a;this.pos=b;this.type=c||"";this.isNew=!0;!c&&!d&&this.addLabel()}function na(){this.init.apply(this,arguments)}function Ya(){this.init.apply(this,arguments)}function Gb(a,b,c,d,e){var f=a.chart.inverted;this.axis=a;this.isNegative=c;this.options=b;this.x=d;this.total=null;this.points={};this.stack=e;this.alignOptions={align:b.align||
+(f?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(f?"middle":c?"bottom":"top"),y:p(b.y,f?4:c?14:-6),x:p(b.x,f?c?-6:6:0)};this.textAlign=b.textAlign||(f?c?"right":"left":"center")}var u,x=document,G=window,V=Math,v=V.round,U=V.floor,La=V.ceil,t=V.max,L=V.min,Q=V.abs,aa=V.cos,fa=V.sin,oa=V.PI,Ea=oa*2/360,wa=navigator.userAgent,Hb=G.opera,Aa=/msie/i.test(wa)&&!Hb,hb=x.documentMode===8,tb=/AppleWebKit/.test(wa),Ua=/Firefox/.test(wa),Ib=/(Mobile|Android|Windows Phone)/.test(wa),xa="http://www.w3.org/2000/svg",
+ba=!!x.createElementNS&&!!x.createElementNS(xa,"svg").createSVGRect,Ob=Ua&&parseInt(wa.split("Firefox/")[1],10)<4,ga=!ba&&!Aa&&!!x.createElement("canvas").getContext,Za,$a,Jb={},ub=0,db,E,cb,va,vb,A,ha,sa=function(){return u},W=[],ab=0,Ka="div",P="none",Pb=/^[0-9]+$/,Qb="stroke-width",Da,eb,Sa,pb,qb,rb,Xa,fb,gb,Cb,Db,sb,Eb,Fb,H={},K;G.Highcharts?ha(16,!0):K=G.Highcharts={};cb=function(a,b,c){if(!s(b)||isNaN(b))return"Invalid date";var a=p(a,"%Y-%m-%d %H:%M:%S"),d=new Da(b-Sa),e,f=d[qb](),g=d[rb](),
+h=d[Xa](),i=d[fb](),j=d[gb](),k=E.lang,l=k.weekdays,d=r({a:l[g].substr(0,3),A:l[g],d:Ia(h),e:h,b:k.shortMonths[i],B:k.months[i],m:Ia(i+1),y:j.toString().substr(2,2),Y:j,H:Ia(f),I:Ia(f%12||12),l:f%12||12,M:Ia(d[pb]()),p:f<12?"AM":"PM",P:f<12?"am":"pm",S:Ia(d.getSeconds()),L:Ia(v(b%1E3),3)},K.dateFormats);for(e in d)for(;a.indexOf("%"+e)!==-1;)a=a.replace("%"+e,typeof d[e]==="function"?d[e](b):d[e]);return c?a.substr(0,1).toUpperCase()+a.substr(1):a};ha=function(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+
+a;if(b)throw c;G.console&&console.log(c)};A={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:26784E5,year:31556952E3};vb={init:function(a,b,c){var b=b||"",d=a.shift,e=b.indexOf("C")>-1,f=e?7:3,g,b=b.split(" "),c=[].concat(c),h,i,j=function(a){for(g=a.length;g--;)a[g]==="M"&&a.splice(g+1,0,a[g+1],a[g+2],a[g+1],a[g+2])};e&&(j(b),j(c));a.isArea&&(h=b.splice(b.length-6,6),i=c.splice(c.length-6,6));if(d<=c.length/f&&b.length===c.length)for(;d--;)c=[].concat(c).splice(0,f).concat(c);
+a.shift=0;if(b.length)for(a=c.length;b.length<a;)d=[].concat(b).splice(b.length-f,f),e&&(d[f-6]=d[f-2],d[f-5]=d[f-1]),b=b.concat(d);h&&(b=b.concat(h),c=c.concat(i));return[b,c]},step:function(a,b,c,d){var e=[],f=a.length;if(c===1)e=d;else if(f===b.length&&c<1)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}};(function(a){G.HighchartsAdapter=G.HighchartsAdapter||a&&{init:function(b){var c=a.fx;a.extend(a.easing,{easeOutQuad:function(a,b,c,g,h){return-g*(b/=
+h)*(b-2)+c}});a.each(["cur","_default","width","height","opacity"],function(b,e){var f=c.step,g;e==="cur"?f=c.prototype:e==="_default"&&a.Tween&&(f=a.Tween.propHooks[e],e="set");(g=f[e])&&(f[e]=function(a){var c,a=b?a:this;if(a.prop!=="align")return c=a.elem,c.attr?c.attr(a.prop,e==="cur"?u:a.now):g.apply(this,arguments)})});Na(a.cssHooks.opacity,"get",function(a,b,c){return b.attr?b.opacity||0:a.call(this,b,c)});this.addAnimSetter("d",function(a){var c=a.elem,f;if(!a.started)f=b.init(c,c.d,c.toD),
+a.start=f[0],a.end=f[1],a.started=!0;c.attr("d",b.step(a.start,a.end,a.pos,c.toD))});this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(a,b){var c,g=a.length;for(c=0;c<g;c++)if(b.call(a[c],a[c],c,a)===!1)return c};a.fn.highcharts=function(){var a="Chart",b=arguments,c,g;if(this[0]){Ga(b[0])&&(a=b[0],b=Array.prototype.slice.call(b,1));c=b[0];if(c!==u)c.chart=c.chart||{},c.chart.renderTo=this[0],new K[a](c,b[1]),g=this;c===u&&(g=W[F(this[0],"data-highcharts-chart")])}return g}},
+addAnimSetter:function(b,c){a.Tween?a.Tween.propHooks[b]={set:c}:a.fx.step[b]=c},getScript:a.getScript,inArray:a.inArray,adapterRun:function(b,c){return a(b)[c]()},grep:a.grep,map:function(a,c){for(var d=[],e=0,f=a.length;e<f;e++)d[e]=c.call(a[e],a[e],e,a);return d},offset:function(b){return a(b).offset()},addEvent:function(b,c,d){a(b).bind(c,d)},removeEvent:function(b,c,d){var e=x.removeEventListener?"removeEventListener":"detachEvent";x[e]&&b&&!b[e]&&(b[e]=function(){});a(b).unbind(c,d)},fireEvent:function(b,
+c,d,e){var f=a.Event(c),g="detached"+c,h;!Aa&&d&&(delete d.layerX,delete d.layerY,delete d.returnValue);r(f,d);b[c]&&(b[g]=b[c],b[c]=null);a.each(["preventDefault","stopPropagation"],function(a,b){var c=f[b];f[b]=function(){try{c.call(f)}catch(a){b==="preventDefault"&&(h=!0)}}});a(b).trigger(f);b[g]&&(b[c]=b[g],b[g]=null);e&&!f.isDefaultPrevented()&&!h&&e(f)},washMouseEvent:function(a){var c=a.originalEvent||a;if(c.pageX===u)c.pageX=a.pageX,c.pageY=a.pageY;return c},animate:function(b,c,d){var e=
+a(b);if(!b.style)b.style={};if(c.d)b.toD=c.d,c.d=1;e.stop();c.opacity!==u&&b.attr&&(c.opacity+="px");b.hasAnim=1;e.animate(c,d)},stop:function(b){b.hasAnim&&a(b).stop()}}})(G.jQuery);var T=G.HighchartsAdapter,M=T||{};T&&T.init.call(T,vb);var ib=M.adapterRun,Rb=M.getScript,Ma=M.inArray,q=M.each,wb=M.grep,Sb=M.offset,Va=M.map,N=M.addEvent,X=M.removeEvent,I=M.fireEvent,Tb=M.washMouseEvent,jb=M.animate,bb=M.stop,M={enabled:!0,x:0,y:15,style:{color:"#606060",cursor:"default",fontSize:"11px"}};E={colors:"#7cb5ec,#434348,#90ed7d,#f7a35c,#8085e9,#f15c80,#e4d354,#8085e8,#8d4653,#91e8e1".split(","),
+symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,
+canvasToolsURL:"http://code.highcharts.com/4.0.4/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/4.0.4/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",margin:15,style:{color:"#333333",fontSize:"18px"}},subtitle:{text:"",
+align:"center",style:{color:"#555555"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},lineWidth:2,marker:{lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0,lineWidthPlus:1,radiusPlus:2},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:w(M,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":Ba(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,states:{hover:{lineWidthPlus:1,
+marker:{},halo:{size:10,opacity:0.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#909090",borderRadius:0,navigation:{activeColor:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",
+width:"13px",height:"13px"},symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,animation:ba,backgroundColor:"rgba(249, 249, 249, .85)",borderWidth:1,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",
+day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">â—Ź</span> {series.name}: <b>{point.y}</b><br/>',shadow:!0,snap:Ib?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",
+color:"#909090",fontSize:"9px"}}};var ca=E.plotOptions,T=ca.line;Bb();var Ub=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,Vb=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,Wb=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,ya=function(a){var b=[],c,d;(function(a){a&&a.stops?d=Va(a.stops,function(a){return ya(a[1])}):(c=Ub.exec(a))?b=[y(c[1]),y(c[2]),y(c[3]),parseFloat(c[4],10)]:(c=Vb.exec(a))?b=[y(c[1],16),y(c[2],16),y(c[3],
+16),1]:(c=Wb.exec(a))&&(b=[y(c[1]),y(c[2]),y(c[3]),1])})(a);return{get:function(c){var f;d?(f=w(a),f.stops=[].concat(f.stops),q(d,function(a,b){f.stops[b]=[f.stops[b][0],a.get(c)]})):f=b&&!isNaN(b[0])?c==="rgb"?"rgb("+b[0]+","+b[1]+","+b[2]+")":c==="a"?b[3]:"rgba("+b.join(",")+")":a;return f},brighten:function(a){if(d)q(d,function(b){b.brighten(a)});else if(ja(a)&&a!==0){var c;for(c=0;c<3;c++)b[c]+=y(a*255),b[c]<0&&(b[c]=0),b[c]>255&&(b[c]=255)}return this},rgba:b,setOpacity:function(a){b[3]=a;return this}}};
+S.prototype={opacity:1,textProps:"fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow,HcTextStroke".split(","),init:function(a,b){this.element=b==="span"?$(b):x.createElementNS(xa,b);this.renderer=a},animate:function(a,b,c){b=p(b,va,!0);bb(this);if(b){b=w(b,{});if(c)b.complete=c;jb(this,a,b)}else this.attr(a),c&&c();return this},colorGradient:function(a,b,c){var d=this.renderer,e,f,g,h,i,j,k,l,n,m,o=[];a.linearGradient?f="linearGradient":a.radialGradient&&(f="radialGradient");
+if(f){g=a[f];h=d.gradients;j=a.stops;n=c.radialReference;Ha(g)&&(a[f]=g={x1:g[0],y1:g[1],x2:g[2],y2:g[3],gradientUnits:"userSpaceOnUse"});f==="radialGradient"&&n&&!s(g.gradientUnits)&&(g=w(g,{cx:n[0]-n[2]/2+g.cx*n[2],cy:n[1]-n[2]/2+g.cy*n[2],r:g.r*n[2],gradientUnits:"userSpaceOnUse"}));for(m in g)m!=="id"&&o.push(m,g[m]);for(m in j)o.push(j[m]);o=o.join(",");h[o]?a=h[o].attr("id"):(g.id=a="highcharts-"+ub++,h[o]=i=d.createElement(f).attr(g).add(d.defs),i.stops=[],q(j,function(a){a[1].indexOf("rgba")===
+0?(e=ya(a[1]),k=e.get("rgb"),l=e.get("a")):(k=a[1],l=1);a=d.createElement("stop").attr({offset:a[0],"stop-color":k,"stop-opacity":l}).add(i);i.stops.push(a)}));c.setAttribute(b,"url("+d.url+"#"+a+")")}},attr:function(a,b){var c,d,e=this.element,f,g=this,h;typeof a==="string"&&b!==u&&(c=a,a={},a[c]=b);if(typeof a==="string")g=(this[a+"Getter"]||this._defaultGetter).call(this,a,e);else{for(c in a){d=a[c];h=!1;this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(c)&&(f||(this.symbolAttr(a),
+f=!0),h=!0);if(this.rotation&&(c==="x"||c==="y"))this.doTransform=!0;h||(this[c+"Setter"]||this._defaultSetter).call(this,d,c,e);this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(c)&&this.updateShadows(c,d)}if(this.doTransform)this.updateTransform(),this.doTransform=!1}return g},updateShadows:function(a,b){for(var c=this.shadows,d=c.length;d--;)c[d].setAttribute(a,a==="height"?t(b-(c[d].cutHeight||0),0):a==="d"?this.d:b)},addClass:function(a){var b=this.element,c=F(b,"class")||
+"";c.indexOf(a)===-1&&F(b,"class",c+" "+a);return this},symbolAttr:function(a){var b=this;q("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=p(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":P)},crisp:function(a){var b,c={},d,e=a.strokeWidth||this.strokeWidth||0;d=v(e)%2/2;a.x=U(a.x||this.x||0)+d;a.y=U(a.y||this.y||0)+d;a.width=U((a.width||this.width||
+0)-2*d);a.height=U((a.height||this.height||0)-2*d);a.strokeWidth=e;for(b in a)this[b]!==a[b]&&(this[b]=c[b]=a[b]);return c},css:function(a){var b=this.styles,c={},d=this.element,e,f,g="";e=!b;if(a&&a.color)a.fill=a.color;if(b)for(f in a)a[f]!==b[f]&&(c[f]=a[f],e=!0);if(e){e=this.textWidth=a&&a.width&&d.nodeName.toLowerCase()==="text"&&y(a.width);b&&(a=r(b,c));this.styles=a;e&&(ga||!ba&&this.renderer.forExport)&&delete a.width;if(Aa&&!ba)B(this.element,a);else{b=function(a,b){return"-"+b.toLowerCase()};
+for(f in a)g+=f.replace(/([A-Z])/g,b)+":"+a[f]+";";F(d,"style",g)}e&&this.added&&this.renderer.buildText(this)}return this},on:function(a,b){var c=this,d=c.element;$a&&a==="click"?(d.ontouchstart=function(a){c.touchEventFired=Da.now();a.preventDefault();b.call(d,a)},d.onclick=function(a){(wa.indexOf("Android")===-1||Da.now()-(c.touchEventFired||0)>1100)&&b.call(d,a)}):d["on"+a]=b;return this},setRadialReference:function(a){this.element.radialReference=a;return this},translate:function(a,b){return this.attr({translateX:a,
+translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted,f=this.rotation,g=this.element;e&&(a+=this.attr("width"),b+=this.attr("height"));a=["translate("+a+","+b+")"];e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(g.getAttribute("x")||0)+" "+(g.getAttribute("y")||0)+")");(s(c)||s(d))&&a.push("scale("+p(c,1)+" "+p(d,1)+")");a.length&&g.setAttribute("transform",
+a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,b,c){var d,e,f,g,h={};e=this.renderer;f=e.alignedObjects;if(a){if(this.alignOptions=a,this.alignByTranslate=b,!c||Ga(c))this.alignTo=d=c||"renderer",la(f,this),f.push(this),c=null}else a=this.alignOptions,b=this.alignByTranslate,d=this.alignTo;c=p(c,e[d],e);d=a.align;e=a.verticalAlign;f=(c.x||0)+(a.x||0);g=(c.y||0)+(a.y||0);if(d==="right"||d==="center")f+=(c.width-(a.width||0))/{right:1,center:2}[d];
+h[b?"translateX":"x"]=v(f);if(e==="bottom"||e==="middle")g+=(c.height-(a.height||0))/({bottom:1,middle:2}[e]||1);h[b?"translateY":"y"]=v(g);this[this.placed?"animate":"attr"](h);this.placed=!0;this.alignAttr=h;return this},getBBox:function(){var a=this.bBox,b=this.renderer,c,d,e=this.rotation;c=this.element;var f=this.styles,g=e*Ea;d=this.textStr;var h;if(d===""||Pb.test(d))h="num."+d.toString().length+(f?"|"+f.fontSize+"|"+f.fontFamily:"");h&&(a=b.cache[h]);if(!a){if(c.namespaceURI===xa||b.forExport){try{a=
+c.getBBox?r({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight}}catch(i){}if(!a||a.width<0)a={width:0,height:0}}else a=this.htmlGetBBox();if(b.isSVG){c=a.width;d=a.height;if(Aa&&f&&f.fontSize==="11px"&&d.toPrecision(3)==="16.9")a.height=d=14;if(e)a.width=Q(d*fa(g))+Q(c*aa(g)),a.height=Q(d*aa(g))+Q(c*fa(g))}this.bBox=a;h&&(b.cache[h]=a)}return a},show:function(a){a&&this.element.namespaceURI===xa?this.element.removeAttribute("visibility"):this.attr({visibility:a?"inherit":"visible"});return this},
+hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,c=a||b,d=c.element||b.box,e=this.element,f=this.zIndex,g,h;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&b.buildText(this);if(f)c.handleZ=!0,f=y(f);if(c.handleZ){a=d.childNodes;for(g=0;g<a.length;g++)if(b=a[g],c=F(b,"zIndex"),b!==e&&(y(c)>f||!s(f)&&s(c))){d.insertBefore(e,
+b);h=!0;break}}h||d.appendChild(e);this.added=!0;if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,b=a.element||{},c=a.shadows,d=a.renderer.isSVG&&b.nodeName==="SPAN"&&a.parentGroup,e,f;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;bb(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(f=0;f<a.stops.length;f++)a.stops[f]=a.stops[f].destroy();a.stops=null}a.safeRemoveChild(b);for(c&&
+q(c,function(b){a.safeRemoveChild(b)});d&&d.div&&d.div.childNodes.length===0;)b=d.parentGroup,a.safeRemoveChild(d.div),delete d.div,d=b;a.alignTo&&la(a.renderer.alignedObjects,a);for(e in a)delete a[e];return null},shadow:function(a,b,c){var d=[],e,f,g=this.element,h,i,j,k;if(a){i=p(a.width,3);j=(a.opacity||0.15)/i;k=this.parentInverted?"(-1,-1)":"("+p(a.offsetX,1)+", "+p(a.offsetY,1)+")";for(e=1;e<=i;e++){f=g.cloneNode(0);h=i*2+1-2*e;F(f,{isShadow:"true",stroke:a.color||"black","stroke-opacity":j*
+e,"stroke-width":h,transform:"translate"+k,fill:P});if(c)F(f,"height",t(F(f,"height")-h,0)),f.cutHeight=h;b?b.element.appendChild(f):g.parentNode.insertBefore(f,g);d.push(f)}this.shadows=d}return this},xGetter:function(a){this.element.nodeName==="circle"&&(a={x:"cx",y:"cy"}[a]||a);return this._defaultGetter(a)},_defaultGetter:function(a){a=p(this[a],this.element?this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,c){a&&a.join&&(a=a.join(" "));
+/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");c.setAttribute(b,a);this[b]=a},dashstyleSetter:function(a){var b;if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(b=a.length;b--;)a[b]=y(a[b])*this["stroke-width"];a=a.join(",").replace("NaN","none");this.element.setAttribute("stroke-dasharray",a)}},
+alignSetter:function(a){this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,c){this[b]=a;c.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=x.createElementNS(xa,"title"),this.element.appendChild(b));b.textContent=p(a,"").replace(/<[^>]*>/g,"")},textSetter:function(a){if(a!==this.textStr)delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this)},fillSetter:function(a,b,
+c){typeof a==="string"?c.setAttribute(b,a):a&&this.colorGradient(a,b,c)},zIndexSetter:function(a,b,c){c.setAttribute(b,a);this[b]=a},_defaultSetter:function(a,b,c){c.setAttribute(b,a)}};S.prototype.yGetter=S.prototype.xGetter;S.prototype.translateXSetter=S.prototype.translateYSetter=S.prototype.rotationSetter=S.prototype.verticalAlignSetter=S.prototype.scaleXSetter=S.prototype.scaleYSetter=function(a,b){this[b]=a;this.doTransform=!0};S.prototype["stroke-widthSetter"]=S.prototype.strokeSetter=function(a,
+b,c){this[b]=a;if(this.stroke&&this["stroke-width"])this.strokeWidth=this["stroke-width"],S.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0;else if(b==="stroke-width"&&a===0&&this.hasStroke)c.removeAttribute("stroke"),this.hasStroke=!1};var ta=function(){this.init.apply(this,arguments)};ta.prototype={Element:S,init:function(a,b,c,d,e){var f=location,g,d=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(d));
+g=d.element;a.appendChild(g);a.innerHTML.indexOf("xmlns")===-1&&F(g,"xmlns",xa);this.isSVG=!0;this.box=g;this.boxWrapper=d;this.alignedObjects=[];this.url=(Ua||tb)&&x.getElementsByTagName("base").length?f.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(x.createTextNode("Created with Highcharts 4.0.4"));this.defs=this.createElement("defs").add();this.forExport=e;this.gradients={};this.cache={};this.setSize(b,c,!1);var h;
+if(Ua&&a.getBoundingClientRect)this.subPixelFix=b=function(){B(a,{left:0,top:0});h=a.getBoundingClientRect();B(a,{left:La(h.left)-h.left+"px",top:La(h.top)-h.top+"px"})},b(),N(G,"resize",b)},getStyle:function(a){return this.style=r({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();Pa(this.gradients||
+{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&X(G,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:function(){},buildText:function(a){for(var b=a.element,c=this,d=c.forExport,e=p(a.textStr,"").toString(),f=e.indexOf("<")!==-1,g=b.childNodes,h,i,j=F(b,"x"),k=a.styles,l=a.textWidth,n=k&&k.lineHeight,m=k&&k.HcTextStroke,o=g.length,Y=function(a){return n?y(n):c.fontMetrics(/(px|em)$/.test(a&&
+a.style.fontSize)?a.style.fontSize:k&&k.fontSize||c.style.fontSize||12,a).h};o--;)b.removeChild(g[o]);!f&&!m&&e.indexOf(" ")===-1?b.appendChild(x.createTextNode(e)):(h=/<.*style="([^"]+)".*>/,i=/<.*href="(http[^"]+)".*>/,l&&!a.added&&this.box.appendChild(b),e=f?e.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g):[e],e[e.length-1]===""&&e.pop(),q(e,function(e,
+f){var g,n=0,e=e.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");g=e.split("|||");q(g,function(e){if(e!==""||g.length===1){var m={},o=x.createElementNS(xa,"tspan"),p;h.test(e)&&(p=e.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),F(o,"style",p));i.test(e)&&!d&&(F(o,"onclick",'location.href="'+e.match(i)[1]+'"'),B(o,{cursor:"pointer"}));e=(e.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");if(e!==" "){o.appendChild(x.createTextNode(e));if(n)m.dx=0;else if(f&&
+j!==null)m.x=j;F(o,m);b.appendChild(o);!n&&f&&(!ba&&d&&B(o,{display:"block"}),F(o,"dy",Y(o)));if(l)for(var e=e.replace(/([^\^])-/g,"$1- ").split(" "),m=g.length>1||e.length>1&&k.whiteSpace!=="nowrap",q,D,s=k.HcHeight,t=[],u=Y(o),Lb=1;m&&(e.length||t.length);)delete a.bBox,q=a.getBBox(),D=q.width,!ba&&c.forExport&&(D=c.measureSpanWidth(o.firstChild.data,a.styles)),q=D>l,!q||e.length===1?(e=t,t=[],e.length&&(Lb++,s&&Lb*u>s?(e=["..."],a.attr("title",a.textStr)):(o=x.createElementNS(xa,"tspan"),F(o,{dy:u,
+x:j}),p&&F(o,"style",p),b.appendChild(o))),D>l&&(l=D)):(o.removeChild(o.firstChild),t.unshift(e.pop())),e.length&&o.appendChild(x.createTextNode(e.join(" ").replace(/- /g,"-")));n++}}})}))},button:function(a,b,c,d,e,f,g,h,i){var j=this.label(a,b,c,i,null,null,null,null,"button"),k=0,l,n,m,o,p,q,a={x1:0,y1:0,x2:0,y2:1},e=w({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:a,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},e);m=e.style;delete e.style;f=w(e,{stroke:"#68A",
+fill:{linearGradient:a,stops:[[0,"#FFF"],[1,"#ACF"]]}},f);o=f.style;delete f.style;g=w(e,{stroke:"#68A",fill:{linearGradient:a,stops:[[0,"#9BD"],[1,"#CDF"]]}},g);p=g.style;delete g.style;h=w(e,{style:{color:"#CCC"}},h);q=h.style;delete h.style;N(j.element,Aa?"mouseover":"mouseenter",function(){k!==3&&j.attr(f).css(o)});N(j.element,Aa?"mouseout":"mouseleave",function(){k!==3&&(l=[e,f,g][k],n=[m,o,p][k],j.attr(l).css(n))});j.setState=function(a){(j.state=k=a)?a===2?j.attr(g).css(p):a===3&&j.attr(h).css(q):
+j.attr(e).css(m)};return j.on("click",function(){k!==3&&d.call(j)}).attr(e).css(r({cursor:"default"},m))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=v(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=v(a[2])+b%2/2);return a},path:function(a){var b={fill:P};Ha(a)?b.d=a:da(a)&&r(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=da(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=function(a){this.element.setAttribute("cx",a)};b.ySetter=function(a){this.element.setAttribute("cy",
+a)};return b.attr(a)},arc:function(a,b,c,d,e,f){if(da(a))b=a.y,c=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:e||0,end:f||0});a.r=c;return a},rect:function(a,b,c,d,e,f){var e=da(a)?a.r:e,g=this.createElement("rect"),a=da(a)?a:a===u?{}:{x:a,y:b,width:t(c,0),height:t(d,0)};if(f!==u)a.strokeWidth=f,a=g.crisp(a);if(e)a.r=e;g.rSetter=function(a){F(this.element,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;
+this.width=a;this.height=b;for(this.boxWrapper[p(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return s(a)?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,c,d,e){var f={preserveAspectRatio:P};arguments.length>1&&r(f,{x:b,y:c,width:d,height:e});f=this.createElement("image").attr(f);f.element.setAttributeNS?f.element.setAttributeNS("http://www.w3.org/1999/xlink","href",a):f.element.setAttribute("hc-svg-href",a);return f},symbol:function(a,
+b,c,d,e,f){var g,h=this.symbols[a],h=h&&h(v(b),v(c),d,e,f),i=/^url\((.*?)\)$/,j,k;if(h)g=this.path(h),r(g,{symbolName:a,x:b,y:c,width:d,height:e}),f&&r(g,f);else if(i.test(a))k=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(v((d-b[0])/2),v((e-b[1])/2)))},j=a.match(i)[1],a=Jb[j]||f&&f.width&&f.height&&[f.width,f.height],g=this.image(j).attr({x:b,y:c}),g.isImg=!0,a?k(g,a):(g.attr({width:0,height:0}),$("img",{onload:function(){k(g,Jb[j]=[this.width,this.height])},
+src:j}));return g},symbols:{circle:function(a,b,c,d){var e=0.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-
+0.001,d=e.innerR,h=e.open,i=aa(f),j=fa(f),k=aa(g),g=fa(g),e=e.end-f<oa?0:1;return["M",a+c*i,b+c*j,"A",c,c,0,e,1,a+c*k,b+c*g,h?"M":"L",a+d*k,b+d*g,"A",d,d,0,e,0,a+d*i,b+d*j,h?"":"Z"]},callout:function(a,b,c,d,e){var f=L(e&&e.r||0,c,d),g=f+6,h=e&&e.anchorX,i=e&&e.anchorY,e=v(e.strokeWidth||0)%2/2;a+=e;b+=e;e=["M",a+f,b,"L",a+c-f,b,"C",a+c,b,a+c,b,a+c,b+f,"L",a+c,b+d-f,"C",a+c,b+d,a+c,b+d,a+c-f,b+d,"L",a+f,b+d,"C",a,b+d,a,b+d,a,b+d-f,"L",a,b+f,"C",a,b,a,b,a+f,b];h&&h>c&&i>b+g&&i<b+d-g?e.splice(13,3,
+"L",a+c,i-6,a+c+6,i,a+c,i+6,a+c,b+d-f):h&&h<0&&i>b+g&&i<b+d-g?e.splice(33,3,"L",a,i+6,a-6,i,a,i-6,a,b+f):i&&i>d&&h>a+g&&h<a+c-g?e.splice(23,3,"L",h+6,b+d,h,b+d+6,h-6,b+d,a+f,b+d):i&&i<0&&h>a+g&&h<a+c-g&&e.splice(3,3,"L",h-6,b,h,b-6,h+6,b,c-f,b);return e}},clipRect:function(a,b,c,d){var e="highcharts-"+ub++,f=this.createElement("clipPath").attr({id:e}).add(this.defs),a=this.rect(a,b,c,d,0).add(f);a.id=e;a.clipPath=f;return a},text:function(a,b,c,d){var e=ga||!ba&&this.forExport,f={};if(d&&!this.forExport)return this.html(a,
+b,c);f.x=Math.round(b||0);if(c)f.y=Math.round(c);if(a||a===0)f.text=a;a=this.createElement("text").attr(f);e&&a.css({position:"absolute"});if(!d)a.xSetter=function(a,b,c){var d=c.getElementsByTagName("tspan"),e,f=c.getAttribute(b),n;for(n=0;n<d.length;n++)e=d[n],e.getAttribute(b)===f&&e.setAttribute(b,a);c.setAttribute(b,a)};return a},fontMetrics:function(a,b){a=a||this.style.fontSize;if(b&&G.getComputedStyle)b=b.element||b,a=G.getComputedStyle(b,"").fontSize;var a=/px/.test(a)?y(a):/em/.test(a)?
+parseFloat(a)*12:12,c=a<24?a+4:v(a*1.2),d=v(c*0.8);return{h:c,b:d,f:a}},label:function(a,b,c,d,e,f,g,h,i){function j(){var a,b;a=o.element.style;D=(t===void 0||xb===void 0||m.styles.textAlign)&&o.textStr&&o.getBBox();m.width=(t||D.width||0)+2*C+kb;m.height=(xb||D.height||0)+2*C;R=C+n.fontMetrics(a&&a.fontSize,o).b;if(y){if(!p)a=v(-J*C),b=h?-R:0,m.box=p=d?n.symbol(d,a,b,m.width,m.height,z):n.rect(a,b,m.width,m.height,0,z[Qb]),p.attr("fill",P).add(m);p.isImg||p.attr(r({width:v(m.width),height:v(m.height)},
+z));z=null}}function k(){var a=m.styles,a=a&&a.textAlign,b=kb+C*(1-J),c;c=h?0:R;if(s(t)&&D&&(a==="center"||a==="right"))b+={center:0.5,right:1}[a]*(t-D.width);if(b!==o.x||c!==o.y)o.attr("x",b),c!==u&&o.attr("y",c);o.x=b;o.y=c}function l(a,b){p?p.attr(a,b):z[a]=b}var n=this,m=n.g(i),o=n.text("",0,0,g).attr({zIndex:1}),p,D,J=0,C=3,kb=0,t,xb,yb,x,Kb=0,z={},R,y;m.onAdd=function(){o.add(m);m.attr({text:a||a===0?a:"",x:b,y:c});p&&s(e)&&m.attr({anchorX:e,anchorY:f})};m.widthSetter=function(a){t=a};m.heightSetter=
+function(a){xb=a};m.paddingSetter=function(a){s(a)&&a!==C&&(C=a,k())};m.paddingLeftSetter=function(a){s(a)&&a!==kb&&(kb=a,k())};m.alignSetter=function(a){J={left:0,center:0.5,right:1}[a]};m.textSetter=function(a){a!==u&&o.textSetter(a);j();k()};m["stroke-widthSetter"]=function(a,b){a&&(y=!0);Kb=a%2/2;l(b,a)};m.strokeSetter=m.fillSetter=m.rSetter=function(a,b){b==="fill"&&a&&(y=!0);l(b,a)};m.anchorXSetter=function(a,b){e=a;l(b,a+Kb-yb)};m.anchorYSetter=function(a,b){f=a;l(b,a-x)};m.xSetter=function(a){m.x=
+a;J&&(a-=J*((t||D.width)+C));yb=v(a);m.attr("translateX",yb)};m.ySetter=function(a){x=m.y=v(a);m.attr("translateY",x)};var A=m.css;return r(m,{css:function(a){if(a){var b={},a=w(a);q(m.textProps,function(c){a[c]!==u&&(b[c]=a[c],delete a[c])});o.css(b)}return A.call(m,a)},getBBox:function(){return{width:D.width+2*C,height:D.height+2*C,x:D.x-C,y:D.y-C}},shadow:function(a){p&&p.shadow(a);return m},destroy:function(){X(m.element,"mouseenter");X(m.element,"mouseleave");o&&(o=o.destroy());p&&(p=p.destroy());
+S.prototype.destroy.call(m);m=n=j=k=l=null}})}};Za=ta;r(S.prototype,{htmlCss:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=r(this.styles,a);B(this.element,a);return this},htmlGetBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")a.style.position="absolute";b=this.bBox={x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}return b},htmlUpdateTransform:function(){if(this.added){var a=
+this.renderer,b=this.element,c=this.translateX||0,d=this.translateY||0,e=this.x||0,f=this.y||0,g=this.textAlign||"left",h={left:0,center:0.5,right:1}[g],i=this.shadows;B(b,{marginLeft:c,marginTop:d});i&&q(i,function(a){B(a,{marginLeft:c+1,marginTop:d+1})});this.inverted&&q(b.childNodes,function(c){a.invertChild(c,b)});if(b.tagName==="SPAN"){var j=this.rotation,k,l=y(this.textWidth),n=[j,g,b.innerHTML,this.textWidth].join(",");if(n!==this.cTT){k=a.fontMetrics(b.style.fontSize).b;s(j)&&this.setSpanRotation(j,
+h,k);i=p(this.elemWidth,b.offsetWidth);if(i>l&&/[ \-]/.test(b.textContent||b.innerText))B(b,{width:l+"px",display:"block",whiteSpace:"normal"}),i=l;this.getSpanCorrection(i,k,h,j,g)}B(b,{left:e+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});if(tb)k=b.offsetHeight;this.cTT=n}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=Aa?"-ms-transform":tb?"-webkit-transform":Ua?"MozTransform":Hb?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)";d[e+(Ua?"Origin":"-origin")]=d.transformOrigin=
+b*100+"% "+c+"px";B(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});r(ta.prototype,{html:function(a,b,c){var d=this.createElement("span"),e=d.element,f=d.renderer;d.textSetter=function(a){a!==e.innerHTML&&delete this.bBox;e.innerHTML=this.textStr=a};d.xSetter=d.ySetter=d.alignSetter=d.rotationSetter=function(a,b){b==="align"&&(b="textAlign");d[b]=a;d.htmlUpdateTransform()};d.attr({text:a,x:v(b),y:v(c)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:this.style.fontFamily,
+fontSize:this.style.fontSize});d.css=d.htmlCss;if(f.isSVG)d.add=function(a){var b,c=f.box.parentNode,j=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)j.push(a),a=a.parentGroup;q(j.reverse(),function(a){var d;b=a.div=a.div||$(Ka,{className:F(a.element,"class")},{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},b||c);d=b.style;r(a,{translateXSetter:function(b,c){d.left=b+"px";a[c]=b;a.doTransform=!0},translateYSetter:function(b,c){d.top=b+"px";a[c]=b;a.doTransform=!0},visibilitySetter:function(a,
+b){d[b]=a}})})}}else b=c;b.appendChild(e);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d};return d}});var Z;if(!ba&&!ga){Z={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b===Ka;(b==="shape"||e)&&d.push("left:0;top:0;width:1px;height:1px;");d.push("visibility: ",e?"hidden":"visible");c.push(' style="',d.join(""),'"/>');if(b)c=e||b==="span"||b==="img"?c.join(""):a.prepVML(c),this.element=$(c);this.renderer=a},add:function(a){var b=this.renderer,
+c=this.element,d=b.box,d=a?a.element||a:d;a&&a.inverted&&b.invertChild(c,d);d.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();return this},updateTransform:S.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=aa(a*Ea),c=fa(a*Ea);B(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-c,", M21=",c,", M22=",b,", sizingMethod='auto expand')"].join(""):P})},getSpanCorrection:function(a,
+b,c,d,e){var f=d?aa(d*Ea):1,g=d?fa(d*Ea):0,h=p(this.elemHeight,this.element.offsetHeight),i;this.xCorr=f<0&&-a;this.yCorr=g<0&&-h;i=f*g<0;this.xCorr+=g*b*(i?1-c:c);this.yCorr-=f*b*(d?i?c:1-c:1);e&&e!=="left"&&(this.xCorr-=a*c*(f<0?-1:1),d&&(this.yCorr-=h*c*(g<0?-1:1)),B(this.element,{textAlign:e}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)if(ja(a[b]))c[b]=v(a[b]*10)-5;else if(a[b]==="Z")c[b]="x";else if(c[b]=a[b],a.isArc&&(a[b]==="wa"||a[b]==="at"))c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+
+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1);return c.join(" ")||"x"},clip:function(a){var b=this,c;a?(c=a.members,la(c,b),c.push(b),b.destroyClip=function(){la(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:hb?"inherit":"rect(auto)"});return b.css(a)},css:S.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&Qa(a)},destroy:function(){this.destroyClip&&this.destroyClip();return S.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=
+G.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var c,a=a.split(/[ ,]/);c=a.length;if(c===9||c===11)a[c-4]=a[c-2]=y(a[c-2])-10*b;return a.join(" ")},shadow:function(a,b,c){var d=[],e,f=this.element,g=this.renderer,h,i=f.style,j,k=f.path,l,n,m,o;k&&typeof k.value!=="string"&&(k="x");n=k;if(a){m=p(a.width,3);o=(a.opacity||0.15)/m;for(e=1;e<=3;e++){l=m*2+1-2*e;c&&(n=this.cutOffPath(k.value,l+0.5));j=['<shape isShadow="true" strokeweight="',l,'" filled="false" path="',n,'" coordsize="10 10" style="',
+f.style.cssText,'" />'];h=$(g.prepVML(j),null,{left:y(i.left)+p(a.offsetX,1),top:y(i.top)+p(a.offsetY,1)});if(c)h.cutOff=l+1;j=['<stroke color="',a.color||"black",'" opacity="',o*e,'"/>'];$(g.prepVML(j),null,null,h);b?b.element.appendChild(h):f.parentNode.insertBefore(h,f);d.push(h)}this.shadows=d}return this},updateShadows:sa,setAttr:function(a,b){hb?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){this.element.className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]||
+$(this.renderer.prepVML(["<stroke/>"]),null,null,c))[b]=a||"solid";this[b]=a},dSetter:function(a,b,c){var d=this.shadows,a=a||[];this.d=a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(d)for(c=d.length;c--;)d[c].path=d[c].cutOff?this.cutOffPath(a,d[c].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,c){var d=c.nodeName;if(d==="SPAN")c.style.color=a;else if(d!=="IMG")c.filled=a!==P,this.setAttr("fillcolor",this.renderer.color(a,c,b,this))},opacitySetter:sa,rotationSetter:function(a,b,c){c=c.style;
+this[b]=c[b]=a;c.left=-v(fa(a*Ea)+1)+"px";c.top=v(aa(a*Ea))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;ja(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){a==="inherit"&&(a="visible");this.shadows&&q(this.shadows,function(c){c.style[b]=a});c.nodeName==="DIV"&&(a=a==="hidden"?"-999em":0,hb||(c.style[b]=a?"visible":"hidden"),
+b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;b==="x"?b="left":b==="y"&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}};K.VMLElement=Z=ma(S,Z);Z.prototype.ySetter=Z.prototype.widthSetter=Z.prototype.heightSetter=Z.prototype.xSetter;var ia={Element:Z,isIE8:wa.indexOf("MSIE 8.0")>-1,init:function(a,b,c,d){var e;this.alignedObjects=[];d=this.createElement(Ka).css(r(this.getStyle(d),{position:"relative"}));e=d.element;
+a.appendChild(d.element);this.isVML=!0;this.box=e;this.boxWrapper=d;this.cache={};this.setSize(b,c,!1);if(!x.namespaces.hcv){x.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{x.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){x.styleSheets[0].cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},
+clipRect:function(a,b,c,d){var e=this.createElement(),f=da(a);return r(e,{members:[],left:(f?a.x:a)+1,top:(f?a.y:b)+1,width:(f?a.width:c)-1,height:(f?a.height:d)-1,getCSS:function(a){var b=a.element,c=b.nodeName,a=a.inverted,d=this.top-(c==="shape"?b.offsetTop:0),e=this.left,b=e+this.width,f=d+this.height,d={clip:"rect("+v(a?e:d)+"px,"+v(a?f:b)+"px,"+v(a?b:f)+"px,"+v(a?d:e)+"px)"};!a&&hb&&c==="DIV"&&r(d,{width:b+"px",height:f+"px"});return d},updateClipping:function(){q(e.members,function(a){a.element&&
+a.css(e.getCSS(a))})}})},color:function(a,b,c,d){var e=this,f,g=/^rgba/,h,i,j=P;a&&a.linearGradient?i="gradient":a&&a.radialGradient&&(i="pattern");if(i){var k,l,n=a.linearGradient||a.radialGradient,m,o,p,D,J,C="",a=a.stops,t,s=[],u=function(){h=['<fill colors="'+s.join(",")+'" opacity="',p,'" o:opacity2="',o,'" type="',i,'" ',C,'focus="100%" method="any" />'];$(e.prepVML(h),null,null,b)};m=a[0];t=a[a.length-1];m[0]>0&&a.unshift([0,m[1]]);t[0]<1&&a.push([1,t[1]]);q(a,function(a,b){g.test(a[1])?(f=
+ya(a[1]),k=f.get("rgb"),l=f.get("a")):(k=a[1],l=1);s.push(a[0]*100+"% "+k);b?(p=l,D=k):(o=l,J=k)});if(c==="fill")if(i==="gradient")c=n.x1||n[0]||0,a=n.y1||n[1]||0,m=n.x2||n[2]||0,n=n.y2||n[3]||0,C='angle="'+(90-V.atan((n-a)/(m-c))*180/oa)+'"',u();else{var j=n.r,r=j*2,v=j*2,x=n.cx,z=n.cy,R=b.radialReference,w,j=function(){R&&(w=d.getBBox(),x+=(R[0]-w.x)/w.width-0.5,z+=(R[1]-w.y)/w.height-0.5,r*=R[2]/w.width,v*=R[2]/w.height);C='src="'+E.global.VMLRadialGradientURL+'" size="'+r+","+v+'" origin="0.5,0.5" position="'+
+x+","+z+'" color2="'+J+'" ';u()};d.added?j():d.onAdd=j;j=D}else j=k}else if(g.test(a)&&b.tagName!=="IMG")f=ya(a),h=["<",c,' opacity="',f.get("a"),'"/>'],$(this.prepVML(h),null,null,b),j=f.get("rgb");else{j=b.getElementsByTagName(c);if(j.length)j[0].opacity=1,j[0].type="solid";j=a}return j},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):
+a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","<hcv:");return a},text:ta.prototype.html,path:function(a){var b={coordsize:"10 10"};Ha(a)?b.d=a:da(a)&&r(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){var d=this.symbol("circle");if(da(a))c=a.r,b=a.y,a=a.x;d.isCircle=!0;d.r=c;return d.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement(Ka).attr(b)},image:function(a,
+b,c,d,e){var f=this.createElement("img").attr({src:a});arguments.length>1&&f.attr({x:b,y:c,width:d,height:e});return f},createElement:function(a){return a==="rect"?this.symbol(a):ta.prototype.createElement.call(this,a)},invertChild:function(a,b){var c=this,d=b.style,e=a.tagName==="IMG"&&a.style;B(a,{flip:"x",left:y(d.width)-(e?y(e.top):1),top:y(d.height)-(e?y(e.left):1),rotation:-90});q(a.childNodes,function(b){c.invertChild(b,a)})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||
+d,c=e.innerR,d=aa(f),i=fa(f),j=aa(g),k=fa(g);if(g-f===0)return["x"];f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*j,b+h*k];e.open&&!c&&f.push("e","M",a,b);f.push("at",a-c,b-c,a+c,b+c,a+c*j,b+c*k,a+c*d,b+c*i,"x","e");f.isArc=!0;return f},circle:function(a,b,c,d,e){e&&(c=d=2*e.r);e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){return ta.prototype.symbols[!s(e)||!e.r?"square":"callout"].call(0,a,b,c,d,e)}}};K.VMLRenderer=Z=function(){this.init.apply(this,
+arguments)};Z.prototype=w(ta.prototype,ia);Za=Z}ta.prototype.measureSpanWidth=function(a,b){var c=x.createElement("span"),d;d=x.createTextNode(a);c.appendChild(d);B(c,b);this.box.appendChild(c);d=c.offsetWidth;Qa(c);return d};var Mb;if(ga)K.CanVGRenderer=Z=function(){xa="http://www.w3.org/1999/xhtml"},Z.prototype.symbols={},Mb=function(){function a(){var a=b.length,d;for(d=0;d<a;d++)b[d]();b=[]}var b=[];return{push:function(c,d){b.length===0&&Rb(d,a);b.push(c)}}}(),Za=Z;Ta.prototype={addLabel:function(){var a=
+this.axis,b=a.options,c=a.chart,d=a.horiz,e=a.categories,f=a.names,g=this.pos,h=b.labels,i=h.rotation,j=a.tickPositions,d=d&&e&&!h.step&&!h.staggerLines&&!h.rotation&&c.plotWidth/j.length||!d&&(c.margin[3]||c.chartWidth*0.33),k=g===j[0],l=g===j[j.length-1],n,f=e?p(e[g],f[g],g):g,e=this.label,m=j.info;a.isDatetimeAxis&&m&&(n=b.dateTimeLabelFormats[m.higherRanks[g]||m.unitName]);this.isFirst=k;this.isLast=l;b=a.labelFormatter.call({axis:a,chart:c,isFirst:k,isLast:l,dateTimeLabelFormat:n,value:a.isLog?
+ea(ka(f)):f});g=d&&{width:t(1,v(d-2*(h.padding||10)))+"px"};if(s(e))e&&e.attr({text:b}).css(g);else{n={align:a.labelAlign};if(ja(i))n.rotation=i;if(d&&h.ellipsis)g.HcHeight=a.len/j.length;this.label=e=s(b)&&h.enabled?c.renderer.text(b,0,0,h.useHTML).attr(n).css(r(g,h.style)).add(a.labelGroup):null;a.tickBaseline=c.renderer.fontMetrics(h.style.fontSize,e).b;i&&a.side===2&&(a.tickBaseline*=aa(i*Ea))}this.yOffset=e?p(h.y,a.tickBaseline+(a.side===2?8:-(e.getBBox().height/2))):0},getLabelSize:function(){var a=
+this.label,b=this.axis;return a?a.getBBox()[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.label.getBBox(),b=this.axis,c=b.horiz,d=b.options.labels,a=c?a.width:a.height,b=c?d.x-a*{left:0,center:0.5,right:1}[b.labelAlign]:0;return[b,c?a+b:a]},handleOverflow:function(a,b){var c=!0,d=this.axis,e=this.isFirst,f=this.isLast,g=d.horiz?b.x:b.y,h=d.reversed,i=d.tickPositions,j=this.getLabelSides(),k=j[0],j=j[1],l,n,m,o=this.label.line;l=o||0;n=d.labelEdge;m=d.justifyLabels&&(e||f);n[l]===
+u||g+k>n[l]?n[l]=g+j:m||(c=!1);if(m){l=(n=d.justifyToPlot)?d.pos:0;n=n?l+d.len:d.chart.chartWidth;do a+=e?1:-1,m=d.ticks[i[a]];while(i[a]&&(!m||!m.label||m.label.line!==o));d=m&&m.label.xy&&m.label.xy.x+m.getLabelSides()[e?0:1];e&&!h||f&&h?g+k<l&&(g=l-k,m&&g+j>d&&(c=!1)):g+j>n&&(g=n-j,m&&g+k<d&&(c=!1));b.x=g}return c},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||
+f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,j=i.transA,k=i.reversed,l=i.staggerLines,a=a+e.x-(f&&d?f*j*(k?-1:1):0),b=b+this.yOffset-(f&&!d?f*j*(k?1:-1):0);if(l)c.line=g/(h||1)%l,b+=c.line*(i.labelOffset/l);return{x:a,y:b}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,
+f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,l=this.gridLine,n=h?h+"Grid":"grid",m=h?h+"Tick":"tick",o=e[n+"LineWidth"],q=e[n+"LineColor"],D=e[n+"LineDashStyle"],J=e[m+"Length"],n=e[m+"Width"]||0,C=e[m+"Color"],t=e[m+"Position"],m=this.mark,s=k.step,r=!0,v=d.tickmarkOffset,w=this.getPosition(g,j,v,b),x=w.x,w=w.y,z=g&&x===d.pos+d.len||!g&&w===d.pos?-1:1,c=p(c,1);this.isActive=!0;if(o){j=d.getPlotLinePath(j+v,o*z,b,!0);if(l===u){l={stroke:q,"stroke-width":o};if(D)l.dashstyle=
+D;if(!h)l.zIndex=1;if(b)l.opacity=0;this.gridLine=l=o?f.path(j).attr(l).add(d.gridGroup):null}if(!b&&l&&j)l[this.isNew?"attr":"animate"]({d:j,opacity:c})}if(n&&J)t==="inside"&&(J=-J),d.opposite&&(J=-J),h=this.getMarkPath(x,w,J,n*z,g,f),m?m.animate({d:h,opacity:c}):this.mark=f.path(h).attr({stroke:C,"stroke-width":n,opacity:c}).add(d.axisGroup);if(i&&!isNaN(x))i.xy=w=this.getLabelPosition(x,w,i,g,k,v,a,s),this.isFirst&&!this.isLast&&!p(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!p(e.showLastLabel,
+1)?r=!1:!d.isRadial&&!k.step&&!k.rotation&&!b&&c!==0&&(r=this.handleOverflow(a,w)),s&&a%s&&(r=!1),r&&!isNaN(w.y)?(w.opacity=c,i[this.isNew?"attr":"animate"](w),this.isNew=!1):i.attr("y",-9999)},destroy:function(){Pa(this,this.axis)}};K.PlotLineOrBand=function(a,b){this.axis=a;if(b)this.options=b,this.id=b.id};K.PlotLineOrBand.prototype={render:function(){var a=this,b=a.axis,c=b.horiz,d=(b.pointRange||0)/2,e=a.options,f=e.label,g=a.label,h=e.width,i=e.to,j=e.from,k=s(j)&&s(i),l=e.value,n=e.dashStyle,
+m=a.svgElem,o=[],p,q=e.color,J=e.zIndex,C=e.events,r={},u=b.chart.renderer;b.isLog&&(j=za(j),i=za(i),l=za(l));if(h){if(o=b.getPlotLinePath(l,h),r={stroke:q,"stroke-width":h},n)r.dashstyle=n}else if(k){j=t(j,b.min-d);i=L(i,b.max+d);o=b.getPlotBandPath(j,i,e);if(q)r.fill=q;if(e.borderWidth)r.stroke=e.borderColor,r["stroke-width"]=e.borderWidth}else return;if(s(J))r.zIndex=J;if(m)if(o)m.animate({d:o},null,m.onGetPath);else{if(m.hide(),m.onGetPath=function(){m.show()},g)a.label=g=g.destroy()}else if(o&&
+o.length&&(a.svgElem=m=u.path(o).attr(r).add(),C))for(p in d=function(b){m.on(b,function(c){C[b].apply(a,[c])})},C)d(p);if(f&&s(f.text)&&o&&o.length&&b.width>0&&b.height>0){f=w({align:c&&k&&"center",x:c?!k&&4:10,verticalAlign:!c&&k&&"middle",y:c?k?16:10:k?6:-4,rotation:c&&!k&&90},f);if(!g){r={align:f.textAlign||f.align,rotation:f.rotation};if(s(J))r.zIndex=J;a.label=g=u.text(f.text,0,0,f.useHTML).attr(r).css(f.style).add()}b=[o[1],o[4],k?o[6]:o[1]];k=[o[2],o[5],k?o[7]:o[2]];o=Oa(b);c=Oa(k);g.align(f,
+!1,{x:o,y:c,width:Ca(b)-o,height:Ca(k)-c});g.show()}else g&&g.hide();return a},destroy:function(){la(this.axis.plotLinesAndBands,this);delete this.axis;Pa(this)}};na.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:M,lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",
+minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return Ba(this.total,
+-1)},style:M.style}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-15},title:{rotation:0}},init:function(a,b){var c=b.isX;this.horiz=a.inverted?!c:c;this.coll=(this.isXAxis=c)?"xAxis":"yAxis";this.opposite=b.opposite;this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(b);var d=
+this.options,e=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter;this.userOptions=b;this.minPixelPadding=0;this.chart=a;this.reversed=d.reversed;this.zoomEnabled=d.zoomEnabled!==!1;this.categories=d.categories||e==="category";this.names=[];this.isLog=e==="logarithmic";this.isDatetimeAxis=e==="datetime";this.isLinked=s(d.linkedTo);this.tickmarkOffset=this.categories&&d.tickmarkPlacement==="between"&&p(d.tickInterval,1)===1?0.5:0;this.ticks={};this.labelEdge=[];this.minorTicks=
+{};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=d.minRange||d.maxZoom;this.range=d.range;this.offset=d.offset||0;this.stacks={};this.oldStacks={};this.min=this.max=null;this.crosshair=p(d.crosshair,ra(a.options.tooltip.crosshairs)[c?0:1],!1);var f,d=this.options.events;Ma(this,a.axes)===-1&&(c&&!this.isColorAxis?a.axes.splice(a.xAxis.length,0,this):a.axes.push(this),a[this.coll].push(this));this.series=this.series||[];if(a.inverted&&c&&this.reversed===
+u)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in d)N(this,f,d[f]);if(this.isLog)this.val2lin=za,this.lin2val=ka},setOptions:function(a){this.options=w(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],w(E[this.coll],a))},defaultLabelFormatter:function(){var a=this.axis,b=this.value,c=a.categories,d=this.dateTimeLabelFormat,
+e=E.lang.numericSymbols,f=e&&e.length,g,h=a.options.labels.format,a=a.isLog?b:a.tickInterval;if(h)g=Ja(h,this);else if(c)g=b;else if(d)g=cb(d,b);else if(f&&a>=1E3)for(;f--&&g===u;)c=Math.pow(1E3,f+1),a>=c&&e[f]!==null&&(g=Ba(b/c,-1)+e[f]);g===u&&(g=Q(b)>=1E4?Ba(b,0):Ba(b,-1,u,""));return g},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.ignoreMinPadding=a.ignoreMaxPadding=null;a.buildStacks&&a.buildStacks();q(a.series,function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries){var d;
+d=c.options.threshold;var e;a.hasVisibleSeries=!0;a.isLog&&d<=0&&(d=null);if(a.isXAxis){if(d=c.xData,d.length)a.dataMin=L(p(a.dataMin,d[0]),Oa(d)),a.dataMax=t(p(a.dataMax,d[0]),Ca(d))}else{c.getExtremes();e=c.dataMax;c=c.dataMin;if(s(c)&&s(e))a.dataMin=L(p(a.dataMin,c),c),a.dataMax=t(p(a.dataMax,e),e);if(s(d))if(a.dataMin>=d)a.dataMin=d,a.ignoreMinPadding=!0;else if(a.dataMax<d)a.dataMax=d,a.ignoreMaxPadding=!0}}})},translate:function(a,b,c,d,e,f){var g=1,h=0,i=d?this.oldTransA:this.transA,d=d?this.oldMin:
+this.min,j=this.minPixelPadding,e=(this.options.ordinal||this.isLog&&e)&&this.lin2val;if(!i)i=this.transA;if(c)g*=-1,h=this.len;this.reversed&&(g*=-1,h-=g*(this.sector||this.len));b?(a=a*g+h,a-=j,a=a/i+d,e&&(a=this.lin2val(a))):(e&&(a=this.val2lin(a)),f==="between"&&(f=0.5),a=g*(a-d)*i+h+g*j+(ja(f)?i*f*this.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,
+!0)},getPlotLinePath:function(a,b,c,d,e){var f=this.chart,g=this.left,h=this.top,i,j,k=c&&f.oldChartHeight||f.chartHeight,l=c&&f.oldChartWidth||f.chartWidth,n;i=this.transB;e=p(e,this.translate(a,null,null,c));a=c=v(e+i);i=j=v(k-e-i);if(isNaN(e))n=!0;else if(this.horiz){if(i=h,j=k-this.bottom,a<g||a>g+this.width)n=!0}else if(a=g,c=l-this.right,i<h||i>h+this.height)n=!0;return n&&!d?null:f.renderer.crispLine(["M",a,i,"L",c,j],b||1)},getLinearTickPositions:function(a,b,c){var d,e=ea(U(b/a)*a),f=ea(La(c/
+a)*a),g=[];if(b===c&&ja(b))return[b];for(b=e;b<=f;){g.push(b);b=ea(b+a);if(b===d)break;d=b}return g},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,d=[],e;if(this.isLog){e=b.length;for(a=1;a<e;a++)d=d.concat(this.getLogTickPositions(c,b[a-1],b[a],!0))}else if(this.isDatetimeAxis&&a.minorTickInterval==="auto")d=d.concat(this.getTimeTicks(this.normalizeTimeTickInterval(c),this.min,this.max,a.startOfWeek)),d[0]<this.min&&d.shift();else for(b=this.min+
+(b[0]-this.min)%c;b<=this.max;b+=c)d.push(b);return d},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,d,e=this.dataMax-this.dataMin>=this.minRange,f,g,h,i,j;if(this.isXAxis&&this.minRange===u&&!this.isLog)s(a.min)||s(a.max)?this.minRange=null:(q(this.series,function(a){i=a.xData;for(g=j=a.xIncrement?1:i.length-1;g>0;g--)if(h=i[g]-i[g-1],f===u||h<f)f=h}),this.minRange=L(f*5,this.dataMax-this.dataMin));if(c-b<this.minRange){var k=this.minRange;d=(k-c+b)/2;d=[b-d,p(a.min,b-d)];
+if(e)d[2]=this.dataMin;b=Ca(d);c=[b+k,p(a.max,b+k)];if(e)c[2]=this.dataMax;c=Oa(c);c-b<k&&(d[0]=c-k,d[1]=p(a.min,c-k),b=Ca(d))}this.min=b;this.max=c},setAxisTranslation:function(a){var b=this,c=b.max-b.min,d=b.axisPointRange||0,e,f=0,g=0,h=b.linkedParent,i=!!b.categories,j=b.transA;if(b.isXAxis||i||d)h?(f=h.minPointOffset,g=h.pointRangePadding):q(b.series,function(a){var h=i?1:b.isXAxis?a.pointRange:b.axisPointRange||0,j=a.options.pointPlacement,m=a.closestPointRange;h>c&&(h=0);d=t(d,h);f=t(f,Ga(j)?
+0:h/2);g=t(g,j==="on"?0:h);!a.noSharedTooltip&&s(m)&&(e=s(e)?L(e,m):m)}),h=b.ordinalSlope&&e?b.ordinalSlope/e:1,b.minPointOffset=f*=h,b.pointRangePadding=g*=h,b.pointRange=L(d,c),b.closestPointRange=e;if(a)b.oldTransA=j;b.translationSlope=b.transA=j=b.len/(c+g||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=j*f},setTickPositions:function(a){var b=this,c=b.chart,d=b.options,e=d.startOnTick,f=d.endOnTick,g=b.isLog,h=b.isDatetimeAxis,i=b.isXAxis,j=b.isLinked,k=b.options.tickPositioner,l=d.maxPadding,
+n=d.minPadding,m=d.tickInterval,o=d.minTickInterval,Y=d.tickPixelInterval,D,J=b.categories;j?(b.linkedParent=c[b.coll][d.linkedTo],c=b.linkedParent.getExtremes(),b.min=p(c.min,c.dataMin),b.max=p(c.max,c.dataMax),d.type!==b.linkedParent.options.type&&ha(11,1)):(b.min=p(b.userMin,d.min,b.dataMin),b.max=p(b.userMax,d.max,b.dataMax));if(g)!a&&L(b.min,p(b.dataMin,b.min))<=0&&ha(10,1),b.min=ea(za(b.min)),b.max=ea(za(b.max));if(b.range&&s(b.max))b.userMin=b.min=t(b.min,b.max-b.range),b.userMax=b.max,b.range=
+null;b.beforePadding&&b.beforePadding();b.adjustForMinRange();if(!J&&!b.axisPointRange&&!b.usePercentage&&!j&&s(b.min)&&s(b.max)&&(c=b.max-b.min)){if(!s(d.min)&&!s(b.userMin)&&n&&(b.dataMin<0||!b.ignoreMinPadding))b.min-=c*n;if(!s(d.max)&&!s(b.userMax)&&l&&(b.dataMax>0||!b.ignoreMaxPadding))b.max+=c*l}if(ja(d.floor))b.min=t(b.min,d.floor);if(ja(d.ceiling))b.max=L(b.max,d.ceiling);b.min===b.max||b.min===void 0||b.max===void 0?b.tickInterval=1:j&&!m&&Y===b.linkedParent.options.tickPixelInterval?b.tickInterval=
+b.linkedParent.tickInterval:(b.tickInterval=p(m,J?1:(b.max-b.min)*Y/t(b.len,Y)),!s(m)&&b.len<Y&&!this.isRadial&&!this.isLog&&!J&&e&&f&&(D=!0,b.tickInterval/=4));i&&!a&&q(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();if(b.postProcessTickInterval)b.tickInterval=b.postProcessTickInterval(b.tickInterval);if(b.pointRange)b.tickInterval=t(b.pointRange,b.tickInterval);if(!m&&b.tickInterval<o)b.tickInterval=
+o;if(!h&&!g&&!m)b.tickInterval=nb(b.tickInterval,null,mb(b.tickInterval),p(d.allowDecimals,!(b.tickInterval>1&&b.tickInterval<5&&b.max>1E3&&b.max<9999)));b.minorTickInterval=d.minorTickInterval==="auto"&&b.tickInterval?b.tickInterval/5:d.minorTickInterval;b.tickPositions=a=d.tickPositions?[].concat(d.tickPositions):k&&k.apply(b,[b.min,b.max]);if(!a)!b.ordinalPositions&&(b.max-b.min)/b.tickInterval>t(2*b.len,200)&&ha(19,!0),a=h?b.getTimeTicks(b.normalizeTimeTickInterval(b.tickInterval,d.units),b.min,
+b.max,d.startOfWeek,b.ordinalPositions,b.closestPointRange,!0):g?b.getLogTickPositions(b.tickInterval,b.min,b.max):b.getLinearTickPositions(b.tickInterval,b.min,b.max),D&&a.splice(1,a.length-2),b.tickPositions=a;if(!j)d=a[0],g=a[a.length-1],h=b.minPointOffset||0,e?b.min=d:b.min-h>d&&a.shift(),f?b.max=g:b.max+h<g&&a.pop(),a.length===0&&s(d)&&a.push((g+d)/2),a.length===1&&(e=Q(b.max)>1E13?1:0.001,b.min-=e,b.max+=e)},setMaxTicks:function(){var a=this.chart,b=a.maxTicks||{},c=this.tickPositions,d=this._maxTicksKey=
+[this.coll,this.pos,this.len].join("-");if(!this.isLinked&&!this.isDatetimeAxis&&c&&c.length>(b[d]||0)&&this.options.alignTicks!==!1)b[d]=c.length;a.maxTicks=b},adjustTickAmount:function(){var a=this._maxTicksKey,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1&&this.min!==u){var d=this.tickAmount,e=b.length;this.tickAmount=a=c[a];if(e<a){for(;b.length<a;)b.push(ea(b[b.length-1]+this.tickInterval));this.transA*=
+(e-1)/(a-1);this.max=b[b.length-1]}if(s(d)&&a!==d)this.isDirty=!0}},setScale:function(){var a=this.stacks,b,c,d,e;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();e=this.len!==this.oldAxisLength;q(this.series,function(a){if(a.isDirtyData||a.isDirty||a.xAxis.isDirty)d=!0});if(e||d||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(b in a)for(c in a[b])a[b][c].total=null,a[b][c].cum=0;this.forceRedraw=
+!1;this.getSeriesExtremes();this.setTickPositions();this.oldUserMin=this.userMin;this.oldUserMax=this.userMax;if(!this.isDirty)this.isDirty=e||this.min!==this.oldMin||this.max!==this.oldMax}else if(!this.isXAxis){if(this.oldStacks)a=this.stacks=this.oldStacks;for(b in a)for(c in a[b])a[b][c].cum=a[b][c].total}this.setMaxTicks()},setExtremes:function(a,b,c,d,e){var f=this,g=f.chart,c=p(c,!0),e=r(e,{min:a,max:b});I(f,"setExtremes",e,function(){f.userMin=a;f.userMax=b;f.eventArgs=e;f.isDirtyExtremes=
+!0;c&&g.redraw(d)})},zoom:function(a,b){var c=this.dataMin,d=this.dataMax,e=this.options;this.allowZoomOutside||(s(c)&&a<=L(c,p(e.min,c))&&(a=u),s(d)&&b>=t(d,p(e.max,d))&&(b=u));this.displayBtn=a!==u||b!==u;this.setExtremes(a,b,!1,u,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft||0,d=this.horiz,e=p(b.width,a.plotWidth-c+(b.offsetRight||0)),f=p(b.height,a.plotHeight),g=p(b.top,a.plotTop),b=p(b.left,a.plotLeft+c),c=/%$/;c.test(f)&&(f=parseInt(f,10)/
+100*a.plotHeight);c.test(g)&&(g=parseInt(g,10)/100*a.plotHeight+a.plotTop);this.left=b;this.top=g;this.width=e;this.height=f;this.bottom=a.chartHeight-f-g;this.right=a.chartWidth-e-b;this.len=t(d?e:f,0);this.pos=d?b:g},getExtremes:function(){var a=this.isLog;return{min:a?ea(ka(this.min)):this.min,max:a?ea(ka(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?ka(this.min):this.min,b=b?ka(this.max):
+this.max;c>a||a===null?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(p(a,0)-this.side*90+720)%360;return a>15&&a<165?"right":a>195&&a<345?"left":"center"},getOffset:function(){var a=this,b=a.chart,c=b.renderer,d=a.options,e=a.tickPositions,f=a.ticks,g=a.horiz,h=a.side,i=b.inverted?[1,0,3,2][h]:h,j,k,l=0,n,m=0,o=d.title,Y=d.labels,D=0,J=b.axisOffset,b=b.clipOffset,C=[-1,1,1,-1][h],r,v=1,w=p(Y.maxStaggerLines,5),x,y,A,z,R;a.hasData=j=a.hasVisibleSeries||s(a.min)&&s(a.max)&&
+!!e;a.showAxis=k=j||p(d.showEmpty,!0);a.staggerLines=a.horiz&&Y.staggerLines;if(!a.axisGroup)a.gridGroup=c.g("grid").attr({zIndex:d.gridZIndex||1}).add(),a.axisGroup=c.g("axis").attr({zIndex:d.zIndex||2}).add(),a.labelGroup=c.g("axis-labels").attr({zIndex:Y.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels").add();if(j||a.isLinked){a.labelAlign=p(Y.align||a.autoLabelAlign(Y.rotation));q(e,function(b){f[b]?f[b].addLabel():f[b]=new Ta(a,b)});if(a.horiz&&!a.staggerLines&&w&&!Y.rotation){for(j=
+a.reversed?[].concat(e).reverse():e;v<w;){x=[];y=!1;for(r=0;r<j.length;r++)A=j[r],z=(z=f[A].label&&f[A].label.getBBox())?z.width:0,R=r%v,z&&(A=a.translate(A),x[R]!==u&&A<x[R]&&(y=!0),x[R]=A+z);if(y)v++;else break}if(v>1)a.staggerLines=v}q(e,function(b){if(h===0||h===2||{1:"left",3:"right"}[h]===a.labelAlign)D=t(f[b].getLabelSize(),D)});if(a.staggerLines)D*=a.staggerLines,a.labelOffset=D}else for(r in f)f[r].destroy(),delete f[r];if(o&&o.text&&o.enabled!==!1){if(!a.axisTitle)a.axisTitle=c.text(o.text,
+0,0,o.useHTML).attr({zIndex:7,rotation:o.rotation||0,align:o.textAlign||{low:"left",middle:"center",high:"right"}[o.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(o.style).add(a.axisGroup),a.axisTitle.isNew=!0;if(k)l=a.axisTitle.getBBox()[g?"height":"width"],n=o.offset,m=s(n)?0:p(o.margin,g?5:10);a.axisTitle[k?"show":"hide"]()}a.offset=C*p(d.offset,J[h]);c=h===2?a.tickBaseline:0;g=D+m+(D&&C*(g?p(Y.y,a.tickBaseline+8):Y.x)-c);a.axisTitleMargin=p(n,g);J[h]=t(J[h],a.axisTitleMargin+
+l+C*a.offset,g);b[i]=t(b[i],U(d.lineWidth/2)*2)},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;c&&(a*=-1);return b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,d=this.len,e=this.options.title,f=a?b:c,g=this.opposite,h=this.offset,i=y(e.style.fontSize||
+12),d={low:f+(a?0:d),middle:f+d/2,high:f+(a?d:0)}[e.align],b=(a?c+this.height:b)+(a?1:-1)*(g?-1:1)*this.axisTitleMargin+(this.side===2?i:0);return{x:a?d:b+(g?this.width:0)+h+(e.x||0),y:a?b-(g?this.height:0)+h:d+(e.y||0)}},render:function(){var a=this,b=a.horiz,c=a.reversed,d=a.chart,e=d.renderer,f=a.options,g=a.isLog,h=a.isLinked,i=a.tickPositions,j,k=a.axisTitle,l=a.ticks,n=a.minorTicks,m=a.alternateBands,o=f.stackLabels,p=f.alternateGridColor,D=a.tickmarkOffset,J=f.lineWidth,C=d.hasRendered&&s(a.oldMin)&&
+!isNaN(a.oldMin),r=a.hasData,t=a.showAxis,v,w=f.labels.overflow,x=a.justifyLabels=b&&w!==!1,A;a.labelEdge.length=0;a.justifyToPlot=w==="justify";q([l,n,m],function(a){for(var b in a)a[b].isActive=!1});if(r||h)if(a.minorTickInterval&&!a.categories&&q(a.getMinorTickPositions(),function(b){n[b]||(n[b]=new Ta(a,b,"minor"));C&&n[b].isNew&&n[b].render(null,!0);n[b].render(null,!1,1)}),i.length&&(j=i.slice(),(b&&c||!b&&!c)&&j.reverse(),x&&(j=j.slice(1).concat([j[0]])),q(j,function(b,c){x&&(c=c===j.length-
+1?0:c+1);if(!h||b>=a.min&&b<=a.max)l[b]||(l[b]=new Ta(a,b)),C&&l[b].isNew&&l[b].render(c,!0,0.1),l[b].render(c)}),D&&a.min===0&&(l[-1]||(l[-1]=new Ta(a,-1,null,!0)),l[-1].render(-1))),p&&q(i,function(b,c){if(c%2===0&&b<a.max)m[b]||(m[b]=new K.PlotLineOrBand(a)),v=b+D,A=i[c+1]!==u?i[c+1]+D:a.max,m[b].options={from:g?ka(v):v,to:g?ka(A):A,color:p},m[b].render(),m[b].isActive=!0}),!a._addedPlotLB)q((f.plotLines||[]).concat(f.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0;q([l,n,
+m],function(a){var b,c,e=[],f=va?va.duration||500:0,g=function(){for(c=e.length;c--;)a[e[c]]&&!a[e[c]].isActive&&(a[e[c]].destroy(),delete a[e[c]])};for(b in a)if(!a[b].isActive)a[b].render(b,!1,0),a[b].isActive=!1,e.push(b);a===m||!d.hasRendered||!f?g():f&&setTimeout(g,f)});if(J)b=a.getLinePath(J),a.axisLine?a.axisLine.animate({d:b}):a.axisLine=e.path(b).attr({stroke:f.lineColor,"stroke-width":J,zIndex:7}).add(a.axisGroup),a.axisLine[t?"show":"hide"]();if(k&&t)k[k.isNew?"attr":"animate"](a.getTitlePosition()),
+k.isNew=!1;o&&o.enabled&&a.renderStackTotals();a.isDirty=!1},redraw:function(){this.render();q(this.plotLinesAndBands,function(a){a.render()});q(this.series,function(a){a.isDirty=!0})},destroy:function(a){var b=this,c=b.stacks,d,e=b.plotLinesAndBands;a||X(b);for(d in c)Pa(c[d]),c[d]=null;q([b.ticks,b.minorTicks,b.alternateBands],function(a){Pa(a)});for(a=e.length;a--;)e[a].destroy();q("stackTotalGroup,axisLine,axisTitle,axisGroup,cross,gridGroup,labelGroup".split(","),function(a){b[a]&&(b[a]=b[a].destroy())});
+this.cross&&this.cross.destroy()},drawCrosshair:function(a,b){if(this.crosshair)if((s(b)||!p(this.crosshair.snap,!0))===!1)this.hideCrosshair();else{var c,d=this.crosshair,e=d.animation;p(d.snap,!0)?s(b)&&(c=this.chart.inverted!=this.horiz?b.plotX:this.len-b.plotY):c=this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos;c=this.isRadial?this.getPlotLinePath(this.isXAxis?b.x:p(b.stackY,b.y)):this.getPlotLinePath(null,null,null,null,c);if(c===null)this.hideCrosshair();else if(this.cross)this.cross.attr({visibility:"visible"})[e?
+"animate":"attr"]({d:c},e);else{e={"stroke-width":d.width||1,stroke:d.color||"#C0C0C0",zIndex:d.zIndex||2};if(d.dashStyle)e.dashstyle=d.dashStyle;this.cross=this.chart.renderer.path(c).attr(e).add()}}},hideCrosshair:function(){this.cross&&this.cross.hide()}};r(na.prototype,{getPlotBandPath:function(a,b){var c=this.getPlotLinePath(b),d=this.getPlotLinePath(a);d&&c?d.push(c[4],c[5],c[1],c[2]):d=null;return d},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,
+"plotLines")},addPlotBandOrLine:function(a,b){var c=(new K.PlotLineOrBand(this,a)).render(),d=this.userOptions;c&&(b&&(d[b]=d[b]||[],d[b].push(a)),this.plotLinesAndBands.push(c));return c},removePlotBandOrLine:function(a){for(var b=this.plotLinesAndBands,c=this.options,d=this.userOptions,e=b.length;e--;)b[e].id===a&&b[e].destroy();q([c.plotLines||[],d.plotLines||[],c.plotBands||[],d.plotBands||[]],function(b){for(e=b.length;e--;)b[e].id===a&&la(b,b[e])})}});na.prototype.getTimeTicks=function(a,b,
+c,d){var e=[],f={},g=E.global.useUTC,h,i=new Da(b-Sa),j=a.unitRange,k=a.count;if(s(b)){j>=A.second&&(i.setMilliseconds(0),i.setSeconds(j>=A.minute?0:k*U(i.getSeconds()/k)));if(j>=A.minute)i[Cb](j>=A.hour?0:k*U(i[pb]()/k));if(j>=A.hour)i[Db](j>=A.day?0:k*U(i[qb]()/k));if(j>=A.day)i[sb](j>=A.month?1:k*U(i[Xa]()/k));j>=A.month&&(i[Eb](j>=A.year?0:k*U(i[fb]()/k)),h=i[gb]());j>=A.year&&(h-=h%k,i[Fb](h));if(j===A.week)i[sb](i[Xa]()-i[rb]()+p(d,1));b=1;Sa&&(i=new Da(i.getTime()+Sa));h=i[gb]();for(var d=
+i.getTime(),l=i[fb](),n=i[Xa](),m=(A.day+(g?Sa:i.getTimezoneOffset()*6E4))%A.day;d<c;)e.push(d),j===A.year?d=eb(h+b*k,0):j===A.month?d=eb(h,l+b*k):!g&&(j===A.day||j===A.week)?d=eb(h,l,n+b*k*(j===A.day?1:7)):d+=j*k,b++;e.push(d);q(wb(e,function(a){return j<=A.hour&&a%A.day===m}),function(a){f[a]="day"})}e.info=r(a,{higherRanks:f,totalRange:j*k});return e};na.prototype.normalizeTimeTickInterval=function(a,b){var c=b||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",
+[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],d=c[c.length-1],e=A[d[0]],f=d[1],g;for(g=0;g<c.length;g++)if(d=c[g],e=A[d[0]],f=d[1],c[g+1]&&a<=(e*f[f.length-1]+A[c[g+1][0]])/2)break;e===A.year&&a<5*e&&(f=[1,2,5]);c=nb(a/e,f,d[0]==="year"?t(mb(a/e),1):1);return{unitRange:e,count:c,unitName:d[0]}};na.prototype.getLogTickPositions=function(a,b,c,d){var e=this.options,f=this.len,g=[];if(!d)this._minorAutoInterval=null;if(a>=0.5)a=v(a),g=this.getLinearTickPositions(a,
+b,c);else if(a>=0.08)for(var f=U(b),h,i,j,k,l,e=a>0.3?[1,2,4]:a>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];f<c+1&&!l;f++){i=e.length;for(h=0;h<i&&!l;h++)j=za(ka(f)*e[h]),j>b&&(!d||k<=c)&&k!==u&&g.push(k),k>c&&(l=!0),k=j}else if(b=ka(b),c=ka(c),a=e[d?"minorTickInterval":"tickInterval"],a=p(a==="auto"?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length:f)||1)),a=nb(a,null,mb(a)),g=Va(this.getLinearTickPositions(a,b,c),za),!d)this._minorAutoInterval=a/5;if(!d)this.tickInterval=
+a;return g};var Nb=K.Tooltip=function(){this.init.apply(this,arguments)};Nb.prototype={init:function(a,b){var c=b.borderWidth,d=b.style,e=y(d.padding);this.chart=a;this.options=b;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=a.renderer.label("",0,0,b.shape||"callout",null,null,b.useHTML,null,"tooltip").attr({padding:e,fill:b.backgroundColor,"stroke-width":c,r:b.borderRadius,zIndex:8}).css(d).css({padding:0}).add().attr({y:-9999});ga||this.label.shadow(b.shadow);this.shared=b.shared},
+destroy:function(){if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(a,b,c,d){var e=this,f=e.now,g=e.options.animation!==!1&&!e.isHidden&&(Q(a-f.x)>1||Q(b-f.y)>1),h=e.followPointer||e.len>1;r(f,{x:g?(2*f.x+a)/3:a,y:g?(f.y+b)/2:b,anchorX:h?u:g?(2*f.anchorX+c)/3:c,anchorY:h?u:g?(f.anchorY+d)/2:d});e.label.attr(f);if(g)clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(a,b,c,d)},32)},hide:function(a){var b=
+this,c;clearTimeout(this.hideTimer);if(!this.isHidden)c=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){b.label.fadeOut();b.isHidden=!0},p(a,this.options.hideDelay,500)),c&&q(c,function(a){a.setState()}),this.chart.hoverPoints=null},getAnchor:function(a,b){var c,d=this.chart,e=d.inverted,f=d.plotTop,g=0,h=0,i,a=ra(a);c=a[0].tooltipPos;this.followPointer&&b&&(b.chartX===u&&(b=d.pointer.normalize(b)),c=[b.chartX-d.plotLeft,b.chartY-f]);c||(q(a,function(a){i=a.series.yAxis;g+=a.plotX;h+=
+(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!e&&i?i.top-f:0)}),g/=a.length,h/=a.length,c=[e?d.plotWidth-h:g,this.shared&&!e&&a.length>1&&b?b.chartY-f:e?d.plotHeight-g:h]);return Va(c,v)},getPosition:function(a,b,c){var d=this.chart,e=this.distance,f={},g,h=["y",d.chartHeight,b,c.plotY+d.plotTop],i=["x",d.chartWidth,a,c.plotX+d.plotLeft],j=c.ttBelow||d.inverted&&!c.negative||!d.inverted&&c.negative,k=function(a,b,c,d){var g=c<d-e,b=d+e+c<b,c=d-e-c;d+=e;if(j&&b)f[a]=d;else if(!j&&g)f[a]=c;else if(g)f[a]=
+c;else if(b)f[a]=d;else return!1},l=function(a,b,c,d){if(d<e||d>b-e)return!1;else f[a]=d<c/2?1:d>b-c/2?b-c-2:d-c/2},n=function(a){var b=h;h=i;i=b;g=a},m=function(){k.apply(0,h)!==!1?l.apply(0,i)===!1&&!g&&(n(!0),m()):g?f.x=f.y=0:(n(!0),m())};(d.inverted||this.len>1)&&n();m();return f},defaultFormatter:function(a){var b=this.points||ra(this),c=b[0].series,d;d=[a.tooltipHeaderFormatter(b[0])];q(b,function(a){c=a.series;d.push(c.tooltipFormatter&&c.tooltipFormatter(a)||a.point.tooltipFormatter(c.tooltipOptions.pointFormat))});
+d.push(a.options.footerFormat||"");return d.join("")},refresh:function(a,b){var c=this.chart,d=this.label,e=this.options,f,g,h={},i,j=[];i=e.formatter||this.defaultFormatter;var h=c.hoverPoints,k,l=this.shared;clearTimeout(this.hideTimer);this.followPointer=ra(a)[0].series.tooltipOptions.followPointer;g=this.getAnchor(a,b);f=g[0];g=g[1];l&&(!a.series||!a.series.noSharedTooltip)?(c.hoverPoints=a,h&&q(h,function(a){a.setState()}),q(a,function(a){a.setState("hover");j.push(a.getLabelConfig())}),h={x:a[0].category,
+y:a[0].y},h.points=j,this.len=j.length,a=a[0]):h=a.getLabelConfig();i=i.call(h,this);h=a.series;this.distance=p(h.tooltipOptions.distance,16);i===!1?this.hide():(this.isHidden&&(bb(d),d.attr("opacity",1).show()),d.attr({text:i}),k=e.borderColor||a.color||h.color||"#606060",d.attr({stroke:k}),this.updatePosition({plotX:f,plotY:g,negative:a.negative,ttBelow:a.ttBelow}),this.isHidden=!1);I(c,"tooltipRefresh",{text:i,x:f+c.plotLeft,y:g+c.plotTop,borderColor:k})},updatePosition:function(a){var b=this.chart,
+c=this.label,c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(v(c.x),v(c.y),a.plotX+b.plotLeft,a.plotY+b.plotTop)},tooltipHeaderFormatter:function(a){var b=a.series,c=b.tooltipOptions,d=c.dateTimeLabelFormats,e=c.xDateFormat,f=b.xAxis,g=f&&f.options.type==="datetime"&&ja(a.key),c=c.headerFormat,f=f&&f.closestPointRange,h;if(g&&!e){if(f)for(h in A){if(A[h]>=f||A[h]<=A.day&&a.key%A[h]>0){e=d[h];break}}else e=d.day;e=e||d.year}g&&e&&(c=c.replace("{point.key}","{point.key:"+
+e+"}"));return Ja(c,{point:a,series:b})}};var pa;$a=x.documentElement.ontouchstart!==u;var Wa=K.Pointer=function(a,b){this.init(a,b)};Wa.prototype={init:function(a,b){var c=b.chart,d=c.events,e=ga?"":c.zoomType,c=a.inverted,f;this.options=b;this.chart=a;this.zoomX=f=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=f&&!c||e&&c;this.zoomVert=e&&!c||f&&c;this.hasZoom=f||e;this.runChartClick=d&&!!d.click;this.pinchDown=[];this.lastValidTouch={};if(K.Tooltip&&b.tooltip.enabled)a.tooltip=new Nb(a,b.tooltip),
+this.followTouchMove=b.tooltip.followTouchMove;this.setDOMEvents()},normalize:function(a,b){var c,d,a=a||window.event,a=Tb(a);if(!a.target)a.target=a.srcElement;d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;if(!b)this.chartPosition=b=Sb(this.chart.container);d.pageX===u?(c=t(a.x,a.clientX-b.left),d=a.y):(c=d.pageX-b.left,d=d.pageY-b.top);return r(a,{chartX:v(c),chartY:v(d)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};q(this.chart.axes,function(c){b[c.isXAxis?"xAxis":
+"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},getIndex:function(a){var b=this.chart;return b.inverted?b.plotHeight+b.plotTop-a.chartY:a.chartX-b.plotLeft},runPointActions:function(a){var b=this.chart,c=b.series,d=b.tooltip,e,f,g=b.hoverPoint,h=b.hoverSeries,i,j,k=b.chartWidth,l=this.getIndex(a);if(d&&this.options.tooltip.shared&&(!h||!h.noSharedTooltip)){f=[];i=c.length;for(j=0;j<i;j++)if(c[j].visible&&c[j].options.enableMouseTracking!==!1&&!c[j].noSharedTooltip&&
+c[j].singularTooltips!==!0&&c[j].tooltipPoints.length&&(e=c[j].tooltipPoints[l])&&e.series)e._dist=Q(l-e.clientX),k=L(k,e._dist),f.push(e);for(i=f.length;i--;)f[i]._dist>k&&f.splice(i,1);if(f.length&&f[0].clientX!==this.hoverX)d.refresh(f,a),this.hoverX=f[0].clientX}c=h&&h.tooltipOptions.followPointer;if(h&&h.tracker&&!c){if((e=h.tooltipPoints[l])&&e!==g)e.onMouseOver(a)}else d&&c&&!d.isHidden&&(h=d.getAnchor([{}],a),d.updatePosition({plotX:h[0],plotY:h[1]}));if(d&&!this._onDocumentMouseMove)this._onDocumentMouseMove=
+function(a){if(W[pa])W[pa].pointer.onDocumentMouseMove(a)},N(x,"mousemove",this._onDocumentMouseMove);q(b.axes,function(b){b.drawCrosshair(a,p(e,g))})},reset:function(a,b){var c=this.chart,d=c.hoverSeries,e=c.hoverPoint,f=c.tooltip,g=f&&f.shared?c.hoverPoints:e;(a=a&&f&&g)&&ra(g)[0].plotX===u&&(a=!1);if(a)f.refresh(g),e&&e.setState(e.state,!0);else{if(e)e.onMouseOut();if(d)d.onMouseOut();f&&f.hide(b);if(this._onDocumentMouseMove)X(x,"mousemove",this._onDocumentMouseMove),this._onDocumentMouseMove=
+null;q(c.axes,function(a){a.hideCrosshair()});this.hoverX=null}},scaleGroups:function(a,b){var c=this.chart,d;q(c.series,function(e){d=a||e.getPlotBox();e.xAxis&&e.xAxis.zoomEnabled&&(e.group.attr(d),e.markerGroup&&(e.markerGroup.attr(d),e.markerGroup.clip(b?c.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},
+drag:function(a){var b=this.chart,c=b.options.chart,d=a.chartX,e=a.chartY,f=this.zoomHor,g=this.zoomVert,h=b.plotLeft,i=b.plotTop,j=b.plotWidth,k=b.plotHeight,l,n=this.mouseDownX,m=this.mouseDownY,o=c.panKey&&a[c.panKey+"Key"];d<h?d=h:d>h+j&&(d=h+j);e<i?e=i:e>i+k&&(e=i+k);this.hasDragged=Math.sqrt(Math.pow(n-d,2)+Math.pow(m-e,2));if(this.hasDragged>10){l=b.isInsidePlot(n-h,m-i);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!o&&!this.selectionMarker)this.selectionMarker=b.renderer.rect(h,i,
+f?1:j,g?1:k,0).attr({fill:c.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();this.selectionMarker&&f&&(d-=n,this.selectionMarker.attr({width:Q(d),x:(d>0?0:d)+n}));this.selectionMarker&&g&&(d=e-m,this.selectionMarker.attr({height:Q(d),y:(d>0?0:d)+m}));l&&!this.selectionMarker&&c.panning&&b.pan(a,c.panning)}},drop:function(a){var b=this.chart,c=this.hasPinched;if(this.selectionMarker){var d={xAxis:[],yAxis:[],originalEvent:a.originalEvent||a},e=this.selectionMarker,f=e.attr?e.attr("x"):
+e.x,g=e.attr?e.attr("y"):e.y,h=e.attr?e.attr("width"):e.width,i=e.attr?e.attr("height"):e.height,j;if(this.hasDragged||c)q(b.axes,function(b){if(b.zoomEnabled){var c=b.horiz,e=a.type==="touchend"?b.minPixelPadding:0,m=b.toValue((c?f:g)+e),c=b.toValue((c?f+h:g+i)-e);!isNaN(m)&&!isNaN(c)&&(d[b.coll].push({axis:b,min:L(m,c),max:t(m,c)}),j=!0)}}),j&&I(b,"selection",d,function(a){b.zoom(r(a,c?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();c&&this.scaleGroups()}if(b)B(b.container,
+{cursor:b._cursor}),b.cancelClick=this.hasDragged>10,b.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){W[pa]&&W[pa].pointer.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,d=b.hoverSeries,a=this.normalize(a,c);c&&d&&!this.inClass(a.target,"highcharts-tracker")&&!b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&
+this.reset()},onContainerMouseLeave:function(){var a=W[pa];if(a)a.pointer.reset(),a.pointer.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart;pa=b.index;a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);(this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,b){for(var c;a;){if(c=F(a,"class"))if(c.indexOf(b)!==-1)return!0;else if(c.indexOf("highcharts-container")!==
+-1)return!1;a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries,c=(a=a.relatedTarget||a.toElement)&&a.point&&a.point.series;if(b&&!b.options.stickyTracking&&!this.inClass(a,"highcharts-tooltip")&&c!==b)b.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,e=b.plotTop,a=this.normalize(a);a.cancelBubble=!0;b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(I(c.series,"click",r(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",
+a)):(r(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-e)&&I(b,"click",a)))},setDOMEvents:function(){var a=this,b=a.chart.container;b.onmousedown=function(b){a.onContainerMouseDown(b)};b.onmousemove=function(b){a.onContainerMouseMove(b)};b.onclick=function(b){a.onContainerClick(b)};N(b,"mouseleave",a.onContainerMouseLeave);ab===1&&N(x,"mouseup",a.onDocumentMouseUp);if($a)b.ontouchstart=function(b){a.onContainerTouchStart(b)},b.ontouchmove=function(b){a.onContainerTouchMove(b)},ab===1&&
+N(x,"touchend",a.onDocumentTouchEnd)},destroy:function(){var a;X(this.chart.container,"mouseleave",this.onContainerMouseLeave);ab||(X(x,"mouseup",this.onDocumentMouseUp),X(x,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for(a in this)this[a]=null}};r(K.Pointer.prototype,{pinchTranslate:function(a,b,c,d,e,f){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,a,b,c,d,e,f);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,a,b,c,d,e,f)},pinchTranslateDirection:function(a,
+b,c,d,e,f,g,h){var i=this.chart,j=a?"x":"y",k=a?"X":"Y",l="chart"+k,n=a?"width":"height",m=i["plot"+(a?"Left":"Top")],o,p,q=h||1,r=i.inverted,C=i.bounds[a?"h":"v"],t=b.length===1,s=b[0][l],v=c[0][l],u=!t&&b[1][l],w=!t&&c[1][l],x,c=function(){!t&&Q(s-u)>20&&(q=h||Q(v-w)/Q(s-u));p=(m-v)/q+s;o=i["plot"+(a?"Width":"Height")]/q};c();b=p;b<C.min?(b=C.min,x=!0):b+o>C.max&&(b=C.max-o,x=!0);x?(v-=0.8*(v-g[j][0]),t||(w-=0.8*(w-g[j][1])),c()):g[j]=[v,w];r||(f[j]=p-m,f[n]=o);f=r?1/q:q;e[n]=o;e[j]=b;d[r?a?"scaleY":
+"scaleX":"scale"+k]=q;d["translate"+k]=f*m+(v-f*s)},pinch:function(a){var b=this,c=b.chart,d=b.pinchDown,e=b.followTouchMove,f=a.touches,g=f.length,h=b.lastValidTouch,i=b.hasZoom,j=b.selectionMarker,k={},l=g===1&&(b.inClass(a.target,"highcharts-tracker")&&c.runTrackerClick||b.runChartClick),n={};(i||e)&&!l&&a.preventDefault();Va(f,function(a){return b.normalize(a)});if(a.type==="touchstart")q(f,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),h.x=[d[0].chartX,d[1]&&d[1].chartX],h.y=[d[0].chartY,
+d[1]&&d[1].chartY],q(c.axes,function(a){if(a.zoomEnabled){var b=c.bounds[a.horiz?"h":"v"],d=a.minPixelPadding,e=a.toPixels(p(a.options.min,a.dataMin)),f=a.toPixels(p(a.options.max,a.dataMax)),g=L(e,f),e=t(e,f);b.min=L(a.pos,g-d);b.max=t(a.pos+a.len,e+d)}}),b.res=!0;else if(d.length){if(!j)b.selectionMarker=j=r({destroy:sa},c.plotBox);b.pinchTranslate(d,f,k,j,n,h);b.hasPinched=i;b.scaleGroups(k,n);if(!i&&e&&g===1)this.runPointActions(b.normalize(a));else if(b.res)b.res=!1,this.reset(!1,0)}},onContainerTouchStart:function(a){var b=
+this.chart;pa=b.index;a.touches.length===1?(a=this.normalize(a),b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)?(this.runPointActions(a),this.pinch(a)):this.reset()):a.touches.length===2&&this.pinch(a)},onContainerTouchMove:function(a){(a.touches.length===1||a.touches.length===2)&&this.pinch(a)},onDocumentTouchEnd:function(a){W[pa]&&W[pa].pointer.drop(a)}});if(G.PointerEvent||G.MSPointerEvent){var ua={},zb=!!G.PointerEvent,Xb=function(){var a,b=[];b.item=function(a){return this[a]};for(a in ua)ua.hasOwnProperty(a)&&
+b.push({pageX:ua[a].pageX,pageY:ua[a].pageY,target:ua[a].target});return b},Ab=function(a,b,c,d){a=a.originalEvent||a;if((a.pointerType==="touch"||a.pointerType===a.MSPOINTER_TYPE_TOUCH)&&W[pa])d(a),d=W[pa].pointer,d[b]({type:c,target:a.currentTarget,preventDefault:sa,touches:Xb()})};r(Wa.prototype,{onContainerPointerDown:function(a){Ab(a,"onContainerTouchStart","touchstart",function(a){ua[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){Ab(a,
+"onContainerTouchMove","touchmove",function(a){ua[a.pointerId]={pageX:a.pageX,pageY:a.pageY};if(!ua[a.pointerId].target)ua[a.pointerId].target=a.currentTarget})},onDocumentPointerUp:function(a){Ab(a,"onContainerTouchEnd","touchend",function(a){delete ua[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,zb?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,zb?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(x,zb?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});
+Na(Wa.prototype,"init",function(a,b,c){a.call(this,b,c);(this.hasZoom||this.followTouchMove)&&B(b.container,{"-ms-touch-action":P,"touch-action":P})});Na(Wa.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(N)});Na(Wa.prototype,"destroy",function(a){this.batchMSEvents(X);a.call(this)})}var lb=K.Legend=function(a,b){this.init(a,b)};lb.prototype={init:function(a,b){var c=this,d=b.itemStyle,e=p(b.padding,8),f=b.itemMarginTop||0;this.options=b;
+if(b.enabled)c.itemStyle=d,c.itemHiddenStyle=w(d,b.itemHiddenStyle),c.itemMarginTop=f,c.padding=e,c.initialItemX=e,c.initialItemY=e-5,c.maxItemWidth=0,c.chart=a,c.itemHeight=0,c.lastLineHeight=0,c.symbolWidth=p(b.symbolWidth,16),c.pages=[],c.render(),N(c.chart,"endResize",function(){c.positionCheckboxes()})},colorizeItem:function(a,b){var c=this.options,d=a.legendItem,e=a.legendLine,f=a.legendSymbol,g=this.itemHiddenStyle.color,c=b?c.itemStyle.color:g,h=b?a.legendColor||a.color||"#CCC":g,g=a.options&&
+a.options.marker,i={fill:h},j;d&&d.css({fill:c,color:c});e&&e.attr({stroke:h});if(f){if(g&&f.isMarker)for(j in i.stroke=h,g=a.convertAttribs(g),g)d=g[j],d!==u&&(i[j]=d);f.attr(i)}},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4,d);if(f)f.x=e,f.y=d},destroyItem:function(a){var b=a.checkbox;q(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&
+(a[b]=a[b].destroy())});b&&Qa(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(a){var b=this.group.alignAttr,c,d=this.clipHeight||this.legendHeight;if(b)c=b.translateY,q(this.allItems,function(e){var f=e.checkbox,g;f&&(g=c+f.y+(a||0)+3,B(f,{left:b.translateX+e.checkboxOffset+f.x-20+"px",top:g+"px",display:g>c-6&&g<c+d-6?"":P}))})},renderTitle:function(){var a=this.padding,b=this.options.title,c=0;if(b.text){if(!this.title)this.title=
+this.chart.renderer.label(b.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(b.style).add(this.group);a=this.title.getBBox();c=a.height;this.offsetWidth=a.width;this.contentGroup.attr({translateY:c})}this.titleHeight=c},renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,e=d.layout==="horizontal",f=this.symbolWidth,g=d.symbolPadding,h=this.itemStyle,i=this.itemHiddenStyle,j=this.padding,k=e?p(d.itemDistance,20):0,l=!d.rtl,n=d.width,m=d.itemMarginBottom||0,
+o=this.itemMarginTop,q=this.initialItemX,r=a.legendItem,s=a.series&&a.series.drawLegendSymbol?a.series:a,C=s.options,C=this.createCheckboxForItem&&C&&C.showCheckbox,u=d.useHTML;if(!r){a.legendGroup=c.g("legend-item").attr({zIndex:1}).add(this.scrollGroup);a.legendItem=r=c.text(d.labelFormat?Ja(d.labelFormat,a):d.labelFormatter.call(a),l?f+g:-g,this.baseline||0,u).css(w(a.visible?h:i)).attr({align:l?"left":"right",zIndex:2}).add(a.legendGroup);if(!this.baseline)this.baseline=c.fontMetrics(h.fontSize,
+r).f+3+o,r.attr("y",this.baseline);s.drawLegendSymbol(this,a);this.setItemEvents&&this.setItemEvents(a,r,u,h,i);this.colorizeItem(a,a.visible);C&&this.createCheckboxForItem(a)}c=r.getBBox();f=a.checkboxOffset=d.itemWidth||a.legendItemWidth||f+g+c.width+k+(C?20:0);this.itemHeight=g=v(a.legendItemHeight||c.height);if(e&&this.itemX-q+f>(n||b.chartWidth-2*j-q-d.x))this.itemX=q,this.itemY+=o+this.lastLineHeight+m,this.lastLineHeight=0;this.maxItemWidth=t(this.maxItemWidth,f);this.lastItemY=o+this.itemY+
+m;this.lastLineHeight=t(g,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=f:(this.itemY+=o+g+m,this.lastLineHeight=g);this.offsetWidth=n||t((e?this.itemX-q-k:f)+j,this.offsetWidth)},getAllItems:function(){var a=[];q(this.chart.series,function(b){var c=b.options;if(p(c.showInLegend,!s(c.linkedTo)?u:!1,!0))a=a.concat(b.legendItems||(c.legendType==="point"?b.data:b))});return a},render:function(){var a=this,b=a.chart,c=b.renderer,d=a.group,e,f,g,h,i=a.box,j=a.options,k=a.padding,
+l=j.borderWidth,n=j.backgroundColor;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;if(!d)a.group=d=c.g("legend").attr({zIndex:7}).add(),a.contentGroup=c.g().attr({zIndex:1}).add(d),a.scrollGroup=c.g().add(a.contentGroup);a.renderTitle();e=a.getAllItems();ob(e,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});j.reversed&&e.reverse();a.allItems=e;a.display=f=!!e.length;q(e,function(b){a.renderItem(b)});g=j.width||a.offsetWidth;
+h=a.lastItemY+a.lastLineHeight+a.titleHeight;h=a.handleOverflow(h);if(l||n){g+=k;h+=k;if(i){if(g>0&&h>0)i[i.isNew?"attr":"animate"](i.crisp({width:g,height:h})),i.isNew=!1}else a.box=i=c.rect(0,0,g,h,j.borderRadius,l||0).attr({stroke:j.borderColor,"stroke-width":l||0,fill:n||P}).add(d).shadow(j.shadow),i.isNew=!0;i[f?"show":"hide"]()}a.legendWidth=g;a.legendHeight=h;q(e,function(b){a.positionItem(b)});f&&d.align(r({width:g,height:h},j),!0,"spacingBox");b.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b=
+this,c=this.chart,d=c.renderer,e=this.options,f=e.y,f=c.spacingBox.height+(e.verticalAlign==="top"?-f:f)-this.padding,g=e.maxHeight,h,i=this.clipRect,j=e.navigation,k=p(j.animation,!0),l=j.arrowSize||12,n=this.nav,m=this.pages,o,r=this.allItems;e.layout==="horizontal"&&(f/=2);g&&(f=L(f,g));m.length=0;if(a>f&&!e.useHTML){this.clipHeight=h=t(f-20-this.titleHeight-this.padding,0);this.currentPage=p(this.currentPage,1);this.fullHeight=a;q(r,function(a,b){var c=a._legendItemPos[1],d=v(a.legendItem.getBBox().height),
+e=m.length;if(!e||c-m[e-1]>h&&(o||c)!==m[e-1])m.push(o||c),e++;b===r.length-1&&c+d-m[e-1]>h&&m.push(c);c!==o&&(o=c)});if(!i)i=b.clipRect=d.clipRect(0,this.padding,9999,0),b.contentGroup.clip(i);i.attr({height:h});if(!n)this.nav=n=d.g().attr({zIndex:1}).add(this.group),this.up=d.symbol("triangle",0,0,l,l).on("click",function(){b.scroll(-1,k)}).add(n),this.pager=d.text("",15,10).css(j.style).add(n),this.down=d.symbol("triangle-down",0,0,l,l).on("click",function(){b.scroll(1,k)}).add(n);b.scroll(0);
+a=f}else if(n)i.attr({height:c.chartHeight}),n.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+a,f=this.clipHeight,g=this.options.navigation,h=g.activeColor,g=g.inactiveColor,i=this.pager,j=this.padding;e>d&&(e=d);if(e>0)b!==u&&Ra(b,this.chart),this.nav.attr({translateX:j,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:e===1?g:h}).css({cursor:e===1?"default":"pointer"}),
+i.attr({text:e+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,fill:e===d?g:h}).css({cursor:e===d?"default":"pointer"}),c=-c[e-1]+this.initialItemY,this.scrollGroup.animate({translateY:c}),this.currentPage=e,this.positionCheckboxes(c)}};M=K.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.options.symbolHeight||12;b.legendSymbol=this.chart.renderer.rect(0,a.baseline-5-c/2,a.symbolWidth,c,a.options.symbolRadius||0).attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=
+this.options,c=b.marker,d;d=a.symbolWidth;var e=this.chart.renderer,f=this.legendGroup,a=a.baseline-v(e.fontMetrics(a.options.itemStyle.fontSize,this.legendItem).b*0.3),g;if(b.lineWidth){g={"stroke-width":b.lineWidth};if(b.dashStyle)g.dashstyle=b.dashStyle;this.legendLine=e.path(["M",0,a,"L",d,a]).attr(g).add(f)}if(c&&c.enabled!==!1)b=c.radius,this.legendSymbol=d=e.symbol(this.symbol,d/2-b,a-b,2*b,2*b).add(f),d.isMarker=!0}};(/Trident\/7\.0/.test(wa)||Ua)&&Na(lb.prototype,"positionItem",function(a,
+b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();setTimeout(d)});Ya.prototype={init:function(a,b){var c,d=a.series;a.series=null;c=w(E,a);c.series=a.series=d;this.userOptions=a;d=c.chart;this.margin=this.splashArray("margin",d);this.spacing=this.splashArray("spacing",d);var e=d.events;this.bounds={h:{},v:{}};this.callback=b;this.isResizing=0;this.options=c;this.axes=[];this.series=[];this.hasCartesianSeries=d.showAxes;var f=this,g;f.index=W.length;W.push(f);ab++;d.reflow!==!1&&N(f,"load",
+function(){f.initReflow()});if(e)for(g in e)N(f,g,e[g]);f.xAxis=[];f.yAxis=[];f.animation=ga?!1:p(d.animation,!0);f.pointCount=f.colorCounter=f.symbolCounter=0;f.firstRender()},initSeries:function(a){var b=this.options.chart;(b=H[a.type||b.type||b.defaultSeriesType])||ha(17,!0);b=new b;b.init(this,a);return b},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&q(this.axes,function(a){a.adjustTickAmount()});
+this.maxTicks=null},redraw:function(a){var b=this.axes,c=this.series,d=this.pointer,e=this.legend,f=this.isDirtyLegend,g,h,i=this.hasCartesianSeries,j=this.isDirtyBox,k=c.length,l=k,n=this.renderer,m=n.isHidden(),o=[];Ra(a,this);m&&this.cloneRenderTo();for(this.layOutTitles();l--;)if(a=c[l],a.options.stacking&&(g=!0,a.isDirty)){h=!0;break}if(h)for(l=k;l--;)if(a=c[l],a.options.stacking)a.isDirty=!0;q(c,function(a){a.isDirty&&a.options.legendType==="point"&&(f=!0)});if(f&&e.options.enabled)e.render(),
+this.isDirtyLegend=!1;g&&this.getStacks();if(i){if(!this.isResizing)this.maxTicks=null,q(b,function(a){a.setScale()});this.adjustTickAmounts()}this.getMargins();i&&(q(b,function(a){a.isDirty&&(j=!0)}),q(b,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,o.push(function(){I(a,"afterSetExtremes",r(a.eventArgs,a.getExtremes()));delete a.eventArgs});(j||g)&&a.redraw()}));j&&this.drawChartBox();q(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});d&&d.reset(!0);n.draw();I(this,
+"redraw");m&&this.cloneRenderTo(!0);q(o,function(a){a.call()})},get:function(a){var b=this.axes,c=this.series,d,e;for(d=0;d<b.length;d++)if(b[d].options.id===a)return b[d];for(d=0;d<c.length;d++)if(c[d].options.id===a)return c[d];for(d=0;d<c.length;d++){e=c[d].points||[];for(b=0;b<e.length;b++)if(e[b].id===a)return e[b]}return null},getAxes:function(){var a=this,b=this.options,c=b.xAxis=ra(b.xAxis||{}),b=b.yAxis=ra(b.yAxis||{});q(c,function(a,b){a.index=b;a.isX=!0});q(b,function(a,b){a.index=b});
+c=c.concat(b);q(c,function(b){new na(a,b)});a.adjustTickAmounts()},getSelectedPoints:function(){var a=[];q(this.series,function(b){a=a.concat(wb(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return wb(this.series,function(a){return a.selected})},getStacks:function(){var a=this;q(a.yAxis,function(a){if(a.stacks&&a.hasVisibleSeries)a.oldStacks=a.stacks});q(a.series,function(b){if(b.options.stacking&&(b.visible===!0||a.options.chart.ignoreHiddenSeries===!1))b.stackKey=
+b.type+p(b.options.stack,"")})},setTitle:function(a,b,c){var g;var d=this,e=d.options,f;f=e.title=w(e.title,a);g=e.subtitle=w(e.subtitle,b),e=g;q([["title",a,f],["subtitle",b,e]],function(a){var b=a[0],c=d[b],e=a[1],a=a[2];c&&e&&(d[b]=c=c.destroy());a&&a.text&&!c&&(d[b]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).css(a.style).add())});d.layOutTitles(c)},layOutTitles:function(a){var b=0,c=this.title,d=this.subtitle,e=this.options,f=e.title,
+e=e.subtitle,g=this.renderer,h=this.spacingBox.width-44;if(c&&(c.css({width:(f.width||h)+"px"}).align(r({y:g.fontMetrics(f.style.fontSize,c).b-3},f),!1,"spacingBox"),!f.floating&&!f.verticalAlign))b=c.getBBox().height;d&&(d.css({width:(e.width||h)+"px"}).align(r({y:b+(f.margin-13)+g.fontMetrics(f.style.fontSize,d).b},e),!1,"spacingBox"),!e.floating&&!e.verticalAlign&&(b=La(b+d.getBBox().height)));c=this.titleOffset!==b;this.titleOffset=b;if(!this.isDirtyBox&&c)this.isDirtyBox=c,this.hasRendered&&
+p(a,!0)&&this.isDirtyBox&&this.redraw()},getChartSize:function(){var a=this.options.chart,b=a.width,a=a.height,c=this.renderToClone||this.renderTo;if(!s(b))this.containerWidth=ib(c,"width");if(!s(a))this.containerHeight=ib(c,"height");this.chartWidth=t(0,b||this.containerWidth||600);this.chartHeight=t(0,p(a,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),Qa(b),delete this.renderToClone):(c&&
+c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),B(b,{position:"absolute",top:"-9999px",display:"block"}),b.style.setProperty&&b.style.setProperty("display","block","important"),x.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var a,b=this.options.chart,c,d,e;this.renderTo=a=b.renderTo;e="highcharts-"+ub++;if(Ga(a))this.renderTo=a=x.getElementById(a);a||ha(13,!0);c=y(F(a,"data-highcharts-chart"));!isNaN(c)&&W[c]&&W[c].hasRendered&&
+W[c].destroy();F(a,"data-highcharts-chart",this.index);a.innerHTML="";!b.skipClone&&!a.offsetWidth&&this.cloneRenderTo();this.getChartSize();c=this.chartWidth;d=this.chartHeight;this.container=a=$(Ka,{className:"highcharts-container"+(b.className?" "+b.className:""),id:e},r({position:"relative",overflow:"hidden",width:c+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},b.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=
+b.forExport?new ta(a,c,d,b.style,!0):new Za(a,c,d,b.style);ga&&this.renderer.create(this,a,c,d)},getMargins:function(){var a=this.spacing,b,c=this.legend,d=this.margin,e=this.options.legend,f=p(e.margin,20),g=e.x,h=e.y,i=e.align,j=e.verticalAlign,k=this.titleOffset;this.resetMargins();b=this.axisOffset;if(k&&!s(d[0]))this.plotTop=t(this.plotTop,k+this.options.title.margin+a[0]);if(c.display&&!e.floating)if(i==="right"){if(!s(d[1]))this.marginRight=t(this.marginRight,c.legendWidth-g+f+a[1])}else if(i===
+"left"){if(!s(d[3]))this.plotLeft=t(this.plotLeft,c.legendWidth+g+f+a[3])}else if(j==="top"){if(!s(d[0]))this.plotTop=t(this.plotTop,c.legendHeight+h+f+a[0])}else if(j==="bottom"&&!s(d[2]))this.marginBottom=t(this.marginBottom,c.legendHeight-h+f+a[2]);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&q(this.axes,function(a){a.getOffset()});s(d[3])||(this.plotLeft+=b[3]);s(d[0])||(this.plotTop+=b[0]);
+s(d[2])||(this.marginBottom+=b[2]);s(d[1])||(this.marginRight+=b[1]);this.setChartSize()},reflow:function(a){var b=this,c=b.options.chart,d=b.renderTo,e=c.width||ib(d,"width"),f=c.height||ib(d,"height"),c=a?a.target:G,d=function(){if(b.container)b.setSize(e,f,!1),b.hasUserSize=null};if(!b.hasUserSize&&e&&f&&(c===G||c===x)){if(e!==b.containerWidth||f!==b.containerHeight)clearTimeout(b.reflowTimeout),a?b.reflowTimeout=setTimeout(d,100):d();b.containerWidth=e;b.containerHeight=f}},initReflow:function(){var a=
+this,b=function(b){a.reflow(b)};N(G,"resize",b);N(a,"destroy",function(){X(G,"resize",b)})},setSize:function(a,b,c){var d=this,e,f,g;d.isResizing+=1;g=function(){d&&I(d,"endResize",null,function(){d.isResizing-=1})};Ra(c,d);d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;if(s(a))d.chartWidth=e=t(0,v(a)),d.hasUserSize=!!e;if(s(b))d.chartHeight=f=t(0,v(b));(va?jb:B)(d.container,{width:e+"px",height:f+"px"},va);d.setChartSize(!0);d.renderer.setSize(e,f,c);d.maxTicks=null;q(d.axes,function(a){a.isDirty=
+!0;a.setScale()});q(d.series,function(a){a.isDirty=!0});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;I(d,"resize");va===!1?g():setTimeout(g,va&&va.duration||500)},setChartSize:function(a){var b=this.inverted,c=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.options.chart,g=this.spacing,h=this.clipOffset,i,j,k,l;this.plotLeft=i=v(this.plotLeft);this.plotTop=j=v(this.plotTop);this.plotWidth=k=t(0,v(d-i-this.marginRight));this.plotHeight=
+l=t(0,v(e-j-this.marginBottom));this.plotSizeX=b?l:k;this.plotSizeY=b?k:l;this.plotBorderWidth=f.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:g[3],y:g[0],width:d-g[3]-g[1],height:e-g[0]-g[2]};this.plotBox=c.plotBox={x:i,y:j,width:k,height:l};d=2*U(this.plotBorderWidth/2);b=La(t(d,h[3])/2);c=La(t(d,h[0])/2);this.clipBox={x:b,y:c,width:U(this.plotSizeX-t(d,h[1])/2-b),height:t(0,U(this.plotSizeY-t(d,h[2])/2-c))};a||q(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var a=
+this.spacing,b=this.margin;this.plotTop=p(b[0],a[0]);this.marginRight=p(b[1],a[1]);this.marginBottom=p(b[2],a[2]);this.plotLeft=p(b[3],a[3]);this.axisOffset=[0,0,0,0];this.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,d=this.chartHeight,e=this.chartBackground,f=this.plotBackground,g=this.plotBorder,h=this.plotBGImage,i=a.borderWidth||0,j=a.backgroundColor,k=a.plotBackgroundColor,l=a.plotBackgroundImage,n=a.plotBorderWidth||0,m,o=this.plotLeft,
+p=this.plotTop,q=this.plotWidth,r=this.plotHeight,t=this.plotBox,s=this.clipRect,v=this.clipBox;m=i+(a.shadow?8:0);if(i||j)if(e)e.animate(e.crisp({width:c-m,height:d-m}));else{e={fill:j||P};if(i)e.stroke=a.borderColor,e["stroke-width"]=i;this.chartBackground=b.rect(m/2,m/2,c-m,d-m,a.borderRadius,i).attr(e).addClass("highcharts-background").add().shadow(a.shadow)}if(k)f?f.animate(t):this.plotBackground=b.rect(o,p,q,r,0).attr({fill:k}).add().shadow(a.plotShadow);if(l)h?h.animate(t):this.plotBGImage=
+b.image(l,o,p,q,r).add();s?s.animate({width:v.width,height:v.height}):this.clipRect=b.clipRect(v);if(n)g?g.animate(g.crisp({x:o,y:p,width:q,height:r,strokeWidth:-n})):this.plotBorder=b.rect(o,p,q,r,0,-n).attr({stroke:a.plotBorderColor,"stroke-width":n,fill:P,zIndex:1}).add();this.isDirtyBox=!1},propFromSeries:function(){var a=this,b=a.options.chart,c,d=a.options.series,e,f;q(["inverted","angular","polar"],function(g){c=H[b.type||b.defaultSeriesType];f=a[g]||b[g]||c&&c.prototype[g];for(e=d&&d.length;!f&&
+e--;)(c=H[d[e].type])&&c.prototype[g]&&(f=!0);a[g]=f})},linkSeries:function(){var a=this,b=a.series;q(b,function(a){a.linkedSeries.length=0});q(b,function(b){var d=b.options.linkedTo;if(Ga(d)&&(d=d===":previous"?a.series[b.index-1]:a.get(d)))d.linkedSeries.push(b),b.linkedParent=d})},renderSeries:function(){q(this.series,function(a){a.translate();a.setTooltipPoints&&a.setTooltipPoints();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&q(b.items,function(c){var d=r(b.style,
+c.style),e=y(d.left)+a.plotLeft,f=y(d.top)+a.plotTop+12;delete d.left;delete d.top;a.renderer.text(c.html,e,f).attr({zIndex:2}).css(d).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options;this.setTitle();this.legend=new lb(this,c.legend);this.getStacks();q(a,function(a){a.setScale()});this.getMargins();this.maxTicks=null;q(a,function(a){a.setTickPositions(!0);a.setMaxTicks()});this.adjustTickAmounts();this.getMargins();this.drawChartBox();this.hasCartesianSeries&&q(a,function(a){a.render()});
+if(!this.seriesGroup)this.seriesGroup=b.g("series-group").attr({zIndex:3}).add();this.renderSeries();this.renderLabels();this.showCredits(c.credits);this.hasRendered=!0},showCredits:function(a){if(a.enabled&&!this.credits)this.credits=this.renderer.text(a.text,0,0).on("click",function(){if(a.href)location.href=a.href}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position)},destroy:function(){var a=this,b=a.axes,c=a.series,d=a.container,e,f=d&&d.parentNode;I(a,"destroy");W[a.index]=
+u;ab--;a.renderTo.removeAttribute("data-highcharts-chart");X(a);for(e=b.length;e--;)b[e]=b[e].destroy();for(e=c.length;e--;)c[e]=c[e].destroy();q("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(b){var c=a[b];c&&c.destroy&&(a[b]=c.destroy())});if(d)d.innerHTML="",X(d),f&&Qa(d);for(e in a)delete a[e]},isReadyToRender:function(){var a=this;return!ba&&G==G.top&&
+x.readyState!=="complete"||ga&&!G.canvg?(ga?Mb.push(function(){a.firstRender()},a.options.global.canvasToolsURL):x.attachEvent("onreadystatechange",function(){x.detachEvent("onreadystatechange",a.firstRender);x.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,b=a.options,c=a.callback;if(a.isReadyToRender()){a.getContainer();I(a,"init");a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();q(b.series||[],function(b){a.initSeries(b)});a.linkSeries();I(a,
+"beforeRender");if(K.Pointer)a.pointer=new Wa(a,b);a.render();a.renderer.draw();c&&c.apply(a,[a]);q(a.callbacks,function(b){b.apply(a,[a])});a.cloneRenderTo(!0);I(a,"load")}},splashArray:function(a,b){var c=b[a],c=da(c)?c:[c,c,c,c];return[p(b[a+"Top"],c[0]),p(b[a+"Right"],c[1]),p(b[a+"Bottom"],c[2]),p(b[a+"Left"],c[3])]}};Ya.prototype.callbacks=[];Z=K.CenteredSeriesMixin={getCenter:function(){var a=this.options,b=this.chart,c=2*(a.slicedOffset||0),d,e=b.plotWidth-2*c,f=b.plotHeight-2*c,b=a.center,
+a=[p(b[0],"50%"),p(b[1],"50%"),a.size||"100%",a.innerSize||0],g=L(e,f),h;return Va(a,function(a,b){h=/%$/.test(a);d=b<2||b===2&&h;return(h?[e,f,g,g][b]*y(a)/100:a)+(d?c:0)})}};var Fa=function(){};Fa.prototype={init:function(a,b,c){this.series=a;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length))a.colorCounter=0;a.chart.pointCount++;return this},applyOptions:function(a,
+b){var c=this.series,d=c.options.pointValKey||c.pointValKey,a=Fa.prototype.optionsToObject.call(this,a);r(this,a);this.options=this.options?r(this.options,a):a;if(d)this.y=this[d];if(this.x===u&&c)this.x=b===u?c.autoIncrement():b;return this},optionsToObject:function(a){var b={},c=this.series,d=c.pointArrayMap||["y"],e=d.length,f=0,g=0;if(typeof a==="number"||a===null)b[d[0]]=a;else if(Ha(a)){if(a.length>e){c=typeof a[0];if(c==="string")b.name=a[0];else if(c==="number")b.x=a[0];f++}for(;g<e;)b[d[g++]]=
+a[f++]}else if(typeof a==="object"){b=a;if(a.dataLabels)c._hasPointLabels=!0;if(a.marker)c._hasPointMarkers=!0}return b},destroy:function(){var a=this.series.chart,b=a.hoverPoints,c;a.pointCount--;if(b&&(this.setState(),la(b,this),!b.length))a.hoverPoints=null;if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)X(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),
+b,c=6;c--;)b=a[c],this[b]&&(this[b]=this[b].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var b=this.series,c=b.tooltipOptions,d=p(c.valueDecimals,""),e=c.valuePrefix||"",f=c.valueSuffix||"";q(b.pointArrayMap||["y"],function(b){b="{point."+b;if(e||f)a=a.replace(b+"}",e+b+"}"+f);a=a.replace(b+"}",b+":,."+d+"f}")});return Ja(a,
+{point:this,series:this.series})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;(e.point.events[a]||d.options&&d.options.events&&d.options.events[a])&&this.importEvents();a==="click"&&e.allowPointSelect&&(c=function(a){d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});I(this,a,b,c)}};var O=function(){};O.prototype={isCartesian:!0,type:"line",pointClass:Fa,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},axisTypes:["xAxis",
+"yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(a,b){var c=this,d,e,f=a.series,g=function(a,b){return p(a.options.index,a._i)-p(b.options.index,b._i)};c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();r(c,{name:b.name,state:"",pointAttr:{},visible:b.visible!==!1,selected:b.selected===!0});if(ga)b.animation=!1;e=b.events;for(d in e)N(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();
+q(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);if(c.isCartesian)a.hasCartesianSeries=!0;f.push(c);c._i=f.length-1;ob(f,g);this.yAxis&&ob(this.yAxis.series,g);q(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,b=a.options,c=a.chart,d;q(a.axisTypes||[],function(e){q(c[e],function(c){d=c.options;if(b[e]===d.index||b[e]!==u&&b[e]===d.id||b[e]===u&&d.index===0)c.series.push(a),a[e]=c,c.isDirty=!0});!a[e]&&a.optionalAxis!==e&&ha(18,!0)})},
+updateParallelArrays:function(a,b){var c=a.series,d=arguments;q(c.parallelArrays,typeof b==="number"?function(d){var f=d==="y"&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=f}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))})},autoIncrement:function(){var a=this.options,b=this.xIncrement,b=p(b,a.pointStart,0);this.pointInterval=p(this.pointInterval,a.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},getSegments:function(){var a=-1,b=[],c,d=this.points,
+e=d.length;if(e)if(this.options.connectNulls){for(c=e;c--;)d[c].y===null&&d.splice(c,1);d.length&&(b=[d])}else q(d,function(c,g){c.y===null?(g>a+1&&b.push(d.slice(a+1,g)),a=g):g===e-1&&b.push(d.slice(a+1,g+1))});this.segments=b},setOptions:function(a){var b=this.chart,c=b.options.plotOptions,b=b.userOptions||{},d=b.plotOptions||{},e=c[this.type];this.userOptions=a;c=w(e,c.series,a);this.tooltipOptions=w(E.tooltip,E.plotOptions[this.type].tooltip,b.tooltip,d.series&&d.series.tooltip,d[this.type]&&
+d[this.type].tooltip,a.tooltip);e.marker===null&&delete c.marker;return c},getCyclic:function(a,b,c){var d=this.userOptions,e="_"+a+"Index",f=a+"Counter";b||(s(d[e])?b=d[e]:(d[e]=b=this.chart[f]%c.length,this.chart[f]+=1),b=c[b]);this[a]=b},getColor:function(){this.options.colorByPoint||this.getCyclic("color",this.options.color||ca[this.type].color,this.chart.options.colors)},getSymbol:function(){var a=this.options.marker;this.getCyclic("symbol",a.symbol,this.chart.options.symbols);if(/^url/.test(this.symbol))a.radius=
+0},drawLegendSymbol:M.drawLineMarker,setData:function(a,b,c,d){var e=this,f=e.points,g=f&&f.length||0,h,i=e.options,j=e.chart,k=null,l=e.xAxis,n=l&&!!l.categories,m=e.tooltipPoints,o=i.turboThreshold,r=this.xData,t=this.yData,s=(h=e.pointArrayMap)&&h.length,a=a||[];h=a.length;b=p(b,!0);if(d!==!1&&h&&g===h&&!e.cropped&&!e.hasGroupedData)q(a,function(a,b){f[b].update(a,!1,null,!1)});else{e.xIncrement=null;e.pointRange=n?1:i.pointRange;e.colorCounter=0;q(this.parallelArrays,function(a){e[a+"Data"].length=
+0});if(o&&h>o){for(c=0;k===null&&c<h;)k=a[c],c++;if(ja(k)){n=p(i.pointStart,0);i=p(i.pointInterval,1);for(c=0;c<h;c++)r[c]=n,t[c]=a[c],n+=i;e.xIncrement=n}else if(Ha(k))if(s)for(c=0;c<h;c++)i=a[c],r[c]=i[0],t[c]=i.slice(1,s+1);else for(c=0;c<h;c++)i=a[c],r[c]=i[0],t[c]=i[1];else ha(12)}else for(c=0;c<h;c++)if(a[c]!==u&&(i={series:e},e.pointClass.prototype.applyOptions.apply(i,[a[c]]),e.updateParallelArrays(i,c),n&&i.name))l.names[i.x]=i.name;Ga(t[0])&&ha(14,!0);e.data=[];e.options.data=a;for(c=g;c--;)f[c]&&
+f[c].destroy&&f[c].destroy();if(m)m.length=0;if(l)l.minRange=l.userMinRange;e.isDirty=e.isDirtyData=j.isDirtyBox=!0;c=!1}b&&j.redraw(c)},processData:function(a){var b=this.xData,c=this.yData,d=b.length,e;e=0;var f,g,h=this.xAxis,i,j=this.options;i=j.cropThreshold;var k=0,l=this.isCartesian,n,m;if(l&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!a)return!1;if(h)n=h.getExtremes(),m=n.min,n=n.max;if(l&&this.sorted&&(!i||d>i||this.forceCrop))if(b[d-1]<m||b[0]>n)b=[],c=[];else if(b[0]<m||b[d-1]>n)e=
+this.cropData(this.xData,this.yData,m,n),b=e.xData,c=e.yData,e=e.start,f=!0,k=b.length;for(i=b.length-1;i>=0;i--)d=b[i]-b[i-1],!f&&b[i]>m&&b[i]<n&&k++,d>0&&(g===u||d<g)?g=d:d<0&&this.requireSorting&&ha(15);this.cropped=f;this.cropStart=e;this.processedXData=b;this.processedYData=c;this.activePointCount=k;if(j.pointRange===null)this.pointRange=g||1;this.closestPointRange=g},cropData:function(a,b,c,d){var e=a.length,f=0,g=e,h=p(this.cropShoulder,1),i;for(i=0;i<e;i++)if(a[i]>=c){f=t(0,i-h);break}for(;i<
+e;i++)if(a[i]>d){g=i+h;break}return{xData:a.slice(f,g),yData:b.slice(f,g),start:f,end:g}},generatePoints:function(){var a=this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,f=this.pointClass,g=d.length,h=this.cropStart||0,i,j=this.hasGroupedData,k,l=[],n;if(!b&&!j)b=[],b.length=a.length,b=this.data=b;for(n=0;n<g;n++)i=h+n,j?l[n]=(new f).init(this,[d[n]].concat(ra(e[n]))):(b[i]?k=b[i]:a[i]!==u&&(b[i]=k=(new f).init(this,a[i],d[n])),l[n]=k),l[n].index=i;if(b&&(g!==(c=b.length)||
+j))for(n=0;n<c;n++)if(n===h&&!j&&(n+=g),b[n])b[n].destroyElements(),b[n].plotX=u;this.data=b;this.points=l},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,e=[],f=0;d=this.xAxis.getExtremes();var g=d.min,h=d.max,i,j,k,l,a=a||this.stackedYData||this.processedYData;d=a.length;for(l=0;l<d;l++)if(j=c[l],k=a[l],i=k!==null&&k!==u&&(!b.isLog||k.length||k>0),j=this.getExtremesFromAll||this.cropped||(c[l+1]||j)>=g&&(c[l-1]||j)<=h,i&&j)if(i=k.length)for(;i--;)k[i]!==null&&(e[f++]=k[i]);else e[f++]=
+k;this.dataMin=p(void 0,Oa(e));this.dataMax=p(void 0,Ca(e))},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,g=f.length,h=!!this.modifyValue,i=a.pointPlacement,j=i==="between"||ja(i),k=a.threshold,a=0;a<g;a++){var l=f[a],n=l.x,m=l.y,o=l.low,q=b&&e.stacks[(this.negStacks&&m<k?"-":"")+this.stackKey];if(e.isLog&&m<=0)l.y=m=null,ha(10);l.plotX=c.translate(n,0,0,0,1,i,this.type===
+"flags");if(b&&this.visible&&q&&q[n])q=q[n],m=q.points[this.index+","+a],o=m[0],m=m[1],o===0&&(o=p(k,e.min)),e.isLog&&o<=0&&(o=null),l.total=l.stackTotal=q.total,l.percentage=q.total&&l.y/q.total*100,l.stackY=m,q.setOffset(this.pointXOffset||0,this.barW||0);l.yBottom=s(o)?e.translate(o,0,1,0,1):null;h&&(m=this.modifyValue(m,l));l.plotY=typeof m==="number"&&m!==Infinity?e.translate(m,0,1,0,1):u;l.clientX=j?c.translate(n,0,0,0,1):l.plotX;l.negative=l.y<(k||0);l.category=d&&d[l.x]!==u?d[l.x]:l.x}this.getSegments()},
+animate:function(a){var b=this.chart,c=b.renderer,d;d=this.options.animation;var e=this.clipBox||b.clipBox,f=b.inverted,g;if(d&&!da(d))d=ca[this.type].animation;g=["_sharedClip",d.duration,d.easing,e.height].join(",");a?(a=b[g],d=b[g+"m"],a||(b[g]=a=c.clipRect(r(e,{width:0})),b[g+"m"]=d=c.clipRect(-99,f?-b.plotLeft:-b.plotTop,99,f?b.chartWidth:b.chartHeight)),this.group.clip(a),this.markerGroup.clip(d),this.sharedClipKey=g):((a=b[g])&&a.animate({width:b.plotSizeX},d),b[g+"m"]&&b[g+"m"].animate({width:b.plotSizeX+
+99},d),this.animate=null)},afterAnimate:function(){var a=this.chart,b=this.sharedClipKey,c=this.group,d=this.clipBox;if(c&&this.options.clip!==!1){if(!b||!d)c.clip(d?a.renderer.clipRect(d):a.clipRect);this.markerGroup.clip()}I(this,"afterAnimate");setTimeout(function(){b&&a[b]&&(d||(a[b]=a[b].destroy()),a[b+"m"]&&(a[b+"m"]=a[b+"m"].destroy()))},100)},drawPoints:function(){var a,b=this.points,c=this.chart,d,e,f,g,h,i,j,k,l=this.options.marker,n=this.pointAttr[""],m,o,q,t=this.markerGroup,s=p(l.enabled,
+!this.requireSorting||this.activePointCount<0.5*this.xAxis.len/l.radius);if(l.enabled!==!1||this._hasPointMarkers)for(f=b.length;f--;)if(g=b[f],d=U(g.plotX),e=g.plotY,k=g.graphic,m=g.marker||{},o=!!g.marker,a=s&&m.enabled===u||m.enabled,q=c.isInsidePlot(v(d),e,c.inverted),a&&e!==u&&!isNaN(e)&&g.y!==null)if(a=g.pointAttr[g.selected?"select":""]||n,h=a.r,i=p(m.symbol,this.symbol),j=i.indexOf("url")===0,k)k[q?"show":"hide"](!0).animate(r({x:d-h,y:e-h},k.symbolName?{width:2*h,height:2*h}:{}));else{if(q&&
+(h>0||j))g.graphic=c.renderer.symbol(i,d-h,e-h,2*h,2*h,o?m:l).attr(a).add(t)}else if(k)g.graphic=k.destroy()},convertAttribs:function(a,b,c,d){var e=this.pointAttrToOptions,f,g,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(f in e)g=e[f],h[f]=p(a[g],b[f],c[f],d[f]);return h},getAttribs:function(){var a=this,b=a.options,c=ca[a.type].marker?b.marker:b,d=c.states,e=d.hover,f,g=a.color;f={stroke:g,fill:g};var h=a.points||[],i,j=[],k,l=a.pointAttrToOptions;k=a.hasPointSpecificOptions;var n=b.negativeColor,m=
+c.lineColor,o=c.fillColor;i=b.turboThreshold;var p;b.marker?(e.radius=e.radius||c.radius+e.radiusPlus,e.lineWidth=e.lineWidth||c.lineWidth+e.lineWidthPlus):e.color=e.color||ya(e.color||g).brighten(e.brightness).get();j[""]=a.convertAttribs(c,f);q(["hover","select"],function(b){j[b]=a.convertAttribs(d[b],j[""])});a.pointAttr=j;g=h.length;if(!i||g<i||k)for(;g--;){i=h[g];if((c=i.options&&i.options.marker||i.options)&&c.enabled===!1)c.radius=0;if(i.negative&&n)i.color=i.fillColor=n;k=b.colorByPoint||
+i.color;if(i.options)for(p in l)s(c[l[p]])&&(k=!0);if(k){c=c||{};k=[];d=c.states||{};f=d.hover=d.hover||{};if(!b.marker)f.color=f.color||!i.options.color&&e.color||ya(i.color).brighten(f.brightness||e.brightness).get();f={color:i.color};if(!o)f.fillColor=i.color;if(!m)f.lineColor=i.color;k[""]=a.convertAttribs(r(f,c),j[""]);k.hover=a.convertAttribs(d.hover,j.hover,k[""]);k.select=a.convertAttribs(d.select,j.select,k[""])}else k=j;i.pointAttr=k}},destroy:function(){var a=this,b=a.chart,c=/AppleWebKit\/533/.test(wa),
+d,e,f=a.data||[],g,h,i;I(a,"destroy");X(a);q(a.axisTypes||[],function(b){if(i=a[b])la(i.series,a),i.isDirty=i.forceRedraw=!0});a.legendItem&&a.chart.legend.destroyItem(a);for(e=f.length;e--;)(g=f[e])&&g.destroy&&g.destroy();a.points=null;clearTimeout(a.animationTimeout);q("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(b){a[b]&&(d=c&&b==="group"?"hide":"destroy",a[b][d]())});if(b.hoverSeries===a)b.hoverSeries=null;la(b.series,a);for(h in a)delete a[h]},
+getSegmentPath:function(a){var b=this,c=[],d=b.options.step;q(a,function(e,f){var g=e.plotX,h=e.plotY,i;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(i=a[f-1],d==="right"?c.push(i.plotX,h):d==="center"?c.push((i.plotX+g)/2,i.plotY,(i.plotX+g)/2,h):c.push(g,i.plotY)),c.push(e.plotX,e.plotY))});return c},getGraphPath:function(){var a=this,b=[],c,d=[];q(a.segments,function(e){c=a.getSegmentPath(e);e.length>1?b=b.concat(c):d.push(e[0])});a.singlePoints=d;return a.graphPath=
+b},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color]],d=b.lineWidth,e=b.dashStyle,f=b.linecap!=="square",g=this.getGraphPath(),h=b.negativeColor;h&&c.push(["graphNeg",h]);q(c,function(c,h){var k=c[0],l=a[k];if(l)bb(l),l.animate({d:g});else if(d&&g.length)l={stroke:c[1],"stroke-width":d,fill:P,zIndex:1},e?l.dashstyle=e:f&&(l["stroke-linecap"]=l["stroke-linejoin"]="round"),a[k]=a.chart.renderer.path(g).attr(l).add(a.group).shadow(!h&&b.shadow)})},clipNeg:function(){var a=
+this.options,b=this.chart,c=b.renderer,d=a.negativeColor||a.negativeFillColor,e,f=this.graph,g=this.area,h=this.posClip,i=this.negClip;e=b.chartWidth;var j=b.chartHeight,k=t(e,j),l=this.yAxis;if(d&&(f||g)){d=v(l.toPixels(a.threshold||0,!0));d<0&&(k-=d);a={x:0,y:0,width:k,height:d};k={x:0,y:d,width:k,height:k};if(b.inverted)a.height=k.y=b.plotWidth-d,c.isVML&&(a={x:b.plotWidth-d-b.plotLeft,y:0,width:e,height:j},k={x:d+b.plotLeft-e,y:0,width:b.plotLeft+d,height:e});l.reversed?(b=k,e=a):(b=a,e=k);h?
+(h.animate(b),i.animate(e)):(this.posClip=h=c.clipRect(b),this.negClip=i=c.clipRect(e),f&&this.graphNeg&&(f.clip(h),this.graphNeg.clip(i)),g&&(g.clip(h),this.areaNeg.clip(i)))}},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};q(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;if(b.xAxis)N(c,"resize",a),N(b,"destroy",function(){X(c,"resize",a)}),a(),b.invertGroups=a},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;g&&(this[a]=
+f=this.chart.renderer.g(b).attr({visibility:c,zIndex:d||0.1}).add(e));f[g?"attr":"animate"](this.getPlotBox());return f},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;if(a.inverted)b=c,c=this.xAxis;return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=(c=d.animation)&&!!a.animate&&b.renderer.isSVG&&p(c.duration,500)||0,f=a.visible?"visible":"hidden",g=d.zIndex,h=a.hasRendered,i=b.seriesGroup;
+c=a.plotGroup("group","series",f,g,i);a.markerGroup=a.plotGroup("markerGroup","markers",f,g,i);e&&a.animate(!0);a.getAttribs();c.inverted=a.isCartesian?b.inverted:!1;a.drawGraph&&(a.drawGraph(),a.clipNeg());q(a.points,function(a){a.redraw&&a.redraw()});a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&a.options.enableMouseTracking!==!1&&a.drawTracker();b.inverted&&a.invertGroups();d.clip!==!1&&!a.sharedClipKey&&!h&&c.clip(b.clipRect);e&&a.animate();if(!h)e?a.animationTimeout=
+setTimeout(function(){a.afterAnimate()},e):a.afterAnimate();a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:p(d&&d.left,a.plotLeft),translateY:p(e&&e.top,a.plotTop)}));this.translate();this.setTooltipPoints&&this.setTooltipPoints(!0);this.render();b&&I(this,"updatedData")}};Gb.prototype={destroy:function(){Pa(this,this.axis)},
+render:function(a){var b=this.options,c=b.format,c=c?Ja(c,this):b.formatter.call(this);this.label?this.label.attr({text:c,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(c,null,null,b.useHTML).css(b.style).attr({align:this.textAlign,rotation:b.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,b){var c=this.axis,d=c.chart,e=d.inverted,f=this.isNegative,g=c.translate(c.usePercentage?100:this.total,0,0,0,1),c=c.translate(0),c=Q(g-c),h=d.xAxis[0].translate(this.x)+a,i=d.plotHeight,
+f={x:e?f?g:g-c:h,y:e?i-h-b:f?i-g-c:i-g,width:e?c:b,height:e?b:c};if(e=this.label)e.align(this.alignOptions,null,f),f=e.alignAttr,e[this.options.crop===!1||d.isInsidePlot(f.x,f.y)?"show":"hide"](!0)}};na.prototype.buildStacks=function(){var a=this.series,b=p(this.options.reversedStacks,!0),c=a.length;if(!this.isXAxis){for(this.usePercentage=!1;c--;)a[b?c:a.length-c-1].setStackedPoints();if(this.usePercentage)for(c=0;c<a.length;c++)a[c].setPercentStacks()}};na.prototype.renderStackTotals=function(){var a=
+this.chart,b=a.renderer,c=this.stacks,d,e,f=this.stackTotalGroup;if(!f)this.stackTotalGroup=f=b.g("stack-labels").attr({visibility:"visible",zIndex:6}).add();f.translate(a.plotLeft,a.plotTop);for(d in c)for(e in a=c[d],a)a[e].render(f)};O.prototype.setStackedPoints=function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){var a=this.processedXData,b=this.processedYData,c=[],d=b.length,e=this.options,f=e.threshold,g=e.stack,e=e.stacking,h=this.stackKey,
+i="-"+h,j=this.negStacks,k=this.yAxis,l=k.stacks,n=k.oldStacks,m,o,p,q,r,s;for(q=0;q<d;q++){r=a[q];s=b[q];p=this.index+","+q;o=(m=j&&s<f)?i:h;l[o]||(l[o]={});if(!l[o][r])n[o]&&n[o][r]?(l[o][r]=n[o][r],l[o][r].total=null):l[o][r]=new Gb(k,k.options.stackLabels,m,r,g);o=l[o][r];o.points[p]=[o.cum||0];e==="percent"?(m=m?h:i,j&&l[m]&&l[m][r]?(m=l[m][r],o.total=m.total=t(m.total,o.total)+Q(s)||0):o.total=ea(o.total+(Q(s)||0))):o.total=ea(o.total+(s||0));o.cum=(o.cum||0)+(s||0);o.points[p].push(o.cum);
+c[q]=o.cum}if(e==="percent")k.usePercentage=!0;this.stackedYData=c;k.oldStacks={}}};O.prototype.setPercentStacks=function(){var a=this,b=a.stackKey,c=a.yAxis.stacks,d=a.processedXData;q([b,"-"+b],function(b){var e;for(var f=d.length,g,h;f--;)if(g=d[f],e=(h=c[b]&&c[b][g])&&h.points[a.index+","+f],g=e)h=h.total?100/h.total:0,g[0]=ea(g[0]*h),g[1]=ea(g[1]*h),a.stackedYData[f]=g[1]})};r(Ya.prototype,{addSeries:function(a,b,c){var d,e=this;a&&(b=p(b,!0),I(e,"addSeries",{options:a},function(){d=e.initSeries(a);
+e.isDirtyLegend=!0;e.linkSeries();b&&e.redraw(c)}));return d},addAxis:function(a,b,c,d){var e=b?"xAxis":"yAxis",f=this.options;new na(this,w(a,{index:this[e].length,isX:b}));f[e]=ra(f[e]||{});f[e].push(a);p(c,!0)&&this.redraw(d)},showLoading:function(a){var b=this,c=b.options,d=b.loadingDiv,e=c.loading,f=function(){d&&B(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};if(!d)b.loadingDiv=d=$(Ka,{className:"highcharts-loading"},r(e.style,{zIndex:10,display:P}),
+b.container),b.loadingSpan=$("span",null,e.labelStyle,d),N(b,"redraw",f);b.loadingSpan.innerHTML=a||c.lang.loading;if(!b.loadingShown)B(d,{opacity:0,display:""}),jb(d,{opacity:e.style.opacity},{duration:e.showDuration||0}),b.loadingShown=!0;f()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&jb(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){B(b,{display:P})}});this.loadingShown=!1}});r(Fa.prototype,{update:function(a,b,c,d){function e(){f.applyOptions(a);if(da(a)&&
+!Ha(a))f.redraw=function(){if(h)a&&a.marker&&a.marker.symbol?f.graphic=h.destroy():h.attr(f.pointAttr[f.state||""]);if(a&&a.dataLabels&&f.dataLabel)f.dataLabel=f.dataLabel.destroy();f.redraw=null};i=f.index;g.updateParallelArrays(f,i);k.data[i]=f.options;g.isDirty=g.isDirtyData=!0;if(!g.fixedBox&&g.hasCartesianSeries)j.isDirtyBox=!0;k.legendType==="point"&&j.legend.destroyItem(f);b&&j.redraw(c)}var f=this,g=f.series,h=f.graphic,i,j=g.chart,k=g.options,b=p(b,!0);d===!1?e():f.firePointEvent("update",
+{options:a},e)},remove:function(a,b){var c=this,d=c.series,e=d.points,f=d.chart,g,h=d.data;Ra(b,f);a=p(a,!0);c.firePointEvent("remove",null,function(){g=Ma(c,h);h.length===e.length&&e.splice(g,1);h.splice(g,1);d.options.data.splice(g,1);d.updateParallelArrays(c,"splice",g,1);c.destroy();d.isDirty=!0;d.isDirtyData=!0;a&&f.redraw()})}});r(O.prototype,{addPoint:function(a,b,c,d){var e=this.options,f=this.data,g=this.graph,h=this.area,i=this.chart,j=this.xAxis&&this.xAxis.names,k=g&&g.shift||0,l=e.data,
+n,m=this.xData;Ra(d,i);c&&q([g,h,this.graphNeg,this.areaNeg],function(a){if(a)a.shift=k+1});if(h)h.isArea=!0;b=p(b,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[a]);g=d.x;h=m.length;if(this.requireSorting&&g<m[h-1])for(n=!0;h&&m[h-1]>g;)h--;this.updateParallelArrays(d,"splice",h,0,0);this.updateParallelArrays(d,h);if(j&&d.name)j[g]=d.name;l.splice(h,0,a);n&&(this.data.splice(h,0,null),this.processData());e.legendType==="point"&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):
+(f.shift(),this.updateParallelArrays(d,"shift"),l.shift()));this.isDirtyData=this.isDirty=!0;b&&(this.getAttribs(),i.redraw())},remove:function(a,b){var c=this,d=c.chart,a=p(a,!0);if(!c.isRemoving)c.isRemoving=!0,I(c,"remove",null,function(){c.destroy();d.isDirtyLegend=d.isDirtyBox=!0;d.linkSeries();a&&d.redraw(b)});c.isRemoving=!1},update:function(a,b){var c=this,d=this.chart,e=this.userOptions,f=this.type,g=H[f].prototype,h=["group","markerGroup","dataLabelsGroup"],i;q(h,function(a){h[a]=c[a];delete c[a]});
+a=w(e,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1);for(i in g)g.hasOwnProperty(i)&&(this[i]=u);r(this,H[a.type||f].prototype);q(h,function(a){c[a]=h[a]});this.init(d,a);d.linkSeries();p(b,!0)&&d.redraw(!1)}});r(na.prototype,{update:function(a,b){var c=this.chart,a=c.options[this.coll][this.options.index]=w(this.userOptions,a);this.destroy(!0);this._addedPlotLB=u;this.init(c,r(a,{events:u}));c.isDirtyBox=!0;p(b,!0)&&c.redraw()},remove:function(a){for(var b=
+this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);la(b.axes,this);la(b[c],this);b.options[c].splice(this.options.index,1);q(b[c],function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;p(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}});ia=ma(O);H.line=ia;ca.area=w(T,{threshold:0});var qa=ma(O,{type:"area",getSegments:function(){var a=this,b=[],c=[],d=[],e=this.xAxis,f=this.yAxis,g=f.stacks[this.stackKey],
+h={},i,j,k=this.points,l=this.options.connectNulls,n,m;if(this.options.stacking&&!this.cropped){for(n=0;n<k.length;n++)h[k[n].x]=k[n];for(m in g)g[m].total!==null&&d.push(+m);d.sort(function(a,b){return a-b});q(d,function(b){var d=0,k;if(!l||h[b]&&h[b].y!==null)if(h[b])c.push(h[b]);else{for(n=a.index;n<=f.series.length;n++)if(k=g[b].points[n+","+b]){d=k[1];break}i=e.translate(b);j=f.toPixels(d,!0);c.push({y:null,plotX:i,clientX:i,plotY:j,yBottom:j,onMouseOver:sa})}});c.length&&b.push(c)}else O.prototype.getSegments.call(this),
+b=this.segments;this.segments=b},getSegmentPath:function(a){var b=O.prototype.getSegmentPath.call(this,a),c=[].concat(b),d,e=this.options;d=b.length;var f=this.yAxis.getThreshold(e.threshold),g;d===3&&c.push("L",b[1],b[2]);if(e.stacking&&!this.closedStacks)for(d=a.length-1;d>=0;d--)g=p(a[d].yBottom,f),d<a.length-1&&e.step&&c.push(a[d+1].plotX,g),c.push(a[d].plotX,g);else this.closeSegment(c,a,f);this.areaPath=this.areaPath.concat(c);return b},closeSegment:function(a,b,c){a.push("L",b[b.length-1].plotX,
+c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[];O.prototype.drawGraph.apply(this);var a=this,b=this.areaPath,c=this.options,d=c.negativeColor,e=c.negativeFillColor,f=[["area",this.color,c.fillColor]];(d||e)&&f.push(["areaNeg",d,e]);q(f,function(d){var e=d[0],f=a[e];f?f.animate({d:b}):a[e]=a.chart.renderer.path(b).attr({fill:p(d[2],ya(d[1]).setOpacity(p(c.fillOpacity,0.75)).get()),zIndex:0}).add(a.group)})},drawLegendSymbol:M.drawRectangle});H.area=qa;ca.spline=w(T);ia=ma(O,{type:"spline",
+getPointSpline:function(a,b,c){var d=b.plotX,e=b.plotY,f=a[c-1],g=a[c+1],h,i,j,k;if(f&&g){a=f.plotY;j=g.plotX;var g=g.plotY,l;h=(1.5*d+f.plotX)/2.5;i=(1.5*e+a)/2.5;j=(1.5*d+j)/2.5;k=(1.5*e+g)/2.5;l=(k-i)*(j-d)/(j-h)+e-k;i+=l;k+=l;i>a&&i>e?(i=t(a,e),k=2*e-i):i<a&&i<e&&(i=L(a,e),k=2*e-i);k>g&&k>e?(k=t(g,e),i=2*e-k):k<g&&k<e&&(k=L(g,e),i=2*e-k);b.rightContX=j;b.rightContY=k}c?(b=["C",f.rightContX||f.plotX,f.rightContY||f.plotY,h||d,i||e,d,e],f.rightContX=f.rightContY=null):b=["M",d,e];return b}});H.spline=
+ia;ca.areaspline=w(ca.area);qa=qa.prototype;ia=ma(ia,{type:"areaspline",closedStacks:!0,getSegmentPath:qa.getSegmentPath,closeSegment:qa.closeSegment,drawGraph:qa.drawGraph,drawLegendSymbol:M.drawRectangle});H.areaspline=ia;ca.column=w(T,{borderColor:"#FFFFFF",borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1,halo:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,
+verticalAlign:null,y:null},stickyTracking:!1,tooltip:{distance:6},threshold:0});ia=ma(O,{type:"column",pointAttrToOptions:{stroke:"borderColor",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){O.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasRendered&&q(b.series,function(b){if(b.type===a.type)b.isDirty=!0})},getColumnMetrics:function(){var a=this,b=a.options,c=a.xAxis,d=a.yAxis,e=c.reversed,f,g={},h,i=0;b.grouping===
+!1?i=1:q(a.chart.series,function(b){var c=b.options,e=b.yAxis;if(b.type===a.type&&b.visible&&d.len===e.len&&d.pos===e.pos)c.stacking?(f=b.stackKey,g[f]===u&&(g[f]=i++),h=g[f]):c.grouping!==!1&&(h=i++),b.columnIndex=h});var c=L(Q(c.transA)*(c.ordinalSlope||b.pointRange||c.closestPointRange||c.tickInterval||1),c.len),j=c*b.groupPadding,k=(c-2*j)/i,l=b.pointWidth,b=s(l)?(k-l)/2:k*b.pointPadding,l=p(l,k-2*b);return a.columnMetrics={width:l,offset:b+(j+((e?i-(a.columnIndex||0):a.columnIndex)||0)*k-c/2)*
+(e?-1:1)}},translate:function(){var a=this,b=a.chart,c=a.options,d=a.borderWidth=p(c.borderWidth,a.activePointCount>0.5*a.xAxis.len?0:1),e=a.yAxis,f=a.translatedThreshold=e.getThreshold(c.threshold),g=p(c.minPointLength,5),h=a.getColumnMetrics(),i=h.width,j=a.barW=t(i,1+2*d),k=a.pointXOffset=h.offset,l=-(d%2?0.5:0),n=d%2?0.5:1;b.renderer.isVML&&b.inverted&&(n+=1);c.pointPadding&&(j=La(j));O.prototype.translate.apply(a);q(a.points,function(c){var d=p(c.yBottom,f),h=L(t(-999-d,c.plotY),e.len+999+d),
+q=c.plotX+k,r=j,s=L(h,d),u;u=t(h,d)-s;Q(u)<g&&g&&(u=g,s=v(Q(s-f)>g?d-g:f-(e.translate(c.y,0,1,0,1)<=f?g:0)));c.barX=q;c.pointWidth=i;c.tooltipPos=b.inverted?[e.len-h,a.xAxis.len-q-r/2]:[q+r/2,h+e.pos-b.plotTop];r=v(q+r)+l;q=v(q)+l;r-=q;d=Q(s)<0.5;u=v(s+u)+n;s=v(s)+n;u-=s;d&&(s-=1,u+=1);c.shapeType="rect";c.shapeArgs={x:q,y:s,width:r,height:u}})},getSymbol:sa,drawLegendSymbol:M.drawRectangle,drawGraph:sa,drawPoints:function(){var a=this,b=this.chart,c=a.options,d=b.renderer,e=c.animationLimit||250,
+f,g;q(a.points,function(h){var i=h.plotY,j=h.graphic;if(i!==u&&!isNaN(i)&&h.y!==null)f=h.shapeArgs,i=s(a.borderWidth)?{"stroke-width":a.borderWidth}:{},g=h.pointAttr[h.selected?"select":""]||a.pointAttr[""],j?(bb(j),j.attr(i)[b.pointCount<e?"animate":"attr"](w(f))):h.graphic=d[h.shapeType](f).attr(g).attr(i).add(a.group).shadow(c.shadow,null,c.stacking&&!c.borderRadius);else if(j)h.graphic=j.destroy()})},animate:function(a){var b=this.yAxis,c=this.options,d=this.chart.inverted,e={};if(ba)a?(e.scaleY=
+0.001,a=L(b.pos+b.len,t(b.pos,b.toPixels(c.threshold))),d?e.translateX=a-b.len:e.translateY=a,this.group.attr(e)):(e.scaleY=1,e[d?"translateX":"translateY"]=b.pos,this.group.animate(e,this.options.animation),this.animate=null)},remove:function(){var a=this,b=a.chart;b.hasRendered&&q(b.series,function(b){if(b.type===a.type)b.isDirty=!0});O.prototype.remove.apply(a,arguments)}});H.column=ia;ca.bar=w(ca.column);qa=ma(ia,{type:"bar",inverted:!0});H.bar=qa;ca.scatter=w(T,{lineWidth:0,tooltip:{headerFormat:'<span style="color:{series.color}">â—Ź</span> <span style="font-size: 10px;"> {series.name}</span><br/>',
+pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"},stickyTracking:!1});qa=ma(O,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,singularTooltips:!0,drawGraph:function(){this.options.lineWidth&&O.prototype.drawGraph.call(this)}});H.scatter=qa;ca.pie=w(T,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},
+ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});T={type:"pie",isCartesian:!1,pointClass:ma(Fa,{init:function(){Fa.prototype.init.apply(this,arguments);var a=this,b;if(a.y<0)a.y=null;r(a,{visible:a.visible!==!1,name:p(a.name,"Slice")});b=function(b){a.slice(b.type==="select")};N(a,"select",b);N(a,"unselect",b);return a},setVisible:function(a){var b=this,c=b.series,
+d=c.chart;b.visible=b.options.visible=a=a===u?!b.visible:a;c.options.data[Ma(b,c.data)]=b.options;q(["graphic","dataLabel","connector","shadowGroup"],function(c){if(b[c])b[c][a?"show":"hide"](!0)});b.legendItem&&d.legend.colorizeItem(b,a);if(!c.isDirty&&c.options.ignoreHiddenPoint)c.isDirty=!0,d.redraw()},slice:function(a,b,c){var d=this.series;Ra(c,d.chart);p(b,!0);this.sliced=this.options.sliced=a=s(a)?a:!this.sliced;d.options.data[Ma(this,d.data)]=this.options;a=a?this.slicedTranslation:{translateX:0,
+translateY:0};this.graphic.animate(a);this.shadowGroup&&this.shadowGroup.animate(a)},haloPath:function(a){var b=this.shapeArgs,c=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.plotLeft+b.x,c.plotTop+b.y,b.r+a,b.r+a,{innerR:this.shapeArgs.r,start:b.start,end:b.end})}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},singularTooltips:!0,
+getColor:sa,animate:function(a){var b=this,c=b.points,d=b.startAngleRad;if(!a)q(c,function(a){var c=a.graphic,a=a.shapeArgs;c&&(c.attr({r:b.center[3]/2,start:d,end:d}),c.animate({r:a.r,start:a.start,end:a.end},b.options.animation))}),b.animate=null},setData:function(a,b,c,d){O.prototype.setData.call(this,a,!1,c,d);this.processData();this.generatePoints();p(b,!0)&&this.chart.redraw(c)},generatePoints:function(){var a,b=0,c,d,e,f=this.options.ignoreHiddenPoint;O.prototype.generatePoints.call(this);
+c=this.points;d=c.length;for(a=0;a<d;a++)e=c[a],b+=f&&!e.visible?0:e.y;this.total=b;for(a=0;a<d;a++)e=c[a],e.percentage=b>0?e.y/b*100:0,e.total=b},translate:function(a){this.generatePoints();var b=0,c=this.options,d=c.slicedOffset,e=d+c.borderWidth,f,g,h,i=c.startAngle||0,j=this.startAngleRad=oa/180*(i-90),i=(this.endAngleRad=oa/180*(p(c.endAngle,i+360)-90))-j,k=this.points,l=c.dataLabels.distance,c=c.ignoreHiddenPoint,n,m=k.length,o;if(!a)this.center=a=this.getCenter();this.getX=function(b,c){h=
+V.asin(L((b-a[1])/(a[2]/2+l),1));return a[0]+(c?-1:1)*aa(h)*(a[2]/2+l)};for(n=0;n<m;n++){o=k[n];f=j+b*i;if(!c||o.visible)b+=o.percentage/100;g=j+b*i;o.shapeType="arc";o.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:v(f*1E3)/1E3,end:v(g*1E3)/1E3};h=(g+f)/2;h>1.5*oa?h-=2*oa:h<-oa/2&&(h+=2*oa);o.slicedTranslation={translateX:v(aa(h)*d),translateY:v(fa(h)*d)};f=aa(h)*a[2]/2;g=fa(h)*a[2]/2;o.tooltipPos=[a[0]+f*0.7,a[1]+g*0.7];o.half=h<-oa/2||h>oa/2?1:0;o.angle=h;e=L(e,l/2);o.labelPos=[a[0]+f+aa(h)*
+l,a[1]+g+fa(h)*l,a[0]+f+aa(h)*e,a[1]+g+fa(h)*e,a[0]+f,a[1]+g,l<0?"center":o.half?"right":"left",h]}},drawGraph:null,drawPoints:function(){var a=this,b=a.chart.renderer,c,d,e=a.options.shadow,f,g;if(e&&!a.shadowGroup)a.shadowGroup=b.g("shadow").add(a.group);q(a.points,function(h){d=h.graphic;g=h.shapeArgs;f=h.shadowGroup;if(e&&!f)f=h.shadowGroup=b.g("shadow").add(a.shadowGroup);c=h.sliced?h.slicedTranslation:{translateX:0,translateY:0};f&&f.attr(c);d?d.animate(r(g,c)):h.graphic=d=b[h.shapeType](g).setRadialReference(a.center).attr(h.pointAttr[h.selected?
+"select":""]).attr({"stroke-linejoin":"round"}).attr(c).add(a.group).shadow(e,f);h.visible!==void 0&&h.setVisible(h.visible)})},sortByAngle:function(a,b){a.sort(function(a,d){return a.angle!==void 0&&(d.angle-a.angle)*b})},drawLegendSymbol:M.drawRectangle,getCenter:Z.getCenter,getSymbol:sa};T=ma(O,T);H.pie=T;O.prototype.drawDataLabels=function(){var a=this,b=a.options,c=b.cursor,d=b.dataLabels,e=a.points,f,g,h=a.hasRendered||0,i,j;if(d.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(d),
+j=a.plotGroup("dataLabelsGroup","data-labels",d.defer?"hidden":"visible",d.zIndex||6),p(d.defer,!0)&&(j.attr({opacity:+h}),h||N(a,"afterAnimate",function(){a.visible&&j.show();j[b.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=d,q(e,function(b){var e,h=b.dataLabel,m,o,q=b.connector,t=!0;f=b.options&&b.options.dataLabels;e=p(f&&f.enabled,g.enabled);if(h&&!e)b.dataLabel=h.destroy();else if(e){d=w(g,f);e=d.rotation;m=b.getLabelConfig();i=d.format?Ja(d.format,m):d.formatter.call(m,d);d.style.color=
+p(d.color,d.style.color,a.color,"black");if(h)if(s(i))h.attr({text:i}),t=!1;else{if(b.dataLabel=h=h.destroy(),q)b.connector=q.destroy()}else if(s(i)){h={fill:d.backgroundColor,stroke:d.borderColor,"stroke-width":d.borderWidth,r:d.borderRadius||0,rotation:e,padding:d.padding,zIndex:1};for(o in h)h[o]===u&&delete h[o];h=b.dataLabel=a.chart.renderer[e?"text":"label"](i,0,-999,null,null,null,d.useHTML).attr(h).css(r(d.style,c&&{cursor:c})).add(j).shadow(d.shadow)}h&&a.alignDataLabel(b,h,d,null,t)}})};
+O.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,g=f.inverted,h=p(a.plotX,-999),i=p(a.plotY,-999),j=b.getBBox();if(a=this.visible&&(a.series.forceDL||f.isInsidePlot(h,v(i),g)||d&&f.isInsidePlot(h,g?d.x+1:d.y+d.height-1,g)))d=r({x:g?f.plotWidth-i:h,y:v(g?f.plotHeight-h:i),width:0,height:0},d),r(c,{width:j.width,height:j.height}),c.rotation?b[e?"attr":"animate"]({x:d.x+c.x+d.width/2,y:d.y+c.y+d.height/2}).attr({align:c.align}):(b.align(c,null,d),g=b.alignAttr,p(c.overflow,"justify")===
+"justify"?this.justifyDataLabel(b,c,g,j,d,e):p(c.crop,!0)&&(a=f.isInsidePlot(g.x,g.y)&&f.isInsidePlot(g.x+j.width,g.y+j.height)));if(!a)b.attr({y:-999}),b.placed=!1};O.prototype.justifyDataLabel=function(a,b,c,d,e,f){var g=this.chart,h=b.align,i=b.verticalAlign,j,k;j=c.x;if(j<0)h==="right"?b.align="left":b.x=-j,k=!0;j=c.x+d.width;if(j>g.plotWidth)h==="left"?b.align="right":b.x=g.plotWidth-j,k=!0;j=c.y;if(j<0)i==="bottom"?b.verticalAlign="top":b.y=-j,k=!0;j=c.y+d.height;if(j>g.plotHeight)i==="top"?
+b.verticalAlign="bottom":b.y=g.plotHeight-j,k=!0;if(k)a.placed=!f,a.align(b,null,e)};if(H.pie)H.pie.prototype.drawDataLabels=function(){var a=this,b=a.data,c,d=a.chart,e=a.options.dataLabels,f=p(e.connectorPadding,10),g=p(e.connectorWidth,1),h=d.plotWidth,i=d.plotHeight,j,k,l=p(e.softConnector,!0),n=e.distance,m=a.center,o=m[2]/2,r=m[1],s=n>0,u,w,x,A=[[],[]],y,B,I,H,z,R=[0,0,0,0],N=function(a,b){return b.y-a.y};if(a.visible&&(e.enabled||a._hasPointLabels)){O.prototype.drawDataLabels.apply(a);q(b,
+function(a){a.dataLabel&&a.visible&&A[a.half].push(a)});for(H=2;H--;){var G=[],M=[],F=A[H],K=F.length,E;if(K){a.sortByAngle(F,H-0.5);for(z=b=0;!b&&F[z];)b=F[z]&&F[z].dataLabel&&(F[z].dataLabel.getBBox().height||21),z++;if(n>0){w=L(r+o+n,d.plotHeight);for(z=t(0,r-o-n);z<=w;z+=b)G.push(z);w=G.length;if(K>w){c=[].concat(F);c.sort(N);for(z=K;z--;)c[z].rank=z;for(z=K;z--;)F[z].rank>=w&&F.splice(z,1);K=F.length}for(z=0;z<K;z++){c=F[z];x=c.labelPos;c=9999;var S,P;for(P=0;P<w;P++)S=Q(G[P]-x[1]),S<c&&(c=S,
+E=P);if(E<z&&G[z]!==null)E=z;else for(w<K-z+E&&G[z]!==null&&(E=w-K+z);G[E]===null;)E++;M.push({i:E,y:G[E]});G[E]=null}M.sort(N)}for(z=0;z<K;z++){c=F[z];x=c.labelPos;u=c.dataLabel;I=c.visible===!1?"hidden":"visible";c=x[1];if(n>0){if(w=M.pop(),E=w.i,B=w.y,c>B&&G[E+1]!==null||c<B&&G[E-1]!==null)B=L(t(0,c),d.plotHeight)}else B=c;y=e.justify?m[0]+(H?-1:1)*(o+n):a.getX(B===r-o-n||B===r+o+n?c:B,H);u._attr={visibility:I,align:x[6]};u._pos={x:y+e.x+({left:f,right:-f}[x[6]]||0),y:B+e.y-10};u.connX=y;u.connY=
+B;if(this.options.size===null)w=u.width,y-w<f?R[3]=t(v(w-y+f),R[3]):y+w>h-f&&(R[1]=t(v(y+w-h+f),R[1])),B-b/2<0?R[0]=t(v(-B+b/2),R[0]):B+b/2>i&&(R[2]=t(v(B+b/2-i),R[2]))}}}if(Ca(R)===0||this.verifyDataLabelOverflow(R))this.placeDataLabels(),s&&g&&q(this.points,function(b){j=b.connector;x=b.labelPos;if((u=b.dataLabel)&&u._pos)I=u._attr.visibility,y=u.connX,B=u.connY,k=l?["M",y+(x[6]==="left"?5:-5),B,"C",y,B,2*x[2]-x[4],2*x[3]-x[5],x[2],x[3],"L",x[4],x[5]]:["M",y+(x[6]==="left"?5:-5),B,"L",x[2],x[3],
+"L",x[4],x[5]],j?(j.animate({d:k}),j.attr("visibility",I)):b.connector=j=a.chart.renderer.path(k).attr({"stroke-width":g,stroke:e.connectorColor||b.color||"#606060",visibility:I}).add(a.dataLabelsGroup);else if(j)b.connector=j.destroy()})}},H.pie.prototype.placeDataLabels=function(){q(this.points,function(a){var a=a.dataLabel,b;if(a)(b=a._pos)?(a.attr(a._attr),a[a.moved?"animate":"attr"](b),a.moved=!0):a&&a.attr({y:-999})})},H.pie.prototype.alignDataLabel=sa,H.pie.prototype.verifyDataLabelOverflow=
+function(a){var b=this.center,c=this.options,d=c.center,e=c=c.minSize||80,f;d[0]!==null?e=t(b[2]-t(a[1],a[3]),c):(e=t(b[2]-a[1]-a[3],c),b[0]+=(a[3]-a[1])/2);d[1]!==null?e=t(L(e,b[2]-t(a[0],a[2])),c):(e=t(L(e,b[2]-a[0]-a[2]),c),b[1]+=(a[0]-a[2])/2);e<b[2]?(b[2]=e,this.translate(b),q(this.points,function(a){if(a.dataLabel)a.dataLabel._pos=null}),this.drawDataLabels&&this.drawDataLabels()):f=!0;return f};if(H.column)H.column.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,g=f.inverted,
+h=a.dlBox||a.shapeArgs,i=a.below||a.plotY>p(this.translatedThreshold,f.plotSizeY),j=p(c.inside,!!this.options.stacking);if(h&&(d=w(h),g&&(d={x:f.plotWidth-d.y-d.height,y:f.plotHeight-d.x-d.width,width:d.height,height:d.width}),!j))g?(d.x+=i?0:d.width,d.width=0):(d.y+=i?d.height:0,d.height=0);c.align=p(c.align,!g||j?"center":i?"right":"left");c.verticalAlign=p(c.verticalAlign,g||j?"middle":i?"top":"bottom");O.prototype.alignDataLabel.call(this,a,b,c,d,e)};T=K.TrackerMixin={drawTrackerPoint:function(){var a=
+this,b=a.chart,c=b.pointer,d=a.options.cursor,e=d&&{cursor:d},f=function(c){var d=c.target,e;if(b.hoverSeries!==a)a.onMouseOver();for(;d&&!e;)e=d.point,d=d.parentNode;if(e!==u&&e!==b.hoverPoint)e.onMouseOver(c)};q(a.points,function(a){if(a.graphic)a.graphic.element.point=a;if(a.dataLabel)a.dataLabel.element.point=a});if(!a._hasTracking)q(a.trackerGroups,function(b){if(a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(a){c.onTrackerMouseOut(a)}).css(e),$a))a[b].on("touchstart",
+f)}),a._hasTracking=!0},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.pointer,h=f.renderer,i=f.options.tooltip.snap,j=a.tracker,k=b.cursor,l=k&&{cursor:k},k=a.singlePoints,n,m=function(){if(f.hoverSeries!==a)a.onMouseOver()},o="rgba(192,192,192,"+(ba?1.0E-4:0.002)+")";if(e&&!c)for(n=e+1;n--;)d[n]==="M"&&d.splice(n+1,0,d[n+1]-i,d[n+2],"L"),(n&&d[n]==="M"||n===e)&&d.splice(n,0,"L",d[n-2]+i,d[n-1]);for(n=0;n<k.length;n++)e=
+k[n],d.push("M",e.plotX-i,e.plotY,"L",e.plotX+i,e.plotY);j?j.attr({d:d}):(a.tracker=h.path(d).attr({"stroke-linejoin":"round",visibility:a.visible?"visible":"hidden",stroke:o,fill:c?o:P,"stroke-width":b.lineWidth+(c?0:2*i),zIndex:2}).add(a.group),q([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",m).on("mouseout",function(a){g.onTrackerMouseOut(a)}).css(l);if($a)a.on("touchstart",m)}))}};if(H.column)ia.prototype.drawTracker=T.drawTrackerPoint;if(H.pie)H.pie.prototype.drawTracker=
+T.drawTrackerPoint;if(H.scatter)qa.prototype.drawTracker=T.drawTrackerPoint;r(lb.prototype,{setItemEvents:function(a,b,c,d,e){var f=this;(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");b.css(f.options.itemHoverStyle)}).on("mouseout",function(){b.css(a.visible?d:e);a.setState()}).on("click",function(b){var c=function(){a.setVisible()},b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):I(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=
+$("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);N(a.checkbox,"click",function(b){I(a,"checkboxClick",{checked:b.target.checked},function(){a.select()})})}});E.legend.itemStyle.cursor="pointer";r(Ya.prototype,{showResetZoom:function(){var a=this,b=E.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,f=c.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},
+d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).add().align(c.position,!1,f)},zoomOut:function(){var a=this;I(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(a){var b,c=this.pointer,d=!1,e;!a||a.resetSelection?q(this.axes,function(a){b=a.zoom()}):q(a.xAxis.concat(a.yAxis),function(a){var e=a.axis,h=e.isXAxis;if(c[h?"zoomX":"zoomY"]||c[h?"pinchX":"pinchY"])b=e.zoom(a.min,a.max),e.displayBtn&&(d=!0)});e=this.resetZoomButton;if(d&&!e)this.showResetZoom();else if(!d&&
+da(e))this.resetZoomButton=e.destroy();b&&this.redraw(p(this.options.chart.animation,a&&a.animation,this.pointCount<100))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&q(d,function(a){a.setState()});q(b==="xy"?[1,0]:[1],function(b){var d=a[b?"chartX":"chartY"],h=c[b?"xAxis":"yAxis"][0],i=c[b?"mouseDownX":"mouseDownY"],j=(h.pointRange||0)/2,k=h.getExtremes(),l=h.toValue(i-d,!0)+j,i=h.toValue(i+c[b?"plotWidth":"plotHeight"]-d,!0)-j;h.series.length&&l>L(k.dataMin,k.min)&&i<t(k.dataMax,k.max)&&(h.setExtremes(l,
+i,!1,!1,{trigger:"pan"}),e=!0);c[b?"mouseDownX":"mouseDownY"]=d});e&&c.redraw(!1);B(c.container,{cursor:"move"})}});r(Fa.prototype,{select:function(a,b){var c=this,d=c.series,e=d.chart,a=p(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[Ma(c,d.data)]=c.options;c.setState(a&&"select");b||q(e.getSelectedPoints(),function(a){if(a.selected&&a!==c)a.selected=a.options.selected=!1,d.options.data[Ma(a,d.data)]=a.options,a.setState(""),
+a.firePointEvent("unselect")})})},onMouseOver:function(a){var b=this.series,c=b.chart,d=c.tooltip,e=c.hoverPoint;if(e&&e!==this)e.onMouseOut();this.firePointEvent("mouseOver");d&&(!d.shared||b.noSharedTooltip)&&d.refresh(this,a);this.setState("hover");c.hoverPoint=this},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;this.firePointEvent("mouseOut");if(!b||Ma(this,b)===-1)this.setState(),a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var a=w(this.series.options.point,
+this.options).events,b;this.events=a;for(b in a)N(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,b){var c=this.plotX,d=this.plotY,e=this.series,f=e.options.states,g=ca[e.type].marker&&e.options.marker,h=g&&!g.enabled,i=g&&g.states[a],j=i&&i.enabled===!1,k=e.stateMarkerGraphic,l=this.marker||{},n=e.chart,m=e.halo,o,a=a||"";o=this.pointAttr[a]||e.pointAttr[a];if(!(a===this.state&&!b||this.selected&&a!=="select"||f[a]&&f[a].enabled===!1||a&&(j||h&&i.enabled===!1)||a&&l.states&&l.states[a]&&
+l.states[a].enabled===!1)){if(this.graphic)g=g&&this.graphic.symbolName&&o.r,this.graphic.attr(w(o,g?{x:c-g,y:d-g,width:2*g,height:2*g}:{})),k&&k.hide();else{if(a&&i)if(g=i.radius,l=l.symbol||e.symbol,k&&k.currentSymbol!==l&&(k=k.destroy()),k)k[b?"animate":"attr"]({x:c-g,y:d-g});else if(l)e.stateMarkerGraphic=k=n.renderer.symbol(l,c-g,d-g,2*g,2*g).attr(o).add(e.markerGroup),k.currentSymbol=l;if(k)k[a&&n.isInsidePlot(c,d,n.inverted)?"show":"hide"]()}if((c=f[a]&&f[a].halo)&&c.size){if(!m)e.halo=m=n.renderer.path().add(e.seriesGroup);
+m.attr(r({fill:ya(this.color||e.color).setOpacity(c.opacity).get()},c.attributes))[b?"animate":"attr"]({d:this.haloPath(c.size)})}else m&&m.attr({d:[]});this.state=a}},haloPath:function(a){var b=this.series,c=b.chart,d=b.getPlotBox(),e=c.inverted;return c.renderer.symbols.circle(d.translateX+(e?b.yAxis.len-this.plotY:this.plotX)-a,d.translateY+(e?b.xAxis.len-this.plotX:this.plotY)-a,a*2,a*2)}});r(O.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&
+I(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;if(d)d.onMouseOut();this&&a.events.mouseOut&&I(this,"mouseOut");c&&!a.stickyTracking&&(!c.shared||this.noSharedTooltip)&&c.hide();this.setState();b.hoverSeries=null},setState:function(a){var b=this.options,c=this.graph,d=this.graphNeg,e=b.states,b=b.lineWidth,a=a||"";if(this.state!==a)this.state=a,e[a]&&e[a].enabled===!1||(a&&(b=e[a].lineWidth||b+(e[a].lineWidthPlus||
+0)),c&&!c.dashstyle&&(a={"stroke-width":b},c.attr(a),d&&d.attr(a)))},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,g=d.options.chart.ignoreHiddenSeries,h=c.visible;f=(c.visible=a=c.userOptions.visible=a===u?!h:a)?"show":"hide";q(["group","dataLabelsGroup","markerGroup","tracker"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&q(d.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});q(c.linkedSeries,
+function(b){b.setVisible(a,!1)});if(g)d.isDirtyBox=!0;b!==!1&&d.redraw();I(c,f)},setTooltipPoints:function(a){var b=[],c,d,e=this.xAxis,f=e&&e.getExtremes(),g=e?e.tooltipLen||e.len:this.chart.plotSizeX,h,i,j=[];if(!(this.options.enableMouseTracking===!1||this.singularTooltips)){if(a)this.tooltipPoints=null;q(this.segments||this.points,function(a){b=b.concat(a)});e&&e.reversed&&(b=b.reverse());this.orderTooltipPoints&&this.orderTooltipPoints(b);a=b.length;for(i=0;i<a;i++)if(e=b[i],c=e.x,c>=f.min&&
+c<=f.max){h=b[i+1];c=d===u?0:d+1;for(d=b[i+1]?L(t(0,U((e.clientX+(h?h.wrappedClientX||h.clientX:g))/2)),g):g;c>=0&&c<=d;)j[c++]=e}this.tooltipPoints=j}},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===u?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;I(this,a?"select":"unselect")},drawTracker:T.drawTrackerGraph});r(K,{Axis:na,Chart:Ya,Color:ya,Point:Fa,Tick:Ta,Renderer:Za,Series:O,SVGElement:S,SVGRenderer:ta,arrayMin:Oa,arrayMax:Ca,
+charts:W,dateFormat:cb,format:Ja,pathAnim:vb,getOptions:function(){return E},hasBidiBug:Ob,isTouchDevice:Ib,numberFormat:Ba,seriesTypes:H,setOptions:function(a){E=w(!0,E,a);Bb();return E},addEvent:N,removeEvent:X,createElement:$,discardElement:Qa,css:B,each:q,extend:r,map:Va,merge:w,pick:p,splat:ra,extendClass:ma,pInt:y,wrap:Na,svg:ba,canvas:ga,vml:!ba&&!ga,product:"Highcharts",version:"4.0.4"})})();
+
+
+/* - ++resource++it4i.portal.common/data.js - */
+(function(e){var t=e.each;var n=function(e,t){this.init(e,t)};e.extend(n.prototype,{init:function(e,t){this.options=e;this.chartOptions=t;this.columns=e.columns||this.rowsToColumns(e.rows)||[];if(this.columns.length){this.dataFound()}else{this.parseCSV();this.parseTable();this.parseGoogleSpreadsheet()}},getColumnDistribution:function(){var n=this.chartOptions,r=function(t){return(e.seriesTypes[t||"line"].prototype.pointArrayMap||[0]).length},i=n&&n.chart&&n.chart.type,s=[];t(n&&n.series||[],function(e){s.push(r(e.type||i))});this.valueCount={global:r(i),individual:s}},dataFound:function(){if(this.options.switchRowsAndColumns){this.columns=this.rowsToColumns(this.columns)}this.parseTypes();this.findHeaderRow();this.parsed();this.complete()},parseCSV:function(){var e=this,n=this.options,r=n.csv,i=this.columns,s=n.startRow||0,o=n.endRow||Number.MAX_VALUE,u=n.startColumn||0,a=n.endColumn||Number.MAX_VALUE,f,l,c=0;if(r){l=r.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(n.lineDelimiter||"\n");f=n.itemDelimiter||(r.indexOf("	")!==-1?"	":",");t(l,function(n,r){var l=e.trim(n),h=l.indexOf("#")===0,p=l==="",d;if(r>=s&&r<=o&&!h&&!p){d=n.split(f);t(d,function(e,t){if(t>=u&&t<=a){if(!i[t-u]){i[t-u]=[]}i[t-u][c]=e}});c+=1}});this.dataFound()}},parseTable:function(){var e=this.options,n=e.table,r=this.columns,i=e.startRow||0,s=e.endRow||Number.MAX_VALUE,o=e.startColumn||0,u=e.endColumn||Number.MAX_VALUE;if(n){if(typeof n==="string"){n=document.getElementById(n)}t(n.querySelectorAll("table>tr,thead>tr,tbody>tr"),function(e,n){if(n>=i&&n<=s){t(e.children,function(e,t){if((e.tagName==="TD"||e.tagName==="TH")&&t>=o&&t<=u){if(!r[t-o]){r[t-o]=[]}r[t-o][n-i]=e.innerHTML}})}});this.dataFound()}},parseGoogleSpreadsheet:function(){var e=this,t=this.options,n=t.googleSpreadsheetKey,r=this.columns,i=t.startRow||0,s=t.endRow||Number.MAX_VALUE,o=t.startColumn||0,u=t.endColumn||Number.MAX_VALUE,a,f;if(n){jQuery.ajax({dataType:"json",url:"https://spreadsheets.google.com/feeds/cells/"+n+"/"+(t.googleSpreadsheetWorksheet||"od6")+"/public/values?alt=json-in-script&callback=?",error:t.error,success:function(t){var n=t.feed.entry,l,c=n.length,h=0,p=0,d;for(d=0;d<c;d++){l=n[d];h=Math.max(h,l.gs$cell.col);p=Math.max(p,l.gs$cell.row)}for(d=0;d<h;d++){if(d>=o&&d<=u){r[d-o]=[];r[d-o].length=Math.min(p,s-i)}}for(d=0;d<c;d++){l=n[d];a=l.gs$cell.row-1;f=l.gs$cell.col-1;if(f>=o&&f<=u&&a>=i&&a<=s){r[f-o][a-i]=l.content.$t}}e.dataFound()}})}},findHeaderRow:function(){var e=0;t(this.columns,function(t){if(typeof t[0]!=="string"){e=null}});this.headerRow=0},trim:function(e){return typeof e==="string"?e.replace(/^\s+|\s+$/g,""):e},parseTypes:function(){var e=this.columns,t=e.length,n,r,i,s,o;while(t--){n=e[t].length;while(n--){r=e[t][n];i=parseFloat(r);s=this.trim(r);if(s==i){e[t][n]=i;if(i>365*24*3600*1e3){e[t].isDatetime=true}else{e[t].isNumeric=true}}else{o=this.parseDate(r);if(t===0&&typeof o==="number"&&!isNaN(o)){e[t][n]=o;e[t].isDatetime=true}else{e[t][n]=s===""?null:s}}}}},dateFormats:{"YYYY-mm-dd":{regex:"^([0-9]{4})-([0-9]{2})-([0-9]{2})$",parser:function(e){return Date.UTC(+e[1],e[2]-1,+e[3])}}},parseDate:function(e){var t=this.options.parseDate,n,r,i,s;if(t){n=t(e)}if(typeof e==="string"){for(r in this.dateFormats){i=this.dateFormats[r];s=e.match(i.regex);if(s){n=i.parser(s)}}}return n},rowsToColumns:function(e){var t,n,r,i,s;if(e){s=[];n=e.length;for(t=0;t<n;t++){i=e[t].length;for(r=0;r<i;r++){if(!s[r]){s[r]=[]}s[r][t]=e[t][r]}}}return s},parsed:function(){if(this.options.parsed){this.options.parsed.call(this,this.columns)}},complete:function(){var t=this.columns,n,r,i=this.options,s,o,u,a,f,l;if(i.complete){this.getColumnDistribution();if(t.length>1){n=t.shift();if(this.headerRow===0){n.shift()}if(n.isDatetime){r="datetime"}else if(!n.isNumeric){r="category"}}for(a=0;a<t.length;a++){if(this.headerRow===0){t[a].name=t[a].shift()}}o=[];for(a=0,l=0;a<t.length;l++){s=e.pick(this.valueCount.individual[l],this.valueCount.global);u=[];if(a+s<=t.length){for(f=0;f<t[a].length;f++){u[f]=[n[f],t[a][f]!==undefined?t[a][f]:null];if(s>1){u[f].push(t[a+1][f]!==undefined?t[a+1][f]:null)}if(s>2){u[f].push(t[a+2][f]!==undefined?t[a+2][f]:null)}if(s>3){u[f].push(t[a+3][f]!==undefined?t[a+3][f]:null)}if(s>4){u[f].push(t[a+4][f]!==undefined?t[a+4][f]:null)}}}o[l]={name:t[a].name,data:u};a+=s}i.complete({xAxis:{type:r},series:o})}}});e.Data=n;e.data=function(e,t){return new n(e,t)};e.wrap(e.Chart.prototype,"init",function(n,r,i){var s=this;if(r&&r.data){e.data(e.extend(r.data,{complete:function(o){if(r.hasOwnProperty("series")){if(typeof r.series==="object"){t(r.series,function(t,n){r.series[n]=e.merge(t,o.series[n])})}else{delete r.series}}r=e.merge(o,r);n.call(s,r,i)}}),r)}else{n.call(s,r,i)}})})(Highcharts)
+
diff --git a/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourceit4i.portal.commonjquery.dataTables.min-cachekey-58659b8d76594989f3faa967a94e5541.js b/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourceit4i.portal.commonjquery.dataTables.min-cachekey-58659b8d76594989f3faa967a94e5541.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c6e5832c36044598223ea5ae5efb31b10d74fd6
--- /dev/null
+++ b/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourceit4i.portal.commonjquery.dataTables.min-cachekey-58659b8d76594989f3faa967a94e5541.js	
@@ -0,0 +1,468 @@
+
+/* Merged Plone Javascript file
+ * This file is dynamically assembled from separate parts.
+ * Some of these parts have 3rd party licenses or copyright information attached
+ * Such information is valid for that section,
+ * not for the entire composite file
+ * originating files are separated by - filename.js -
+ */
+
+/* - ++resource++it4i.portal.common/jquery.dataTables.min.js - */
+/*! DataTables 1.10.3
+ * ©2008-2014 SpryMedia Ltd - datatables.net/license
+ */
+(function(Da,P,l){var O=function(h){function V(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),d[c]=e,"o"===b[1]&&V(a[e])});a._hungarianMap=d}function G(a,b,c){a._hungarianMap||V(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==l&&(c||b[d]===l))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),G(a[d],b[d],c)):b[d]=b[e]})}function O(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
+!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function eb(a){z(a,"ordering","bSort");z(a,"orderMulti","bSortMulti");z(a,"orderClasses","bSortClasses");z(a,"orderCellsTop","bSortCellsTop");z(a,"order","aaSorting");z(a,"orderFixed","aaSortingFixed");z(a,"paging","bPaginate");
+z(a,"pagingType","sPaginationType");z(a,"pageLength","iDisplayLength");z(a,"searching","bFilter");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&G(p.models.oSearch,a[b])}function fb(a){z(a,"orderable","bSortable");z(a,"orderData","aDataSort");z(a,"orderSequence","asSorting");z(a,"orderDataType","sortDataType")}function gb(a){var a=a.oBrowser,b=h("<div/>").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,width:100,
+overflow:"scroll"}).append(h('<div class="test"/>').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function hb(a,b,c,d,e,f){var g,i=!1;c!==l&&(g=c,i=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=i?b(g,a[d],d,a):a[d],i=!0,d+=f);return g}function Ea(a,b){var c=p.defaults.column,d=a.aoColumns.length,c=h.extend({},p.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:
+"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},p.models.oSearch,c[d]);ia(a,d,null)}function ia(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==l&&null!==c&&(fb(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&
+!c.sClass&&(c.sClass=c.className),h.extend(b,c),D(b,c,"sWidth","sWidthOrig"),"number"===typeof c.iDataSort&&(b.aDataSort=[c.iDataSort]),D(b,c,"aDataSort"));var g=b.mData,i=W(g),j=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var d=i(a,b,l,c);return j&&b?j(d,b,a,c):d};b.fnSetData=function(a,b,c){return Q(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||
+(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function X(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,d=b.length;c<
+d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&Y(a);u(a,null,"column-sizing",[a])}function ja(a,b){var c=Z(a,"bVisible");return"number"===typeof c[b]?c[b]:null}function $(a,b){var c=Z(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function aa(a){return Z(a,"bVisible").length}function Z(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,d=p.ext.type.detect,e,f,g,i,j,h,m,o,k;e=0;for(f=b.length;e<f;e++)if(m=
+b[e],k=[],!m.sType&&m._sManualType)m.sType=m._sManualType;else if(!m.sType){g=0;for(i=d.length;g<i;g++){j=0;for(h=c.length;j<h&&!(k[j]===l&&(k[j]=w(a,j,e,"type")),o=d[g](k[j],a),!o||"html"===o);j++);if(o){m.sType=o;break}}m.sType||(m.sType="string")}}function ib(a,b,c,d){var e,f,g,i,j,n,m=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){n=b[e];var o=n.targets!==l?n.targets:n.aTargets;h.isArray(o)||(o=[o]);f=0;for(g=o.length;f<g;f++)if("number"===typeof o[f]&&0<=o[f]){for(;m.length<=o[f];)Ea(a);d(o[f],
+n)}else if("number"===typeof o[f]&&0>o[f])d(m.length+o[f],n);else if("string"===typeof o[f]){i=0;for(j=m.length;i<j;i++)("_all"==o[f]||h(m[i].nTh).hasClass(o[f]))&&d(i,n)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function I(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},p.models.oRow,{src:c?"dom":"data"});f._aData=b;a.aoData.push(f);for(var b=a.aoColumns,f=0,g=b.length;f<g;f++)c&&Ha(a,e,f,w(a,e,f)),b[f].sType=null;a.aiDisplayMaster.push(e);(c||!a.oFeatures.bDeferRender)&&Ia(a,e,c,d);return e}
+function ka(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,e){c=la(a,e);return I(a,c.data,e,c.cells)})}function w(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,i=f.sDefaultContent,c=f.fnGetData(g,d,{settings:a,row:b,col:c});if(c===l)return a.iDrawError!=e&&null===i&&(R(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b,4),a.iDrawError=e),i;if((c===g||null===c)&&null!==i)c=i;else if("function"===typeof c)return c.call(g);
+return null===c&&"display"==d?"":c}function Ha(a,b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function Ja(a){return h.map(a.match(/(\\.|[^\.])+/g),function(a){return a.replace(/\\./g,".")})}function W(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=W(c))});return function(a,c,f,g){var i=b[c]||b._;return i!==l?i(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if("string"===
+typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var c=function(a,b,f){var g,i;if(""!==f){i=Ja(f);for(var j=0,h=i.length;j<h;j++){f=i[j].match(ba);g=i[j].match(S);if(f){i[j]=i[j].replace(ba,"");""!==i[j]&&(a=a[i[j]]);g=[];i.splice(0,j+1);i=i.join(".");j=0;for(h=a.length;j<h;j++)g.push(c(a[j],b,i));a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){i[j]=i[j].replace(S,"");a=a[i[j]]();continue}if(null===a||a[i[j]]===l)return l;a=a[i[j]]}}return a};return function(b,
+e){return c(b,e,a)}}return function(b){return b[a]}}function Q(a){if(h.isPlainObject(a))return Q(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var g,i,j=0,h=e.length-1;j<h;j++){g=e[j].match(ba);i=e[j].match(S);if(g){e[j]=e[j].replace(ba,"");a[e[j]]=[];f=e.slice();f.splice(0,j+1);g=f.join(".");i=0;for(h=
+d.length;i<h;i++)f={},b(f,d[i],g),a[e[j]].push(f);return}i&&(e[j]=e[j].replace(S,""),a=a[e[j]](d));if(null===a[e[j]]||a[e[j]]===l)a[e[j]]={};a=a[e[j]]}if(f.match(S))a[f.replace(S,"")](d);else a[f.replace(ba,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ka(a){return C(a.aoData,"_aData")}function ma(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0}function na(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===l&&
+a.splice(d,1)}function oa(a,b,c,d){var e=a.aoData[b],f;if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=la(a,e).data;else{var g=e.anCells,i;if(g){c=0;for(f=g.length;c<f;c++){for(i=g[c];i.childNodes.length;)i.removeChild(i.firstChild);g[c].innerHTML=w(a,b,c,"display")}}}e._aSortData=null;e._aFilterData=null;a=a.aoColumns;if(d!==l)a[d].sType=null;else{c=0;for(f=a.length;c<f;c++)a[c].sType=null}La(e)}function la(a,b){var c=[],d=b.firstChild,e,f,g=0,i,j=a.aoColumns,n=a._rowReadObject,m=n?{}:[],
+o=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),Q(a)(m,b.getAttribute(c)))}},k=function(a){f=j[g];i=h.trim(a.innerHTML);f&&f._bAttrSrc?(Q(f.mData._)(m,i),o(f.mData.sort,a),o(f.mData.type,a),o(f.mData.filter,a)):n?(f._setter||(f._setter=Q(f.mData)),f._setter(m,i)):m.push(i);g++};if(d)for(;d;){e=d.nodeName.toUpperCase();if("TD"==e||"TH"==e)k(d),c.push(d);d=d.nextSibling}else{c=b.anCells;d=0;for(e=c.length;d<e;d++)k(c[d])}return{data:m,cells:c}}function Ia(a,
+b,c,d){var e=a.aoData[b],f=e._aData,g=[],i,j,h,m,o;if(null===e.nTr){i=c||P.createElement("tr");e.nTr=i;e.anCells=g;i._DT_RowIndex=b;La(e);m=0;for(o=a.aoColumns.length;m<o;m++){h=a.aoColumns[m];j=c?d[m]:P.createElement(h.sCellType);g.push(j);if(!c||h.mRender||h.mData!==m)j.innerHTML=w(a,b,m,"display");h.sClass&&(j.className+=" "+h.sClass);h.bVisible&&!c?i.appendChild(j):!h.bVisible&&c&&j.parentNode.removeChild(j);h.fnCreatedCell&&h.fnCreatedCell.call(a.oInstance,j,w(a,b,m),f,b,m)}u(a,"aoRowCreatedCallback",
+null,[i,f,b])}e.nTr.setAttribute("role","row")}function La(a){var b=a.nTr,c=a._aData;if(b){c.DT_RowId&&(b.id=c.DT_RowId);if(c.DT_RowClass){var d=c.DT_RowClass.split(" ");a.__rowc=a.__rowc?Ma(a.__rowc.concat(d)):d;h(b).removeClass(a.__rowc.join(" ")).addClass(c.DT_RowClass)}c.DT_RowData&&h(b).data(c.DT_RowData)}}function jb(a){var b,c,d,e,f,g=a.nTHead,i=a.nTFoot,j=0===h("th, td",g).length,n=a.oClasses,m=a.aoColumns;j&&(e=h("<tr/>").appendTo(g));b=0;for(c=m.length;b<c;b++)f=m[b],d=h(f.nTh).addClass(f.sClass),
+j&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Na(a,f.nTh,b))),f.sTitle!=d.html()&&d.html(f.sTitle),Oa(a,"header")(a,d,f,n);j&&ca(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);h(i).find(">tr>th, >tr>td").addClass(n.sFooterTH);if(null!==i){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=m[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function da(a,
+b,c){var d,e,f,g=[],i=[],j=a.aoColumns.length,n;if(b){c===l&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=j-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);i.push([])}d=0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(n=j=1,i[d][f]===l){a.appendChild(g[d][f].cell);for(i[d][f]=1;g[d+j]!==l&&g[d][f].cell==g[d+j][f].cell;)i[d+j][f]=1,j++;for(;g[d][f+n]!==l&&g[d][f].cell==g[d][f+n].cell;){for(c=0;c<
+j;c++)i[d+c][f+n]=1;n++}h(g[d][f].cell).attr("rowspan",j).attr("colspan",n)}}}}function L(a){var b=u(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))B(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=d.length,f=a.oLanguage,g=a.iInitDisplayStart,i="ssp"==A(a),j=a.aiDisplay;a.bDrawing=!0;g!==l&&-1!==g&&(a._iDisplayStart=i?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,B(a,!1);else if(i){if(!a.bDestroying&&
+!kb(a))return}else a.iDraw++;if(0!==j.length){f=i?a.aoData.length:n;for(i=i?0:g;i<f;i++){var m=j[i],o=a.aoData[m];null===o.nTr&&Ia(a,m);m=o.nTr;if(0!==e){var k=d[c%e];o._sRowStripe!=k&&(h(m).removeClass(o._sRowStripe).addClass(k),o._sRowStripe=k)}u(a,"aoRowCallback",null,[m,o._aData,c,i]);b.push(m);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==A(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:aa(a),
+"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,n,j]);u(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,n,j]);d=h(a.nTBody);d.children().detach();d.append(h(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function M(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&lb(a);d?ea(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;L(a);a._drawHold=
+!1}function mb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,i,j,n,m,o,k=0;k<f.length;k++){g=null;i=f[k];if("<"==i){j=h("<div/>")[0];n=f[k+1];if("'"==n||'"'==n){m="";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),
+j.id=n[0].substr(1,n[0].length-1),j.className=n[1]):"#"==m.charAt(0)?j.id=m.substr(1,m.length-1):j.className=m;k+=o}e.append(j);e=h(j)}else if(">"==i)e=e.parent();else if("l"==i&&d.bPaginate&&d.bLengthChange)g=nb(a);else if("f"==i&&d.bFilter)g=ob(a);else if("r"==i&&d.bProcessing)g=pb(a);else if("t"==i)g=qb(a);else if("i"==i&&d.bInfo)g=rb(a);else if("p"==i&&d.bPaginate)g=sb(a);else if(0!==p.ext.feature.length){j=p.ext.feature;o=0;for(n=j.length;o<n;o++)if(i==j[o].cFeature){g=j[o].fnInit(a);break}}g&&
+(j=a.aanFeatures,j[i]||(j[i]=[]),j[i].push(g),e.append(g))}c.replaceWith(e)}function ca(a,b){var c=h(b).children("tr"),d,e,f,g,i,j,n,m,o,k;a.splice(0,a.length);f=0;for(j=c.length;f<j;f++)a.push([]);f=0;for(j=c.length;f<j;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){m=1*e.getAttribute("colspan");o=1*e.getAttribute("rowspan");m=!m||0===m||1===m?1:m;o=!o||0===o||1===o?1:o;g=0;for(i=a[f];i[g];)g++;n=g;k=1===m?!0:!1;for(i=0;i<m;i++)for(g=0;g<o;g++)a[f+
+g][n+i]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function pa(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],ca(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function qa(a,b,c){u(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,i=a.oInstance;
+if(h.isPlainObject(g)&&g.data){f=g.data;var j=h.isFunction(f)?f(b):f,b=h.isFunction(f)&&j?j:h.extend(!0,b,j);delete g.data}j={data:b,success:function(b){var d=b.error||b.sError;d&&a.oApi._fnLog(a,0,d);a.json=b;u(a,null,"xhr",[a,b]);c(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=a.oApi._fnLog;"parsererror"==c?d(a,0,"Invalid JSON response",1):4===b.readyState&&d(a,0,"Ajax error",7);B(a,!1)}};a.oAjaxData=b;u(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(i,a.sAjaxSource,
+h.map(b,function(a,b){return{name:b,value:a}}),c,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(j,{url:g||a.sAjaxSource})):h.isFunction(g)?a.jqXHR=g.call(i,b,c,a):(a.jqXHR=h.ajax(h.extend(j,g)),g.data=f)}function kb(a){return a.bAjaxDataGet?(a.iDraw++,B(a,!0),qa(a,tb(a),function(b){ub(a,b)}),!1):!0}function tb(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,i=[],j,n,m,o=T(a);g=a._iDisplayStart;j=!1!==d.bPaginate?a._iDisplayLength:-1;var k=function(a,
+b){i.push({name:a,value:b})};k("sEcho",a.iDraw);k("iColumns",c);k("sColumns",C(b,"sName").join(","));k("iDisplayStart",g);k("iDisplayLength",j);var l={draw:a.iDraw,columns:[],order:[],start:g,length:j,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)n=b[g],m=f[g],j="function"==typeof n.mData?"function":n.mData,l.columns.push({data:j,name:n.sName,searchable:n.bSearchable,orderable:n.bSortable,search:{value:m.sSearch,regex:m.bRegex}}),k("mDataProp_"+g,j),d.bFilter&&(k("sSearch_"+g,m.sSearch),
+k("bRegex_"+g,m.bRegex),k("bSearchable_"+g,n.bSearchable)),d.bSort&&k("bSortable_"+g,n.bSortable);d.bFilter&&(k("sSearch",e.sSearch),k("bRegex",e.bRegex));d.bSort&&(h.each(o,function(a,b){l.order.push({column:b.col,dir:b.dir});k("iSortCol_"+a,b.col);k("sSortDir_"+a,b.dir)}),k("iSortingCols",o.length));b=p.ext.legacy.ajax;return null===b?a.sAjaxSource?i:l:b?i:l}function ub(a,b){var c=b.sEcho!==l?b.sEcho:b.draw,d=b.iTotalRecords!==l?b.iTotalRecords:b.recordsTotal,e=b.iTotalDisplayRecords!==l?b.iTotalDisplayRecords:
+b.recordsFiltered;if(c){if(1*c<a.iDraw)return;a.iDraw=1*c}ma(a);a._iRecordsTotal=parseInt(d,10);a._iRecordsDisplay=parseInt(e,10);c=ra(a,b);d=0;for(e=c.length;d<e;d++)I(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;L(a);a._bInitComplete||sa(a,b);a.bAjaxDataGet=!0;B(a,!1)}function ra(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==l?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?W(c)(b):b}function ob(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,
+f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',i=d.sSearch,i=i.match(/_INPUT_/)?i.replace("_INPUT_",g):i+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(i)),f=function(){var b=!this.value?"":this.value;b!=e.sSearch&&(ea(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,L(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===A(a)?400:0,j=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",
+g?ta(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{j[0]!==P.activeElement&&j.val(e.sSearch)}catch(d){}});return b[0]}function ea(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=A(a)){vb(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);
+f(b);for(b=0;b<e.length;b++)wb(a,e[b].sSearch,b,e[b].bEscapeRegex!==l?!e[b].bEscapeRegex:e[b].bRegex,e[b].bSmart,e[b].bCaseInsensitive);xb(a)}else f(b);a.bFiltered=!0;u(a,null,"search",[a])}function xb(a){for(var b=p.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var i=[],j=0,h=c.length;j<h;j++)e=c[j],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,j)&&i.push(e);c.length=0;c.push.apply(c,i)}}function wb(a,b,c,d,e,f){if(""!==b)for(var g=a.aiDisplay,d=Pa(b,d,e,f),e=g.length-1;0<=e;e--)b=a.aoData[g[e]]._aFilterData[c],
+d.test(b)||g.splice(e,1)}function vb(a,b,c,d,e,f){var d=Pa(b,d,e,f),e=a.oPreviousSearch.sSearch,f=a.aiDisplayMaster,g;0!==p.ext.search.length&&(c=!0);g=yb(a);if(0>=b.length)a.aiDisplay=f.slice();else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Pa(a,b,c,d){a=b?a:Qa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),
+a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function Qa(a){return a.replace(Xb,"\\$1")}function yb(a){var b=a.aoColumns,c,d,e,f,g,i,j,h,m=p.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){i=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(j=w(a,d,e,"filter"),m[c.sType]&&(j=m[c.sType](j)),null===j&&(j=""),"string"!==typeof j&&j.toString&&(j=j.toString())):j="",j.indexOf&&-1!==j.indexOf("&")&&(ua.innerHTML=j,j=Yb?
+ua.textContent:ua.innerText),j.replace&&(j=j.replace(/[\r\n]/g,"")),i.push(j);h._aFilterData=i;h._sFilterRow=i.join("  ");c=!0}return c}function zb(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Ab(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function rb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Bb,sName:"information"}),
+d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}function Bb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),i=g?c.sInfo:c.sInfoEmpty;g!==f&&(i+=" "+c.sInfoFiltered);i+=c.sInfoPostFix;i=Cb(a,i);c=c.fnInfoCallback;null!==c&&(i=c.call(a.oInstance,a,d,e,f,g,i));h(b).html(i)}}function Cb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,
+f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function va(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){mb(a);jb(a);da(a,a.aoHeader);da(a,a.aoFooter);B(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&
+(f.nTh.style.width=s(f.sWidth));M(a);e=A(a);"ssp"!=e&&("ajax"==e?qa(a,[],function(c){var f=ra(a,c);for(b=0;b<f.length;b++)I(a,f[b]);a.iInitDisplayStart=d;M(a);B(a,!1);sa(a,c)},a):(B(a,!1),sa(a)))}else setTimeout(function(){va(a)},200)}function sa(a,b){a._bInitComplete=!0;b&&X(a);u(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);u(a,null,"length",[a,c])}function nb(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=e?d[0]:d,d=e?
+d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,i=f.length;g<i;g++)e[0][g]=new Option(d[g],f[g]);var j=h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(j[0].id=c+"_length");j.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",j).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());L(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",j).val(d)});return j[0]}function sb(a){var b=
+a.sPaginationType,c=p.ext.pager[b],d="function"===typeof c,e=function(a){L(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,j=a._iDisplayLength,h=a.fnRecordsDisplay(),m=-1===j,b=m?0:Math.ceil(b/j),j=m?1:Math.ceil(h/j),h=c(b,j),o,m=0;for(o=f.p.length;m<o;m++)Oa(a,"pageButton")(a,f.p[m],m,h,b,j)}else c.fnUpdate(a,e)},sName:"pagination"}));return b}function Ta(a,
+b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:R(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(u(a,null,"page",[a]),c&&L(a));return b}function pb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}
+function B(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");u(a,null,"processing",[a,b])}function qb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),i=g.length?g[0]._captionSide:null,j=h(b[0].cloneNode(!1)),n=h(b[0].cloneNode(!1)),m=b.children("tfoot");c.sX&&"100%"===b.attr("width")&&b.removeAttr("width");m.length||(m=null);c=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",
+{"class":f.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?!d?null:s(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(j.removeAttr("id").css("margin-left",0).append(b.children("thead")))).append("top"===i?g:null)).append(h("<div/>",{"class":f.sScrollBody}).css({overflow:"auto",height:!e?null:s(e),width:!d?null:s(d)}).append(b));m&&c.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",
+border:0,width:d?!d?null:s(d):"100%"}).append(h("<div/>",{"class":f.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append(b.children("tfoot")))).append("bottom"===i?g:null));var b=c.children(),o=b[0],f=b[1],k=m?b[2]:null;d&&h(f).scroll(function(){var a=this.scrollLeft;o.scrollLeft=a;m&&(k.scrollLeft=a)});a.nScrollHead=o;a.nScrollBody=f;a.nScrollFoot=k;a.aoDrawCallback.push({fn:Y,sName:"scrolling"});return c[0]}function Y(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,f=b.iBarWidth,
+g=h(a.nScrollHead),i=g[0].style,j=g.children("div"),n=j[0].style,m=j.children("table"),j=a.nScrollBody,o=h(j),k=j.style,l=h(a.nScrollFoot).children("div"),p=l.children("table"),r=h(a.nTHead),q=h(a.nTable),fa=q[0],N=fa.style,J=a.nTFoot?h(a.nTFoot):null,t=a.oBrowser,u=t.bScrollOversize,x,v,w,K,y,z=[],A=[],B=[],C,D=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};q.children("thead, tfoot").remove();y=r.clone().prependTo(q);x=r.find("tr");
+w=y.find("tr");y.find("th, td").removeAttr("tabindex");J&&(K=J.clone().prependTo(q),v=J.find("tr"),K=K.find("tr"));c||(k.width="100%",g[0].style.width="100%");h.each(pa(a,y),function(b,c){C=ja(a,b);c.style.width=a.aoColumns[C].sWidth});J&&F(function(a){a.style.width=""},K);b.bCollapse&&""!==e&&(k.height=o[0].offsetHeight+r[0].offsetHeight+"px");g=q.outerWidth();if(""===c){if(N.width="100%",u&&(q.find("tbody").height()>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(q.outerWidth()-f)}else""!==
+d?N.width=s(d):g==o.width()&&o.height()<q.height()?(N.width=s(g-f),q.outerWidth()>g-f&&(N.width=s(g))):N.width=s(g);g=q.outerWidth();F(D,w);F(function(a){B.push(a.innerHTML);z.push(s(h(a).css("width")))},w);F(function(a,b){a.style.width=z[b]},x);h(w).height(0);J&&(F(D,K),F(function(a){A.push(s(h(a).css("width")))},K),F(function(a,b){a.style.width=A[b]},v),h(K).height(0));F(function(a,b){a.innerHTML='<div class="dataTables_sizing" style="height:0;overflow:hidden;">'+B[b]+"</div>";a.style.width=z[b]},
+w);J&&F(function(a,b){a.innerHTML="";a.style.width=A[b]},K);if(q.outerWidth()<g){v=j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")?g+f:g;if(u&&(j.scrollHeight>j.offsetHeight||"scroll"==o.css("overflow-y")))N.width=s(v-f);(""===c||""!==d)&&R(a,1,"Possible column misalignment",6)}else v="100%";k.width=s(v);i.width=s(v);J&&(a.nScrollFoot.style.width=s(v));!e&&u&&(k.height=s(fa.offsetHeight+f));e&&b.bCollapse&&(k.height=s(e),b=c&&fa.offsetWidth>j.offsetWidth?f:0,fa.offsetHeight<j.offsetHeight&&
+(k.height=s(fa.offsetHeight+b)));b=q.outerWidth();m[0].style.width=s(b);n.width=s(b);m=q.height()>j.clientHeight||"scroll"==o.css("overflow-y");t="padding"+(t.bScrollbarLeft?"Left":"Right");n[t]=m?f+"px":"0px";J&&(p[0].style.width=s(b),l[0].style.width=s(b),l[0].style[t]=m?f+"px":"0px");o.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}function F(a,b,c){for(var d=0,e=0,f=b.length,g,i;e<f;){g=b[e].firstChild;for(i=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,i,d):a(g,d),d++),g=
+g.nextSibling,i=c?i.nextSibling:null;e++}}function Fa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,i=c.length,d=Z(a,"bVisible"),j=h("th",a.nTHead),n=b.getAttribute("width"),m=b.parentNode,o=!1,k,l;for(k=0;k<d.length;k++)l=c[d[k]],null!==l.sWidth&&(l.sWidth=Db(l.sWidthOrig,m),o=!0);if(!o&&!f&&!e&&i==aa(a)&&i==j.length)for(k=0;k<i;k++)c[k].sWidth=s(j.eq(k).width());else{i=h(b).clone().empty().css("visibility","hidden").removeAttr("id").append(h(a.nTHead).clone(!1)).append(h(a.nTFoot).clone(!1)).append(h("<tbody><tr/></tbody>"));
+i.find("tfoot th, tfoot td").css("width","");var p=i.find("tbody tr"),j=pa(a,i.find("thead")[0]);for(k=0;k<d.length;k++)l=c[d[k]],j[k].style.width=null!==l.sWidthOrig&&""!==l.sWidthOrig?s(l.sWidthOrig):"";if(a.aoData.length)for(k=0;k<d.length;k++)o=d[k],l=c[o],h(Eb(a,o)).clone(!1).append(l.sContentPadding).appendTo(p);i.appendTo(m);f&&g?i.width(g):f?(i.css("width","auto"),i.width()<m.offsetWidth&&i.width(m.offsetWidth)):e?i.width(m.offsetWidth):n&&i.width(n);Fb(a,i[0]);if(f){for(k=g=0;k<d.length;k++)l=
+c[d[k]],e=h(j[k]).outerWidth(),g+=null===l.sWidthOrig?e:parseInt(l.sWidth,10)+e-h(j[k]).width();i.width(s(g));b.style.width=s(g)}for(k=0;k<d.length;k++)if(l=c[d[k]],e=h(j[k]).width())l.sWidth=s(e);b.style.width=s(i.css("width"));i.remove()}n&&(b.style.width=s(n));if((n||f)&&!a._reszEvt)h(Da).bind("resize.DT-"+a.sInstance,ta(function(){X(a)})),a._reszEvt=!0}function ta(a,b){var c=b!==l?b:200,d,e;return function(){var b=this,g=+new Date,i=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=
+l;a.apply(b,i)},c)):d?(d=g,a.apply(b,i)):d=g}}function Db(a,b){if(!a)return 0;var c=h("<div/>").css("width",s(a)).appendTo(b||P.body),d=c[0].offsetWidth;c.remove();return d}function Fb(a,b){var c=a.oScroll;if(c.sX||c.sY)c=!c.sX?c.iBarWidth:0,b.style.width=s(h(b).outerWidth()-c)}function Eb(a,b){var c=Gb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(w(a,c,b,"display"))[0]:d.anCells[b]}function Gb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=w(a,f,b,"display")+"",
+c=c.replace(Zb,""),c.length>d&&(d=c.length,e=f);return e}function s(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Hb(){if(!p.__scrollbarWidth){var a=h("<p/>").css({width:"100%",height:200,padding:0})[0],b=h("<div/>").css({position:"absolute",top:0,left:0,width:200,height:150,padding:0,overflow:"hidden",visibility:"hidden"}).append(a).appendTo("body"),c=a.offsetWidth;b.css("overflow","scroll");a=a.offsetWidth;c===a&&(a=b[0].clientWidth);b.remove();p.__scrollbarWidth=
+c-a}return p.__scrollbarWidth}function T(a){var b,c,d=[],e=a.aoColumns,f,g,i,j;b=a.aaSortingFixed;c=h.isPlainObject(b);var n=[];f=function(a){a.length&&!h.isArray(a[0])?n.push(a):n.push.apply(n,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<n.length;a++){j=n[a][0];f=e[j].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],i=e[g].sType||"string",n[a]._idx===l&&(n[a]._idx=h.inArray(n[a][1],e[g].asSorting)),d.push({src:j,col:g,dir:n[a][1],index:n[a]._idx,type:i,formatter:p.ext.type.order[i+
+"-pre"]})}return d}function lb(a){var b,c,d=[],e=p.ext.type.order,f=a.aoData,g=0,i,h=a.aiDisplayMaster,n;Ga(a);n=T(a);b=0;for(c=n.length;b<c;b++)i=n[b],i.formatter&&g++,Ib(a,i.col);if("ssp"!=A(a)&&0!==n.length){b=0;for(c=h.length;b<c;b++)d[h[b]]=b;g===n.length?h.sort(function(a,b){var c,e,g,i,h=n.length,j=f[a]._aSortData,l=f[b]._aSortData;for(g=0;g<h;g++)if(i=n[g],c=j[i.col],e=l[i.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===i.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):h.sort(function(a,b){var c,
+g,i,h,j=n.length,l=f[a]._aSortData,p=f[b]._aSortData;for(i=0;i<j;i++)if(h=n[i],c=l[h.col],g=p[h.col],h=e[h.type+"-"+h.dir]||e["string-"+h.dir],c=h(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Jb(a){for(var b,c,d=a.aoColumns,e=T(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var i=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var h=c.nTh;h.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(h.setAttribute("aria-sort","asc"==e[0].dir?"ascending":
+"descending"),c=i[e[0].index+1]||i[0]):c=i[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);h.setAttribute("aria-label",b)}}function Ua(a,b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===l&&(c=h.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,C(e,"0")),-1!==c?(b=g(e[c],!0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&
+e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);M(a);"function"==typeof d&&d(a)}function Na(a,b,c,d){var e=a.aoColumns[c];Va(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(B(a,!0),setTimeout(function(){Ua(a,c,b.shiftKey,d);"ssp"!==A(a)&&B(a,!1)},0)):Ua(a,c,b.shiftKey,d))})}function wa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=T(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(C(a.aoData,
+"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(C(a.aoData,"anCells",g)).addClass(c+(2>e?e+1:3))}a.aLastSort=d}function Ib(a,b){var c=a.aoColumns[b],d=p.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,$(a,b)));for(var f,g=p.ext.type.order[c.sType+"-pre"],i=0,h=a.aoData.length;i<h;i++)if(c=a.aoData[i],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[i]:w(a,i,b,"sort"),c._aSortData[b]=g?g(f):f}function xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b=
+{time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:zb(a.oPreviousSearch),columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:zb(a.aoPreSearchCols[d])}})};u(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Kb(a){var b,c,d=a.aoColumns;if(a.oFeatures.bStateSave){var e=a.fnStateLoadCallback.call(a.oInstance,a);if(e&&e.time&&(b=u(a,"aoStateLoadParams","stateLoadParams",
+[a,e]),-1===h.inArray(!1,b)&&(b=a.iStateDuration,!(0<b&&e.time<+new Date-1E3*b)&&d.length===e.columns.length))){a.oLoadedState=h.extend(!0,{},e);a._iDisplayStart=e.start;a.iInitDisplayStart=e.start;a._iDisplayLength=e.length;a.aaSorting=[];h.each(e.order,function(b,c){a.aaSorting.push(c[0]>=d.length?[0,c[1]]:c)});h.extend(a.oPreviousSearch,Ab(e.search));b=0;for(c=e.columns.length;b<c;b++){var f=e.columns[b];d[b].bVisible=f.visible;h.extend(a.aoPreSearchCols[b],Ab(f.search))}u(a,"aoStateLoaded","stateLoaded",
+[a,e])}}}function ya(a){var b=p.settings,a=h.inArray(a,C(b,"nTable"));return-1!==a?b[a]:null}function R(a,b,c,d){c="DataTables warning: "+(null!==a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)Da.console&&console.log&&console.log(c);else if(a=p.ext,"alert"==(a.sErrMode||a.errMode))alert(c);else throw Error(c);}function D(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?D(a,b,d[0],d[1]):D(a,b,d)}):(d===l&&
+(d=c),b[c]!==l&&(a[d]=b[c]))}function Lb(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return a}function Va(a,b,c){h(a).bind("click.DT",b,function(b){a.blur();c(b)}).bind("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).bind("selectstart.DT",function(){return!1})}function y(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function u(a,b,c,d){var e=
+[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&h(a.nTable).trigger(c+".dt",d);return e}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);if(-1===d||0>b)b=0;a._iDisplayStart=b}function Oa(a,b){var c=a.renderer,d=p.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===typeof c?d[c]||d._:d._}function A(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function Wa(a,b){var c=
+[],c=Mb.numbers_length,d=Math.floor(c/2);b<=c?c=U(0,b):a<=d?(c=U(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=U(b-(c-2),b):(c=U(a-1,a+2),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function db(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Xa)},"html-num":function(b){return za(b,a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Xa)}},function(b,c){v.type.order[b+a+"-pre"]=c})}function Nb(a){return function(){var b=
+[ya(this[p.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return p.ext.internal[a].apply(this,b)}}var p,v,q,r,t,Ya={},Ob=/[\r\n]/g,Aa=/<.*?>/g,$b=/^[\w\+\-]/,ac=/[\w\+\-]$/,Xb=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Xa=/[',$\u00a3\u20ac\u00a5%\u2009\u202F]/g,H=function(a){return!a||!0===a||"-"===a?!0:!1},Pb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Qb=function(a,b){Ya[b]||(Ya[b]=RegExp(Qa(b),"g"));return"string"===
+typeof a&&"."!==b?a.replace(/\./g,"").replace(Ya[b],"."):a},Za=function(a,b,c){var d="string"===typeof a;b&&d&&(a=Qb(a,b));c&&d&&(a=a.replace(Xa,""));return H(a)||!isNaN(parseFloat(a))&&isFinite(a)},Rb=function(a,b,c){return H(a)?!0:!(H(a)||"string"===typeof a)?null:Za(a.replace(Aa,""),b,c)?!0:null},C=function(a,b,c){var d=[],e=0,f=a.length;if(c!==l)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<f;e++)a[e]&&d.push(a[e][b]);return d},ga=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==
+l)for(;f<g;f++)e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},U=function(a,b){var c=[],d;b===l?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Ma=function(a){var b=[],c,d,e=a.length,f,g=0;d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b},z=function(a,b,c){a[b]!==l&&(a[c]=a[b])},ba=/\[.*?\]$/,S=/\(\)$/,ua=h("<div>")[0],Yb=ua.textContent!==l,Zb=/<.*?>/g;p=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,
+b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new q(ya(this[v.iApiIndex])):new q(this)};this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===l||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===l||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&Y(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();
+(a===l||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===l||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(!a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===l?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=
+this.api(!0);if(a!==l){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==l||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==l?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};
+this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===l||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===l||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ya(this[v.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=
+this.api(!0);c===l||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===l||e)&&h.columns.adjust();(d===l||d)&&h.draw();return 0};this.fnVersionCheck=v.fnVersionCheck;var b=this,c=a===l,d=this.length;c&&(a={});this.oApi=this.internal=v.internal;for(var e in p.ext.internal)e&&(this[e]=Nb(e));this.each(function(){var e={},g=1<d?Lb(e,a,!0):a,i=0,j,n=this.getAttribute("id"),e=!1,m=p.defaults;if("table"!=this.nodeName.toLowerCase())R(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{eb(m);
+fb(m.column);G(m,m,!0);G(m.column,m.column,!0);G(m,g);var o=p.settings,i=0;for(j=o.length;i<j;i++){if(o[i].nTable==this){j=g.bRetrieve!==l?g.bRetrieve:m.bRetrieve;if(c||j)return o[i].oInstance;if(g.bDestroy!==l?g.bDestroy:m.bDestroy){o[i].oInstance.fnDestroy();break}else{R(o[i],0,"Cannot reinitialise DataTable",3);return}}if(o[i].sTableId==this.id){o.splice(i,1);break}}if(null===n||""===n)this.id=n="DataTables_Table_"+p.ext._unique++;var k=h.extend(!0,{},p.models.oSettings,{nTable:this,oApi:b.internal,
+oInit:g,sDestroyWidth:h(this)[0].style.width,sInstance:n,sTableId:n});o.push(k);k.oInstance=1===b.length?b:h(this).dataTable();eb(g);g.oLanguage&&O(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=Lb(h.extend(!0,{},m),g);D(k.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));D(k,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber",
+"sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"],["bJQueryUI","bJUI"]]);D(k.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);
+D(k.oLanguage,g,"fnInfoCallback");y(k,"aoDrawCallback",g.fnDrawCallback,"user");y(k,"aoServerParams",g.fnServerParams,"user");y(k,"aoStateSaveParams",g.fnStateSaveParams,"user");y(k,"aoStateLoadParams",g.fnStateLoadParams,"user");y(k,"aoStateLoaded",g.fnStateLoaded,"user");y(k,"aoRowCallback",g.fnRowCallback,"user");y(k,"aoRowCreatedCallback",g.fnCreatedRow,"user");y(k,"aoHeaderCallback",g.fnHeaderCallback,"user");y(k,"aoFooterCallback",g.fnFooterCallback,"user");y(k,"aoInitComplete",g.fnInitComplete,
+"user");y(k,"aoPreDrawCallback",g.fnPreDrawCallback,"user");n=k.oClasses;g.bJQueryUI?(h.extend(n,p.ext.oJUIClasses,g.oClasses),g.sDom===m.sDom&&"lfrtip"===m.sDom&&(k.sDom='<"H"lfr>t<"F"ip>'),k.renderer)?h.isPlainObject(k.renderer)&&!k.renderer.header&&(k.renderer.header="jqueryui"):k.renderer="jqueryui":h.extend(n,p.ext.classes,g.oClasses);h(this).addClass(n.sTable);if(""!==k.oScroll.sX||""!==k.oScroll.sY)k.oScroll.iBarWidth=Hb();!0===k.oScroll.sX&&(k.oScroll.sX="100%");k.iInitDisplayStart===l&&(k.iInitDisplayStart=
+g.iDisplayStart,k._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(k.bDeferLoading=!0,i=h.isArray(g.iDeferLoading),k._iRecordsDisplay=i?g.iDeferLoading[0]:g.iDeferLoading,k._iRecordsTotal=i?g.iDeferLoading[1]:g.iDeferLoading);""!==g.oLanguage.sUrl?(k.oLanguage.sUrl=g.oLanguage.sUrl,h.getJSON(k.oLanguage.sUrl,null,function(a){O(a);G(m.oLanguage,a);h.extend(true,k.oLanguage,g.oLanguage,a);va(k)}),e=!0):h.extend(!0,k.oLanguage,g.oLanguage);null===g.asStripeClasses&&(k.asStripeClasses=[n.sStripeOdd,
+n.sStripeEven]);var i=k.asStripeClasses,r=h("tbody tr:eq(0)",this);-1!==h.inArray(!0,h.map(i,function(a){return r.hasClass(a)}))&&(h("tbody tr",this).removeClass(i.join(" ")),k.asDestroyStripes=i.slice());var o=[],q,i=this.getElementsByTagName("thead");0!==i.length&&(ca(k.aoHeader,i[0]),o=pa(k));if(null===g.aoColumns){q=[];i=0;for(j=o.length;i<j;i++)q.push(null)}else q=g.aoColumns;i=0;for(j=q.length;i<j;i++)Ea(k,o?o[i]:null);ib(k,g.aoColumnDefs,q,function(a,b){ia(k,a,b)});if(r.length){var s=function(a,
+b){return a.getAttribute("data-"+b)?b:null};h.each(la(k,r[0]).cells,function(a,b){var c=k.aoColumns[a];if(c.mData===a){var d=s(b,"sort")||s(b,"order"),e=s(b,"filter")||s(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:l,type:d!==null?a+".@data-"+d:l,filter:e!==null?a+".@data-"+e:l};ia(k,a)}}})}var t=k.oFeatures;g.bStateSave&&(t.bStateSave=!0,Kb(k,g),y(k,"aoDrawCallback",xa,"state_save"));if(g.aaSorting===l){o=k.aaSorting;i=0;for(j=o.length;i<j;i++)o[i][1]=k.aoColumns[i].asSorting[0]}wa(k);
+t.bSort&&y(k,"aoDrawCallback",function(){if(k.bSorted){var a=T(k),b={};h.each(a,function(a,c){b[c.src]=c.dir});u(k,null,"order",[k,a,b]);Jb(k)}});y(k,"aoDrawCallback",function(){(k.bSorted||A(k)==="ssp"||t.bDeferRender)&&wa(k)},"sc");gb(k);i=h(this).children("caption").each(function(){this._captionSide=h(this).css("caption-side")});j=h(this).children("thead");0===j.length&&(j=h("<thead/>").appendTo(this));k.nTHead=j[0];j=h(this).children("tbody");0===j.length&&(j=h("<tbody/>").appendTo(this));k.nTBody=
+j[0];j=h(this).children("tfoot");if(0===j.length&&0<i.length&&(""!==k.oScroll.sX||""!==k.oScroll.sY))j=h("<tfoot/>").appendTo(this);0===j.length||0===j.children().length?h(this).addClass(n.sNoFooter):0<j.length&&(k.nTFoot=j[0],ca(k.aoFooter,k.nTFoot));if(g.aaData)for(i=0;i<g.aaData.length;i++)I(k,g.aaData[i]);else(k.bDeferLoading||"dom"==A(k))&&ka(k,h(k.nTBody).children("tr"));k.aiDisplay=k.aiDisplayMaster.slice();k.bInitialised=!0;!1===e&&va(k)}});b=null;return this};var Sb=[],x=Array.prototype,
+bc=function(a){var b,c,d=p.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};q=function(a,b){if(!this instanceof q)throw"DT API must be constructed as a new object";
+var c=[],d=function(a){(a=bc(a))&&c.push.apply(c,a)};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=Ma(c);b&&this.push.apply(this,b.toArray?b.toArray():b);this.selector={rows:null,cols:null,opts:null};q.extend(this,this,Sb)};p.Api=q;q.prototype={concat:x.concat,context:[],each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=this.context;return b.length>a?new q(b[a],this[a]):null},filter:function(a){var b=[];
+if(x.filter)b=x.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new q(this.context,b)},flatten:function(){var a=[];return new q(this.context,a.concat.apply(a,this.toArray()))},join:x.join,indexOf:x.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c){var d=[],e,f,g,h,j,n=this.context,m,o,k=this.selector;"string"===typeof a&&(c=b,b=a,a=!1);f=0;for(g=n.length;f<g;f++){var p=
+new q(n[f]);if("table"===b)e=c.call(p,n[f],f),e!==l&&d.push(e);else if("columns"===b||"rows"===b)e=c.call(p,n[f],this[f],f),e!==l&&d.push(e);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[f];"column-rows"===b&&(m=Ba(n[f],k.opts));h=0;for(j=o.length;h<j;h++)e=o[h],e="cell"===b?c.call(p,n[f],e.row,e.column,f,h):c.call(p,n[f],e,f,h,m),e!==l&&d.push(e)}}return d.length?(a=new q(n,a?d.concat.apply([],d):d),b=a.selector,b.rows=k.rows,b.cols=k.cols,b.opts=k.opts,a):this},lastIndexOf:x.lastIndexOf||
+function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(x.map)b=x.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new q(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:x.pop,push:x.push,reduce:x.reduce||function(a,b){return hb(this,a,b,0,this.length,1)},reduceRight:x.reduceRight||function(a,b){return hb(this,a,b,this.length-1,-1,-1)},reverse:x.reverse,selector:null,
+shift:x.shift,sort:x.sort,splice:x.splice,toArray:function(){return x.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new q(this.context,Ma(this))},unshift:x.unshift};q.extend=function(a,b,c){if(b&&(b instanceof q||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=b.apply(a,arguments);q.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?
+{}:f.val,b[f.name].__dt_wrapper=!0,q.extend(a,b[f.name],f.propExt)}};q.register=r=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<d;c++)q.register(a[c],b);else for(var e=a.split("."),f=Sb,g,i,c=0,d=e.length;c<d;c++){g=(i=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var j;a:{j=0;for(var n=f.length;j<n;j++)if(f[j].name===g){j=f[j];break a}j=null}j||(j={name:g,val:{},methodExt:[],propExt:[]},f.push(j));c===d-1?j.val=b:f=i?j.methodExt:j.propExt}};q.registerPlural=t=function(a,b,c){q.register(a,
+c);q.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof q?a.length?h.isArray(a[0])?new q(a.context,a[0]):a[0]:l:a})};r("tables()",function(a){var b;if(a){b=q;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,d);return c[a]}).toArray();b=new b(a)}else b=this;return b});r("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new q(b[0]):a});t("tables().nodes()",
+"table().node()",function(){return this.iterator("table",function(a){return a.nTable})});t("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody})});t("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead})});t("tables().footer()","table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot})});t("tables().containers()","table().container()",function(){return this.iterator("table",
+function(a){return a.nTableWrapper})});r("draw()",function(a){return this.iterator("table",function(b){M(b,!1===a)})});r("page()",function(a){return a===l?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});r("page.info()",function(){if(0===this.context.length)return l;var a=this.context[0],b=a._iDisplayStart,c=a._iDisplayLength,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),
+recordsDisplay:d}});r("page.len()",function(a){return a===l?0!==this.context.length?this.context[0]._iDisplayLength:l:this.iterator("table",function(b){Ra(b,a)})});var Tb=function(a,b,c){"ssp"==A(a)?M(a,b):(B(a,!0),qa(a,[],function(c){ma(a);for(var c=ra(a,c),d=0,g=c.length;d<g;d++)I(a,c[d]);M(a,b);B(a,!1)}));if(c){var d=new q(a);d.one("draw",function(){c(d.ajax.json())})}};r("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});r("ajax.params()",function(){var a=this.context;
+if(0<a.length)return a[0].oAjaxData});r("ajax.reload()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});r("ajax.url()",function(a){var b=this.context;if(a===l){if(0===b.length)return l;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});r("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Tb(c,!1===b,a)})});var $a=function(a,b){var c=
+[],d,e,f,g,i,j;d=typeof a;if(!a||"string"===d||"function"===d||a.length===l)a=[a];f=0;for(g=a.length;f<g;f++){e=a[f]&&a[f].split?a[f].split(","):[a[f]];i=0;for(j=e.length;i<j;i++)(d=b("string"===typeof e[i]?h.trim(e[i]):e[i]))&&d.length&&c.push.apply(c,d)}return c},ab=function(a){a||(a={});a.filter&&!a.search&&(a.search=a.filter);return{search:a.search||"none",order:a.order||"current",page:a.page||"all"}},bb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a.length=1,a.context=
+[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,d,e,f=[],g=a.aiDisplay;c=a.aiDisplayMaster;var i=b.search;d=b.order;e=b.page;if("ssp"==A(a))return"removed"===i?[]:U(0,c.length);if("current"==e){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==d||"applied"==d)f="none"==i?c.slice():"applied"==i?g.slice():h.map(c,function(a){return-1===h.inArray(a,g)?a:null});else if("index"==d||"original"==d){c=0;for(d=a.aoData.length;c<d;c++)"none"==i?f.push(c):(e=h.inArray(c,
+g),(-1===e&&"removed"==i||0<=e&&"applied"==i)&&f.push(c))}return f};r("rows()",function(a,b){a===l?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=b;return $a(a,function(a){var b=Pb(a);if(b!==null&&!e)return[b];var i=Ba(c,e);if(b!==null&&h.inArray(b,i)!==-1)return[b];if(!a)return i;b=ga(c.aoData,i,"nTr");return typeof a==="function"?h.map(i,function(b){var e=c.aoData[b];return a(b,e._aData,e.nTr)?b:null}):a.nodeName&&h.inArray(a,b)!==-1?[a._DT_RowIndex]:h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()})});
+c.selector.rows=a;c.selector.opts=b;return c});r("rows().nodes()",function(){return this.iterator("row",function(a,b){return a.aoData[b].nTr||l})});r("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ga(a.aoData,b,"_aData")})});t("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData})});t("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,
+c){oa(b,c,a)})});t("rows().indexes()","row().index()",function(){return this.iterator("row",function(a,b){return b})});t("rows().remove()","row().remove()",function(){var a=this;return this.iterator("row",function(b,c,d){var e=b.aoData;e.splice(c,1);for(var f=0,g=e.length;f<g;f++)null!==e[f].nTr&&(e[f].nTr._DT_RowIndex=f);h.inArray(c,b.aiDisplay);na(b.aiDisplayMaster,c);na(b.aiDisplay,c);na(a[d],c,!1);Sa(b)})});r("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;
+for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(ka(b,c)[0]):h.push(I(b,c));return h}),c=this.rows(-1);c.pop();c.push.apply(c,b.toArray());return c});r("row()",function(a,b){return bb(this.rows(a,b))});r("row().data()",function(a){var b=this.context;if(a===l)return b.length&&this.length?b[0].aoData[this[0]]._aData:l;b[0].aoData[this[0]]._aData=a;oa(b[0],this[0],"data");return this});r("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||
+null:null});r("row.add()",function(a){a instanceof h&&a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?ka(b,a)[0]:I(b,a)});return this.row(b[0])});var cb=function(a,b){var c=a.context;c.length&&(c=c[0].aoData[b!==l?b:a[0]],c._details&&(c._details.remove(),c._detailsShow=l,c._details=l))},Ub=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();
+var e=c[0],f=new q(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0<C(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=aa(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,
+b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&cb(f,c)}))}}};r("row().child()",function(a,b){var c=this.context;if(a===l)return c.length&&this.length?c[0].aoData[this[0]]._details:l;if(!0===a)this.child.show();else if(!1===a)cb(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(a.nodeName&&"tr"===a.nodeName.toLowerCase())e.push(a);else{var c=h("<tr><td/></tr>").addClass(b);h("td",c).addClass(b).html(a)[0].colSpan=aa(d);e.push(c[0])}};if(h.isArray(a)||
+a instanceof h)for(var g=0,i=a.length;g<i;g++)f(a[g],b);else f(a,b);c._details&&c._details.remove();c._details=h(e);c._detailsShow&&c._details.insertAfter(c.nTr)}return this});r(["row().child.show()","row().child().show()"],function(){Ub(this,!0);return this});r(["row().child.hide()","row().child().hide()"],function(){Ub(this,!1);return this});r(["row().child.remove()","row().child().remove()"],function(){cb(this);return this});r("row().child.isShown()",function(){var a=this.context;return a.length&&
+this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var cc=/^(.+):(name|visIdx|visible)$/,Vb=function(a,b,c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(w(a,e[d],b));return c};r("columns()",function(a,b){a===l?a="":h.isPlainObject(a)&&(b=a,a="");var b=ab(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,i=C(g,"sName"),j=C(g,"nTh");return $a(e,function(a){var b=Pb(a);if(a==="")return U(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,
+function(b,f){return a(f,Vb(c,f,0,0,e),j[f])?f:null})}var k=typeof a==="string"?a.match(cc):"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var l=h.map(g,function(a,b){return a.bVisible?b:null});return[l[l.length+b]]}return[ja(c,b)];case "name":return h.map(i,function(a,b){return a===k[1]?b:null})}else return h(j).filter(a).map(function(){return h.inArray(this,j)}).toArray()})});c.selector.cols=a;c.selector.opts=b;return c});t("columns().header()","column().header()",
+function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh})});t("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf})});t("columns().data()","column().data()",function(){return this.iterator("column-rows",Vb)});t("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData})});t("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",
+function(b,c,d,e,f){return ga(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)})});t("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ga(a.aoData,e,"anCells",b)})});t("columns().visible()","column().visible()",function(a,b){return this.iterator("column",function(c,d){var e;if(a===l)e=c.aoColumns[d].bVisible;else{var f=c.aoColumns;e=f[d];var g=c.aoData,i,j,n;if(a===l)e=e.bVisible;else{if(e.bVisible!==a){if(a){var m=h.inArray(!0,C(f,
+"bVisible"),d+1);i=0;for(j=g.length;i<j;i++)n=g[i].nTr,f=g[i].anCells,n&&n.insertBefore(f[d],f[m]||null)}else h(C(c.aoData,"anCells",d)).detach();e.bVisible=a;da(c,c.aoHeader);da(c,c.aoFooter);if(b===l||b)X(c),(c.oScroll.sX||c.oScroll.sY)&&Y(c);u(c,null,"column-visibility",[c,d,a]);xa(c)}e=void 0}}return e})});t("columns().indexes()","column().index()",function(a){return this.iterator("column",function(b,c){return"visible"===a?$(b,c):c})});r("columns.adjust()",function(){return this.iterator("table",
+function(a){X(a)})});r("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return ja(c,b);if("fromData"===a||"toVisible"===a)return $(c,b)}});r("column()",function(a,b){return bb(this.columns(a,b))});r("cells()",function(a,b,c){h.isPlainObject(a)&&(typeof a.row!==l?(c=b,b=null):(c=a,a=null));h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===l)return this.iterator("table",function(b){var d=a,e=ab(c),f=b.aoData,g=Ba(b,e),e=ga(f,g,"anCells"),
+i=h([].concat.apply([],e)),j,m=b.aoColumns.length,n,p,r,q,s,t;return $a(d,function(a){var c=typeof a==="function";if(a===null||a===l||c){n=[];p=0;for(r=g.length;p<r;p++){j=g[p];for(q=0;q<m;q++){s={row:j,column:q};if(c){t=b.aoData[j];a(s,w(b,j,q),t.anCells[q])&&n.push(s)}else n.push(s)}}return n}return h.isPlainObject(a)?[a]:i.filter(a).map(function(a,b){j=b.parentNode._DT_RowIndex;return{row:j,column:h.inArray(b,f[j].anCells)}}).toArray()})});var d=this.columns(b,c),e=this.rows(a,c),f,g,i,j,n,m=this.iterator("table",
+function(a,b){f=[];g=0;for(i=e[b].length;g<i;g++){j=0;for(n=d[b].length;j<n;j++)f.push({row:e[b][g],column:d[b][j]})}return f});h.extend(m.selector,{cols:b,rows:a,opts:c});return m});t("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return a.aoData[b].anCells[c]})});r("cells().data()",function(){return this.iterator("cell",function(a,b,c){return w(a,b,c)})});t("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",
+function(b,c,d){return b.aoData[c][a][d]})});t("cells().render()","cell().render()",function(a){return this.iterator("cell",function(b,c,d){return w(b,c,d,a)})});t("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:$(a,c)}})});r(["cells().invalidate()","cell().invalidate()"],function(a){var b=this.selector;this.rows(b.rows,b.opts).invalidate(a);return this});r("cell()",function(a,b,c){return bb(this.cells(a,b,c))});r("cell().data()",
+function(a){var b=this.context,c=this[0];if(a===l)return b.length&&c.length?w(b[0],c[0].row,c[0].column):l;Ha(b[0],c[0].row,c[0].column,a);oa(b[0],c[0].row,"data",c[0].column);return this});r("order()",function(a,b){var c=this.context;if(a===l)return 0!==c.length?c[0].aaSorting:l;"number"===typeof a?a=[[a,b]]:h.isArray(a[0])||(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});r("order.listener()",function(a,b,c){return this.iterator("table",
+function(d){Na(d,a,b,c)})});r(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});r("search()",function(a,b,c,d){var e=this.context;return a===l?0!==e.length?e[0].oPreviousSearch.sSearch:l:this.iterator("table",function(e){e.oFeatures.bFilter&&ea(e,h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});t("columns().search()",
+"column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===l)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ea(e,e.oPreviousSearch,1))})});r("state()",function(){return this.context.length?this.context[0].oSavedState:null});r("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});r("state.loaded()",
+function(){return this.context.length?this.context[0].oLoadedState:null});r("state.save()",function(){return this.iterator("table",function(a){xa(a)})});p.versionCheck=p.fnVersionCheck=function(a){for(var b=p.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};p.isDataTable=p.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;h.each(p.settings,function(a,e){if(e.nTable===b||e.nScrollHead===b||e.nScrollFoot===b)c=!0});
+return c};p.tables=p.fnTables=function(a){return jQuery.map(p.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable})};p.util={throttle:ta};p.camelToHungarian=G;r("$()",function(a,b){var c=this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){r(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0].match(/\.dt\b/)||(a[0]+=".dt");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});
+r("clear()",function(){return this.iterator("table",function(a){ma(a)})});r("settings()",function(){return new q(this.context,this.context)});r("data()",function(){return this.iterator("table",function(a){return C(a.aoData,"_aData")}).flatten()});r("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,i=b.nTFoot,j=h(e),f=h(f),l=h(b.nTableWrapper),m=h.map(b.aoData,function(a){return a.nTr}),o;b.bDestroying=
+!0;u(b,"aoDestroyCallback","destroy",[b]);a||(new q(b)).columns().visible(!0);l.unbind(".DT").find(":not(tbody *)").unbind(".DT");h(Da).unbind(".DT-"+b.sInstance);e!=g.parentNode&&(j.children("thead").detach(),j.append(g));i&&e!=i.parentNode&&(j.children("tfoot").detach(),j.append(i));j.detach();l.detach();b.aaSorting=[];b.aaSortingFixed=[];wa(b);h(m).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);b.bJUI&&
+(h("th span."+d.sSortIcon+", td span."+d.sSortIcon,g).detach(),h("th, td",g).each(function(){var a=h("div."+d.sSortJUIWrapper,this);h(this).append(a.contents());a.detach()}));!a&&c&&c.insertBefore(e,b.nTableReinsertBefore);f.children().detach();f.append(m);j.css("width",b.sDestroyWidth).removeClass(d.sTable);(o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])});c=h.inArray(b,p.settings);-1!==c&&p.settings.splice(c,1)})});p.version="1.10.3";p.settings=
+[];p.models={};p.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};p.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null};p.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",
+sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};p.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bJQueryUI:!1,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,
+fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,
+fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},
+sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},p.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,
+sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null};V(p.defaults);p.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};V(p.defaults.column);p.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,
+bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],
+sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,
+bAjaxDataGet:!0,jqXHR:null,json:l,oAjaxData:l,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,bJUI:null,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==A(this)?1*this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==A(this)?1*this._iRecordsDisplay:
+this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{}};p.ext=v={classes:{},errMode:"alert",feature:[],search:[],internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],
+search:{},order:{}},_unique:0,fnVersionCheck:p.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:p.version};h.extend(v,{afnFiltering:v.search,aTypes:v.type.detect,ofnSearch:v.type.search,oSort:v.type.order,afnSortData:v.order,aoFeatures:v.feature,oApi:v.internal,oStdClasses:v.classes,oPagination:v.pager});h.extend(p.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",
+sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",
+sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sJUIHeader:"",sJUIFooter:""});var Ca="",Ca="",E=Ca+"ui-state-default",ha=Ca+"css_right ui-icon ui-icon-",Wb=Ca+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";h.extend(p.ext.oJUIClasses,p.ext.classes,{sPageButton:"fg-button ui-button "+
+E,sPageButtonActive:"ui-state-disabled",sPageButtonDisabled:"ui-state-disabled",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sSortAsc:E+" sorting_asc",sSortDesc:E+" sorting_desc",sSortable:E+" sorting",sSortableAsc:E+" sorting_asc_disabled",sSortableDesc:E+" sorting_desc_disabled",sSortableNone:E+" sorting_disabled",sSortJUIAsc:ha+"triangle-1-n",sSortJUIDesc:ha+"triangle-1-s",sSortJUI:ha+"carat-2-n-s",sSortJUIAscAllowed:ha+"carat-1-n",sSortJUIDescAllowed:ha+
+"carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollHead:"dataTables_scrollHead "+E,sScrollFoot:"dataTables_scrollFoot "+E,sHeaderTH:E,sFooterTH:E,sJUIHeader:Wb+" ui-corner-tl ui-corner-tr",sJUIFooter:Wb+" ui-corner-bl ui-corner-br"});var Mb=p.ext.pager;h.extend(Mb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},simple_numbers:function(a,b){return["previous",Wa(a,b),"next"]},full_numbers:function(a,b){return["first",
+"previous",Wa(a,b),"next","last"]},_numbers:Wa,numbers_length:7});h.extend(!0,p.ext.renderer,{pageButton:{_:function(a,b,c,d,e,f){var g=a.oClasses,i=a.oLanguage.oPaginate,j,l,m=0,o=function(b,d){var k,p,r,q,s=function(b){Ta(a,b.data.action,true)};k=0;for(p=d.length;k<p;k++){q=d[k];if(h.isArray(q)){r=h("<"+(q.DT_el||"div")+"/>").appendTo(b);o(r,q)}else{l=j="";switch(q){case "ellipsis":b.append("<span>&hellip;</span>");break;case "first":j=i.sFirst;l=q+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":j=
+i.sPrevious;l=q+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":j=i.sNext;l=q+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":j=i.sLast;l=q+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:j=q+1;l=e===q?g.sPageButtonActive:""}if(j){r=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"data-dt-idx":m,tabindex:a.iTabIndex,id:c===0&&typeof q==="string"?a.sTableId+"_"+q:null}).html(j).appendTo(b);Va(r,{action:q},s);m++}}}};try{var k=h(P.activeElement).data("dt-idx");o(h(b).empty(),
+d);k!==null&&h(b).find("[data-dt-idx="+k+"]").focus()}catch(p){}}}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Qb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(v.type.order,{"date-pre":function(a){return Date.parse(a)||0},"html-pre":function(a){return H(a)?"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return H(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,
+b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});db("");h.extend(p.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&(!$b.test(a)||!ac.test(a)))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||H(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return Za(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Rb(a,c)?"html-num"+c:null},function(a,b){var c=
+b.oLanguage.sDecimal;return Rb(a,c,!0)?"html-num-fmt"+c:null},function(a){return H(a)||"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(p.ext.type.search,{html:function(a){return H(a)?a:"string"===typeof a?a.replace(Ob," ").replace(Aa,""):""},string:function(a){return H(a)?a:"string"===typeof a?a.replace(Ob," "):a}});h.extend(!0,p.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+
+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+
+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]=="asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});p.render={number:function(a,b,c,d){return{display:function(e){var f=0>e?"-":"",e=Math.abs(parseFloat(e)),g=parseInt(e,10),e=c?b+(e-g).toFixed(c).substring(2):"";return f+(d||"")+g.toString().replace(/\B(?=(\d{3})+(?!\d))/g,a)+e}}}};h.extend(p.ext.internal,{_fnExternApiFunc:Nb,_fnBuildAjax:qa,_fnAjaxUpdate:kb,_fnAjaxParameters:tb,_fnAjaxUpdateDraw:ub,
+_fnAjaxDataSrc:ra,_fnAddColumn:Ea,_fnColumnOptions:ia,_fnAdjustColumnSizing:X,_fnVisibleToColumnIndex:ja,_fnColumnIndexToVisible:$,_fnVisbleColumns:aa,_fnGetColumns:Z,_fnColumnTypes:Ga,_fnApplyColumnDefs:ib,_fnHungarianMap:V,_fnCamelToHungarian:G,_fnLanguageCompat:O,_fnBrowserDetect:gb,_fnAddData:I,_fnAddTr:ka,_fnNodeToDataIndex:function(a,b){return b._DT_RowIndex!==l?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:w,_fnSetCellData:Ha,
+_fnSplitObjNotation:Ja,_fnGetObjectDataFn:W,_fnSetObjectDataFn:Q,_fnGetDataMaster:Ka,_fnClearTable:ma,_fnDeleteIndex:na,_fnInvalidateRow:oa,_fnGetRowElements:la,_fnCreateTr:Ia,_fnBuildHead:jb,_fnDrawHead:da,_fnDraw:L,_fnReDraw:M,_fnAddOptionsHtml:mb,_fnDetectHeader:ca,_fnGetUniqueThs:pa,_fnFeatureHtmlFilter:ob,_fnFilterComplete:ea,_fnFilterCustom:xb,_fnFilterColumn:wb,_fnFilter:vb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:yb,_fnFeatureHtmlInfo:rb,_fnUpdateInfo:Bb,_fnInfoMacros:Cb,_fnInitialise:va,
+_fnInitComplete:sa,_fnLengthChange:Ra,_fnFeatureHtmlLength:nb,_fnFeatureHtmlPaginate:sb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:pb,_fnProcessingDisplay:B,_fnFeatureHtmlTable:qb,_fnScrollDraw:Y,_fnApplyToChildren:F,_fnCalculateColumnWidths:Fa,_fnThrottle:ta,_fnConvertToWidth:Db,_fnScrollingWidthAdjust:Fb,_fnGetWidestNode:Eb,_fnGetMaxLenString:Gb,_fnStringToCss:s,_fnScrollBarWidth:Hb,_fnSortFlatten:T,_fnSort:lb,_fnSortAria:Jb,_fnSortListener:Ua,_fnSortAttachListener:Na,_fnSortingClasses:wa,_fnSortData:Ib,
+_fnSaveState:xa,_fnLoadState:Kb,_fnSettingsFromNode:ya,_fnLog:R,_fnMap:D,_fnBindAction:Va,_fnCallbackReg:y,_fnCallbackFire:u,_fnLengthOverflow:Sa,_fnRenderer:Oa,_fnDataSource:A,_fnRowAttributes:La,_fnCalculateEnd:function(){}});h.fn.dataTable=p;h.fn.dataTableSettings=p.settings;h.fn.dataTableExt=p.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};h.each(p,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable};"function"===typeof define&&define.amd?define("datatables",["jquery"],
+O):"object"===typeof exports?O(require("jquery")):jQuery&&!jQuery.fn.dataTable&&O(jQuery)})(window,document);
+
+
+/* - ++resource++it4i.portal.common/jquery.printElement.min.js - */
+/// <reference path="http://code.jquery.com/jquery-1.4.1-vsdoc.js" />
+/*
+* Print Element Plugin 1.2
+*
+* Copyright (c) 2010 Erik Zaadi
+*
+* Inspired by PrintArea (http://plugins.jquery.com/project/PrintArea) and
+* http://stackoverflow.com/questions/472951/how-do-i-print-an-iframe-from-javascript-in-safari-chrome
+*
+*  Home Page : http://projects.erikzaadi/jQueryPlugins/jQuery.printElement 
+*  Issues (bug reporting) : http://github.com/erikzaadi/jQueryPlugins/issues/labels/printElement
+*  jQuery plugin page : http://plugins.jquery.com/project/printElement 
+*  
+*  Thanks to David B (http://github.com/ungenio) and icgJohn (http://www.blogger.com/profile/11881116857076484100)
+*  For their great contributions!
+* 
+* Dual licensed under the MIT and GPL licenses:
+*   http://www.opensource.org/licenses/mit-license.php
+*   http://www.gnu.org/licenses/gpl.html
+*   
+*   Note, Iframe Printing is not supported in Opera and Chrome 3.0, a popup window will be shown instead
+*/
+;(function(g){function k(c){c&&c.printPage?c.printPage():setTimeout(function(){k(c)},50)}function l(c){c=a(c);a(":checked",c).each(function(){this.setAttribute("checked","checked")});a("input[type='text']",c).each(function(){this.setAttribute("value",a(this).val())});a("select",c).each(function(){var b=a(this);a("option",b).each(function(){b.val()==a(this).val()&&this.setAttribute("selected","selected")})});a("textarea",c).each(function(){var b=a(this).attr("value");if(a.browser.b&&this.firstChild)this.firstChild.textContent=
+b;else this.innerHTML=b});return a("<div></div>").append(c.clone()).html()}function m(c,b){var i=a(c);c=l(c);var d=[];d.push("<html><head><title>"+b.pageTitle+"</title>");if(b.overrideElementCSS){if(b.overrideElementCSS.length>0)for(var f=0;f<b.overrideElementCSS.length;f++){var e=b.overrideElementCSS[f];typeof e=="string"?d.push('<link type="text/css" rel="stylesheet" href="'+e+'" >'):d.push('<link type="text/css" rel="stylesheet" href="'+e.href+'" media="'+e.media+'" >')}}else a("link",j).filter(function(){return a(this).attr("rel").toLowerCase()==
+"stylesheet"}).each(function(){d.push('<link type="text/css" rel="stylesheet" href="'+a(this).attr("href")+'" media="'+a(this).attr("media")+'" >')});d.push('<base href="'+(g.location.protocol+"//"+g.location.hostname+(g.location.port?":"+g.location.port:"")+g.location.pathname)+'" />');d.push('</head><body style="'+b.printBodyOptions.styleToAdd+'" class="'+b.printBodyOptions.classNameToAdd+'">');d.push('<div class="'+i.attr("class")+'">'+c+"</div>");d.push('<script type="text/javascript">function printPage(){focus();print();'+
+(!a.browser.opera&&!b.leaveOpen&&b.printMode.toLowerCase()=="popup"?"close();":"")+"}<\/script>");d.push("</body></html>");return d.join("")}var j=g.document,a=g.jQuery;a.fn.printElement=function(c){var b=a.extend({},a.fn.printElement.defaults,c);if(b.printMode=="iframe")if(a.browser.opera||/chrome/.test(navigator.userAgent.toLowerCase()))b.printMode="popup";a("[id^='printElement_']").remove();return this.each(function(){var i=a.a?a.extend({},b,a(this).data()):b,d=a(this);d=m(d,i);var f=null,e=null;
+if(i.printMode.toLowerCase()=="popup"){f=g.open("about:blank","printElementWindow","width=650,height=440,scrollbars=yes");e=f.document}else{f="printElement_"+Math.round(Math.random()*99999).toString();var h=j.createElement("IFRAME");a(h).attr({style:i.iframeElementOptions.styleToAdd,id:f,className:i.iframeElementOptions.classNameToAdd,frameBorder:0,scrolling:"no",src:"about:blank"});j.body.appendChild(h);e=h.contentWindow||h.contentDocument;if(e.document)e=e.document;h=j.frames?j.frames[f]:j.getElementById(f);
+f=h.contentWindow||h}focus();e.open();e.write(d);e.close();k(f)})};a.fn.printElement.defaults={printMode:"iframe",pageTitle:"",overrideElementCSS:null,printBodyOptions:{styleToAdd:"padding:10px;margin:10px;",classNameToAdd:""},leaveOpen:false,iframeElementOptions:{styleToAdd:"border:none;position:absolute;width:0px;height:0px;bottom:0px;left:0px;",classNameToAdd:""}};a.fn.printElement.cssElement={href:"",media:""}})(window);
+
+
+/* - ++resource++it4i.portal.common/jquery.validate.min.js - */
+/*! jQuery Validation Plugin - v1.13.0 - 7/1/2014
+ * http://jqueryvalidation.org/
+ * Copyright (c) 2014 Jörn Zaefferer; Licensed MIT */
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.validateDelegate(":submit","click",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(b.target).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(b.target).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.submit(function(b){function d(){var d;return c.settings.submitHandler?(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c;return a(this[0]).is("form")?b=this.validate().form():(b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b})),b},removeAttrs:function(b){var c={},d=this;return a.each(b.split(/\s/),function(a,b){c[b]=d.attr(b),d.removeAttr(b)}),c},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(a,b){(9!==b.which||""!==this.elementValue(a))&&(a.name in this.submitted||a===this.lastElement)&&this.element(a)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this[0].form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!this.is(e.ignore)&&e[d].call(c,this[0],b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']","focusin focusout keyup",b).validateDelegate("select, option, [type='radio'], [type='checkbox']","click",b),this.settings.invalidHandler&&a(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue").removeAttr("aria-invalid")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?a("input[name='"+b.name+"']:checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a];return void 0},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customDataMessage(b,c),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id"),i?i.match(new RegExp("\b"+f+"\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){return this.checkable(a)&&(a=this.findByName(a.name).not(this.settings.ignore)[0]),a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),/min|max/.test(c)&&(null===g||/number|range|text/.test(g))&&(d=Number(d)),d||0===d?e[c]=d:g===c&&"range"!==g&&(e[c]=!0);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b);for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),void 0!==d&&(e[c]=d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(b.min&&b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),b.minlength&&b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:a.trim(b).length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(a.trim(b),c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(a.trim(b),c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(a.trim(b),c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{url:d,mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}}),a.format=function(){throw"$.format has been deprecated. Please use $.validator.format instead."};var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a.extend(a.fn,{validateDelegate:function(b,c,d){return this.bind(c,function(c){var e=a(c.target);return e.is(b)?d.apply(e,arguments):void 0})}})});
+
+
+/* - ++resource++it4i.portal.common/moment.min.js - */
+//! moment.js
+//! version : 2.8.3
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+(function(a){function b(a,b,c){switch(arguments.length){case 2:return null!=a?a:b;case 3:return null!=a?a:null!=b?b:c;default:throw new Error("Implement me")}}function c(a,b){return zb.call(a,b)}function d(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function e(a){tb.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function f(a,b){var c=!0;return m(function(){return c&&(e(a),c=!1),b.apply(this,arguments)},b)}function g(a,b){qc[a]||(e(b),qc[a]=!0)}function h(a,b){return function(c){return p(a.call(this,c),b)}}function i(a,b){return function(c){return this.localeData().ordinal(a.call(this,c),b)}}function j(){}function k(a,b){b!==!1&&F(a),n(this,a),this._d=new Date(+a._d)}function l(a){var b=y(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=tb.localeData(),this._bubble()}function m(a,b){for(var d in b)c(b,d)&&(a[d]=b[d]);return c(b,"toString")&&(a.toString=b.toString),c(b,"valueOf")&&(a.valueOf=b.valueOf),a}function n(a,b){var c,d,e;if("undefined"!=typeof b._isAMomentObject&&(a._isAMomentObject=b._isAMomentObject),"undefined"!=typeof b._i&&(a._i=b._i),"undefined"!=typeof b._f&&(a._f=b._f),"undefined"!=typeof b._l&&(a._l=b._l),"undefined"!=typeof b._strict&&(a._strict=b._strict),"undefined"!=typeof b._tzm&&(a._tzm=b._tzm),"undefined"!=typeof b._isUTC&&(a._isUTC=b._isUTC),"undefined"!=typeof b._offset&&(a._offset=b._offset),"undefined"!=typeof b._pf&&(a._pf=b._pf),"undefined"!=typeof b._locale&&(a._locale=b._locale),Ib.length>0)for(c in Ib)d=Ib[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function o(a){return 0>a?Math.ceil(a):Math.floor(a)}function p(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function q(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function r(a,b){var c;return b=K(b,a),a.isBefore(b)?c=q(a,b):(c=q(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function s(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(g(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=tb.duration(c,d),t(this,e,a),this}}function t(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&nb(a,"Date",mb(a,"Date")+f*c),g&&lb(a,mb(a,"Month")+g*c),d&&tb.updateOffset(a,f||g)}function u(a){return"[object Array]"===Object.prototype.toString.call(a)}function v(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function w(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&A(a[d])!==A(b[d]))&&g++;return g+f}function x(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=jc[a]||kc[b]||b}return a}function y(a){var b,d,e={};for(d in a)c(a,d)&&(b=x(d),b&&(e[b]=a[d]));return e}function z(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}tb[b]=function(e,f){var g,h,i=tb._locale[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=tb().utc().set(d,a);return i.call(tb._locale,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function A(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function B(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function C(a,b,c){return hb(tb([a,11,31+b-c]),b,c).week}function D(a){return E(a)?366:365}function E(a){return a%4===0&&a%100!==0||a%400===0}function F(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[Bb]<0||a._a[Bb]>11?Bb:a._a[Cb]<1||a._a[Cb]>B(a._a[Ab],a._a[Bb])?Cb:a._a[Db]<0||a._a[Db]>23?Db:a._a[Eb]<0||a._a[Eb]>59?Eb:a._a[Fb]<0||a._a[Fb]>59?Fb:a._a[Gb]<0||a._a[Gb]>999?Gb:-1,a._pf._overflowDayOfYear&&(Ab>b||b>Cb)&&(b=Cb),a._pf.overflow=b)}function G(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function H(a){return a?a.toLowerCase().replace("_","-"):a}function I(a){for(var b,c,d,e,f=0;f<a.length;){for(e=H(a[f]).split("-"),b=e.length,c=H(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=J(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&w(e,c,!0)>=b-1)break;b--}f++}return null}function J(a){var b=null;if(!Hb[a]&&Jb)try{b=tb.locale(),require("./locale/"+a),tb.locale(b)}catch(c){}return Hb[a]}function K(a,b){return b._isUTC?tb(a).zone(b._offset||0):tb(a).local()}function L(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function M(a){var b,c,d=a.match(Nb);for(b=0,c=d.length;c>b;b++)d[b]=pc[d[b]]?pc[d[b]]:L(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function N(a,b){return a.isValid()?(b=O(b,a.localeData()),lc[b]||(lc[b]=M(b)),lc[b](a)):a.localeData().invalidDate()}function O(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Ob.lastIndex=0;d>=0&&Ob.test(a);)a=a.replace(Ob,c),Ob.lastIndex=0,d-=1;return a}function P(a,b){var c,d=b._strict;switch(a){case"Q":return Zb;case"DDDD":return _b;case"YYYY":case"GGGG":case"gggg":return d?ac:Rb;case"Y":case"G":case"g":return cc;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?bc:Sb;case"S":if(d)return Zb;case"SS":if(d)return $b;case"SSS":if(d)return _b;case"DDD":return Qb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ub;case"a":case"A":return b._locale._meridiemParse;case"X":return Xb;case"Z":case"ZZ":return Vb;case"T":return Wb;case"SSSS":return Tb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?$b:Pb;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Pb;case"Do":return Yb;default:return c=new RegExp(Y(X(a.replace("\\","")),"i"))}}function Q(a){a=a||"";var b=a.match(Vb)||[],c=b[b.length-1]||[],d=(c+"").match(hc)||["-",0,0],e=+(60*d[1])+A(d[2]);return"+"===d[0]?-e:e}function R(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[Bb]=3*(A(b)-1));break;case"M":case"MM":null!=b&&(e[Bb]=A(b)-1);break;case"MMM":case"MMMM":d=c._locale.monthsParse(b),null!=d?e[Bb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[Cb]=A(b));break;case"Do":null!=b&&(e[Cb]=A(parseInt(b,10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=A(b));break;case"YY":e[Ab]=tb.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[Ab]=A(b);break;case"a":case"A":c._isPm=c._locale.isPM(b);break;case"H":case"HH":case"h":case"hh":e[Db]=A(b);break;case"m":case"mm":e[Eb]=A(b);break;case"s":case"ss":e[Fb]=A(b);break;case"S":case"SS":case"SSS":case"SSSS":e[Gb]=A(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=Q(b);break;case"dd":case"ddd":case"dddd":d=c._locale.weekdaysParse(b),null!=d?(c._w=c._w||{},c._w.d=d):c._pf.invalidWeekday=b;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":a=a.substr(0,1);case"gggg":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=A(b));break;case"gg":case"GG":c._w=c._w||{},c._w[a]=tb.parseTwoDigitYear(b)}}function S(a){var c,d,e,f,g,h,i;c=a._w,null!=c.GG||null!=c.W||null!=c.E?(g=1,h=4,d=b(c.GG,a._a[Ab],hb(tb(),1,4).year),e=b(c.W,1),f=b(c.E,1)):(g=a._locale._week.dow,h=a._locale._week.doy,d=b(c.gg,a._a[Ab],hb(tb(),g,h).year),e=b(c.w,1),null!=c.d?(f=c.d,g>f&&++e):f=null!=c.e?c.e+g:g),i=ib(d,e,f,h,g),a._a[Ab]=i.year,a._dayOfYear=i.dayOfYear}function T(a){var c,d,e,f,g=[];if(!a._d){for(e=V(a),a._w&&null==a._a[Cb]&&null==a._a[Bb]&&S(a),a._dayOfYear&&(f=b(a._a[Ab],e[Ab]),a._dayOfYear>D(f)&&(a._pf._overflowDayOfYear=!0),d=db(f,0,a._dayOfYear),a._a[Bb]=d.getUTCMonth(),a._a[Cb]=d.getUTCDate()),c=0;3>c&&null==a._a[c];++c)a._a[c]=g[c]=e[c];for(;7>c;c++)a._a[c]=g[c]=null==a._a[c]?2===c?1:0:a._a[c];a._d=(a._useUTC?db:cb).apply(null,g),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()+a._tzm)}}function U(a){var b;a._d||(b=y(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],T(a))}function V(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function W(a){if(a._f===tb.ISO_8601)return void $(a);a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=""+a._i,h=g.length,i=0;for(d=O(a._f,a._locale).match(Nb)||[],b=0;b<d.length;b++)e=d[b],c=(g.match(P(e,a))||[])[0],c&&(f=g.substr(0,g.indexOf(c)),f.length>0&&a._pf.unusedInput.push(f),g=g.slice(g.indexOf(c)+c.length),i+=c.length),pc[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),R(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=h-i,g.length>0&&a._pf.unusedInput.push(g),a._isPm&&a._a[Db]<12&&(a._a[Db]+=12),a._isPm===!1&&12===a._a[Db]&&(a._a[Db]=0),T(a),F(a)}function X(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function Y(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(a){var b,c,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,b=n({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._pf=d(),b._f=a._f[f],W(b),G(b)&&(g+=b._pf.charsLeftOver,g+=10*b._pf.unusedTokens.length,b._pf.score=g,(null==e||e>g)&&(e=g,c=b));m(a,c||b)}function $(a){var b,c,d=a._i,e=dc.exec(d);if(e){for(a._pf.iso=!0,b=0,c=fc.length;c>b;b++)if(fc[b][1].exec(d)){a._f=fc[b][0]+(e[6]||" ");break}for(b=0,c=gc.length;c>b;b++)if(gc[b][1].exec(d)){a._f+=gc[b][0];break}d.match(Vb)&&(a._f+="Z"),W(a)}else a._isValid=!1}function _(a){$(a),a._isValid===!1&&(delete a._isValid,tb.createFromInputFallback(a))}function ab(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function bb(b){var c,d=b._i;d===a?b._d=new Date:v(d)?b._d=new Date(+d):null!==(c=Kb.exec(d))?b._d=new Date(+c[1]):"string"==typeof d?_(b):u(d)?(b._a=ab(d.slice(0),function(a){return parseInt(a,10)}),T(b)):"object"==typeof d?U(b):"number"==typeof d?b._d=new Date(d):tb.createFromInputFallback(b)}function cb(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function db(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function eb(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function fb(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function gb(a,b,c){var d=tb.duration(a).abs(),e=yb(d.as("s")),f=yb(d.as("m")),g=yb(d.as("h")),h=yb(d.as("d")),i=yb(d.as("M")),j=yb(d.as("y")),k=e<mc.s&&["s",e]||1===f&&["m"]||f<mc.m&&["mm",f]||1===g&&["h"]||g<mc.h&&["hh",g]||1===h&&["d"]||h<mc.d&&["dd",h]||1===i&&["M"]||i<mc.M&&["MM",i]||1===j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,fb.apply({},k)}function hb(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=tb(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ib(a,b,c,d,e){var f,g,h=db(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:D(a-1)+g}}function jb(b){var c=b._i,d=b._f;return b._locale=b._locale||tb.localeData(b._l),null===c||d===a&&""===c?tb.invalid({nullInput:!0}):("string"==typeof c&&(b._i=c=b._locale.preparse(c)),tb.isMoment(c)?new k(c,!0):(d?u(d)?Z(b):W(b):bb(b),new k(b)))}function kb(a,b){var c,d;if(1===b.length&&u(b[0])&&(b=b[0]),!b.length)return tb();for(c=b[0],d=1;d<b.length;++d)b[d][a](c)&&(c=b[d]);return c}function lb(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),B(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function mb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function nb(a,b,c){return"Month"===b?lb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function ob(a,b){return function(c){return null!=c?(nb(this,a,c),tb.updateOffset(this,b),this):mb(this,a)}}function pb(a){return 400*a/146097}function qb(a){return 146097*a/400}function rb(a){tb.duration.fn[a]=function(){return this._data[a]}}function sb(a){"undefined"==typeof ender&&(ub=xb.moment,xb.moment=a?f("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",tb):tb)}for(var tb,ub,vb,wb="2.8.3",xb="undefined"!=typeof global?global:this,yb=Math.round,zb=Object.prototype.hasOwnProperty,Ab=0,Bb=1,Cb=2,Db=3,Eb=4,Fb=5,Gb=6,Hb={},Ib=[],Jb="undefined"!=typeof module&&module.exports,Kb=/^\/?Date\((\-?\d+)/i,Lb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Mb=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Nb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,Ob=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Pb=/\d\d?/,Qb=/\d{1,3}/,Rb=/\d{1,4}/,Sb=/[+\-]?\d{1,6}/,Tb=/\d+/,Ub=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Vb=/Z|[\+\-]\d\d:?\d\d/gi,Wb=/T/i,Xb=/[\+\-]?\d+(\.\d{1,3})?/,Yb=/\d{1,2}/,Zb=/\d/,$b=/\d\d/,_b=/\d{3}/,ac=/\d{4}/,bc=/[+-]?\d{6}/,cc=/[+-]?\d+/,dc=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ec="YYYY-MM-DDTHH:mm:ssZ",fc=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],gc=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],hc=/([\+\-]|\d\d)/gi,ic=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),jc={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},kc={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},lc={},mc={s:45,m:45,h:22,d:26,M:11},nc="DDD w W M D d".split(" "),oc="M D H h m s w W".split(" "),pc={M:function(){return this.month()+1},MMM:function(a){return this.localeData().monthsShort(this,a)},MMMM:function(a){return this.localeData().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.localeData().weekdaysMin(this,a)},ddd:function(a){return this.localeData().weekdaysShort(this,a)},dddd:function(a){return this.localeData().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return p(this.year()%100,2)},YYYY:function(){return p(this.year(),4)},YYYYY:function(){return p(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+p(Math.abs(a),6)},gg:function(){return p(this.weekYear()%100,2)},gggg:function(){return p(this.weekYear(),4)},ggggg:function(){return p(this.weekYear(),5)},GG:function(){return p(this.isoWeekYear()%100,2)},GGGG:function(){return p(this.isoWeekYear(),4)},GGGGG:function(){return p(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return p(A(this.milliseconds()/10),2)},SSS:function(){return p(this.milliseconds(),3)},SSSS:function(){return p(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+":"+p(A(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+p(A(a/60),2)+p(A(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},qc={},rc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];nc.length;)vb=nc.pop(),pc[vb+"o"]=i(pc[vb],vb);for(;oc.length;)vb=oc.pop(),pc[vb+vb]=h(pc[vb],2);pc.DDDD=h(pc.DDD,3),m(j.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=tb.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=tb([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return hb(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),tb=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=b,g._f=c,g._l=e,g._strict=f,g._isUTC=!1,g._pf=d(),jb(g)},tb.suppressDeprecationWarnings=!1,tb.createFromInputFallback=f("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i)}),tb.min=function(){var a=[].slice.call(arguments,0);return kb("isBefore",a)},tb.max=function(){var a=[].slice.call(arguments,0);return kb("isAfter",a)},tb.utc=function(b,c,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=b,g._f=c,g._strict=f,g._pf=d(),jb(g).utc()},tb.unix=function(a){return tb(1e3*a)},tb.duration=function(a,b){var d,e,f,g,h=a,i=null;return tb.isDuration(a)?h={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(h={},b?h[b]=a:h.milliseconds=a):(i=Lb.exec(a))?(d="-"===i[1]?-1:1,h={y:0,d:A(i[Cb])*d,h:A(i[Db])*d,m:A(i[Eb])*d,s:A(i[Fb])*d,ms:A(i[Gb])*d}):(i=Mb.exec(a))?(d="-"===i[1]?-1:1,f=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*d},h={y:f(i[2]),M:f(i[3]),d:f(i[4]),h:f(i[5]),m:f(i[6]),s:f(i[7]),w:f(i[8])}):"object"==typeof h&&("from"in h||"to"in h)&&(g=r(tb(h.from),tb(h.to)),h={},h.ms=g.milliseconds,h.M=g.months),e=new l(h),tb.isDuration(a)&&c(a,"_locale")&&(e._locale=a._locale),e},tb.version=wb,tb.defaultFormat=ec,tb.ISO_8601=function(){},tb.momentProperties=Ib,tb.updateOffset=function(){},tb.relativeTimeThreshold=function(b,c){return mc[b]===a?!1:c===a?mc[b]:(mc[b]=c,!0)},tb.lang=f("moment.lang is deprecated. Use moment.locale instead.",function(a,b){return tb.locale(a,b)}),tb.locale=function(a,b){var c;return a&&(c="undefined"!=typeof b?tb.defineLocale(a,b):tb.localeData(a),c&&(tb.duration._locale=tb._locale=c)),tb._locale._abbr},tb.defineLocale=function(a,b){return null!==b?(b.abbr=a,Hb[a]||(Hb[a]=new j),Hb[a].set(b),tb.locale(a),Hb[a]):(delete Hb[a],null)},tb.langData=f("moment.langData is deprecated. Use moment.localeData instead.",function(a){return tb.localeData(a)}),tb.localeData=function(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return tb._locale;if(!u(a)){if(b=J(a))return b;a=[a]}return I(a)},tb.isMoment=function(a){return a instanceof k||null!=a&&c(a,"_isAMomentObject")},tb.isDuration=function(a){return a instanceof l};for(vb=rc.length-1;vb>=0;--vb)z(rc[vb]);tb.normalizeUnits=function(a){return x(a)},tb.invalid=function(a){var b=tb.utc(0/0);return null!=a?m(b._pf,a):b._pf.userInvalidated=!0,b},tb.parseZone=function(){return tb.apply(null,arguments).parseZone()},tb.parseTwoDigitYear=function(a){return A(a)+(A(a)>68?1900:2e3)},m(tb.fn=k.prototype,{clone:function(){return tb(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=tb(this).utc();return 0<a.year()&&a.year()<=9999?N(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):N(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return G(this)},isDSTShifted:function(){return this._a?this.isValid()&&w(this._a,(this._isUTC?tb.utc(this._a):tb(this._a)).toArray())>0:!1},parsingFlags:function(){return m({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(a){return this.zone(0,a)},local:function(a){return this._isUTC&&(this.zone(0,a),this._isUTC=!1,a&&this.add(this._dateTzOffset(),"m")),this},format:function(a){var b=N(this,a||tb.defaultFormat);return this.localeData().postformat(b)},add:s(1,"add"),subtract:s(-1,"subtract"),diff:function(a,b,c){var d,e,f,g=K(a,this),h=6e4*(this.zone()-g.zone());return b=x(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+g.daysInMonth()),e=12*(this.year()-g.year())+(this.month()-g.month()),f=this-tb(this).startOf("month")-(g-tb(g).startOf("month")),f-=6e4*(this.zone()-tb(this).startOf("month").zone()-(g.zone()-tb(g).startOf("month").zone())),e+=f/d,"year"===b&&(e/=12)):(d=this-g,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-h)/864e5:"week"===b?(d-h)/6048e5:d),c?e:o(e)},from:function(a,b){return tb.duration({to:this,from:a}).locale(this.locale()).humanize(!b)},fromNow:function(a){return this.from(tb(),a)},calendar:function(a){var b=a||tb(),c=K(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this))},isLeapYear:function(){return E(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=eb(a,this.localeData()),this.add(a-b,"d")):b},month:ob("Month",!0),startOf:function(a){switch(a=x(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(a){return a=x(a),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms")},isAfter:function(a,b){return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this>+a):+this.clone().startOf(b)>+tb(a).startOf(b)},isBefore:function(a,b){return b=x("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+a>+this):+this.clone().startOf(b)<+tb(a).startOf(b)},isSame:function(a,b){return b=x(b||"millisecond"),"millisecond"===b?(a=tb.isMoment(a)?a:tb(a),+this===+a):+this.clone().startOf(b)===+K(a,this).startOf(b)},min:f("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),this>a?this:a}),max:f("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(a){return a=tb.apply(null,arguments),a>this?this:a}),zone:function(a,b){var c,d=this._offset||0;return null==a?this._isUTC?d:this._dateTzOffset():("string"==typeof a&&(a=Q(a)),Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(c=this._dateTzOffset()),this._offset=a,this._isUTC=!0,null!=c&&this.subtract(c,"m"),d!==a&&(!b||this._changeInProgress?t(this,tb.duration(d-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,tb.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?tb(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return B(this.year(),this.month())},dayOfYear:function(a){var b=yb((tb(this).startOf("day")-tb(this).startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=hb(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==a?b:this.add(a-b,"y")},isoWeekYear:function(a){var b=hb(this,1,4).year;return null==a?b:this.add(a-b,"y")},week:function(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")},isoWeek:function(a){var b=hb(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")},weekday:function(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return C(this.year(),1,4)},weeksInYear:function(){var a=this.localeData()._week;return C(this.year(),a.dow,a.doy)},get:function(a){return a=x(a),this[a]()},set:function(a,b){return a=x(a),"function"==typeof this[a]&&this[a](b),this},locale:function(b){var c;return b===a?this._locale._abbr:(c=tb.localeData(b),null!=c&&(this._locale=c),this)},lang:f("moment().lang() is deprecated. Use moment().localeData() instead.",function(b){return b===a?this.localeData():this.locale(b)}),localeData:function(){return this._locale},_dateTzOffset:function(){return 15*Math.round(this._d.getTimezoneOffset()/15)}}),tb.fn.millisecond=tb.fn.milliseconds=ob("Milliseconds",!1),tb.fn.second=tb.fn.seconds=ob("Seconds",!1),tb.fn.minute=tb.fn.minutes=ob("Minutes",!1),tb.fn.hour=tb.fn.hours=ob("Hours",!0),tb.fn.date=ob("Date",!0),tb.fn.dates=f("dates accessor is deprecated. Use date instead.",ob("Date",!0)),tb.fn.year=ob("FullYear",!0),tb.fn.years=f("years accessor is deprecated. Use year instead.",ob("FullYear",!0)),tb.fn.days=tb.fn.day,tb.fn.months=tb.fn.month,tb.fn.weeks=tb.fn.week,tb.fn.isoWeeks=tb.fn.isoWeek,tb.fn.quarters=tb.fn.quarter,tb.fn.toJSON=tb.fn.toISOString,m(tb.duration.fn=l.prototype,{_bubble:function(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;g.milliseconds=d%1e3,a=o(d/1e3),g.seconds=a%60,b=o(a/60),g.minutes=b%60,c=o(b/60),g.hours=c%24,e+=o(c/24),h=o(pb(e)),e-=o(qb(h)),f+=o(e/30),e%=30,h+=o(f/12),f%=12,g.days=e,g.months=f,g.years=h},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return o(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(a){var b=gb(this,!a,this.localeData());return a&&(b=this.localeData().pastFuture(+this,b)),this.localeData().postformat(b)},add:function(a,b){var c=tb.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=tb.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=x(a),this[a.toLowerCase()+"s"]()},as:function(a){var b,c;if(a=x(a),"month"===a||"year"===a)return b=this._days+this._milliseconds/864e5,c=this._months+12*pb(b),"month"===a?c:c/12;switch(b=this._days+qb(this._months/12),a){case"week":return b/7+this._milliseconds/6048e5;case"day":return b+this._milliseconds/864e5;case"hour":return 24*b+this._milliseconds/36e5;case"minute":return 24*b*60+this._milliseconds/6e4;case"second":return 24*b*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+a)}},lang:tb.fn.lang,locale:tb.fn.locale,toIsoString:f("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"},localeData:function(){return this._locale}}),tb.duration.fn.toString=tb.duration.fn.toISOString;for(vb in ic)c(ic,vb)&&rb(vb.toLowerCase());tb.duration.fn.asMilliseconds=function(){return this.as("ms")},tb.duration.fn.asSeconds=function(){return this.as("s")},tb.duration.fn.asMinutes=function(){return this.as("m")},tb.duration.fn.asHours=function(){return this.as("h")},tb.duration.fn.asDays=function(){return this.as("d")},tb.duration.fn.asWeeks=function(){return this.as("weeks")},tb.duration.fn.asMonths=function(){return this.as("M")},tb.duration.fn.asYears=function(){return this.as("y")},tb.locale("en",{ordinal:function(a){var b=a%10,c=1===A(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";
+return a+c}}),function(a){a(tb)}(function(a){return a.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiem:function(a,b,c){return 12>a?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){var b={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return a.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiem:function(a){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){var b={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},e={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},f=function(a){return function(b,c){var f=d(b),g=e[a][d(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},g=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];return a.defineLocale("ar",{months:g,monthsShort:g,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},meridiem:function(a){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:f("s"),m:f("m"),mm:f("m"),h:f("h"),hh:f("h"),d:f("d"),dd:f("d"),M:f("M"),MM:f("M"),y:f("y"),yy:f("y")},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){var b={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return a.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiem:function(a){return 4>a?"gecə":12>a?"səhər":17>a?"gündüz":"axşam"},ordinal:function(a){if(0===a)return a+"-ıncı";var c=a%10,d=a%100-c,e=a>=100?100:null;return a+(b[c]||b[d]||b[e])},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:c?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:c?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===d?c?"хвіліна":"хвіліну":"h"===d?c?"гадзіна":"гадзіну":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_"),accusative:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),accusative:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_")},d=/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.defineLocale("be",{months:d,monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:e,weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., LT",LLLL:"dddd, D MMMM YYYY г., LT"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:c,mm:c,h:c,hh:c,d:"дзень",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiem:function(a){return 4>a?"ночы":12>a?"раніцы":17>a?"дня":"вечара"},ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-ы":a+"-і";case"D":return a+"-га";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},c={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return a.defineLocale("bn",{months:"জানুয়ারী_ফেবুয়ারী_মার্চ_এপ্রিল_মে_জুন_জুলাই_অগাস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপর_মে_জুন_জুল_অগ_সেপ্ট_অক্টো_নভ_ডিসেম্".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পত্তিবার_শুক্রুবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পত্তি_শুক্রু_শনি".split("_"),weekdaysMin:"রব_সম_মঙ্গ_বু_ব্রিহ_শু_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কএক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(a){return a.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"রাত":10>a?"শকাল":17>a?"দুপুর":20>a?"বিকেল":"রাত"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){var b={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},c={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return a.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(a){return a.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"མཚན་མོ":10>a?"ཞོགས་ཀས":17>a?"ཉིན་གུང":20>a?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(b){function c(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+f(d[c],a)}function d(a){switch(e(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function e(a){return a>9?e(a%10):a}function f(a,b){return 2===b?g(a):a}function g(b){var c={m:"v",b:"v",d:"z"};return c[b.charAt(0)]===a?b:c[b.charAt(0)]+b.substring(1)}return b.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY LT",LLLL:"dddd, D [a viz] MMMM YYYY LT"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:c,h:"un eur",hh:"%d eur",d:"un devezh",dd:c,M:"ur miz",MM:c,y:"ur bloaz",yy:d},ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}return a.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:b,mm:b,h:b,hh:b,d:"dan",dd:b,M:"mjesec",MM:b,y:"godinu",yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a){return a>1&&5>a&&1!==~~(a/10)}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"pár sekund":"pár sekundami";case"m":return c?"minuta":e?"minutu":"minutou";case"mm":return c||e?f+(b(a)?"minuty":"minut"):f+"minutami";break;case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(b(a)?"hodiny":"hodin"):f+"hodinami";break;case"d":return c||e?"den":"dnem";case"dd":return c||e?f+(b(a)?"dny":"dní"):f+"dny";break;case"M":return c||e?"měsíc":"měsícem";case"MM":return c||e?f+(b(a)?"měsíce":"měsíců"):f+"měsíci";break;case"y":return c||e?"rok":"rokem";case"yy":return c||e?f+(b(a)?"roky":"let"):f+"lety"}}var d="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),e="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");return a.defineLocale("cs",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("cv",{months:"кăрлач_нарăс_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"),monthsShort:"кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_эрнекун_шăматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кĕç_эрн_шăм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кç_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]",LLL:"YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT",LLLL:"dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ĕнер] LT [сехетре]",nextWeek:"[Çитес] dddd LT [сехетре]",lastWeek:"[Иртнĕ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(a){var b=/сехет$/i.exec(a)?"рен":/çул$/i.exec(a)?"тан":"ран";return a+b},past:"%s каялла",s:"пĕр-ик çеккунт",m:"пĕр минут",mm:"%d минут",h:"пĕр сехет",hh:"%d сехет",d:"пĕр кун",dd:"%d кун",M:"пĕр уйăх",MM:"%d уйăх",y:"пĕр çул",yy:"%d çул"},ordinal:"%d-мĕш",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd [d.] D. MMMM YYYY LT"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?d[c][0]:d[c][1]}return a.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:b,mm:"%d Minuten",h:b,hh:"%d Stunden",d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?d[c][0]:d[c][1]}return a.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:b,mm:"%d Minuten",h:b,hh:"%d Stunden",d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return"function"==typeof c&&(c=c.apply(b)),c.replace("{}",d%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinal:function(a){return a+"η"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY LT",LLLL:"dddd, D MMMM, YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}})}),function(a){a(tb)}(function(a){return a.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY LT",LLLL:"dddd, [la] D[-an de] MMMM, YYYY LT"},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinal:"%da",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),c="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return a.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,d){return/-MMM-/.test(d)?c[a.month()]:b[a.month()]},weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c,d){var e={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[a+" minuti",a+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[a+" tunni",a+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[a+" kuu",a+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}return a.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:"%d päeva",M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})
+}),function(a){a(tb)}(function(a){return a.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] LT",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] LT",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] LT",llll:"ddd, YYYY[ko] MMM D[a] LT"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},c={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return a.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},meridiem:function(a){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},ordinal:"%dم",week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){function b(a,b,d,e){var f="";switch(d){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=c(a,e)+" "+f}function c(a,b){return 10>a?b?e[a]:d[a]:a}var d="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),e=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",d[7],d[8],d[9]];return a.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D. MMMM, YYYY LT"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(a){return a+(1===a?"er":"")}})}),function(a){a(tb)}(function(a){return a.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinal:"%dº",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY LT",LLLL:"dddd, D [ב]MMMM YYYY LT",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיים":a+" שעות"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"שנתיים":a+" שנים"}}})}),function(a){a(tb)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}return a.defineLocale("hr",{months:"sječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),monthsShort:"sje._vel._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:b,mm:b,h:b,hh:b,d:"dan",dd:b,M:"mjesec",MM:b,y:"godinu",yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function c(a){return(a?"":"[múlt] ")+"["+d[this.day()]+"] LT[-kor]"}var d="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return a.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D., LT",LLLL:"YYYY. MMMM D., dddd LT"},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b){var c={nominative:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_"),accusative:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function c(a){var b="հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_");return b[a.month()]}function d(a){var b="կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_");return b[a.day()]}return a.defineLocale("hy-am",{months:b,monthsShort:c,weekdays:d,weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., LT",LLLL:"dddd, D MMMM YYYY թ., LT"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiem:function(a){return 4>a?"գիշերվա":12>a?"առավոտվա":17>a?"ցերեկվա":"երեկոյան"},ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ին":a+"-րդ";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(a){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a){return a%100===11?!0:a%10===1?!1:!0}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return c?"mínúta":"mínútu";case"mm":return b(a)?f+(c||e?"mínútur":"mínútum"):c?f+"mínúta":f+"mínútu";case"hh":return b(a)?f+(c||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return c?"dagur":e?"dag":"degi";case"dd":return b(a)?c?f+"dagar":f+(e?"daga":"dögum"):c?f+"dagur":f+(e?"dag":"degi");case"M":return c?"mánuður":e?"mánuð":"mánuði";case"MM":return b(a)?c?f+"mánuðir":f+(e?"mánuði":"mánuðum"):c?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return c||e?"ár":"ári";case"yy":return b(a)?f+(c||e?"ár":"árum"):f+(c||e?"ár":"ári")}}return a.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd, D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:c,m:c,mm:c,h:"klukkustund",hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:"[lo scorso] dddd [alle] LT",sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日LT",LLLL:"YYYY年M月D日LT dddd"},meridiem:function(a){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}),function(a){a(tb)}(function(a){function b(a,b){var c={nominative:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),accusative:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},d=/D[oD] *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function c(a,b){var c={nominative:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),accusative:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_")},d=/(წინა|შემდეგ)/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.defineLocale("ka",{months:b,monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:c,weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(a){return/(წამი|წუთი|საათი|წელი)/.test(a)?a.replace(/ი$/,"ში"):a+"ში"},past:function(a){return/(წამი|წუთი|საათი|დღე|თვე)/.test(a)?a.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(a)?a.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},ordinal:function(a){return 0===a?a:1===a?a+"-ლი":20>a||100>=a&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("km",{months:"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[ថ្ងៃនៈ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 LT",LLLL:"YYYY년 MMMM D일 dddd LT"},meridiem:function(a){return 12>a?"오전":"오후"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇초",ss:"%d초",m:"일분",mm:"%d분",h:"한시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한달",MM:"%d달",y:"일년",yy:"%d년"},ordinal:"%d일",meridiemParse:/(오전|오후)/,isPM:function(a){return"오후"===a}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?d[c][0]:d[c][1]}function c(a){var b=a.substr(0,a.indexOf(" "));return e(b)?"a "+a:"an "+a}function d(a){var b=a.substr(0,a.indexOf(" "));return e(b)?"viru "+a:"virun "+a}function e(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a?!0:!1;if(100>a){var b=a%10,c=a/10;return e(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return e(a)}return a/=1e3,e(a)}return a.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:c,past:d,s:"e puer Sekonnen",m:b,mm:"%d Minutten",h:b,hh:"%d Stonnen",d:b,dd:"%d Deeg",M:b,MM:"%d Méint",y:b,yy:"%d Joer"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function c(a,b,c,d){return b?e(c)[0]:d?e(c)[1]:e(c)[2]}function d(a){return a%10===0||a>10&&20>a}function e(a){return h[a].split("_")}function f(a,b,f,g){var h=a+" ";return 1===a?h+c(a,b,f[0],g):b?h+(d(a)?e(f)[1]:e(f)[0]):g?h+e(f)[1]:h+(d(a)?e(f)[1]:e(f)[2])}function g(a,b){var c=-1===b.indexOf("dddd HH:mm"),d=i[a.day()];return c?d:d.substring(0,d.length-2)+"į"}var h={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},i="sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_");return a.defineLocale("lt",{months:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:g,weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], LT [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, LT [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], LT [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, LT [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:b,m:c,mm:f,h:c,hh:f,d:c,dd:f,M:c,MM:f,y:c,yy:f},ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a.split("_");return c?b%10===1&&11!==b?d[2]:d[3]:b%10===1&&11!==b?d[0]:d[1]}function c(a,c,e){return a+" "+b(d[e],a,c)}var d={mm:"minūti_minūtes_minūte_minūtes",hh:"stundu_stundas_stunda_stundas",dd:"dienu_dienas_diena_dienas",MM:"mēnesi_mēnešus_mēnesis_mēneši",yy:"gadu_gadus_gads_gadi"};return a.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, LT",LLLL:"YYYY. [gada] D. MMMM, dddd, LT"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"%s vēlāk",past:"%s agrāk",s:"dažas sekundes",m:"minūti",mm:c,h:"stundu",hh:c,d:"dienu",dd:c,M:"mēnesi",MM:c,y:"gadu",yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Во изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Во изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiem:function(a){return 4>a?"രാത്രി":12>a?"രാവിലെ":17>a?"ഉച്ച കഴിഞ്ഞ്":20>a?"വൈകുന്നേരം":"രാത്രി"}})}),function(a){a(tb)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%s नंतर",past:"%s पूर्वी",s:"सेकंद",m:"एक मिनिट",mm:"%d मिनिटे",h:"एक तास",hh:"%d तास",d:"एक दिवस",dd:"%d दिवस",M:"एक महिना",MM:"%d महिने",y:"एक वर्ष",yy:"%d वर्षे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"रात्री":10>a?"सकाळी":17>a?"दुपारी":20>a?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){return a.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(a){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},c={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};
+return a.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_င်္ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tirs_ons_tors_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आइ._सो._मङ्_बु._बि._शु._श.".split("_"),longDateFormat:{LT:"Aको h:mm बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 3>a?"राती":10>a?"बिहान":15>a?"दिउँसो":18>a?"बेलुका":20>a?"साँझ":"राती"},calendar:{sameDay:"[आज] LT",nextDay:"[भोली] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडी",s:"केही समय",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),c="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");return a.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,d){return/-MMM-/.test(d)?c[a.month()]:b[a.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function c(a,c,d){var e=a+" ";switch(d){case"m":return c?"minuta":"minutę";case"mm":return e+(b(a)?"minuty":"minut");case"h":return c?"godzina":"godzinę";case"hh":return e+(b(a)?"godziny":"godzin");case"MM":return e+(b(a)?"miesiące":"miesięcy");case"yy":return e+(b(a)?"lata":"lat")}}var d="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),e="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return a.defineLocale("pl",{months:function(a,b){return/D MMMM/.test(b)?e[a.month()]:d[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] LT",LLLL:"dddd, D [de] MMMM [de] YYYY [às] LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%dº"})}),function(a){a(tb)}(function(a){return a.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}return a.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:b,h:"o oră",hh:b,d:"o zi",dd:b,M:"o lună",MM:b,y:"un an",yy:b},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:c?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===d?c?"минута":"минуту":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),accusative:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"янв_фев_мар_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),accusative:"янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function f(a,b){var c={nominative:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),accusative:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_")},d=/\[ ?[Вв] ?(?:прошлую|следующую)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.defineLocale("ru",{months:d,monthsShort:e,weekdays:f,weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., LT",LLLL:"dddd, D MMMM YYYY г., LT"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(){switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:c,mm:c,h:"час",hh:c,d:"день",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){function b(a){return a>1&&5>a}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"pár sekúnd":"pár sekundami";case"m":return c?"minúta":e?"minútu":"minútou";case"mm":return c||e?f+(b(a)?"minúty":"minút"):f+"minútami";break;case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(b(a)?"hodiny":"hodín"):f+"hodinami";break;case"d":return c||e?"deň":"dňom";case"dd":return c||e?f+(b(a)?"dni":"dní"):f+"dňami";break;case"M":return c||e?"mesiac":"mesiacom";case"MM":return c||e?f+(b(a)?"mesiace":"mesiacov"):f+"mesiacmi";break;case"y":return c||e?"rok":"rokom";case"yy":return c||e?f+(b(a)?"roky":"rokov"):f+"rokmi"}}var d="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),e="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return a.defineLocale("sk",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"ena minuta":"eno minuto";case"mm":return d+=1===a?"minuta":2===a?"minuti":3===a||4===a?"minute":"minut";case"h":return b?"ena ura":"eno uro";case"hh":return d+=1===a?"ura":2===a?"uri":3===a||4===a?"ure":"ur";case"dd":return d+=1===a?"dan":"dni";case"MM":return d+=1===a?"mesec":2===a?"meseca":3===a||4===a?"mesece":"mesecev";case"yy":return d+=1===a?"leto":2===a?"leti":3===a||4===a?"leta":"let"}}return a.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[prejšnja] dddd [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"%s nazaj",s:"nekaj sekund",m:b,mm:b,h:b,hh:b,d:"en dan",dd:b,M:"en mesec",MM:b,y:"eno leto",yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),meridiem:function(a){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){var b={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,c,d){var e=b.words[d];return 1===d.length?c?e[0]:e[1]:a+" "+b.correctGrammaticalCase(a,e)}};return a.defineLocale("sr-cyrl",{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],monthsShort:["јан.","феб.","мар.","апр.","мај","јун","јул","авг.","сеп.","окт.","нов.","дец."],weekdays:["недеља","понедељак","уторак","среда","четвртак","петак","субота"],weekdaysShort:["нед.","пон.","уто.","сре.","чет.","пет.","суб."],weekdaysMin:["не","по","ут","ср","че","пе","су"],longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:b.translate,mm:b.translate,h:b.translate,hh:b.translate,d:"дан",dd:b.translate,M:"месец",MM:b.translate,y:"годину",yy:b.translate},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){var b={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,c,d){var e=b.words[d];return 1===d.length?c?e[0]:e[1]:a+" "+b.correctGrammaticalCase(a,e)}};return a.defineLocale("sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:b.translate,mm:b.translate,h:b.translate,hh:b.translate,d:"dan",dd:b.translate,M:"mesec",MM:b.translate,y:"godinu",yy:b.translate},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"dddd LT",lastWeek:"[Förra] dddd[en] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":3===b?"e":"e";return a+c},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},ordinal:function(a){return a+"வது"},meridiem:function(a){return a>=6&&10>=a?" காலை":a>=10&&14>=a?" நண்பகல்":a>=14&&18>=a?" எற்பாடு":a>=18&&20>=a?" மாலை":a>=20&&24>=a?" இரவு":a>=0&&6>=a?" வைகறை":void 0},week:{dow:0,doy:6}})}),function(a){a(tb)}(function(a){return a.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"),weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),longDateFormat:{LT:"H นาฬิกา m นาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา LT",LLLL:"วันddddที่ D MMMM YYYY เวลา LT"},meridiem:function(a){return 12>a?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}),function(a){a(tb)}(function(a){return a.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM DD, YYYY LT"},calendar:{sameDay:"[Ngayon sa] LT",nextDay:"[Bukas sa] LT",nextWeek:"dddd [sa] LT",lastDay:"[Kahapon sa] LT",lastWeek:"dddd [huling linggo] LT",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinal:function(a){return a},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){var b={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return a.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(a){if(0===a)return a+"'ıncı";var c=a%10,d=a%100-c,e=a>=100?100:null;return a+(b[c]||b[d]||b[e])},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){return a.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}),function(a){a(tb)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:"хвилина_хвилини_хвилин",hh:"година_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===d?c?"хвилина":"хвилину":"h"===d?c?"година":"годину":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_"),accusative:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_")},d=/D[oD]? *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function f(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}return a.defineLocale("uk",{months:d,monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:e,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., LT",LLLL:"dddd, D MMMM YYYY р., LT"},calendar:{sameDay:f("[Сьогодні "),nextDay:f("[Завтра "),lastDay:f("[Вчора "),nextWeek:f("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return f("[Минулої] dddd [").call(this);case 1:case 2:case 4:return f("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:c,mm:c,h:"годину",hh:c,d:"день",dd:c,M:"місяць",MM:c,y:"рік",yy:c},meridiem:function(a){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("uz",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"D MMMM YYYY, dddd LT"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}),function(a){a(tb)}(function(a){return a.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY LT",LLLL:"dddd, D MMMM [năm] YYYY LT",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinal:function(a){return a},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日LT",LLLL:"YYYY年MMMD日ddddLT",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日LT",llll:"YYYY年MMMD日ddddLT"},meridiem:function(a,b){var c=100*a+b;
+return 600>c?"凌晨":900>c?"早上":1130>c?"上午":1230>c?"中午":1800>c?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()-b.unix()>=604800?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()<b.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1分钟",mm:"%d分钟",h:"1小时",hh:"%d小时",d:"1天",dd:"%d天",M:"1个月",MM:"%d个月",y:"1年",yy:"%d年"},week:{dow:1,doy:4}})}),function(a){a(tb)}(function(a){return a.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日LT",LLLL:"YYYY年MMMD日ddddLT",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日LT",llll:"YYYY年MMMD日ddddLT"},meridiem:function(a,b){var c=100*a+b;return 900>c?"早上":1130>c?"上午":1230>c?"中午":1800>c?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d分鐘",h:"一小時",hh:"%d小時",d:"一天",dd:"%d天",M:"一個月",MM:"%d個月",y:"一年",yy:"%d年"}})}),tb.locale("en"),Jb?module.exports=tb:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(xb.moment=ub),tb}),sb(!0)):sb()}).call(this);
+
+/* - ++resource++it4i.portal.common/sisyphus.min.js - */
+!function(a){a.fn.sisyphus=function(b){var c=a.map(this,function(b){return a(b).attr("id")+a(b).attr("name")}).join(),d=Sisyphus.getInstance(c);return d.protect(this,b),d};var b={};b.isAvailable=function(){if("object"==typeof a.jStorage)return!0;try{return localStorage.getItem}catch(b){return!1}},b.set=function(b,c){if("object"==typeof a.jStorage)a.jStorage.set(b,c+"");else try{localStorage.setItem(b,c+"")}catch(d){}},b.get=function(b){if("object"==typeof a.jStorage){var c=a.jStorage.get(b);return c?c.toString():c}return localStorage.getItem(b)},b.remove=function(b){"object"==typeof a.jStorage?a.jStorage.deleteKey(b):localStorage.removeItem(b)},Sisyphus=function(){function d(){return{setInstanceIdentifier:function(a){this.identifier=a},getInstanceIdentifier:function(){return this.identifier},setInitialOptions:function(c){var d={excludeFields:[],customKeySuffix:"",locationBased:!1,timeout:0,autoRelease:!0,onSave:function(){},onBeforeRestore:function(){},onRestore:function(){},onRelease:function(){}};this.options=this.options||a.extend(d,c),this.browserStorage=b},setOptions:function(b){this.options=this.options||this.setInitialOptions(b),this.options=a.extend(this.options,b)},protect:function(b,d){this.setOptions(d),b=b||{};var e=this;if(this.targets=this.targets||[],this.href=location.hostname+location.pathname+location.search+location.hash,this.targets=a.merge(this.targets,b),this.targets=a.unique(this.targets),this.targets=a(this.targets),!this.browserStorage.isAvailable())return!1;var f=e.options.onBeforeRestore.call(e);if((void 0===f||f)&&e.restoreAllData(),this.options.autoRelease&&e.bindReleaseData(),!c.started[this.getInstanceIdentifier()])if(e.isCKEditorPresent())var g=setInterval(function(){CKEDITOR.isLoaded&&(clearInterval(g),e.bindSaveData(),c.started[e.getInstanceIdentifier()]=!0)},100);else e.bindSaveData(),c.started[e.getInstanceIdentifier()]=!0},isCKEditorPresent:function(){return this.isCKEditorExists()?(CKEDITOR.isLoaded=!1,CKEDITOR.on("instanceReady",function(){CKEDITOR.isLoaded=!0}),!0):!1},isCKEditorExists:function(){return"undefined"!=typeof CKEDITOR},findFieldsToProtect:function(a){return a.find(":input").not(":submit").not(":reset").not(":button").not(":file").not(":password").not(":disabled").not("[readonly]")},bindSaveData:function(){var b=this;b.options.timeout&&b.saveDataByTimeout(),b.targets.each(function(){var c=a(this).attr("id")+a(this).attr("name");b.findFieldsToProtect(a(this)).each(function(){if(-1!==a.inArray(this,b.options.excludeFields))return!0;var d=a(this),e=(b.options.locationBased?b.href:"")+c+d.attr("name")+b.options.customKeySuffix;(d.is(":text")||d.is("textarea"))&&(b.options.timeout||b.bindSaveDataImmediately(d,e)),b.bindSaveDataOnChange(d)})})},saveAllData:function(){var b=this;b.targets.each(function(){var c=a(this).attr("id")+a(this).attr("name"),d={};b.findFieldsToProtect(a(this)).each(function(){var e=a(this);if(-1!==a.inArray(this,b.options.excludeFields)||void 0===e.attr("name"))return!0;var f=(b.options.locationBased?b.href:"")+c+e.attr("name")+b.options.customKeySuffix,g=e.val();if(e.is(":checkbox")){if(-1!==e.attr("name").indexOf("[")){if(d[e.attr("name")]===!0)return;g=[],a("[name='"+e.attr("name")+"']:checked").each(function(){g.push(a(this).val())}),d[e.attr("name")]=!0}else g=e.is(":checked");b.saveToBrowserStorage(f,g,!1)}else if(e.is(":radio"))e.is(":checked")&&(g=e.val(),b.saveToBrowserStorage(f,g,!1));else if(b.isCKEditorExists()){var h;(h=CKEDITOR.instances[e.attr("name")]||CKEDITOR.instances[e.attr("id")])?(h.updateElement(),b.saveToBrowserStorage(f,e.val(),!1)):b.saveToBrowserStorage(f,g,!1)}else b.saveToBrowserStorage(f,g,!1)})}),b.options.onSave.call(b)},restoreAllData:function(){var b=this,c=!1;b.targets.each(function(){var d=a(this),e=a(this).attr("id")+a(this).attr("name");b.findFieldsToProtect(d).each(function(){if(-1!==a.inArray(this,b.options.excludeFields))return!0;var d=a(this),f=(b.options.locationBased?b.href:"")+e+d.attr("name")+b.options.customKeySuffix,g=b.browserStorage.get(f);null!==g&&(b.restoreFieldsData(d,g),c=!0)})}),c&&b.options.onRestore.call(b)},restoreFieldsData:function(a,b){return void 0===a.attr("name")?!1:(a.is(":checkbox")&&"false"!==b&&-1===a.attr("name").indexOf("[")?a.attr("checked","checked"):a.is(":checkbox")&&"false"===b&&-1===a.attr("name").indexOf("[")?a.removeAttr("checked"):a.is(":radio")?a.val()===b&&a.attr("checked","checked"):-1===a.attr("name").indexOf("[")?a.val(b):(b=b.split(","),a.val(b)),void 0)},bindSaveDataImmediately:function(a,b){var c=this;if("onpropertychange"in a?a.get(0).onpropertychange=function(){c.saveToBrowserStorage(b,a.val())}:a.get(0).oninput=function(){c.saveToBrowserStorage(b,a.val())},this.isCKEditorExists()){var d;(d=CKEDITOR.instances[a.attr("name")]||CKEDITOR.instances[a.attr("id")])&&d.document.on("keyup",function(){d.updateElement(),c.saveToBrowserStorage(b,a.val())})}},saveToBrowserStorage:function(a,b,c){c=void 0===c?!0:c,this.browserStorage.set(a,b),c&&""!==b&&this.options.onSave.call(this)},bindSaveDataOnChange:function(a){var b=this;a.change(function(){b.saveAllData()})},saveDataByTimeout:function(){var a=this,b=a.targets;setTimeout(function(){function b(){a.saveAllData(),setTimeout(b,1e3*a.options.timeout)}return b}(b),1e3*a.options.timeout)},bindReleaseData:function(){var b=this;b.targets.each(function(){var c=a(this),d=c.attr("id")+c.attr("name");a(this).bind("submit reset",function(){b.releaseData(d,b.findFieldsToProtect(c))})})},manuallyReleaseData:function(){var b=this;b.targets.each(function(){var c=a(this),d=c.attr("id")+c.attr("name");b.releaseData(d,b.findFieldsToProtect(c))})},releaseData:function(b,d){var e=!1,f=this;c.started[f.getInstanceIdentifier()]=!1,d.each(function(){if(-1!==a.inArray(this,f.options.excludeFields))return!0;var c=a(this),d=(f.options.locationBased?f.href:"")+b+c.attr("name")+f.options.customKeySuffix;f.browserStorage.remove(d),e=!0}),e&&f.options.onRelease.call(f)}}}var c={instantiated:[],started:[]};return{getInstance:function(a){return c.instantiated[a]||(c.instantiated[a]=d(),c.instantiated[a].setInstanceIdentifier(a),c.instantiated[a].setInitialOptions()),a?c.instantiated[a]:c.instantiated[a]},free:function(){return c={instantiated:[],started:[]},null},version:"1.1.107"}}()}(jQuery);
+
+
+/* - ++resource++it4i.portal.common/prettify.js - */
+!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
+(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a=
+b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a<f;++a){var h=b[a];if(/\\[bdsw]/i.test(h))c.push(h);else{var h=d(h),l;a+2<f&&"-"===b[a+1]?(l=d(b[a+2]),a+=2):l=h;e.push([h,l]);l<65||h>122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;a<e.length;++a)h=e[a],h[0]<=f[1]+1?f[1]=Math.max(f[1],h[1]):b.push(f=h);for(a=0;a<b.length;++a)h=b[a],c.push(g(h[0])),
+h[1]>h[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f<c;++f){var l=a[f];l==="("?++h:"\\"===l.charAt(0)&&(l=+l.substring(1))&&(l<=h?d[l]=-1:a[f]=g(l))}for(f=1;f<d.length;++f)-1===d[f]&&(d[f]=++x);for(h=f=0;f<c;++f)l=a[f],l==="("?(++h,d[h]||(a[f]="(?:")):"\\"===l.charAt(0)&&(l=+l.substring(1))&&l<=h&&
+(a[f]="\\"+d[l]);for(f=0;f<c;++f)"^"===a[f]&&"^"!==a[f+1]&&(a[f]="");if(e.ignoreCase&&m)for(f=0;f<c;++f)l=a[f],e=l.charAt(0),l.length>=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k<c;++k){var i=a[k];if(i.ignoreCase)j=!0;else if(/[a-z]/i.test(i.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){m=!0;j=!1;break}}for(var r={b:8,t:9,n:10,v:11,
+f:12,r:13},n=[],k=0,c=a.length;k<c;++k){i=a[k];if(i.global||i.multiline)throw Error(""+i);n.push("(?:"+s(i)+")")}return RegExp(n.join("|"),j?"gi":"g")}function T(a,d){function g(a){var c=a.nodeType;if(c==1){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)g(c);c=a.nodeName.toLowerCase();if("br"===c||"li"===c)s[j]="\n",m[j<<1]=x++,m[j++<<1|1]=a}}else if(c==3||c==4)c=a.nodeValue,c.length&&(c=d?c.replace(/\r\n?/g,"\n"):c.replace(/[\t\n\r ]+/g," "),s[j]=c,m[j<<1]=x,x+=c.length,m[j++<<1|1]=
+a)}var b=/(?:^|\s)nocode(?:\s|$)/,s=[],x=0,m=[],j=0;g(a);return{a:s.join("").replace(/\n$/,""),d:m}}function H(a,d,g,b){d&&(a={a:d,e:a},g(a),b.push.apply(b,a.g))}function U(a){for(var d=void 0,g=a.firstChild;g;g=g.nextSibling)var b=g.nodeType,d=b===1?d?a:g:b===3?V.test(g.nodeValue)?a:d:d;return d===a?void 0:d}function C(a,d){function g(a){for(var j=a.e,k=[j,"pln"],c=0,i=a.a.match(s)||[],r={},n=0,e=i.length;n<e;++n){var z=i[n],w=r[z],t=void 0,f;if(typeof w==="string")f=!1;else{var h=b[z.charAt(0)];
+if(h)t=z.match(h[1]),w=h[0];else{for(f=0;f<x;++f)if(h=d[f],t=z.match(h[1])){w=h[0];break}t||(w="pln")}if((f=w.length>=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c<i;++c){var r=
+g[c],n=r[3];if(n)for(var e=n.length;--e>=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
+q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com",
+/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+
+s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,
+q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d=
+c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i<c.length;++i)b(c[i]);d===(d|0)&&c[0].setAttribute("value",d);var r=j.createElement("ol");
+r.className="linenums";for(var d=Math.max(0,d-1|0)||0,i=0,n=c.length;i<n;++i)k=c[i],k.className="L"+(i+d)%10,k.firstChild||k.appendChild(j.createTextNode("\u00a0")),r.appendChild(k);a.appendChild(r)}function p(a,d){for(var g=d.length;--g>=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*</.test(d)?"default-markup":"default-code";return F[a]}function K(a){var d=a.h;try{var g=T(a.c,a.i),b=g.a;
+a.a=b;a.d=g.d;a.e=0;I(d,b)(a);var s=/\bMSIE\s(\d+)/.exec(navigator.userAgent),s=s&&+s[1]<=8,d=/\n/g,x=a.a,m=x.length,g=0,j=a.d,k=j.length,b=0,c=a.g,i=c.length,r=0;c[i]=m;var n,e;for(e=n=0;e<i;)c[e]!==c[e+2]?(c[n++]=c[e++],c[n++]=c[e++]):e+=2;i=n;for(e=n=0;e<i;){for(var p=c[e],w=c[e+1],t=e+2;t+2<=i&&c[t+1]===w;)t+=2;c[n++]=p;c[n++]=w;e=t}c.length=n;var f=a.c,h;if(f)h=f.style.display,f.style.display="none";try{for(;b<k;){var l=j[b+2]||m,B=c[r+2]||m,t=Math.min(l,B),A=j[b+1],G;if(A.nodeType!==1&&(G=x.substring(g,
+t))){s&&(G=G.replace(d,"\r"));A.nodeValue=G;var L=A.ownerDocument,o=L.createElement("span");o.className=c[r+1];var v=A.parentNode;v.replaceChild(o,A);o.appendChild(A);g<l&&(j[b+1]=A=L.createTextNode(x.substring(t,l)),v.insertBefore(A,o.nextSibling))}g=t;g>=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
+"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],
+O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
+Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,
+V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",
+/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],
+["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}),
+["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q,
+hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]);
+p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="<pre>"+a+"</pre>";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1});
+return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i<p.length&&c.now()<b;i++){for(var d=p[i],j=h,k=d;k=k.previousSibling;){var m=k.nodeType,o=(m===7||m===8)&&k.nodeValue;if(o?!/^\??prettify\b/.test(o):m!==3||/\S/.test(k.nodeValue))break;if(o){j={};o.replace(/\b(\w+)=([\w%+\-.:]+)/g,function(a,b,c){j[b]=c});break}}k=d.className;if((j!==h||e.test(k))&&!v.test(k)){m=!1;for(o=d.parentNode;o;o=o.parentNode)if(f.test(o.tagName)&&
+o.className&&e.test(o.className)){m=!0;break}if(!m){d.className+=" prettyprinted";m=j.lang;if(!m){var m=k.match(n),y;if(!m&&(y=U(d))&&t.test(y.tagName))m=y.className.match(n);m&&(m=m[1])}if(w.test(d.tagName))o=1;else var o=d.currentStyle,u=s.defaultView,o=(o=o?o.whiteSpace:u&&u.getComputedStyle?u.getComputedStyle(d,q).getPropertyValue("white-space"):0)&&"pre"===o.substring(0,3);u=j.linenums;if(!(u=u==="true"||+u))u=(u=k.match(/\blinenums\b(?::(\d+))?/))?u[1]&&u[1].length?+u[1]:!0:!1;u&&J(d,u,o);r=
+{h:m,c:d,j:u,i:o};K(r)}}}i<p.length?setTimeout(g,250):"function"===typeof a&&a()}for(var b=d||document.body,s=b.ownerDocument||document,b=[b.getElementsByTagName("pre"),b.getElementsByTagName("code"),b.getElementsByTagName("xmp")],p=[],m=0;m<b.length;++m)for(var j=0,k=b[m].length;j<k;++j)p.push(b[m][j]);var b=q,c=Date;c.now||(c={now:function(){return+new Date}});var i=0,r,n=/\blang(?:uage)?-([\w.]+)(?!\S)/,e=/\bprettyprint\b/,v=/\bprettyprinted\b/,w=/pre|xmp/i,t=/^code$/i,f=/^(?:pre|code|xmp)$/i,
+h={};g()}};typeof define==="function"&&define.amd&&define("google-code-prettify",[],function(){return Y})})();}()
+
+
+/* - ++resource++it4i.portal.common/run_prettify.js - */
+!function(){var r=null;
+(function(){function X(e){function j(){try{J.doScroll("left")}catch(e){P(j,50);return}w("poll")}function w(j){if(!(j.type=="readystatechange"&&x.readyState!="complete")&&((j.type=="load"?n:x)[z](i+j.type,w,!1),!m&&(m=!0)))e.call(n,j.type||j)}var Y=x.addEventListener,m=!1,C=!0,t=Y?"addEventListener":"attachEvent",z=Y?"removeEventListener":"detachEvent",i=Y?"":"on";if(x.readyState=="complete")e.call(n,"lazy");else{if(x.createEventObject&&J.doScroll){try{C=!n.frameElement}catch(A){}C&&j()}x[t](i+"DOMContentLoaded",
+w,!1);x[t](i+"readystatechange",w,!1);n[t](i+"load",w,!1)}}function Q(){S&&X(function(){var e=K.length;$(e?function(){for(var j=0;j<e;++j)(function(e){P(function(){n.exports[K[e]].apply(n,arguments)},0)})(j)}:void 0)})}for(var n=window,P=n.setTimeout,x=document,J=x.documentElement,L=x.head||x.getElementsByTagName("head")[0]||J,z="",A=x.scripts,m=A.length;--m>=0;){var M=A[m],T=M.src.match(/^[^#?]*\/run_prettify\.js(\?[^#]*)?(?:#.*)?$/);if(T){z=T[1]||"";M.parentNode.removeChild(M);break}}var S=!0,D=
+[],N=[],K=[];z.replace(/[&?]([^&=]+)=([^&]+)/g,function(e,j,w){w=decodeURIComponent(w);j=decodeURIComponent(j);j=="autorun"?S=!/^[0fn]/i.test(w):j=="lang"?D.push(w):j=="skin"?N.push(w):j=="callback"&&K.push(w)});m=0;for(z=D.length;m<z;++m)(function(){var e=x.createElement("script");e.onload=e.onerror=e.onreadystatechange=function(){if(e&&(!e.readyState||/loaded|complete/.test(e.readyState)))e.onerror=e.onload=e.onreadystatechange=r,--R,R||P(Q,0),e.parentNode&&e.parentNode.removeChild(e),e=r};e.type=
+"text/javascript";e.src="https://google-code-prettify.googlecode.com/svn/loader/lang-"+encodeURIComponent(D[m])+".js";L.insertBefore(e,L.firstChild)})(D[m]);for(var R=D.length,A=[],m=0,z=N.length;m<z;++m)A.push("https://google-code-prettify.googlecode.com/svn/loader/skins/"+encodeURIComponent(N[m])+".css");A.push("https://google-code-prettify.googlecode.com/svn/loader/prettify.css");(function(e){function j(m){if(m!==w){var n=x.createElement("link");n.rel="stylesheet";n.type="text/css";if(m+1<w)n.error=
+n.onerror=function(){j(m+1)};n.href=e[m];L.appendChild(n)}}var w=e.length;j(0)})(A);var $=function(){window.PR_SHOULD_USE_CONTINUATION=!0;var e;(function(){function j(a){function d(f){var b=f.charCodeAt(0);if(b!==92)return b;var a=f.charAt(1);return(b=i[a])?b:"0"<=a&&a<="7"?parseInt(f.substring(1),8):a==="u"||a==="x"?parseInt(f.substring(2),16):f.charCodeAt(1)}function h(f){if(f<32)return(f<16?"\\x0":"\\x")+f.toString(16);f=String.fromCharCode(f);return f==="\\"||f==="-"||f==="]"||f==="^"?"\\"+f:
+f}function b(f){var b=f.substring(1,f.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),f=[],a=b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,g=b.length;a<g;++a){var k=b[a];if(/\\[bdsw]/i.test(k))c.push(k);else{var k=d(k),o;a+2<g&&"-"===b[a+1]?(o=d(b[a+2]),a+=2):o=k;f.push([k,o]);o<65||k>122||(o<65||k>90||f.push([Math.max(65,k)|32,Math.min(o,90)|32]),o<97||k>122||f.push([Math.max(97,k)&-33,Math.min(o,122)&-33]))}}f.sort(function(f,a){return f[0]-
+a[0]||a[1]-f[1]});b=[];g=[];for(a=0;a<f.length;++a)k=f[a],k[0]<=g[1]+1?g[1]=Math.max(g[1],k[1]):b.push(g=k);for(a=0;a<b.length;++a)k=b[a],c.push(h(k[0])),k[1]>k[0]&&(k[1]+1>k[0]&&c.push("-"),c.push(h(k[1])));c.push("]");return c.join("")}function e(f){for(var a=f.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],g=0,k=0;g<c;++g){var o=a[g];o==="("?++k:"\\"===o.charAt(0)&&(o=+o.substring(1))&&(o<=k?d[o]=-1:a[g]=h(o))}for(g=
+1;g<d.length;++g)-1===d[g]&&(d[g]=++j);for(k=g=0;g<c;++g)o=a[g],o==="("?(++k,d[k]||(a[g]="(?:")):"\\"===o.charAt(0)&&(o=+o.substring(1))&&o<=k&&(a[g]="\\"+d[o]);for(g=0;g<c;++g)"^"===a[g]&&"^"!==a[g+1]&&(a[g]="");if(f.ignoreCase&&F)for(g=0;g<c;++g)o=a[g],f=o.charAt(0),o.length>=2&&f==="["?a[g]=b(o):f!=="\\"&&(a[g]=o.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var j=0,F=!1,l=!1,I=0,c=a.length;I<c;++I){var p=a[I];if(p.ignoreCase)l=
+!0;else if(/[a-z]/i.test(p.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){F=!0;l=!1;break}}for(var i={b:8,t:9,n:10,v:11,f:12,r:13},q=[],I=0,c=a.length;I<c;++I){p=a[I];if(p.global||p.multiline)throw Error(""+p);q.push("(?:"+e(p)+")")}return RegExp(q.join("|"),l?"gi":"g")}function m(a,d){function h(a){var c=a.nodeType;if(c==1){if(!b.test(a.className)){for(c=a.firstChild;c;c=c.nextSibling)h(c);c=a.nodeName.toLowerCase();if("br"===c||"li"===c)e[l]="\n",F[l<<1]=j++,F[l++<<1|1]=a}}else if(c==
+3||c==4)c=a.nodeValue,c.length&&(c=d?c.replace(/\r\n?/g,"\n"):c.replace(/[\t\n\r ]+/g," "),e[l]=c,F[l<<1]=j,j+=c.length,F[l++<<1|1]=a)}var b=/(?:^|\s)nocode(?:\s|$)/,e=[],j=0,F=[],l=0;h(a);return{a:e.join("").replace(/\n$/,""),d:F}}function n(a,d,h,b){d&&(a={a:d,e:a},h(a),b.push.apply(b,a.g))}function x(a){for(var d=void 0,h=a.firstChild;h;h=h.nextSibling)var b=h.nodeType,d=b===1?d?a:h:b===3?S.test(h.nodeValue)?a:d:d;return d===a?void 0:d}function C(a,d){function h(a){for(var l=a.e,j=[l,"pln"],c=
+0,p=a.a.match(e)||[],m={},q=0,f=p.length;q<f;++q){var B=p[q],y=m[B],u=void 0,g;if(typeof y==="string")g=!1;else{var k=b[B.charAt(0)];if(k)u=B.match(k[1]),y=k[0];else{for(g=0;g<i;++g)if(k=d[g],u=B.match(k[1])){y=k[0];break}u||(y="pln")}if((g=y.length>=5&&"lang-"===y.substring(0,5))&&!(u&&typeof u[1]==="string"))g=!1,y="src";g||(m[B]=y)}k=c;c+=B.length;if(g){g=u[1];var o=B.indexOf(g),H=o+g.length;u[2]&&(H=B.length-u[2].length,o=H-g.length);y=y.substring(5);n(l+k,B.substring(0,o),h,j);n(l+k+o,g,A(y,
+g),j);n(l+k+H,B.substring(H),h,j)}else j.push(l+k,y)}a.g=j}var b={},e;(function(){for(var h=a.concat(d),l=[],i={},c=0,p=h.length;c<p;++c){var m=h[c],q=m[3];if(q)for(var f=q.length;--f>=0;)b[q.charAt(f)]=m;m=m[1];q=""+m;i.hasOwnProperty(q)||(l.push(m),i[q]=r)}l.push(/[\S\s]/);e=j(l)})();var i=d.length;return h}function t(a){var d=[],h=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,
+r,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,r,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,r,"\"'"]);a.verbatimStrings&&h.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,r]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,r,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,
+r,"#"]),h.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,r])):d.push(["com",/^#[^\n\r]*/,r,"#"]));a.cStyleComments&&(h.push(["com",/^\/\/[^\n\r]*/,r]),h.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,r]));if(b=a.regexLiterals){var e=(b=b>1?"":"\n\r")?".":"[\\S\\s]";h.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+
+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+e+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+e+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&h.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&h.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),r]);d.push(["pln",/^\s+/,r," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");h.push(["lit",/^@[$_a-z][\w$@]*/i,r],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,r],["pln",/^[$_a-z][\w$@]*/i,r],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,
+r,"0123456789"],["pln",/^\\[\S\s]?/,r],["pun",RegExp(b),r]);return C(d,h)}function z(a,d,h){function b(a){var c=a.nodeType;if(c==1&&!j.test(a.className))if("br"===a.nodeName)e(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&h){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(l.createTextNode(d),a.nextSibling),e(a),c||a.parentNode.removeChild(a)}}
+function e(a){function b(a,c){var d=c?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),h=a.nextSibling;f.appendChild(d);for(var e=h;e;e=h)h=e.nextSibling,f.appendChild(e)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var j=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,l=a.ownerDocument,i=l.createElement("li");a.firstChild;)i.appendChild(a.firstChild);for(var c=[i],p=0;p<c.length;++p)b(c[p]);d===(d|0)&&c[0].setAttribute("value",
+d);var n=l.createElement("ol");n.className="linenums";for(var d=Math.max(0,d-1|0)||0,p=0,q=c.length;p<q;++p)i=c[p],i.className="L"+(p+d)%10,i.firstChild||i.appendChild(l.createTextNode("\u00a0")),n.appendChild(i);a.appendChild(n)}function i(a,d){for(var h=d.length;--h>=0;){var b=d[h];U.hasOwnProperty(b)?V.console&&console.warn("cannot override language handler %s",b):U[b]=a}}function A(a,d){if(!a||!U.hasOwnProperty(a))a=/^\s*</.test(d)?"default-markup":"default-code";return U[a]}function D(a){var d=
+a.h;try{var h=m(a.c,a.i),b=h.a;a.a=b;a.d=h.d;a.e=0;A(d,b)(a);var e=/\bMSIE\s(\d+)/.exec(navigator.userAgent),e=e&&+e[1]<=8,d=/\n/g,i=a.a,j=i.length,h=0,l=a.d,n=l.length,b=0,c=a.g,p=c.length,t=0;c[p]=j;var q,f;for(f=q=0;f<p;)c[f]!==c[f+2]?(c[q++]=c[f++],c[q++]=c[f++]):f+=2;p=q;for(f=q=0;f<p;){for(var x=c[f],y=c[f+1],u=f+2;u+2<=p&&c[u+1]===y;)u+=2;c[q++]=x;c[q++]=y;f=u}c.length=q;var g=a.c,k;if(g)k=g.style.display,g.style.display="none";try{for(;b<n;){var o=l[b+2]||j,H=c[t+2]||j,u=Math.min(o,H),E=l[b+
+1],W;if(E.nodeType!==1&&(W=i.substring(h,u))){e&&(W=W.replace(d,"\r"));E.nodeValue=W;var Z=E.ownerDocument,s=Z.createElement("span");s.className=c[t+1];var z=E.parentNode;z.replaceChild(s,E);s.appendChild(E);h<o&&(l[b+1]=E=Z.createTextNode(i.substring(u,o)),z.insertBefore(E,s.nextSibling))}h=u;h>=o&&(b+=2);h>=H&&(t+=2)}}finally{if(g)g.style.display=k}}catch(v){V.console&&console.log(v&&v.stack||v)}}var V=window,G=["break,continue,do,else,for,if,return,while"],O=[[G,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
+"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],J=[O,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],K=[O,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],
+L=[K,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],O=[O,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],M=[G,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
+N=[G,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],R=[G,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],G=[G,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],Q=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,
+S=/\S/,T=t({keywords:[J,L,O,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",M,N,G],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),U={};i(T,["default-code"]);i(C([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",
+/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);i(C([["pln",/^\s+/,r," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,r,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],
+["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);i(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);i(t({keywords:J,hashComments:!0,cStyleComments:!0,types:Q}),["c","cc","cpp","cxx","cyc","m"]);i(t({keywords:"null,true,false"}),["json"]);i(t({keywords:L,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:Q}),
+["cs"]);i(t({keywords:K,cStyleComments:!0}),["java"]);i(t({keywords:G,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);i(t({keywords:M,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);i(t({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);i(t({keywords:N,
+hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);i(t({keywords:O,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);i(t({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);i(t({keywords:R,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]);
+i(C([],[["str",/^[\S\s]+/]]),["regex"]);var X=V.PR={createSimpleLexer:C,registerLangHandler:i,sourceDecorator:t,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:function(a,d,e){var b=document.createElement("div");b.innerHTML="<pre>"+a+"</pre>";b=b.firstChild;e&&z(b,e,!0);D({h:d,j:e,c:b,i:1});return b.innerHTML},
+prettyPrint:e=e=function(a,d){function e(){for(var b=V.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;p<j.length&&c.now()<b;p++){for(var d=j[p],m=k,l=d;l=l.previousSibling;){var n=l.nodeType,s=(n===7||n===8)&&l.nodeValue;if(s?!/^\??prettify\b/.test(s):n!==3||/\S/.test(l.nodeValue))break;if(s){m={};s.replace(/\b(\w+)=([\w%+\-.:]+)/g,function(a,b,c){m[b]=c});break}}l=d.className;if((m!==k||f.test(l))&&!w.test(l)){n=!1;for(s=d.parentNode;s;s=s.parentNode)if(g.test(s.tagName)&&s.className&&f.test(s.className)){n=
+!0;break}if(!n){d.className+=" prettyprinted";n=m.lang;if(!n){var n=l.match(q),A;if(!n&&(A=x(d))&&u.test(A.tagName))n=A.className.match(q);n&&(n=n[1])}if(y.test(d.tagName))s=1;else var s=d.currentStyle,v=i.defaultView,s=(s=s?s.whiteSpace:v&&v.getComputedStyle?v.getComputedStyle(d,r).getPropertyValue("white-space"):0)&&"pre"===s.substring(0,3);v=m.linenums;if(!(v=v==="true"||+v))v=(v=l.match(/\blinenums\b(?::(\d+))?/))?v[1]&&v[1].length?+v[1]:!0:!1;v&&z(d,v,s);t={h:n,c:d,j:v,i:s};D(t)}}}p<j.length?
+P(e,250):"function"===typeof a&&a()}for(var b=d||document.body,i=b.ownerDocument||document,b=[b.getElementsByTagName("pre"),b.getElementsByTagName("code"),b.getElementsByTagName("xmp")],j=[],m=0;m<b.length;++m)for(var l=0,n=b[m].length;l<n;++l)j.push(b[m][l]);var b=r,c=Date;c.now||(c={now:function(){return+new Date}});var p=0,t,q=/\blang(?:uage)?-([\w.]+)(?!\S)/,f=/\bprettyprint\b/,w=/\bprettyprinted\b/,y=/pre|xmp/i,u=/^code$/i,g=/^(?:pre|code|xmp)$/i,k={};e()}};typeof define==="function"&&define.amd&&
+define("google-code-prettify",[],function(){return X})})();return e}();R||P(Q,0)})();}()
+
+
+/* - ++resource++it4i.portal.common/base.js - */
+/*
+ *
+ * base.js
+ * IT4I Portal-wide base JS library
+ *
+ */
+
+// dataTables plugin may popup error messages, we DON'T want them
+$.fn.dataTableExt.sErrMode = 'throw';
+
+// stick portal-globalnav to top after scrolling past it
+function fixDiv() {
+    if (! $("ul#portal-globalnav").data("top")) {
+        // set original position on load
+        $("ul#portal-globalnav").data("top", $("ul#portal-globalnav").offset().top);
+    }
+    if ($(window).scrollTop() > $("ul#portal-globalnav").data("top")) { 
+        $("ul#portal-globalnav").css({'position': 'fixed', 'top': '0', 'width': '97.75%'}); 
+        $("#portal-personaltools").css({'position': 'fixed', 'top': '0', 'right' : '2.25%'}); 
+    }
+    else {
+        $("ul#portal-globalnav").css({'position': 'static', 'top': 'auto', 'width': '100%'});
+        $("#portal-personaltools").css({'position': 'static', 'top': 'auto'});
+    }
+}
+
+// parse HTTP query string and return GET params
+function getUrlVars()
+{
+    var vars = [], hash;
+    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+    for(var i = 0; i < hashes.length; i++)
+    {
+        hash = hashes[i].split('=');
+        vars.push(hash[0]);
+        vars[hash[0]] = hash[1];
+    }
+    return vars;
+}
+
+// get ordinal numbers (en)
+function getOrdinal(n) {
+    var s=["th","st","nd","rd"],
+    v=n%100;
+    return n+(s[(v-20)%10]||s[v]||s[0]);
+}
+
+// a simple yet powerful method for gettting table sums in <tfoot> space
+function calculate_totals(table) {
+    if ($('tfoot tr', table).children().first().is(':empty')) { var prefix = '<b>' + _('Total') + ':</b> '; }
+    else { var prefix = ''; }
+    $('tfoot tr', table).children().each(function(index)
+    {
+        total = 0;
+        $('tbody tr', table).each(function()
+        {
+            var value = parseFloat($(this).children().eq(index).text());
+            if (!isNaN(value));
+            {
+                total += value;
+            }
+        });
+        $('tfoot tr', table).children().eq(index).filter('.total').html(prefix+parseInt(total));
+    });
+}
+
+// get web page's height / either for document or for window (higher number wins)
+function getDocHeight() {
+    var D = document;
+    var W = window;
+    if ($(D).height() >= $(W).height()) {
+        return $(D).height();
+    } else {
+        return $(W).height();
+    }
+}
+
+// document ready
+$(document).ready(function() {
+    // CSV on-the-fly exporting function for tables
+    function exportTableToCSV($table, filename) {
+        var $rows = $table.find('tr:has(td), tr:has(th)'),
+            // Temporary delimiter characters unlikely to be typed by keyboard
+            // This is to avoid accidentally splitting the actual contents
+            tmpColDelim = String.fromCharCode(11), // vertical tab character
+            tmpRowDelim = String.fromCharCode(0), // null character
+            // actual delimiter characters for CSV format
+            colDelim = '","',
+            rowDelim = '"\r\n"',
+            // Grab text from table into CSV formatted string
+            csv = '"' + $rows.map(function (i, row) {
+                var $row = $(row),
+                    $cols = $row.find('td, th');
+                return $cols.map(function (j, col) {
+                    var $col = $(col),
+                        text = $col.text();
+                    return text.replace('"', '""').replace(/\n/g, ' ').replace(/  */g, ' ').trim(); // escape double quotes
+                }).get().join(tmpColDelim);
+            }).get().join(tmpRowDelim)
+                .split(tmpRowDelim).join(rowDelim)
+                .split(tmpColDelim).join(colDelim) + '"',
+            // Data URI
+            csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
+        $(this)
+            .attr({
+            'download': filename,
+                'href': csvData,
+                'target': '_blank'
+        });
+    }
+
+    // actual CSV exporting, see helper above
+    $(".csv_export").on('click', function (event) {
+        exportTableToCSV.apply(this, [$('#data_div>table'), 'export.csv']);
+        // IF CSV, don't do event.preventDefault() or return false
+        // We actually need this to be a typical hyperlink
+    });
+
+    // table printing feature
+    $(".table_print").click(function() {
+        $('#data_div>table').printElement({
+            overrideElementCSS:['print.css']
+        });
+    });
+
+    // stick portal-globalnav to top after scrolling past it
+    $(window).scroll(fixDiv);
+});
+
+
+/* - custom.js - */
+function getUrlVars()
+{
+    var vars = [], hash;
+    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+    for(var i = 0; i < hashes.length; i++)
+    {
+        hash = hashes[i].split('=');
+        vars.push(hash[0]);
+        vars[hash[0]] = hash[1];
+    }
+    return vars;
+}
+
+jQuery(document).ready( function () {
+    if (getUrlVars()["searchterm"]) {
+      $('a.show-more').each( function () {
+        $(this).closest('table').find('tr.hidden').each( function () {
+          $(this).toggle(true);
+        });
+        $(this).closest('tr').toggle();
+      });
+    };
+    $('a#plone-discussions-href').click( function ( event ) {
+        event.preventDefault();
+        $('div#viewlet-below-content').toggle( 0, function () {
+            $('div#plone-discussions').focus()
+        });
+    });
+    $('.tooltip').each( function () {
+        $(this).tooltip();
+    });
+
+    $('a.show-more').each( function () {
+        $(this).click( function ( event ) {
+          event.preventDefault();
+          $(this).closest('table').find('tr.hidden').each( function () {
+            $(this).toggle(true);
+          });
+          $(this).closest('tr').toggle();
+          return false;
+        });
+    });
+});
diff --git a/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourceplone.app.jquery-cachekey-c2d21aafabd41e32e7d82e9e4e57f6d1.js b/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourceplone.app.jquery-cachekey-c2d21aafabd41e32e7d82e9e4e57f6d1.js
new file mode 100644
index 0000000000000000000000000000000000000000..4fdfbf69cdc3ed2deb800687285b86c340590ec0
--- /dev/null
+++ b/docs.it4i.cz/portal_javascripts/Sunburst Theme/resourceplone.app.jquery-cachekey-c2d21aafabd41e32e7d82e9e4e57f6d1.js	
@@ -0,0 +1,1550 @@
+
+/* Merged Plone Javascript file
+ * This file is dynamically assembled from separate parts.
+ * Some of these parts have 3rd party licenses or copyright information attached
+ * Such information is valid for that section,
+ * not for the entire composite file
+ * originating files are separated by - filename.js -
+ */
+
+/* - ++resource++plone.app.jquery.js - */
+/*! jQuery v1.7.2 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
+a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement 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){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.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){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
+.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
+
+/* - register_function.js - */
+// https://docs.it4i.cz/portal_javascripts/register_function.js?original=1
+var bugRiddenCrashPronePieceOfJunk=(navigator.userAgent.indexOf('MSIE 5')!==-1&&navigator.userAgent.indexOf('Mac')!==-1);var W3CDOM=(!bugRiddenCrashPronePieceOfJunk&&typeof document.getElementsByTagName!=='undefined'&&typeof document.createElement!=='undefined');var registerEventListener=function(elem,event,func){jQuery(elem).bind(event,func)};var unRegisterEventListener=function(elem,event,func){jQuery(elem).unbind(event,func)};var registerPloneFunction=jQuery;
+function getContentArea(){var node=jQuery('#region-content,#content');return node.length?node[0]:null}
+
+
+/* - plone_javascript_variables.js - */
+// https://docs.it4i.cz/portal_javascripts/plone_javascript_variables.js?original=1
+var portal_url='https://docs.it4i.cz';var form_modified_message='Formulář nebyl uložen. Všechny provedené změny budou ztraceny.';var form_resubmit_message='Tlačítko pro odeslání formuláře již bylo stisknuto. Opravdu chcete tento formulář odeslat znovu?';var external_links_open_new_window='false';var mark_special_links='true';var ajax_noresponse_message='Od serveru nepřišla žádná odezva. Zkuste to prosím později.';
+
+/* - ++resource++plone.app.jquerytools.js - */
+!function($){function Overlay(trigger,conf){var closers,overlay,opened,self=this,fire=trigger.add(self),w=$(window),maskConf=$.tools.expose&&(conf.mask||conf.expose),uid=Math.random().toString().slice(10);maskConf&&("string"==typeof maskConf&&(maskConf={color:maskConf}),maskConf.closeOnClick=maskConf.closeOnEsc=!1);var jq=conf.target||trigger.attr("rel");if(overlay=jq?$(jq):null||trigger,!overlay.length)throw"Could not find Overlay: "+jq;trigger&&-1==trigger.index(overlay)&&trigger.click(function(e){return self.load(e),e.preventDefault()}),$.extend(self,{load:function(e){if(self.isOpened())return self;var eff=effects[conf.effect];if(!eff)throw'Overlay: cannot find effect : "'+conf.effect+'"';if(conf.oneInstance&&$.each(instances,function(){this.close(e)}),e=e||$.Event(),e.type="onBeforeLoad",fire.trigger(e),e.isDefaultPrevented())return self;opened=!0,maskConf&&$(overlay).expose(maskConf);var top=conf.top,left=conf.left,oWidth=overlay.outerWidth(!0),oHeight=overlay.outerHeight(!0);return"string"==typeof top&&(top="center"==top?Math.max((w.height()-oHeight)/2,0):parseInt(top,10)/100*w.height()),"center"==left&&(left=Math.max((w.width()-oWidth)/2,0)),eff[0].call(self,{top:top,left:left},function(){opened&&(e.type="onLoad",fire.trigger(e))}),maskConf&&conf.closeOnClick&&$.mask.getMask().one("click",self.close),conf.closeOnClick&&$(document).on("click."+uid,function(e){$(e.target).parents(overlay).length||self.close(e)}),conf.closeOnEsc&&$(document).on("keydown."+uid,function(e){27==e.keyCode&&self.close(e)}),self},close:function(e){return self.isOpened()?(e=e||$.Event(),e.type="onBeforeClose",fire.trigger(e),e.isDefaultPrevented()?void 0:(opened=!1,effects[conf.effect][1].call(self,function(){e.type="onClose",fire.trigger(e)}),$(document).off("click."+uid+" keydown."+uid),maskConf&&$.mask.close(),self)):self},getOverlay:function(){return overlay},getTrigger:function(){return trigger},getClosers:function(){return closers},isOpened:function(){return opened},getConf:function(){return conf}}),$.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(i,name){$.isFunction(conf[name])&&$(self).on(name,conf[name]),self[name]=function(fn){return fn&&$(self).on(name,fn),self}}),closers=overlay.find(conf.close||".close"),closers.length||conf.close||(closers=$('<a class="close"></a>'),overlay.prepend(closers)),closers.click(function(e){self.close(e)}),conf.load&&self.load()}$.tools=$.tools||{version:"@VERSION"},$.tools.overlay={addEffect:function(name,loadFn,closeFn){effects[name]=[loadFn,closeFn]},conf:{close:null,closeOnClick:!0,closeOnEsc:!0,closeSpeed:"fast",effect:"default",fixed:!/msie/.test(navigator.userAgent.toLowerCase())||navigator.appVersion>6,left:"center",load:!1,mask:null,oneInstance:!0,speed:"normal",target:null,top:"10%"}};var instances=[],effects={};$.tools.overlay.addEffect("default",function(pos,onLoad){var conf=this.getConf(),w=$(window);conf.fixed||(pos.top+=w.scrollTop(),pos.left+=w.scrollLeft()),pos.position=conf.fixed?"fixed":"absolute",this.getOverlay().css(pos).fadeIn(conf.speed,onLoad)},function(onClose){this.getOverlay().fadeOut(this.getConf().closeSpeed,onClose)}),$.fn.overlay=function(conf){var el=this.data("overlay");return el?el:($.isFunction(conf)&&(conf={onBeforeLoad:conf}),conf=$.extend(!0,{},$.tools.overlay.conf,conf),this.each(function(){el=new Overlay($(this),conf),instances.push(el),$(this).data("overlay",el)}),conf.api?el:this)}}(jQuery),function($){function find(root,query){var el=$(query);return el.length<2?el:root.parent().find(query)}function Scrollable(root,conf){var self=this,fire=root.add(self),itemWrap=root.children(),index=0,vertical=conf.vertical;if(current||(current=self),itemWrap.length>1&&(itemWrap=$(conf.items,root)),conf.size>1&&(conf.circular=!1),$.extend(self,{getConf:function(){return conf},getIndex:function(){return index},getSize:function(){return self.getItems().size()},getNaviButtons:function(){return prev.add(next)},getRoot:function(){return root},getItemWrap:function(){return itemWrap},getItems:function(){return itemWrap.find(conf.item).not("."+conf.clonedClass)},move:function(offset,time){return self.seekTo(index+offset,time)},next:function(time){return self.move(conf.size,time)},prev:function(time){return self.move(-conf.size,time)},begin:function(time){return self.seekTo(0,time)},end:function(time){return self.seekTo(self.getSize()-1,time)},focus:function(){return current=self,self},addItem:function(item){return item=$(item),conf.circular?(itemWrap.children().last().before(item),itemWrap.children().first().replaceWith(item.clone().addClass(conf.clonedClass))):(itemWrap.append(item),next.removeClass("disabled")),fire.trigger("onAddItem",[item]),self},seekTo:function(i,time,fn){if(i.jquery||(i*=1),conf.circular&&0===i&&-1==index&&0!==time)return self;if(!conf.circular&&0>i||i>self.getSize()||-1>i)return self;var item=i;i.jquery?i=self.getItems().index(i):item=self.getItems().eq(i);var e=$.Event("onBeforeSeek");if(!fn&&(fire.trigger(e,[i,time]),e.isDefaultPrevented()||!item.length))return self;var props=vertical?{top:-item.position().top}:{left:-item.position().left};return index=i,current=self,void 0===time&&(time=conf.speed),itemWrap.animate(props,time,conf.easing,fn||function(){fire.trigger("onSeek",[i])}),self}}),$.each(["onBeforeSeek","onSeek","onAddItem"],function(i,name){$.isFunction(conf[name])&&$(self).on(name,conf[name]),self[name]=function(fn){return fn&&$(self).on(name,fn),self}}),conf.circular){var cloned1=self.getItems().slice(-1).clone().prependTo(itemWrap),cloned2=self.getItems().eq(1).clone().appendTo(itemWrap);cloned1.add(cloned2).addClass(conf.clonedClass),self.onBeforeSeek(function(e,i,time){return e.isDefaultPrevented()?void 0:-1==i?(self.seekTo(cloned1,time,function(){self.end(0)}),e.preventDefault()):void(i==self.getSize()&&self.seekTo(cloned2,time,function(){self.begin(0)}))});var hidden_parents=root.parents().add(root).filter(function(){return"none"===$(this).css("display")?!0:void 0});hidden_parents.length?(hidden_parents.show(),self.seekTo(0,0,function(){}),hidden_parents.hide()):self.seekTo(0,0,function(){})}var prev=find(root,conf.prev).click(function(e){e.stopPropagation(),self.prev()}),next=find(root,conf.next).click(function(e){e.stopPropagation(),self.next()});if(conf.circular||(self.onBeforeSeek(function(e,i){setTimeout(function(){e.isDefaultPrevented()||(prev.toggleClass(conf.disabledClass,0>=i),next.toggleClass(conf.disabledClass,i>=self.getSize()-1))},1)}),conf.initialIndex||prev.addClass(conf.disabledClass)),self.getSize()<2&&prev.add(next).addClass(conf.disabledClass),conf.mousewheel&&$.fn.mousewheel&&root.mousewheel(function(e,delta){return conf.mousewheel?(self.move(0>delta?1:-1,conf.wheelSpeed||50),!1):void 0}),conf.touch){var touch={};itemWrap[0].ontouchstart=function(e){var t=e.touches[0];touch.x=t.clientX,touch.y=t.clientY},itemWrap[0].ontouchmove=function(e){if(1==e.touches.length&&!itemWrap.is(":animated")){var t=e.touches[0],deltaX=touch.x-t.clientX,deltaY=touch.y-t.clientY;self[vertical&&deltaY>0||!vertical&&deltaX>0?"next":"prev"](),e.preventDefault()}}}conf.keyboard&&$(document).on("keydown.scrollable",function(evt){if(!(!conf.keyboard||evt.altKey||evt.ctrlKey||evt.metaKey||$(evt.target).is(":input")||"static"!=conf.keyboard&&current!=self)){var key=evt.keyCode;return!vertical||38!=key&&40!=key?vertical||37!=key&&39!=key?void 0:(self.move(37==key?-1:1),evt.preventDefault()):(self.move(38==key?-1:1),evt.preventDefault())}}),conf.initialIndex&&self.seekTo(conf.initialIndex,0,function(){})}$.tools=$.tools||{version:"@VERSION"},$.tools.scrollable={conf:{activeClass:"active",circular:!1,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:"> *",items:".items",keyboard:!0,mousewheel:!1,next:".next",prev:".prev",size:1,speed:400,vertical:!1,touch:!0,wheelSpeed:0}};var current;$.fn.scrollable=function(conf){var el=this.data("scrollable");return el?el:(conf=$.extend({},$.tools.scrollable.conf,conf),this.each(function(){el=new Scrollable($(this),conf),$(this).data("scrollable",el)}),conf.api?el:this)}}(jQuery),function($){function Tabs(root,paneSelector,conf){var current,self=this,trigger=root.add(this),tabs=root.find(conf.tabs),panes=paneSelector.jquery?paneSelector:root.children(paneSelector);tabs.length||(tabs=root.children()),panes.length||(panes=root.parent().find(paneSelector)),panes.length||(panes=$(paneSelector)),$.extend(this,{click:function(i,e){var tab=tabs.eq(i),firstRender=!root.data("tabs");if("string"==typeof i&&i.replace("#","")&&(tab=tabs.filter('[href*="'+i.replace("#","")+'"]'),i=Math.max(tabs.index(tab),0)),conf.rotate){var last=tabs.length-1;if(0>i)return self.click(last,e);if(i>last)return self.click(0,e)}if(!tab.length){if(current>=0)return self;i=conf.initialIndex,tab=tabs.eq(i)}if(i===current)return self;if(e=e||$.Event(),e.type="onBeforeClick",trigger.trigger(e,[i]),!e.isDefaultPrevented()){var effect=firstRender?conf.initialEffect&&conf.effect||"default":conf.effect;return effects[effect].call(self,i,function(){current=i,e.type="onClick",trigger.trigger(e,[i])}),tabs.removeClass(conf.current),tab.addClass(conf.current),self}},getConf:function(){return conf},getTabs:function(){return tabs},getPanes:function(){return panes},getCurrentPane:function(){return panes.eq(current)},getCurrentTab:function(){return tabs.eq(current)},getIndex:function(){return current},next:function(){return self.click(current+1)},prev:function(){return self.click(current-1)},destroy:function(){return tabs.off(conf.event).removeClass(conf.current),panes.find('a[href^="#"]').off("click.T"),self}}),$.each("onBeforeClick,onClick".split(","),function(i,name){$.isFunction(conf[name])&&$(self).on(name,conf[name]),self[name]=function(fn){return fn&&$(self).on(name,fn),self}}),conf.history&&$.fn.history&&($.tools.history.init(tabs),conf.event="history"),tabs.each(function(i){$(this).on(conf.event,function(e){return self.click(i,e),e.preventDefault()})}),panes.find('a[href^="#"]').on("click.T",function(e){self.click($(this).attr("href"),e)}),location.hash&&"a"==conf.tabs&&root.find('[href="'+location.hash+'"]').length?self.click(location.hash):(0===conf.initialIndex||conf.initialIndex>0)&&self.click(conf.initialIndex)}$.tools=$.tools||{version:"@VERSION"},$.tools.tabs={conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialEffect:!1,initialIndex:0,event:"click",rotate:!1,slideUpSpeed:400,slideDownSpeed:400,history:!1},addEffect:function(name,fn){effects[name]=fn}};var animating,w,effects={"default":function(i,done){this.getPanes().hide().eq(i).show(),done.call()},fade:function(i,done){var conf=this.getConf(),speed=conf.fadeOutSpeed,panes=this.getPanes();speed?panes.fadeOut(speed):panes.hide(),panes.eq(i).fadeIn(conf.fadeInSpeed,done)},slide:function(i,done){var conf=this.getConf();this.getPanes().slideUp(conf.slideUpSpeed),this.getPanes().eq(i).slideDown(conf.slideDownSpeed,done)},ajax:function(i,done){this.getPanes().eq(0).load(this.getTabs().eq(i).attr("href"),done)}};$.tools.tabs.addEffect("horizontal",function(i,done){if(!animating){var nextPane=this.getPanes().eq(i),currentPane=this.getCurrentPane();w||(w=this.getPanes().eq(0).width()),animating=!0,nextPane.show(),currentPane.animate({width:0},{step:function(now){nextPane.css("width",w-now)},complete:function(){$(this).hide(),done.call(),animating=!1}}),currentPane.length||(done.call(),animating=!1)}}),$.fn.tabs=function(paneSelector,conf){var el=this.data("tabs");return el&&(el.destroy(),this.removeData("tabs")),$.isFunction(conf)&&(conf={onBeforeClick:conf}),conf=$.extend({},$.tools.tabs.conf,conf),this.each(function(){el=new Tabs($(this),paneSelector,conf),$(this).data("tabs",el)}),conf.api?el:this}}(jQuery),function($){function setIframeLocation(h){if(h){var doc=iframe.contentWindow.document;doc.open().close(),doc.location.hash=h}}var hash,iframe,links,inited;$.tools=$.tools||{version:"@VERSION"},$.tools.history={init:function(els){inited||($.browser.msie&&$.browser.version<"8"?iframe||(iframe=$("<iframe/>").attr("src","javascript:false;").hide().get(0),$("body").append(iframe),setInterval(function(){var idoc=iframe.contentWindow.document,h=idoc.location.hash;hash!==h&&$(window).trigger("hash",h)},100),setIframeLocation(location.hash||"#")):setInterval(function(){var h=location.hash;h!==hash&&$(window).trigger("hash",h)},100),links=links?links.add(els):els,els.click(function(e){var href=$(this).attr("href");return iframe&&setIframeLocation(href),"#"!=href.slice(0,1)?(location.href="#"+href,e.preventDefault()):void 0}),inited=!0)}},$(window).on("hash",function(e,h){h?links.filter(function(){var href=$(this).attr("href");return href==h||href==h.replace("#","")}).trigger("history",[h]):links.eq(0).trigger("history",[h]),hash=h}),$.fn.history=function(fn){return $.tools.history.init(this),this.on("history",fn)}}(jQuery),function($){function viewport(){if(/msie/.test(navigator.userAgent.toLowerCase())){var d=$(document).height(),w=$(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,20>d-w?w:d]}return[$(document).width(),$(document).height()]}function call(fn){return fn?fn.call($.mask):void 0}$.tools=$.tools||{version:"@VERSION"};var tool;tool=$.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:!0,closeOnEsc:!0,zIndex:9998,opacity:.8,startOpacity:0,color:"#fff",onLoad:null,onClose:null}};var mask,exposed,loaded,config,overlayIndex;$.mask={load:function(conf,els){if(loaded)return this;"string"==typeof conf&&(conf={color:conf}),conf=conf||config,config=conf=$.extend($.extend({},tool.conf),conf),mask=$("#"+conf.maskId),mask.length||(mask=$("<div/>").attr("id",conf.maskId),$("body").append(mask));var size=viewport();return mask.css({position:"absolute",top:0,left:0,width:size[0],height:size[1],display:"none",opacity:conf.startOpacity,zIndex:conf.zIndex}),conf.color&&mask.css("backgroundColor",conf.color),call(conf.onBeforeLoad)===!1?this:(conf.closeOnEsc&&$(document).on("keydown.mask",function(e){27==e.keyCode&&$.mask.close(e)}),conf.closeOnClick&&mask.on("click.mask",function(e){$.mask.close(e)}),$(window).on("resize.mask",function(){$.mask.fit()}),els&&els.length&&(overlayIndex=els.eq(0).css("zIndex"),$.each(els,function(){var el=$(this);/relative|absolute|fixed/i.test(el.css("position"))||el.css("position","relative")}),exposed=els.css({zIndex:Math.max(conf.zIndex+1,"auto"==overlayIndex?0:overlayIndex)})),mask.css({display:"block"}).fadeTo(conf.loadSpeed,conf.opacity,function(){$.mask.fit(),call(conf.onLoad),loaded="full"}),loaded=!0,this)},close:function(){if(loaded){if(call(config.onBeforeClose)===!1)return this;mask.fadeOut(config.closeSpeed,function(){exposed&&exposed.css({zIndex:overlayIndex}),loaded=!1,call(config.onClose)}),$(document).off("keydown.mask"),mask.off("click.mask"),$(window).off("resize.mask")}return this},fit:function(){if(loaded){var size=viewport();mask.css({width:size[0],height:size[1]})}},getMask:function(){return mask},isLoaded:function(fully){return fully?"full"==loaded:loaded},getConf:function(){return config},getExposed:function(){return exposed}},$.fn.mask=function(conf){return $.mask.load(conf),this},$.fn.expose=function(conf){return $.mask.load(conf,this),this}}(jQuery);
+
+/* - ++resource++plone.app.jquerytools.form.js - */
+/*!
+ * jQuery Form Plugin
+ * version: 3.51.0-2014.06.20
+ * Requires jQuery v1.5 or later
+ * Copyright (c) 2014 M. Alsup
+ * Examples and documentation at: http://malsup.com/jquery/form/
+ * Project repository: https://github.com/malsup/form
+ * Dual licensed under the MIT and GPL licenses.
+ * https://github.com/malsup/form#copyright-and-license
+ */
+/*global ActiveXObject */
+
+/*
+    Usage Note:
+    -----------
+    Do not use both ajaxSubmit and ajaxForm on the same form.  These
+    functions are mutually exclusive.  Use ajaxSubmit if you want
+    to bind your own submit handler to the form.  For example,
+
+    $(document).ready(function() {
+        $('#myForm').on('submit', function(e) {
+            e.preventDefault(); // <-- important
+            $(this).ajaxSubmit({
+                target: '#output'
+            });
+        });
+    });
+
+    Use ajaxForm when you want the plugin to manage all the event binding
+    for you.  For example,
+
+    $(document).ready(function() {
+        $('#myForm').ajaxForm({
+            target: '#output'
+        });
+    });
+
+    You can also use ajaxForm with delegation (requires jQuery v1.7+), so the
+    form does not have to exist when you invoke ajaxForm:
+
+    $('#myForm').ajaxForm({
+        delegation: true,
+        target: '#output'
+    });
+
+    When using ajaxForm, the ajaxSubmit function will be invoked for you
+    at the appropriate time.
+*/
+
+/**
+ * Feature detection
+ */
+var feature = {};
+feature.fileapi = $("<input type='file'/>").get(0).files !== undefined;
+feature.formdata = window.FormData !== undefined;
+
+var hasProp = !!$.fn.prop;
+
+// attr2 uses prop when it can but checks the return type for
+// an expected string.  this accounts for the case where a form 
+// contains inputs with names like "action" or "method"; in those
+// cases "prop" returns the element
+$.fn.attr2 = function() {
+    if ( ! hasProp ) {
+        return this.attr.apply(this, arguments);
+    }
+    var val = this.prop.apply(this, arguments);
+    if ( ( val && val.jquery ) || typeof val === 'string' ) {
+        return val;
+    }
+    return this.attr.apply(this, arguments);
+};
+
+/**
+ * ajaxSubmit() provides a mechanism for immediately submitting
+ * an HTML form using AJAX.
+ */
+$.fn.ajaxSubmit = function(options) {
+    /*jshint scripturl:true */
+
+    // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
+    if (!this.length) {
+        log('ajaxSubmit: skipping submit process - no element selected');
+        return this;
+    }
+
+    var method, action, url, $form = this;
+
+    if (typeof options == 'function') {
+        options = { success: options };
+    }
+    else if ( options === undefined ) {
+        options = {};
+    }
+
+    method = options.type || this.attr2('method');
+    action = options.url  || this.attr2('action');
+
+    url = (typeof action === 'string') ? $.trim(action) : '';
+    url = url || window.location.href || '';
+    if (url) {
+        // clean url (don't include hash vaue)
+        url = (url.match(/^([^#]+)/)||[])[1];
+    }
+
+    options = $.extend(true, {
+        url:  url,
+        success: $.ajaxSettings.success,
+        type: method || $.ajaxSettings.type,
+        iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
+    }, options);
+
+    // hook for manipulating the form data before it is extracted;
+    // convenient for use with rich editors like tinyMCE or FCKEditor
+    var veto = {};
+    this.trigger('form-pre-serialize', [this, options, veto]);
+    if (veto.veto) {
+        log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
+        return this;
+    }
+
+    // provide opportunity to alter form data before it is serialized
+    if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
+        log('ajaxSubmit: submit aborted via beforeSerialize callback');
+        return this;
+    }
+
+    var traditional = options.traditional;
+    if ( traditional === undefined ) {
+        traditional = $.ajaxSettings.traditional;
+    }
+
+    var elements = [];
+    var qx, a = this.formToArray(options.semantic, elements);
+    if (options.data) {
+        options.extraData = options.data;
+        qx = $.param(options.data, traditional);
+    }
+
+    // give pre-submit callback an opportunity to abort the submit
+    if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
+        log('ajaxSubmit: submit aborted via beforeSubmit callback');
+        return this;
+    }
+
+    // fire vetoable 'validate' event
+    this.trigger('form-submit-validate', [a, this, options, veto]);
+    if (veto.veto) {
+        log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
+        return this;
+    }
+
+    var q = $.param(a, traditional);
+    if (qx) {
+        q = ( q ? (q + '&' + qx) : qx );
+    }
+    if (options.type.toUpperCase() == 'GET') {
+        options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
+        options.data = null;  // data is null for 'get'
+    }
+    else {
+        options.data = q; // data is the query string for 'post'
+    }
+
+    var callbacks = [];
+    if (options.resetForm) {
+        callbacks.push(function() { $form.resetForm(); });
+    }
+    if (options.clearForm) {
+        callbacks.push(function() { $form.clearForm(options.includeHidden); });
+    }
+
+    // perform a load on the target only if dataType is not provided
+    if (!options.dataType && options.target) {
+        var oldSuccess = options.success || function(){};
+        callbacks.push(function(data) {
+            var fn = options.replaceTarget ? 'replaceWith' : 'html';
+            $(options.target)[fn](data).each(oldSuccess, arguments);
+        });
+    }
+    else if (options.success) {
+        callbacks.push(options.success);
+    }
+
+    options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
+        var context = options.context || this ;    // jQuery 1.4+ supports scope context
+        for (var i=0, max=callbacks.length; i < max; i++) {
+            callbacks[i].apply(context, [data, status, xhr || $form, $form]);
+        }
+    };
+
+    if (options.error) {
+        var oldError = options.error;
+        options.error = function(xhr, status, error) {
+            var context = options.context || this;
+            oldError.apply(context, [xhr, status, error, $form]);
+        };
+    }
+
+     if (options.complete) {
+        var oldComplete = options.complete;
+        options.complete = function(xhr, status) {
+            var context = options.context || this;
+            oldComplete.apply(context, [xhr, status, $form]);
+        };
+    }
+
+    // are there files to upload?
+
+    // [value] (issue #113), also see comment:
+    // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219
+    var fileInputs = $('input[type=file]:enabled', this).filter(function() { return $(this).val() !== ''; });
+
+    var hasFileInputs = fileInputs.length > 0;
+    var mp = 'multipart/form-data';
+    var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
+
+    var fileAPI = feature.fileapi && feature.formdata;
+    log("fileAPI :" + fileAPI);
+    var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;
+
+    var jqxhr;
+
+    // options.iframe allows user to force iframe mode
+    // 06-NOV-09: now defaulting to iframe mode if file input is detected
+    if (options.iframe !== false && (options.iframe || shouldUseFrame)) {
+        // hack to fix Safari hang (thanks to Tim Molendijk for this)
+        // see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
+        if (options.closeKeepAlive) {
+            $.get(options.closeKeepAlive, function() {
+                jqxhr = fileUploadIframe(a);
+            });
+        }
+        else {
+            jqxhr = fileUploadIframe(a);
+        }
+    }
+    else if ((hasFileInputs || multipart) && fileAPI) {
+        jqxhr = fileUploadXhr(a);
+    }
+    else {
+        jqxhr = $.ajax(options);
+    }
+
+    $form.removeData('jqxhr').data('jqxhr', jqxhr);
+
+    // clear element array
+    for (var k=0; k < elements.length; k++) {
+        elements[k] = null;
+    }
+
+    // fire 'notify' event
+    this.trigger('form-submit-notify', [this, options]);
+    return this;
+
+    // utility fn for deep serialization
+    function deepSerialize(extraData){
+        var serialized = $.param(extraData, options.traditional).split('&');
+        var len = serialized.length;
+        var result = [];
+        var i, part;
+        for (i=0; i < len; i++) {
+            // #252; undo param space replacement
+            serialized[i] = serialized[i].replace(/\+/g,' ');
+            part = serialized[i].split('=');
+            // #278; use array instead of object storage, favoring array serializations
+            result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]);
+        }
+        return result;
+    }
+
+     // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz)
+    function fileUploadXhr(a) {
+        var formdata = new FormData();
+
+        for (var i=0; i < a.length; i++) {
+            formdata.append(a[i].name, a[i].value);
+        }
+
+        if (options.extraData) {
+            var serializedData = deepSerialize(options.extraData);
+            for (i=0; i < serializedData.length; i++) {
+                if (serializedData[i]) {
+                    formdata.append(serializedData[i][0], serializedData[i][1]);
+                }
+            }
+        }
+
+        options.data = null;
+
+        var s = $.extend(true, {}, $.ajaxSettings, options, {
+            contentType: false,
+            processData: false,
+            cache: false,
+            type: method || 'POST'
+        });
+
+        if (options.uploadProgress) {
+            // workaround because jqXHR does not expose upload property
+            s.xhr = function() {
+                var xhr = $.ajaxSettings.xhr();
+                if (xhr.upload) {
+                    xhr.upload.addEventListener('progress', function(event) {
+                        var percent = 0;
+                        var position = event.loaded || event.position; /*event.position is deprecated*/
+                        var total = event.total;
+                        if (event.lengthComputable) {
+                            percent = Math.ceil(position / total * 100);
+                        }
+                        options.uploadProgress(event, position, total, percent);
+                    }, false);
+                }
+                return xhr;
+            };
+        }
+
+        s.data = null;
+        var beforeSend = s.beforeSend;
+        s.beforeSend = function(xhr, o) {
+            //Send FormData() provided by user
+            if (options.formData) {
+                o.data = options.formData;
+            }
+            else {
+                o.data = formdata;
+            }
+            if(beforeSend) {
+                beforeSend.call(this, xhr, o);
+            }
+        };
+        return $.ajax(s);
+    }
+
+    // private function for handling file uploads (hat tip to YAHOO!)
+    function fileUploadIframe(a) {
+        var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
+        var deferred = $.Deferred();
+
+        // #341
+        deferred.abort = function(status) {
+            xhr.abort(status);
+        };
+
+        if (a) {
+            // ensure that every serialized input is still enabled
+            for (i=0; i < elements.length; i++) {
+                el = $(elements[i]);
+                if ( hasProp ) {
+                    el.prop('disabled', false);
+                }
+                else {
+                    el.removeAttr('disabled');
+                }
+            }
+        }
+
+        s = $.extend(true, {}, $.ajaxSettings, options);
+        s.context = s.context || s;
+        id = 'jqFormIO' + (new Date().getTime());
+        if (s.iframeTarget) {
+            $io = $(s.iframeTarget);
+            n = $io.attr2('name');
+            if (!n) {
+                $io.attr2('name', id);
+            }
+            else {
+                id = n;
+            }
+        }
+        else {
+            $io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
+            $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });
+        }
+        io = $io[0];
+
+
+        xhr = { // mock object
+            aborted: 0,
+            responseText: null,
+            responseXML: null,
+            status: 0,
+            statusText: 'n/a',
+            getAllResponseHeaders: function() {},
+            getResponseHeader: function() {},
+            setRequestHeader: function() {},
+            abort: function(status) {
+                var e = (status === 'timeout' ? 'timeout' : 'aborted');
+                log('aborting upload... ' + e);
+                this.aborted = 1;
+
+                try { // #214, #257
+                    if (io.contentWindow.document.execCommand) {
+                        io.contentWindow.document.execCommand('Stop');
+                    }
+                }
+                catch(ignore) {}
+
+                $io.attr('src', s.iframeSrc); // abort op in progress
+                xhr.error = e;
+                if (s.error) {
+                    s.error.call(s.context, xhr, e, status);
+                }
+                if (g) {
+                    $.event.trigger("ajaxError", [xhr, s, e]);
+                }
+                if (s.complete) {
+                    s.complete.call(s.context, xhr, e);
+                }
+            }
+        };
+
+        g = s.global;
+        // trigger ajax global events so that activity/block indicators work like normal
+        if (g && 0 === $.active++) {
+            $.event.trigger("ajaxStart");
+        }
+        if (g) {
+            $.event.trigger("ajaxSend", [xhr, s]);
+        }
+
+        if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
+            if (s.global) {
+                $.active--;
+            }
+            deferred.reject();
+            return deferred;
+        }
+        if (xhr.aborted) {
+            deferred.reject();
+            return deferred;
+        }
+
+        // add submitting element to data if we know it
+        sub = form.clk;
+        if (sub) {
+            n = sub.name;
+            if (n && !sub.disabled) {
+                s.extraData = s.extraData || {};
+                s.extraData[n] = sub.value;
+                if (sub.type == "image") {
+                    s.extraData[n+'.x'] = form.clk_x;
+                    s.extraData[n+'.y'] = form.clk_y;
+                }
+            }
+        }
+
+        var CLIENT_TIMEOUT_ABORT = 1;
+        var SERVER_ABORT = 2;
+                
+        function getDoc(frame) {
+            /* it looks like contentWindow or contentDocument do not
+             * carry the protocol property in ie8, when running under ssl
+             * frame.document is the only valid response document, since
+             * the protocol is know but not on the other two objects. strange?
+             * "Same origin policy" http://en.wikipedia.org/wiki/Same_origin_policy
+             */
+            
+            var doc = null;
+            
+            // IE8 cascading access check
+            try {
+                if (frame.contentWindow) {
+                    doc = frame.contentWindow.document;
+                }
+            } catch(err) {
+                // IE8 access denied under ssl & missing protocol
+                log('cannot get iframe.contentWindow document: ' + err);
+            }
+
+            if (doc) { // successful getting content
+                return doc;
+            }
+
+            try { // simply checking may throw in ie8 under ssl or mismatched protocol
+                doc = frame.contentDocument ? frame.contentDocument : frame.document;
+            } catch(err) {
+                // last attempt
+                log('cannot get iframe.contentDocument: ' + err);
+                doc = frame.document;
+            }
+            return doc;
+        }
+
+        // Rails CSRF hack (thanks to Yvan Barthelemy)
+        var csrf_token = $('meta[name=csrf-token]').attr('content');
+        var csrf_param = $('meta[name=csrf-param]').attr('content');
+        if (csrf_param && csrf_token) {
+            s.extraData = s.extraData || {};
+            s.extraData[csrf_param] = csrf_token;
+        }
+
+        // take a breath so that pending repaints get some cpu time before the upload starts
+        function doSubmit() {
+            // make sure form attrs are set
+            var t = $form.attr2('target'), 
+                a = $form.attr2('action'), 
+                mp = 'multipart/form-data',
+                et = $form.attr('enctype') || $form.attr('encoding') || mp;
+
+            // update form attrs in IE friendly way
+            form.setAttribute('target',id);
+            if (!method || /post/i.test(method) ) {
+                form.setAttribute('method', 'POST');
+            }
+            if (a != s.url) {
+                form.setAttribute('action', s.url);
+            }
+
+            // ie borks in some cases when setting encoding
+            if (! s.skipEncodingOverride && (!method || /post/i.test(method))) {
+                $form.attr({
+                    encoding: 'multipart/form-data',
+                    enctype:  'multipart/form-data'
+                });
+            }
+
+            // support timout
+            if (s.timeout) {
+                timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
+            }
+
+            // look for server aborts
+            function checkState() {
+                try {
+                    var state = getDoc(io).readyState;
+                    log('state = ' + state);
+                    if (state && state.toLowerCase() == 'uninitialized') {
+                        setTimeout(checkState,50);
+                    }
+                }
+                catch(e) {
+                    log('Server abort: ' , e, ' (', e.name, ')');
+                    cb(SERVER_ABORT);
+                    if (timeoutHandle) {
+                        clearTimeout(timeoutHandle);
+                    }
+                    timeoutHandle = undefined;
+                }
+            }
+
+            // add "extra" data to form if provided in options
+            var extraInputs = [];
+            try {
+                if (s.extraData) {
+                    for (var n in s.extraData) {
+                        if (s.extraData.hasOwnProperty(n)) {
+                           // if using the $.param format that allows for multiple values with the same name
+                           if($.isPlainObject(s.extraData[n]) && s.extraData[n].hasOwnProperty('name') && s.extraData[n].hasOwnProperty('value')) {
+                               extraInputs.push(
+                               $('<input type="hidden" name="'+s.extraData[n].name+'">').val(s.extraData[n].value)
+                                   .appendTo(form)[0]);
+                           } else {
+                               extraInputs.push(
+                               $('<input type="hidden" name="'+n+'">').val(s.extraData[n])
+                                   .appendTo(form)[0]);
+                           }
+                        }
+                    }
+                }
+
+                if (!s.iframeTarget) {
+                    // add iframe to doc and submit the form
+                    $io.appendTo('body');
+                }
+                if (io.attachEvent) {
+                    io.attachEvent('onload', cb);
+                }
+                else {
+                    io.addEventListener('load', cb, false);
+                }
+                setTimeout(checkState,15);
+
+                try {
+                    form.submit();
+                } catch(err) {
+                    // just in case form has element with name/id of 'submit'
+                    var submitFn = document.createElement('form').submit;
+                    submitFn.apply(form);
+                }
+            }
+            finally {
+                // reset attrs and remove "extra" input elements
+                form.setAttribute('action',a);
+                form.setAttribute('enctype', et); // #380
+                if(t) {
+                    form.setAttribute('target', t);
+                } else {
+                    $form.removeAttr('target');
+                }
+                $(extraInputs).remove();
+            }
+        }
+
+        if (s.forceSync) {
+            doSubmit();
+        }
+        else {
+            setTimeout(doSubmit, 10); // this lets dom updates render
+        }
+
+        var data, doc, domCheckCount = 50, callbackProcessed;
+
+        function cb(e) {
+            if (xhr.aborted || callbackProcessed) {
+                return;
+            }
+            
+            doc = getDoc(io);
+            if(!doc) {
+                log('cannot access response document');
+                e = SERVER_ABORT;
+            }
+            if (e === CLIENT_TIMEOUT_ABORT && xhr) {
+                xhr.abort('timeout');
+                deferred.reject(xhr, 'timeout');
+                return;
+            }
+            else if (e == SERVER_ABORT && xhr) {
+                xhr.abort('server abort');
+                deferred.reject(xhr, 'error', 'server abort');
+                return;
+            }
+
+            if (!doc || doc.location.href == s.iframeSrc) {
+                // response not received yet
+                if (!timedOut) {
+                    return;
+                }
+            }
+            if (io.detachEvent) {
+                io.detachEvent('onload', cb);
+            }
+            else {
+                io.removeEventListener('load', cb, false);
+            }
+
+            var status = 'success', errMsg;
+            try {
+                if (timedOut) {
+                    throw 'timeout';
+                }
+
+                var isXml = s.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc);
+                log('isXml='+isXml);
+                if (!isXml && window.opera && (doc.body === null || !doc.body.innerHTML)) {
+                    if (--domCheckCount) {
+                        // in some browsers (Opera) the iframe DOM is not always traversable when
+                        // the onload callback fires, so we loop a bit to accommodate
+                        log('requeing onLoad callback, DOM not available');
+                        setTimeout(cb, 250);
+                        return;
+                    }
+                    // let this fall through because server response could be an empty document
+                    //log('Could not access iframe DOM after mutiple tries.');
+                    //throw 'DOMException: not available';
+                }
+
+                //log('response detected');
+                var docRoot = doc.body ? doc.body : doc.documentElement;
+                xhr.responseText = docRoot ? docRoot.innerHTML : null;
+                xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
+                if (isXml) {
+                    s.dataType = 'xml';
+                }
+                xhr.getResponseHeader = function(header){
+                    var headers = {'content-type': s.dataType};
+                    return headers[header.toLowerCase()];
+                };
+                // support for XHR 'status' & 'statusText' emulation :
+                if (docRoot) {
+                    xhr.status = Number( docRoot.getAttribute('status') ) || xhr.status;
+                    xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
+                }
+
+                var dt = (s.dataType || '').toLowerCase();
+                var scr = /(json|script|text)/.test(dt);
+                if (scr || s.textarea) {
+                    // see if user embedded response in textarea
+                    var ta = doc.getElementsByTagName('textarea')[0];
+                    if (ta) {
+                        xhr.responseText = ta.value;
+                        // support for XHR 'status' & 'statusText' emulation :
+                        xhr.status = Number( ta.getAttribute('status') ) || xhr.status;
+                        xhr.statusText = ta.getAttribute('statusText') || xhr.statusText;
+                    }
+                    else if (scr) {
+                        // account for browsers injecting pre around json response
+                        var pre = doc.getElementsByTagName('pre')[0];
+                        var b = doc.getElementsByTagName('body')[0];
+                        if (pre) {
+                            xhr.responseText = pre.textContent ? pre.textContent : pre.innerText;
+                        }
+                        else if (b) {
+                            xhr.responseText = b.textContent ? b.textContent : b.innerText;
+                        }
+                    }
+                }
+                else if (dt == 'xml' && !xhr.responseXML && xhr.responseText) {
+                    xhr.responseXML = toXml(xhr.responseText);
+                }
+
+                try {
+                    data = httpData(xhr, dt, s);
+                }
+                catch (err) {
+                    status = 'parsererror';
+                    xhr.error = errMsg = (err || status);
+                }
+            }
+            catch (err) {
+                log('error caught: ',err);
+                status = 'error';
+                xhr.error = errMsg = (err || status);
+            }
+
+            if (xhr.aborted) {
+                log('upload aborted');
+                status = null;
+            }
+
+            if (xhr.status) { // we've set xhr.status
+                status = (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) ? 'success' : 'error';
+            }
+
+            // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
+            if (status === 'success') {
+                if (s.success) {
+                    s.success.call(s.context, data, 'success', xhr);
+                }
+                deferred.resolve(xhr.responseText, 'success', xhr);
+                if (g) {
+                    $.event.trigger("ajaxSuccess", [xhr, s]);
+                }
+            }
+            else if (status) {
+                if (errMsg === undefined) {
+                    errMsg = xhr.statusText;
+                }
+                if (s.error) {
+                    s.error.call(s.context, xhr, status, errMsg);
+                }
+                deferred.reject(xhr, 'error', errMsg);
+                if (g) {
+                    $.event.trigger("ajaxError", [xhr, s, errMsg]);
+                }
+            }
+
+            if (g) {
+                $.event.trigger("ajaxComplete", [xhr, s]);
+            }
+
+            if (g && ! --$.active) {
+                $.event.trigger("ajaxStop");
+            }
+
+            if (s.complete) {
+                s.complete.call(s.context, xhr, status);
+            }
+
+            callbackProcessed = true;
+            if (s.timeout) {
+                clearTimeout(timeoutHandle);
+            }
+
+            // clean up
+            setTimeout(function() {
+                if (!s.iframeTarget) {
+                    $io.remove();
+                }
+                else { //adding else to clean up existing iframe response.
+                    $io.attr('src', s.iframeSrc);
+                }
+                xhr.responseXML = null;
+            }, 100);
+        }
+
+        var toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)
+            if (window.ActiveXObject) {
+                doc = new ActiveXObject('Microsoft.XMLDOM');
+                doc.async = 'false';
+                doc.loadXML(s);
+            }
+            else {
+                doc = (new DOMParser()).parseFromString(s, 'text/xml');
+            }
+            return (doc && doc.documentElement && doc.documentElement.nodeName != 'parsererror') ? doc : null;
+        };
+        var parseJSON = $.parseJSON || function(s) {
+            /*jslint evil:true */
+            return window['eval']('(' + s + ')');
+        };
+
+        var httpData = function( xhr, type, s ) { // mostly lifted from jq1.4.4
+
+            var ct = xhr.getResponseHeader('content-type') || '',
+                xml = type === 'xml' || !type && ct.indexOf('xml') >= 0,
+                data = xml ? xhr.responseXML : xhr.responseText;
+
+            if (xml && data.documentElement.nodeName === 'parsererror') {
+                if ($.error) {
+                    $.error('parsererror');
+                }
+            }
+            if (s && s.dataFilter) {
+                data = s.dataFilter(data, type);
+            }
+            if (typeof data === 'string') {
+                if (type === 'json' || !type && ct.indexOf('json') >= 0) {
+                    data = parseJSON(data);
+                } else if (type === "script" || !type && ct.indexOf("javascript") >= 0) {
+                    $.globalEval(data);
+                }
+            }
+            return data;
+        };
+
+        return deferred;
+    }
+};
+
+/**
+ * ajaxForm() provides a mechanism for fully automating form submission.
+ *
+ * The advantages of using this method instead of ajaxSubmit() are:
+ *
+ * 1: This method will include coordinates for <input type="image" /> elements (if the element
+ *    is used to submit the form).
+ * 2. This method will include the submit element's name/value data (for the element that was
+ *    used to submit the form).
+ * 3. This method binds the submit() method to the form for you.
+ *
+ * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely
+ * passes the options argument along after properly binding events for submit elements and
+ * the form itself.
+ */
+$.fn.ajaxForm = function(options) {
+    options = options || {};
+    options.delegation = options.delegation && $.isFunction($.fn.on);
+
+    // in jQuery 1.3+ we can fix mistakes with the ready state
+    if (!options.delegation && this.length === 0) {
+        var o = { s: this.selector, c: this.context };
+        if (!$.isReady && o.s) {
+            log('DOM not ready, queuing ajaxForm');
+            $(function() {
+                $(o.s,o.c).ajaxForm(options);
+            });
+            return this;
+        }
+        // is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
+        log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
+        return this;
+    }
+
+    if ( options.delegation ) {
+        $(document)
+            .off('submit.form-plugin', this.selector, doAjaxSubmit)
+            .off('click.form-plugin', this.selector, captureSubmittingElement)
+            .on('submit.form-plugin', this.selector, options, doAjaxSubmit)
+            .on('click.form-plugin', this.selector, options, captureSubmittingElement);
+        return this;
+    }
+
+    return this.ajaxFormUnbind()
+        .bind('submit.form-plugin', options, doAjaxSubmit)
+        .bind('click.form-plugin', options, captureSubmittingElement);
+};
+
+// private event handlers
+function doAjaxSubmit(e) {
+    /*jshint validthis:true */
+    var options = e.data;
+    if (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed
+        e.preventDefault();
+        $(e.target).ajaxSubmit(options); // #365
+    }
+}
+
+function captureSubmittingElement(e) {
+    /*jshint validthis:true */
+    var target = e.target;
+    var $el = $(target);
+    if (!($el.is("[type=submit],[type=image]"))) {
+        // is this a child element of the submit el?  (ex: a span within a button)
+        var t = $el.closest('[type=submit]');
+        if (t.length === 0) {
+            return;
+        }
+        target = t[0];
+    }
+    var form = this;
+    form.clk = target;
+    if (target.type == 'image') {
+        if (e.offsetX !== undefined) {
+            form.clk_x = e.offsetX;
+            form.clk_y = e.offsetY;
+        } else if (typeof $.fn.offset == 'function') {
+            var offset = $el.offset();
+            form.clk_x = e.pageX - offset.left;
+            form.clk_y = e.pageY - offset.top;
+        } else {
+            form.clk_x = e.pageX - target.offsetLeft;
+            form.clk_y = e.pageY - target.offsetTop;
+        }
+    }
+    // clear form vars
+    setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 100);
+}
+
+
+// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
+$.fn.ajaxFormUnbind = function() {
+    return this.unbind('submit.form-plugin click.form-plugin');
+};
+
+/**
+ * formToArray() gathers form element data into an array of objects that can
+ * be passed to any of the following ajax functions: $.get, $.post, or load.
+ * Each object in the array has both a 'name' and 'value' property.  An example of
+ * an array for a simple login form might be:
+ *
+ * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
+ *
+ * It is this array that is passed to pre-submit callback functions provided to the
+ * ajaxSubmit() and ajaxForm() methods.
+ */
+$.fn.formToArray = function(semantic, elements) {
+    var a = [];
+    if (this.length === 0) {
+        return a;
+    }
+
+    var form = this[0];
+    var formId = this.attr('id');
+    var els = semantic ? form.getElementsByTagName('*') : form.elements;
+    var els2;
+
+    if (els && !/MSIE [678]/.test(navigator.userAgent)) { // #390
+        els = $(els).get();  // convert to standard array
+    }
+
+    // #386; account for inputs outside the form which use the 'form' attribute
+    if ( formId ) {
+        els2 = $(':input[form="' + formId + '"]').get(); // hat tip @thet
+        if ( els2.length ) {
+            els = (els || []).concat(els2);
+        }
+    }
+
+    if (!els || !els.length) {
+        return a;
+    }
+
+    var i,j,n,v,el,max,jmax;
+    for(i=0, max=els.length; i < max; i++) {
+        el = els[i];
+        n = el.name;
+        if (!n || el.disabled) {
+            continue;
+        }
+
+        if (semantic && form.clk && el.type == "image") {
+            // handle image inputs on the fly when semantic == true
+            if(form.clk == el) {
+                a.push({name: n, value: $(el).val(), type: el.type });
+                a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
+            }
+            continue;
+        }
+
+        v = $.fieldValue(el, true);
+        if (v && v.constructor == Array) {
+            if (elements) {
+                elements.push(el);
+            }
+            for(j=0, jmax=v.length; j < jmax; j++) {
+                a.push({name: n, value: v[j]});
+            }
+        }
+        else if (feature.fileapi && el.type == 'file') {
+            if (elements) {
+                elements.push(el);
+            }
+            var files = el.files;
+            if (files.length) {
+                for (j=0; j < files.length; j++) {
+                    a.push({name: n, value: files[j], type: el.type});
+                }
+            }
+            else {
+                // #180
+                a.push({ name: n, value: '', type: el.type });
+            }
+        }
+        else if (v !== null && typeof v != 'undefined') {
+            if (elements) {
+                elements.push(el);
+            }
+            a.push({name: n, value: v, type: el.type, required: el.required});
+        }
+    }
+
+    if (!semantic && form.clk) {
+        // input type=='image' are not found in elements array! handle it here
+        var $input = $(form.clk), input = $input[0];
+        n = input.name;
+        if (n && !input.disabled && input.type == 'image') {
+            a.push({name: n, value: $input.val()});
+            a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
+        }
+    }
+    return a;
+};
+
+/**
+ * Serializes form data into a 'submittable' string. This method will return a string
+ * in the format: name1=value1&amp;name2=value2
+ */
+$.fn.formSerialize = function(semantic) {
+    //hand off to jQuery.param for proper encoding
+    return $.param(this.formToArray(semantic));
+};
+
+/**
+ * Serializes all field elements in the jQuery object into a query string.
+ * This method will return a string in the format: name1=value1&amp;name2=value2
+ */
+$.fn.fieldSerialize = function(successful) {
+    var a = [];
+    this.each(function() {
+        var n = this.name;
+        if (!n) {
+            return;
+        }
+        var v = $.fieldValue(this, successful);
+        if (v && v.constructor == Array) {
+            for (var i=0,max=v.length; i < max; i++) {
+                a.push({name: n, value: v[i]});
+            }
+        }
+        else if (v !== null && typeof v != 'undefined') {
+            a.push({name: this.name, value: v});
+        }
+    });
+    //hand off to jQuery.param for proper encoding
+    return $.param(a);
+};
+
+/**
+ * Returns the value(s) of the element in the matched set.  For example, consider the following form:
+ *
+ *  <form><fieldset>
+ *      <input name="A" type="text" />
+ *      <input name="A" type="text" />
+ *      <input name="B" type="checkbox" value="B1" />
+ *      <input name="B" type="checkbox" value="B2"/>
+ *      <input name="C" type="radio" value="C1" />
+ *      <input name="C" type="radio" value="C2" />
+ *  </fieldset></form>
+ *
+ *  var v = $('input[type=text]').fieldValue();
+ *  // if no values are entered into the text inputs
+ *  v == ['','']
+ *  // if values entered into the text inputs are 'foo' and 'bar'
+ *  v == ['foo','bar']
+ *
+ *  var v = $('input[type=checkbox]').fieldValue();
+ *  // if neither checkbox is checked
+ *  v === undefined
+ *  // if both checkboxes are checked
+ *  v == ['B1', 'B2']
+ *
+ *  var v = $('input[type=radio]').fieldValue();
+ *  // if neither radio is checked
+ *  v === undefined
+ *  // if first radio is checked
+ *  v == ['C1']
+ *
+ * The successful argument controls whether or not the field element must be 'successful'
+ * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
+ * The default value of the successful argument is true.  If this value is false the value(s)
+ * for each element is returned.
+ *
+ * Note: This method *always* returns an array.  If no valid value can be determined the
+ *    array will be empty, otherwise it will contain one or more values.
+ */
+$.fn.fieldValue = function(successful) {
+    for (var val=[], i=0, max=this.length; i < max; i++) {
+        var el = this[i];
+        var v = $.fieldValue(el, successful);
+        if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
+            continue;
+        }
+        if (v.constructor == Array) {
+            $.merge(val, v);
+        }
+        else {
+            val.push(v);
+        }
+    }
+    return val;
+};
+
+/**
+ * Returns the value of the field element.
+ */
+$.fieldValue = function(el, successful) {
+    var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
+    if (successful === undefined) {
+        successful = true;
+    }
+
+    if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
+        (t == 'checkbox' || t == 'radio') && !el.checked ||
+        (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
+        tag == 'select' && el.selectedIndex == -1)) {
+            return null;
+    }
+
+    if (tag == 'select') {
+        var index = el.selectedIndex;
+        if (index < 0) {
+            return null;
+        }
+        var a = [], ops = el.options;
+        var one = (t == 'select-one');
+        var max = (one ? index+1 : ops.length);
+        for(var i=(one ? index : 0); i < max; i++) {
+            var op = ops[i];
+            if (op.selected) {
+                var v = op.value;
+                if (!v) { // extra pain for IE...
+                    v = (op.attributes && op.attributes.value && !(op.attributes.value.specified)) ? op.text : op.value;
+                }
+                if (one) {
+                    return v;
+                }
+                a.push(v);
+            }
+        }
+        return a;
+    }
+    return $(el).val();
+};
+
+/**
+ * Clears the form data.  Takes the following actions on the form's input fields:
+ *  - input text fields will have their 'value' property set to the empty string
+ *  - select elements will have their 'selectedIndex' property set to -1
+ *  - checkbox and radio inputs will have their 'checked' property set to false
+ *  - inputs of type submit, button, reset, and hidden will *not* be effected
+ *  - button elements will *not* be effected
+ */
+$.fn.clearForm = function(includeHidden) {
+    return this.each(function() {
+        $('input,select,textarea', this).clearFields(includeHidden);
+    });
+};
+
+/**
+ * Clears the selected form elements.
+ */
+$.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
+    var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list
+    return this.each(function() {
+        var t = this.type, tag = this.tagName.toLowerCase();
+        if (re.test(t) || tag == 'textarea') {
+            this.value = '';
+        }
+        else if (t == 'checkbox' || t == 'radio') {
+            this.checked = false;
+        }
+        else if (tag == 'select') {
+            this.selectedIndex = -1;
+        }
+        else if (t == "file") {
+            if (/MSIE/.test(navigator.userAgent)) {
+                $(this).replaceWith($(this).clone(true));
+            } else {
+                $(this).val('');
+            }
+        }
+        else if (includeHidden) {
+            // includeHidden can be the value true, or it can be a selector string
+            // indicating a special test; for example:
+            //  $('#myForm').clearForm('.special:hidden')
+            // the above would clean hidden inputs that have the class of 'special'
+            if ( (includeHidden === true && /hidden/.test(t)) ||
+                 (typeof includeHidden == 'string' && $(this).is(includeHidden)) ) {
+                this.value = '';
+            }
+        }
+    });
+};
+
+/**
+ * Resets the form data.  Causes all form elements to be reset to their original value.
+ */
+$.fn.resetForm = function() {
+    return this.each(function() {
+        // guard against an input with the name of 'reset'
+        // note that IE reports the reset function as an 'object'
+        if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType)) {
+            this.reset();
+        }
+    });
+};
+
+/**
+ * Enables or disables any matching elements.
+ */
+$.fn.enable = function(b) {
+    if (b === undefined) {
+        b = true;
+    }
+    return this.each(function() {
+        this.disabled = !b;
+    });
+};
+
+/**
+ * Checks/unchecks any matching checkboxes or radio buttons and
+ * selects/deselects and matching option elements.
+ */
+$.fn.selected = function(select) {
+    if (select === undefined) {
+        select = true;
+    }
+    return this.each(function() {
+        var t = this.type;
+        if (t == 'checkbox' || t == 'radio') {
+            this.checked = select;
+        }
+        else if (this.tagName.toLowerCase() == 'option') {
+            var $sel = $(this).parent('select');
+            if (select && $sel[0] && $sel[0].type == 'select-one') {
+                // deselect all other options
+                $sel.find('option').selected(false);
+            }
+            this.selected = select;
+        }
+    });
+};
+
+// expose debug var
+$.fn.ajaxSubmit.debug = false;
+
+// helper fn for console logging
+function log() {
+    if (!$.fn.ajaxSubmit.debug) {
+        return;
+    }
+    var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
+    if (window.console && window.console.log) {
+        window.console.log(msg);
+    }
+    else if (window.opera && window.opera.postError) {
+        window.opera.postError(msg);
+    }
+}
+
+
+/* - ++resource++plone.app.jquerytools.overlayhelpers.js - */
+// https://docs.it4i.cz/portal_javascripts/++resource++plone.app.jquerytools.overlayhelpers.js?original=1
+var pb={spinner:{},overlay_counter:1};jQuery.tools.overlay.conf.oneInstance=false;(function($){jQuery.tools.overlay.addEffect('default',
+function(pos,onLoad){var conf=this.getConf(),w=$(window),ovl=this.getOverlay(),op=ovl.parent().offsetParent().offset();if(!conf.fixed){pos.top+=w.scrollTop()-op.top;pos.left+=w.scrollLeft()-op.left}
+pos.position=conf.fixed?'fixed':'absolute';ovl.css(pos).fadeIn(conf.speed,onLoad)}, function(onClose){this.getOverlay().fadeOut(this.getConf().closeSpeed,onClose)});pb.spinner.show=function(){$('body').css('cursor','wait')};pb.spinner.hide=function(){$('body').css('cursor','')}}(jQuery));jQuery(function($){$.fn.prepOverlay=function(pba){return this.each(function(){var o,pbo,config,onBeforeLoad,onLoad,src,parts;o=$(this);pbo=$.extend(true,{'width':'60%'},pba);config=pbo.config||{};onBeforeLoad=pb[pbo.subtype];if(onBeforeLoad){config.onBeforeLoad=onBeforeLoad}
+onLoad=config.onLoad;config.onLoad=function(){if(onLoad){onLoad.apply(this,arguments)}
+pb.fi_focus(this.getOverlay())};src=o.attr('href')||o.attr('src')||o.attr('action');if(pbo.urlmatch){src=src.replace(new RegExp(pbo.urlmatch),pbo.urlreplace)}
+if(pbo.subtype==='inline'){src=src.replace(/^.+#/,'#');$("[id='"+src.replace('#','')+"']").addClass('overlay');o.removeAttr('href').attr('rel',src);o.overlay()} else{pbo.nt='pb_'+pb.overlay_counter;pb.overlay_counter+=1;pbo.selector=pbo.filter||pbo.selector;if(!pbo.selector){parts=src.split(' ');src=parts.shift();pbo.selector=parts.join(' ')}
+pbo.src=src;pbo.config=config;pbo.source=o;pb.remove_overlay(o);o.data('pbo',pbo);o.attr('rel','#'+pbo.nt);o.addClass('link-overlay');switch(pbo.subtype){case 'image':o.click(pb.image_click);break;case 'ajax':o.click(pb.ajax_click);break;case 'iframe':pb.create_content_div(pbo);o.overlay(config);break;default:throw "Unsupported overlay type"}
+o.css('cursor','pointer')}})};pb.remove_overlay=function(o){var old_data=o.data('pbo');if(old_data){switch(old_data.subtype){case 'image':o.unbind('click',pb.image_click);break;case 'ajax':o.unbind('click',pb.ajax_click);break;default:o.unbind('click');break}
+if(old_data.nt){$('#'+old_data.nt).remove()}}};pb.create_content_div=function(pbo,trigger){var content,close_message,pbw=pbo.width;if(typeof close_box_message==='undefined'){close_message='Close this box.'} else{close_message=close_box_message}
+content=$('<div id="'+pbo.nt+'" class="overlay overlay-'+pbo.subtype+' '+(pbo.cssclass||'')+'"><div class="close"><a href="#" class="hiddenStructure" title="Close this box">'+close_message+'</a></div></div>');content.data('pbo',pbo);if(pbw){if(pbw.indexOf('%')>0){content.width(parseInt(pbw,10)/100 * $(window).width())} else{content.width(pbw)}}
+content.appendTo($("body"));return content};pb.image_click=function(event){var ethis,content,api,img,el,pbo;ethis=$(this);pbo=ethis.data('pbo');content=$(ethis.attr('rel'));if(!content.length){content=pb.create_content_div(pbo);content.overlay(pbo.config)}
+api=content.overlay();if(content.find('img').length===0){if(pbo.src){pb.spinner.show();img=new Image();img.src=pbo.src;el=$(img);content.append(el.addClass('pb-image'));el.load(function(){pb.spinner.hide();api.load()})}} else{api.load()}
+return false};pb.fi_focus=function(jqo){if(!jqo.find("form div.error :input:first").focus().length){jqo.find("form :input:visible:first").focus()}};pb.ajax_error_recover=function(responseText,selector){var tcontent=$('<div/>').append(responseText.replace(/<script(.|\s)*?\/script>/gi,""));return selector?tcontent.find(selector):tcontent};pb.add_ajax_load=function(form){if(form.find('input[name=ajax_load]').length===0){form.prepend($('<input type="hidden" name="ajax_load" value="'+(new Date().getTime())+'" />'))}};pb.prep_ajax_form=function(form){var ajax_parent=form.closest('.pb-ajax'),data_parent=ajax_parent.closest('.overlay-ajax'),pbo=data_parent.data('pbo'),formtarget=pbo.formselector,closeselector=pbo.closeselector,beforepost=pbo.beforepost,afterpost=pbo.afterpost,noform=pbo.noform,api=data_parent.overlay(),selector=pbo.selector,options={};options.beforeSerialize=function(){pb.spinner.show()};if(beforepost){options.beforeSubmit=function(arr,form,options){return beforepost(form,arr,options)}}
+options.success=function(responseText,statusText,xhr,form){$(document).trigger('formOverlayStart',[this,responseText,statusText,xhr,form]);var el,myform,success,target,scripts=[],filteredResponseText;success=statusText==="success"||statusText==="notmodified";if(!success){responseText=responseText.responseText}
+filteredResponseText=responseText.replace(/<script(.|\s)*?\/script>/gi,"");el=$('<div />').append(selector?$('<div />').append(filteredResponseText).find(selector):filteredResponseText);if(success&&afterpost){afterpost(el,data_parent)}
+myform=el.find(formtarget);if(success&&myform.length){ajax_parent.empty().append(el);try{$.buildFragment([responseText],[document],scripts)} catch(e){$.buildFragment([responseText],document,scripts)}
+if(scripts.length){$.each(scripts, function(){$.globalEval(this.text||this.textContent||this.innerHTML||"")})}
+if($.fn.ploneTabInit){el.ploneTabInit()}
+pb.fi_focus(ajax_parent);pb.add_ajax_load(myform);myform.ajaxForm(options);if(closeselector){el.find(closeselector).click(function(event){api.close();return false})}
+$(document).trigger('formOverlayLoadSuccess',[this,myform,api,pb,ajax_parent])} else{if(success){if(typeof noform==="function"){noform=noform(el,pbo)}} else{noform=statusText}
+switch(noform){case 'close':api.close();break;case 'reload':api.close();pb.spinner.show();location.replace(location.href);break;case 'redirect':api.close();pb.spinner.show();target=pbo.redirect;if(typeof target==="function"){target=target(el,responseText,pbo)}
+location.replace(target);break;default:if(el.children()){ajax_parent.empty().append(el)} else{api.close()}
+break}
+$(document).trigger('formOverlayLoadFailure',[this,myform,api,pb,ajax_parent,noform])}
+pb.spinner.hide()};options.error=options.success;pb.add_ajax_load(form);form.ajaxForm(options)};pb.ajax_click=function(event){var ethis=$(this),pbo,content,api,src,el,selector,formtarget,closeselector,sep,scripts=[],e;e=$.Event();e.type="beforeAjaxClickHandled";$(document).trigger(e,[this,event]);if(e.isDefaultPrevented()){return false}
+pbo=ethis.data('pbo');content=pb.create_content_div(pbo,ethis);content.overlay(pbo.config,ethis);api=content.overlay();src=pbo.src;selector=pbo.selector;formtarget=pbo.formselector;closeselector=pbo.closeselector;pb.spinner.show();$(this).find("input.submitting").removeClass('submitting');el=$('div.pb-ajax',content);if(el.length===0){el=$('<div class="pb-ajax" />');content.append(el)}
+if(api.getConf().fixed){el.css('max-height',Math.floor($(window).height() * 0.75))}
+sep=(src.indexOf('?')>=0)?'&':'?';src+=sep+"ajax_load="+(new Date().getTime());if(selector){src+=' '+selector}
+el[0].handle_load_inside_overlay=function(responseText,errorText){var ele,target;ele=$(this);if(errorText==='error'){ele.append(pb.ajax_error_recover(responseText,selector))} else if(!responseText.length){ele.append(ajax_noresponse_message||'No response from server.')}
+ele.wrapInner('<div />');if(formtarget){target=ele.find(formtarget);if(target.length>0){pb.prep_ajax_form(target)}}
+if(closeselector){ele.find(closeselector).click(function(event){api.close();return false})}
+try{$.buildFragment([responseText],[document],scripts)} catch(e){$.buildFragment([responseText],document,scripts)}
+if(scripts.length){$.each(scripts, function(){$.globalEval(this.text||this.textContent||this.innerHTML||"")})}
+if($.fn.ploneTabInit){ele.ploneTabInit()}
+api.onClose=function(){content.remove()};$(document).trigger('loadInsideOverlay',[this,responseText,errorText,api])};el.load(src,null, function(responseText,errorText){el[0].handle_load_inside_overlay.apply(this,[responseText,errorText]);pb.spinner.hide();api.load();return true});return false};pb.iframe=function(){var content,pbo;pb.spinner.show();content=this.getOverlay();pbo=this.getTrigger().data('pbo');if(content.find('iframe').length===0&&pbo.src){content.append('<iframe src="'+pbo.src+'" width="'+content.width()+'" height="'+content.height()+'" onload="pb.spinner.hide()"/>')} else{pb.spinner.hide()}
+return true}});
+
+/* - ++resource++plone.app.jquerytools.dateinput.js - */
+!function($,undefined){function dayAm(year,month){return new Date(year,month+1,0).getDate()}function zeropad(val,len){for(val=""+val,len=len||2;val.length<len;)val="0"+val;return val}function format(formatter,date,text,lang){var d=date.getDate(),D=date.getDay(),m=date.getMonth(),y=date.getFullYear(),flags={d:d,dd:zeropad(d),ddd:LABELS[lang].shortDays[D],dddd:LABELS[lang].days[D],m:m+1,mm:zeropad(m+1),mmm:LABELS[lang].shortMonths[m],mmmm:LABELS[lang].months[m],yy:String(y).slice(2),yyyy:y},ret=formatters[formatter](text,date,flags,lang);return tmpTag.html(ret).html()}function integer(val){return parseInt(val,10)}function isSameDay(d1,d2){return d1.getFullYear()===d2.getFullYear()&&d1.getMonth()==d2.getMonth()&&d1.getDate()==d2.getDate()}function parseDate(val){if(val!==undefined){if(val.constructor==Date)return val;if("string"==typeof val){var els=val.split("-");if(3==els.length)return new Date(integer(els[0]),integer(els[1])-1,integer(els[2]));if(!/^-?\d+$/.test(val))return;val=integer(val)}var date=new Date;return date.setDate(date.getDate()+val),date}}function Dateinput(input,conf){function select(date,conf,e){return input.attr("readonly")?void self.hide(e):(value=date,currYear=date.getFullYear(),currMonth=date.getMonth(),currDay=date.getDate(),e||(e=$.Event("api")),"click"!=e.type||/msie/.test(navigator.userAgent.toLowerCase())||input.focus(),e.type="beforeChange",fire.trigger(e,[date]),void(e.isDefaultPrevented()||(input.val(format(conf.formatter,date,conf.format,conf.lang)),e.type="change",e.target=input[0],fire.trigger(e),input.data("date",date),self.hide(e))))}function onShow(ev){ev.type="onShow",fire.trigger(ev),$(document).on("keydown.d",function(e){if(e.ctrlKey)return!0;var key=e.keyCode;if(8==key||46==key)return input.val(""),self.hide(e);if(27==key||9==key)return self.hide(e);if($(KEYS).index(key)>=0){if(!opened)return self.show(e),e.preventDefault();var days=$("#"+css.weeks+" a"),el=$("."+css.focus),index=days.index(el);return el.removeClass(css.focus),74==key||40==key?index+=7:75==key||38==key?index-=7:76==key||39==key?index+=1:(72==key||37==key)&&(index-=1),index>41?(self.addMonth(),el=$("#"+css.weeks+" a:eq("+(index-42)+")")):0>index?(self.addMonth(-1),el=$("#"+css.weeks+" a:eq("+(index+42)+")")):el=days.eq(index),el.addClass(css.focus),e.preventDefault()}return 34==key?self.addMonth():33==key?self.addMonth(-1):36==key?self.today():(13==key&&($(e.target).is("select")||$("."+css.focus).click()),$([16,17,18,9]).index(key)>=0)}),$(document).on("click.d",function(e){var el=e.target;el.id==css.root||$(el).parents("#"+css.root).length||el==input[0]||trigger&&el==trigger[0]||self.hide(e)})}var trigger,pm,nm,currYear,currMonth,currDay,opened,original,self=this,now=new Date,yearNow=now.getFullYear(),css=conf.css,labels=LABELS[conf.lang],root=$("#"+css.root),title=root.find("#"+css.title),value=input.attr("data-value")||conf.value||input.val(),min=input.attr("min")||conf.min,max=input.attr("max")||conf.max;if(0===min&&(min="0"),value=parseDate(value)||now,min=parseDate(min||new Date(yearNow+conf.yearRange[0],1,1)),max=parseDate(max||new Date(yearNow+conf.yearRange[1]+1,1,-1)),!labels)throw"Dateinput: invalid language: "+conf.lang;if("date"==input.attr("type")){var original=input.clone(),def=original.wrap("<div/>").parent().html(),clone=$(def.replace(/type/i,"type=text data-orig-type"));conf.value&&clone.val(conf.value),input.replaceWith(clone),input=clone}input.addClass(css.input);var fire=input.add(self);if(!root.length){if(root=$("<div><div><a/><div/><a/></div><div><div/><div/></div></div>").hide().css({position:"absolute"}).attr("id",css.root),root.children().eq(0).attr("id",css.head).end().eq(1).attr("id",css.body).children().eq(0).attr("id",css.days).end().eq(1).attr("id",css.weeks).end().end().end().find("a").eq(0).attr("id",css.prev).end().eq(1).attr("id",css.next),title=root.find("#"+css.head).find("div").attr("id",css.title),conf.selectors){var monthSelector=$("<select/>").attr("id",css.month),yearSelector=$("<select/>").attr("id",css.year);title.html(monthSelector.add(yearSelector))}for(var days=root.find("#"+css.days),d=0;7>d;d++)days.append($("<span/>").text(labels.shortDays[(d+conf.firstDay)%7]));$("body").append(root)}conf.trigger&&(trigger=$("<a/>").attr("href","#").addClass(css.trigger).click(function(e){return conf.toggle?self.toggle():self.show(),e.preventDefault()}).insertAfter(input));var weeks=root.find("#"+css.weeks);yearSelector=root.find("#"+css.year),monthSelector=root.find("#"+css.month),$.extend(self,{show:function(e){if(!input.attr("disabled")&&!opened&&(e=e||$.Event(),e.type="onBeforeShow",fire.trigger(e),!e.isDefaultPrevented())){$.each(instances,function(){this.hide()}),opened=!0,monthSelector.off("change").change(function(){self.setValue(integer(yearSelector.val()),integer($(this).val()))}),yearSelector.off("change").change(function(){self.setValue(integer($(this).val()),integer(monthSelector.val()))}),pm=root.find("#"+css.prev).off("click").click(function(){return pm.hasClass(css.disabled)||self.addMonth(-1),!1}),nm=root.find("#"+css.next).off("click").click(function(){return nm.hasClass(css.disabled)||self.addMonth(),!1}),self.setValue(value);var pos=input.offset();return/iPad/i.test(navigator.userAgent)&&(pos.top-=$(window).scrollTop()),root.css({top:pos.top+input.outerHeight(!0)+conf.offset[0],left:pos.left+conf.offset[1]}),conf.speed?root.show(conf.speed,function(){onShow(e)}):(root.show(),onShow(e)),self}},setValue:function(year,month,day){var date=integer(month)>=-1?new Date(integer(year),integer(month),integer(day==undefined||isNaN(day)?1:day)):year||value;if(min>date?date=min:date>max&&(date=max),"string"==typeof year&&(date=parseDate(year)),year=date.getFullYear(),month=date.getMonth(),day=date.getDate(),-1==month?(month=11,year--):12==month&&(month=0,year++),!opened)return select(date,conf),self;currMonth=month,currYear=year,currDay=day;var week,tmp=new Date(year,month,1-conf.firstDay),begin=tmp.getDay(),days=dayAm(year,month),prevDays=dayAm(year,month-1);if(conf.selectors){monthSelector.empty(),$.each(labels.months,function(i,m){min<new Date(year,i+1,1)&&max>new Date(year,i,0)&&monthSelector.append($("<option/>").html(m).attr("value",i))}),yearSelector.empty();for(var yearNow=now.getFullYear(),i=yearNow+conf.yearRange[0];i<yearNow+conf.yearRange[1];i++)min<new Date(i+1,0,1)&&max>new Date(i,0,0)&&yearSelector.append($("<option/>").text(i));monthSelector.val(month),yearSelector.val(year)}else title.html(labels.months[month]+" "+year);weeks.empty(),pm.add(nm).removeClass(css.disabled);for(var a,num,j=begin?0:-7;(begin?42:35)>j;j++)a=$("<a/>"),j%7===0&&(week=$("<div/>").addClass(css.week),weeks.append(week)),begin>j?(a.addClass(css.off),num=prevDays-begin+j+1,date=new Date(year,month-1,num)):j>=begin+days?(a.addClass(css.off),num=j-days-begin+1,date=new Date(year,month+1,num)):(num=j-begin+1,date=new Date(year,month,num),isSameDay(value,date)?a.attr("id",css.current).addClass(css.focus):isSameDay(now,date)&&a.attr("id",css.today)),min&&min>date&&a.add(pm).addClass(css.disabled),max&&date>max&&a.add(nm).addClass(css.disabled),a.attr("href","#"+num).text(num).data("date",date),week.append(a);return weeks.find("a").click(function(e){var el=$(this);return el.hasClass(css.disabled)||($("#"+css.current).removeAttr("id"),el.attr("id",css.current),select(el.data("date"),conf,e)),!1}),css.sunday&&weeks.find("."+css.week).each(function(){var beg=conf.firstDay?7-conf.firstDay:0;$(this).children().slice(beg,beg+1).addClass(css.sunday)}),self},setMin:function(val,fit){return min=parseDate(val),fit&&min>value&&self.setValue(min),self},setMax:function(val,fit){return max=parseDate(val),fit&&value>max&&self.setValue(max),self},today:function(){return self.setValue(now)},addDay:function(amount){return this.setValue(currYear,currMonth,currDay+(amount||1))},addMonth:function(amount){var targetMonth=currMonth+(amount||1),daysInTargetMonth=dayAm(currYear,targetMonth),targetDay=daysInTargetMonth>=currDay?currDay:daysInTargetMonth;return this.setValue(currYear,targetMonth,targetDay)},addYear:function(amount){return this.setValue(currYear+(amount||1),currMonth,currDay)},destroy:function(){input.add(document).off("click.d keydown.d"),root.add(trigger).remove(),input.removeData("dateinput").removeClass(css.input),original&&input.replaceWith(original)},hide:function(e){if(opened){if(e=$.Event(),e.type="onHide",fire.trigger(e),e.isDefaultPrevented())return;$(document).off("click.d keydown.d"),root.hide(),opened=!1}return self},toggle:function(){return self.isOpen()?self.hide():self.show()},getConf:function(){return conf},getInput:function(){return input},getCalendar:function(){return root},getValue:function(dateFormat){return dateFormat?format(conf.formatter,value,dateFormat,conf.lang):value},isOpen:function(){return opened}}),$.each(["onBeforeShow","onShow","change","onHide"],function(i,name){$.isFunction(conf[name])&&$(self).on(name,conf[name]),self[name]=function(fn){return fn&&$(self).on(name,fn),self}}),conf.editable||input.on("focus.d click.d",self.show).keydown(function(e){var key=e.keyCode;return!opened&&$(KEYS).index(key)>=0?(self.show(e),e.preventDefault()):((8==key||46==key)&&input.val(""),e.shiftKey||e.ctrlKey||e.altKey||9==key?!0:e.preventDefault())}),parseDate(input.val())&&select(value,conf)}$.tools=$.tools||{version:"@VERSION"};var tool,instances=[],formatters={},KEYS=[75,76,38,39,74,72,40,37],LABELS={};tool=$.tools.dateinput={conf:{format:"mm/dd/yy",formatter:"default",selectors:!1,yearRange:[-5,5],lang:"en",offset:[0,0],speed:0,firstDay:0,min:undefined,max:undefined,trigger:0,toggle:0,editable:0,css:{prefix:"cal",input:"date",root:0,head:0,title:0,prev:0,next:0,month:0,year:0,days:0,body:0,weeks:0,today:0,current:0,week:0,off:0,sunday:0,focus:0,disabled:0,trigger:0}},addFormatter:function(name,fn){formatters[name]=fn},localize:function(language,labels){$.each(labels,function(key,val){labels[key]=val.split(",")}),LABELS[language]=labels}},tool.localize("en",{months:"January,February,March,April,May,June,July,August,September,October,November,December",shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",days:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",shortDays:"Sun,Mon,Tue,Wed,Thu,Fri,Sat"});var tmpTag=$("<a/>");tool.addFormatter("default",function(text,date,flags){return text.replace(/d{1,4}|m{1,4}|yy(?:yy)?|"[^"]*"|'[^']*'/g,function($0){return $0 in flags?flags[$0]:$0})}),tool.addFormatter("prefixed",function(text,date,flags){return text.replace(/%(d{1,4}|m{1,4}|yy(?:yy)?|"[^"]*"|'[^']*')/g,function($0,$1){return $1 in flags?flags[$1]:$0})}),$.expr[":"].date=function(el){var type=el.getAttribute("type");return type&&"date"==type||!!$(el).data("dateinput")},$.fn.dateinput=function(conf){if(this.data("dateinput"))return this;conf=$.extend(!0,{},tool.conf,conf),$.each(conf.css,function(key,val){val||"prefix"==key||(conf.css[key]=(conf.css.prefix||"")+(val||key))});var els;return this.each(function(){var el=new Dateinput($(this),conf);instances.push(el);var input=el.getInput().data("dateinput",el);els=els?els.add(input):input}),els?els:this}}(jQuery);
+
+/* - ++resource++plone.app.jquerytools.tooltip.js - */
+!function($){function getPosition(trigger,tip,conf){var top=conf.relative?trigger.position().top:trigger.offset().top,left=conf.relative?trigger.position().left:trigger.offset().left,pos=conf.position[0];top-=tip.outerHeight()-conf.offset[0],left+=trigger.outerWidth()+conf.offset[1],/iPad/i.test(navigator.userAgent)&&(top-=$(window).scrollTop());var height=tip.outerHeight()+trigger.outerHeight();"center"==pos&&(top+=height/2),"bottom"==pos&&(top+=height),pos=conf.position[1];var width=tip.outerWidth()+trigger.outerWidth();return"center"==pos&&(left-=width/2),"left"==pos&&(left-=width),{top:top,left:left}}function Tooltip(trigger,conf){var tip,shown,self=this,fire=trigger.add(self),timer=0,pretimer=0,title=trigger.attr("title"),tipAttr=trigger.attr("data-tooltip"),effect=effects[conf.effect],isInput=trigger.is(":input"),isWidget=isInput&&trigger.is(":checkbox, :radio, select, :button, :submit"),type=trigger.attr("type"),evt=conf.events[type]||conf.events[isInput?isWidget?"widget":"input":"def"];if(!effect)throw'Nonexistent effect "'+conf.effect+'"';if(evt=evt.split(/,\s*/),2!=evt.length)throw"Tooltip: bad events configuration for "+type;trigger.on(evt[0],function(e){clearTimeout(timer),conf.predelay?pretimer=setTimeout(function(){self.show(e)},conf.predelay):self.show(e)}).on(evt[1],function(e){clearTimeout(pretimer),conf.delay?timer=setTimeout(function(){self.hide(e)},conf.delay):self.hide(e)}),title&&conf.cancelDefault&&(trigger.removeAttr("title"),trigger.data("title",title)),$.extend(self,{show:function(e){if(!tip&&(tipAttr?tip=$(tipAttr):conf.tip?tip=$(conf.tip).eq(0):title?tip=$(conf.layout).addClass(conf.tipClass).appendTo(document.body).hide().append(title):(tip=trigger.find("."+conf.tipClass),tip.length||(tip=trigger.next()),tip.length||(tip=trigger.parent().next())),!tip.length))throw"Cannot find tooltip for "+trigger;if(self.isShown())return self;tip.stop(!0,!0);var pos=getPosition(trigger,tip,conf);if(conf.tip&&tip.html(trigger.data("title")),e=$.Event(),e.type="onBeforeShow",fire.trigger(e,[pos]),e.isDefaultPrevented())return self;pos=getPosition(trigger,tip,conf),tip.css({position:"absolute",top:pos.top,left:pos.left}),shown=!0,effect[0].call(self,function(){e.type="onShow",shown="full",fire.trigger(e)});var event=conf.events.tooltip.split(/,\s*/);return tip.data("__set")||(tip.off(event[0]).on(event[0],function(){clearTimeout(timer),clearTimeout(pretimer)}),event[1]&&!trigger.is("input:not(:checkbox, :radio), textarea")&&tip.off(event[1]).on(event[1],function(e){e.relatedTarget!=trigger[0]&&trigger.trigger(evt[1].split(" ")[0])}),conf.tip||tip.data("__set",!0)),self},hide:function(e){return tip&&self.isShown()?(e=$.Event(),e.type="onBeforeHide",fire.trigger(e),e.isDefaultPrevented()?void 0:(shown=!1,effects[conf.effect][1].call(self,function(){e.type="onHide",fire.trigger(e)}),self)):self},isShown:function(fully){return fully?"full"==shown:shown},getConf:function(){return conf},getTip:function(){return tip},getTrigger:function(){return trigger}}),$.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(i,name){$.isFunction(conf[name])&&$(self).on(name,conf[name]),self[name]=function(fn){return fn&&$(self).on(name,fn),self}})}$.tools=$.tools||{version:"@VERSION"},$.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(name,loadFn,hideFn){effects[name]=[loadFn,hideFn]}};var effects={toggle:[function(done){var conf=this.getConf(),tip=this.getTip(),o=conf.opacity;1>o&&tip.css({opacity:o}),tip.show(),done.call()},function(done){this.getTip().hide(),done.call()}],fade:[function(done){var conf=this.getConf();!/msie/.test(navigator.userAgent.toLowerCase())||conf.fadeIE?this.getTip().fadeTo(conf.fadeInSpeed,conf.opacity,done):(this.getTip().show(),done())},function(done){var conf=this.getConf();!/msie/.test(navigator.userAgent.toLowerCase())||conf.fadeIE?this.getTip().fadeOut(conf.fadeOutSpeed,done):(this.getTip().hide(),done())}]};$.fn.tooltip=function(conf){var api=this.data("tooltip");return api?api:(conf=$.extend(!0,{},$.tools.tooltip.conf,conf),"string"==typeof conf.position&&(conf.position=conf.position.split(/,?\s/)),this.each(function(){api=new Tooltip($(this),conf),$(this).data("tooltip",api)}),conf.api?api:this)}}(jQuery);
+
+/* - nodeutilities.js - */
+// https://docs.it4i.cz/portal_javascripts/nodeutilities.js?original=1
+function wrapNode(node,wrappertype,wrapperclass){jQuery(node).wrap('<'+wrappertype+'>').parent().addClass(wrapperclass)}
+function nodeContained(innernode,outernode){return jQuery(innernode).parents().filter(function(){return this===outernode}).length>0}
+function findContainer(node,func){var p=jQuery(node).parents().filter(func);return p.length?p.get(0):false}
+function hasClassName(node,class_name){return jQuery(node).hasClass(class_name)}
+function addClassName(node,class_name){jQuery(node).addClass(class_name)}
+function removeClassName(node,class_name){jQuery(node).removeClass(class_name)}
+function replaceClassName(node,old_class,new_class,ignore_missing){if(ignore_missing||jQuery(node).hasClass(old_class)){jQuery(node).removeClass(old_class).addClass(new_class)}}
+function walkTextNodes(node,func,data){jQuery(node).find('*').andSelf().contents().each(function(){if(this.nodeType===3){func(this,data)}})}
+function getInnerTextCompatible(node){return jQuery(node).text()}
+function getInnerTextFast(node){return jQuery(node).text()}
+function sortNodes(nodes,fetch_func,cmp_func){var SortNodeWrapper,items;SortNodeWrapper=function(node){this.value=fetch_func(node);this.cloned_node=node.cloneNode(true)};SortNodeWrapper.prototype.toString=function(){return this.value.toString?this.value.toString():this.value};items=jQuery(nodes).map(function(){return new SortNodeWrapper(this)});if(cmp_func){items.sort(cmp_func)} else{items.sort()}
+jQuery.each(items, function(i){jQuery(nodes[i]).replace(this.cloned_node)})}
+function copyChildNodes(srcNode,dstNode){jQuery(srcNode).children().clone().appendTo(jQuery(dstNode))}
+
+
+/* - cookie_functions.js - */
+// https://docs.it4i.cz/portal_javascripts/cookie_functions.js?original=1
+function createCookie(name,value,days){var date,expires;if(days){date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString()} else{expires=""}
+document.cookie=name+"="+escape(value)+expires+"; path=/;"}
+function readCookie(name){var nameEQ=name+"=",ca=document.cookie.split(';'),i,c;for(i=0;i<ca.length;i=i+1){c=ca[i];while(c.charAt(0)===' '){c=c.substring(1,c.length)}
+if(c.indexOf(nameEQ)===0){return unescape(c.substring(nameEQ.length,c.length))}}
+return null}
+
+
+/* - modernizr.js - */
+// https://docs.it4i.cz/portal_javascripts/modernizr.js?original=1
+;window.Modernizr=function(a,b,c){function H(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=a[b]in l;return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function D(a,b){return!!~(""+a).indexOf(b)}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="2.0.4",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v=function(a,c,d,e){var f,h,j,k=b.createElement("div");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=["&shy;","<style>",a,"</style>"].join(""),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},w=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),x,y={}.hasOwnProperty,z;!C(y,c)&&!C(y.call,c)?z=function(a,b){return y.call(a,b)}:z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)};var G=function(c,d){var f=c.join(""),g=d.length;v(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||j.touch.offsetTop===9,e.csstransforms3d=j.csstransforms3d.offsetLeft===9,e.generatedcontent=j.generatedcontent.offsetHeight>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",o.join("touch-enabled),("),i,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",o.join("transform-3d),("),i,")","{#csstransforms3d{left:9px;position:absolute}}"].join(""),['#generatedcontent:after{content:"',m,'"}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},r.canvastext=function(){return!!e.canvas&&!!C(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return e.touch},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b].toLowerCase()+"IndexedDB"])return!0;return!!a.indexedDB},r.hashchange=function(){return w("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return!!a.history&&!!history.pushState},r.draganddrop=function(){return w("dragstart")&&w("drop")},r.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(https://),url(https://),red url(https://)");return/(url\s*\(.*?){3}/.test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius")},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d);return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){return e.fontface},r.generatedcontent=function(){return e.generatedcontent},r.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}}catch(e){}return c},r.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}catch(d){}return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webworkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var I in r)z(r,I)&&(x=I.toLowerCase(),e[x]=r[I](),u.push((e[x]?"":"no-")+x));e.input||H(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)z(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return;b=typeof b=="boolean"?b:!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},A(""),j=l=null,a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b<g)a.createElement(f[b])}a.iepp=a.iepp||{};var d=a.iepp,e=d.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",f=e.split("|"),g=f.length,h=new RegExp("(^|\\s)("+e+")","gi"),i=new RegExp("<(/*)("+e+")","gi"),j=/^\s*[\{\}]\s*$/,k=new RegExp("(^|[^\\n]*?\\s)("+e+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),l=b.createDocumentFragment(),m=b.documentElement,n=m.firstChild,o=b.createElement("body"),p=b.createElement("style"),q=/print|all/,r;d.getCSS=function(a,b){if(a+""===c)return"";var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,q.test(b)&&h.push(d.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},d.parseCSS=function(a){var b=[],c;while((c=k.exec(a))!=null)b.push(((j.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(h,"$1.iepp_$2")+c[4]);return b.join("\n")},d.writeHTML=function(){var a=-1;r=r||b.body;while(++a<g){var c=b.getElementsByTagName(f[a]),d=c.length,e=-1;while(++e<d)c[e].className.indexOf("iepp_")<0&&(c[e].className+=" iepp_"+f[a])}l.appendChild(r),m.appendChild(o),o.className=r.className,o.id=r.id,o.innerHTML=r.innerHTML.replace(i,"<$1font")},d._beforePrint=function(){p.styleSheet.cssText=d.parseCSS(d.getCSS(b.styleSheets,"all")),d.writeHTML()},d.restoreHTML=function(){o.innerHTML="",m.removeChild(o),m.appendChild(r)},d._afterPrint=function(){d.restoreHTML(),p.styleSheet.cssText=""},s(b),s(l);d.disablePP||(n.insertBefore(p,n.firstChild),p.media="print",p.className="iepp-printshim",a.attachEvent("onbeforeprint",d._beforePrint),a.attachEvent("onafterprint",d._afterPrint))}(a,b),e._version=d,e._prefixes=o,e._domPrefixes=p,e.hasEvent=w,e.testProp=function(a){return E([a])},e.testAllProps=F,e.testStyles=v,g.className=g.className.replace(/\bno-js\b/,"")+(f?" js "+u.join(" "):"");return e}(this,this.document),function(a,b,c){function k(a){return!a||a=="loaded"||a=="complete"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement("script"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement("link"),d;c.href=a.s,c.rel="stylesheet",c.type="text/css",!a.e&&(w||r)?function a(b){m(function(){if(!d)try{b.sheet.cssRules.length?(d=1,j()):a(b)}catch(c){c.code==1e3||c.message=="security"||c.message=="denied"?(d=1,m(function(){j()},0)):a(b)}},0)}(c):(c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload()),m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t=="c"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display="none"),l.width=l.height="0",a!="object"&&(l.type=d),l.onload=l.onreadystatechange=i,a=="img"?l.onerror=i:a=="script"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b=="c"?z:y;q=0,b=b||"j",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)=="[object Opera]",w="webkitAppearance"in l.style,x=w&&"async"in b.createElement("script"),y=r?"object":v||x?"img":"script",z=w?"img":y,A=Array.isArray||function(a){return o.call(a)=="[object Array]"},B=function(a){return typeof a=="object"},C=function(a){return typeof a=="string"},D=function(a){return o.call(a)=="[object Function]"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split("!"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h<e;h++)g=F[b[h]],g&&(f=g(f));for(h=0;h<c;h++)f=E[h](f);return f}function e(a,b,e,g,h){var i=f(a),j=i.autoCallback;if(!i.bypass){b&&(b=D(b)?b:b[a]||b[g]||b[a.split("/").pop().split("?")[0]]);if(i.instead)return i.instead(a,b,e,g,h);e.load(i.url,i.forceCSS||!i.forceJS&&/css$/.test(i.url)?"c":c,i.noexec),(D(b)||D(j))&&e.load(function(){d(),b&&b(i.origUrl,h,g),j&&j(i.origUrl,h,g)})}}function b(a,b){function c(a){if(C(a))e(a,h,b,0,d);else if(B(a))for(i in a)a.hasOwnProperty(i)&&e(a[i],h,b,i,d)}var d=!!a.test,f=d?a.yep:a.nope,g=a.load||a.both,h=a.callback,i;c(f),c(g),a.complete&&b.load(a.complete)}var g,h,i=this.yepnope.loader;if(C(a))e(a,0,i,0);else if(A(a))for(g=0;g<a.length;g++)h=a[g],C(h)?e(h,0,i,0):A(h)?H(h):B(h)&&b(h,i);else B(a)&&b(a,i)},H.addPrefix=function(a,b){F[a]=b},H.addFilter=function(a){E.push(a)},H.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",G=function(){b.removeEventListener("DOMContentLoaded",G,0),b.readyState="complete"},0)),a.yepnope=d()}(this,this.document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
+
+/* - livesearch.js - */
+// https://docs.it4i.cz/portal_javascripts/livesearch.js?original=1
+var livesearch=(function(){var _2=400,_7=400,_0={},_1="LSHighlight";function _5(f,i){var l=null,r=null,c={},re=f.find('div.LSResult'),q=f.attr('action').replace(f.data('action')||'@@search',re.data('livesearch')||'livesearch_reply'),s=f.find('div.LSShadow'),p=f.find('input[name="path"]');function _12(){re.hide();l=null}function _6(){window.setTimeout('livesearch.hide("'+f.attr('id')+'")',_7)}function _11(d){re.show();s.html(d)}function _14(){if(l===i.value){return}l=i.value;if(r&&r.readyState<4){r.abort()}if(i.value.length<2){_12();return}var qu={q:i.value};if(p.length&&p[0].checked){qu.path=p.val()}qu=jQuery.param(qu);if(c[qu]){_11(c[qu]);return}r=jQuery.get(q,qu,function(d){_11(d);c[qu]=d},'text')}function _4(){window.setTimeout('livesearch.search("'+f.attr('id')+'")',_2)}return{hide:_12,hide_delayed:_6,search:_14,search_delayed:_4}}function _3(f){var t=null,re=f.find('div.LSResult'),s=f.find('div.LSShadow');function _16(){var c=s.find('li.LSHighlight').removeClass(_1),p=c.prev('li');if(!p.length){p=s.find('li:last')}p.addClass(_1);return false}function _9(){var c=s.find('li.LSHighlight').removeClass(_1),n=c.next('li');if(!n.length){n=s.find('li:first')}n.addClass(_1);return false}function _8(){s.find('li.LSHighlight').removeClass(_1);re.hide()}function _10(e){window.clearTimeout(t);switch(e.keyCode){case 38:return _16();case 40:return _9();case 27:return _8();case 37:break;case 39:break;default:t=window.setTimeout('livesearch.search("'+f.attr('id')+'")',_2)}}function _13(){var t=s.find('li.LSHighlight a').attr('href');if(!t){return}window.location=t;return false}return{handler:_10,submit:_13}}function _15(i){var i='livesearch'+i,f=jQuery(this).parents('form:first'),k=_3(f);_0[i]=_5(f,this);f.attr('id',i).submit(k.submit);jQuery(this).attr('autocomplete','off').keydown(k.handler).focus(_0[i].search_delayed).blur(_0[i].hide_delayed)}jQuery(function(){jQuery("#searchGadget,input.portlet-search-gadget").each(_15)});return{search:function(id){_0[id].search()},hide:function(id){_0[id].hide()}}}());
+
+/* - ++resource++search.js - */
+// https://docs.it4i.cz/portal_javascripts/++resource++search.js?original=1
+jQuery(function($){var query,pushState,popped,initialURL,$default_res_container=$('#search-results'),$search_filter=$('#search-filter'),$search_field=$('#search-field'),$search_gadget=$('#searchGadget'),$form_search_page=$("form.searchPage"),navigation_root_url=$('link[rel="home"]').attr('href')||window.navigation_root_url||window.portal_url;$.fn.pullSearchResults=function(query){return this.each(function(){var $container=$(this);$.get('@@updated_search',query,
+function(data){$container.hide();var $ajax_search_res=$('<div id="ajax-search-res"></div>').html(data),$search_term=$('#search-term');var $data_res=$ajax_search_res.find('#search-results').children(),data_search_term=$ajax_search_res.find('#updated-search-term').text(),data_res_number=$ajax_search_res.find('#updated-search-results-number').text(),data_sorting_opt=$ajax_search_res.find('#updated-sorting-options').html();$container.html($data_res);$container.fadeIn();if(!$search_term.length){$search_term=$('<strong id="search-term" />').appendTo('h1.documentFirstHeading')}
+$search_term.text(data_search_term);$('#search-results-number').text(data_res_number);$('#search-results-bar').find('#sorting-options').html(data_sorting_opt);$('#rss-subscription').find('a.link-feed').attr('href', function(){return navigation_root_url+'/search_rss?'+query})})})};pushState=function(query){if(Modernizr.history){var url=navigation_root_url+'/@@search?'+query;history.pushState(null,null,url)}};popped=(window.history&&'state' in window.history);initialURL=location.href;$(window).bind('popstate', function(event){var initialPop,str;initialPop=!popped&&location.href===initialURL;popped=true;if(initialPop){return}
+if(!location.search){return}
+query=location.search.split('?')[1];var results=query.match(/SearchableText=[^&]*/);if(results){str=results[0];str=decodeURIComponent(str.replace(/\+/g, ' ')); // we remove '+' used between words
+$.merge($search_field.find('input[name="SearchableText"]'),$search_gadget).val(str.substr(15,str.length));$default_res_container.pullSearchResults(query)}});$search_filter.find('input.searchPage[type="submit"]').hide();$search_field.find('input.searchButton').click(function(e){var st,queryString=location.search.substring(1),re=/([^&=]+)=([^&]*)/g,m,queryParameters=[],key;st=$search_field.find('input[name="SearchableText"]').val();queryParameters.push({"name":"SearchableText","value":st});while(m=re.exec(queryString)){key=decodeURIComponent(m[1]);if(key!=='SearchableText'){queryParameters.push({"name":key,"value":decodeURIComponent(m[2].replace(/\+/g,' '))})}}
+queryString=$.param(queryParameters);$default_res_container.pullSearchResults(queryString);pushState(queryString);e.preventDefault()});$form_search_page.submit(function(e){query=$(this).serialize();$default_res_container.pullSearchResults(query);pushState(query);e.preventDefault()});$search_field.find('input[name="SearchableText"]').keyup(function(){$search_gadget.val($(this).val())});$('#search-results-bar').find('dl.actionMenu > dd.actionMenuContent').click(function(e){e.stopImmediatePropagation()});$search_filter.delegate('input, select','change',
+function(e){query='';if($search_filter.find('input:checked').length>1){query=$form_search_page.serialize()}
+$default_res_container.pullSearchResults(query);pushState(query)});$('#sorting-options').delegate('a','click', function(e){if($(this).attr('data-sort')){$form_search_page.find("input[name='sort_on']").val($(this).attr('data-sort'))}
+else{$form_search_page.find("input[name='sort_on']").val('')}
+query=this.search.split('?')[1];$default_res_container.pullSearchResults(query);pushState(query);e.preventDefault()});$default_res_container.delegate('.listingBar a','click', function(e){query=this.search.split('?')[1];$default_res_container.pullSearchResults(query);pushState(query);e.preventDefault()})});
+
+/* - select_all.js - */
+// https://docs.it4i.cz/portal_javascripts/select_all.js?original=1
+function toggleSelect(selectbutton,id,initialState,formName){if (/MSIE [5-8]\./.test(navigator.userAgent)&&event.type==="change"&&/toggleSelect\(/.test(selectbutton.onchange.toString())){return}
+var fid,state,base;fid=id||'ids:list';state=selectbutton.isSelected;if(state===undefined){state=Boolean(initialState)}
+selectbutton.isSelected=!state;jQuery(selectbutton).attr('src',portal_url+'/select_'+(state?'all':'none')+'_icon.png');base=formName?jQuery(document.forms[formName]):jQuery(document);base.find('input[name="'+fid+'"]:checkbox').prop('checked',!state)}
+
+
+/* - dragdropreorder.js - */
+// https://docs.it4i.cz/portal_javascripts/dragdropreorder.js?original=1
+var ploneDnDReorder={};ploneDnDReorder.dragging=null;ploneDnDReorder.table=null;ploneDnDReorder.rows=null;ploneDnDReorder.locked=false;(function($){ploneDnDReorder.doDown=function(e){var dragging=ploneDnDReorder.dragging,body;if(ploneDnDReorder.locked){return}
+if(dragging){if($(this).attr('id')!==dragging.attr('id')){ploneDnDReorder.locked=true;dragging.removeClass('dragging').addClass('error')}
+return}
+dragging=$(this).parents('.draggable:first');if(!dragging.length){return}
+ploneDnDReorder.rows.mousemove(ploneDnDReorder.doDrag);body=$('body');body.mouseup(ploneDnDReorder.doUp);body.mouseleave(ploneDnDReorder.doCancel);ploneDnDReorder.dragging=dragging;dragging.data('ploneDnDReorder.startPosition',ploneDnDReorder.getPos(dragging));dragging.addClass("dragging");$(this).parents('tr').addClass('dragindicator');dragging.data('ploneDnDReorder.subset_ids',$.map(ploneDnDReorder.table.find('tr.draggable'),
+function(elem){return $(elem).attr('id').substr('folder-contents-item-'.length)}));return false};ploneDnDReorder.getPos=function(node){var pos=node.parent().children('.draggable').index(node[0]);return pos===-1?null:pos};ploneDnDReorder.doDrag=function(e){var dragging=ploneDnDReorder.dragging,target=this;if(!dragging){return}
+if(!target){return}
+if($(target).attr('id')!==dragging.attr('id')){ploneDnDReorder.swapElements($(target),dragging)}
+return false};ploneDnDReorder.swapElements=function(child1,child2){var parent=child1.parent(),items=parent.children('[id]'),t;if(Math.abs(ploneDnDReorder.getPos(child1)-ploneDnDReorder.getPos(child2))!==1){return}
+items.removeClass('even').removeClass('odd');if(child1[0].swapNode){child1[0].swapNode(child2[0])} else{t=parent[0].insertBefore(document.createTextNode(''),child1[0]);child1.insertBefore(child2);child2.insertBefore(t);$(t).remove()}
+parent.children('[id]:odd').addClass('even');parent.children('[id]:even').addClass('odd')};ploneDnDReorder.doUp=function(e){var dragging=ploneDnDReorder.dragging,body=$('body');if(!dragging){return}
+ploneDnDReorder.updatePositionOnServer();dragging.removeData('ploneDnDReorder.startPosition');dragging.removeData('ploneDnDReorder.subset_ids');ploneDnDReorder.rows.unbind('mousemove',ploneDnDReorder.doDrag);body.unbind('mouseup',ploneDnDReorder.doUp);body.unbind('mouseleave',ploneDnDReorder.doCancel);$(this).parents('tr').removeClass('dragindicator');return false};ploneDnDReorder.doCancel=function(e){var dragging=ploneDnDReorder.dragging,body=$('body');if(!dragging){return}
+dragging.removeClass("dragging");dragging.removeClass('dragindicator');if(ploneDnDReorder.getPos(dragging)-dragging.data('ploneDnDReorder.startPosition')){ploneDnDReorder.locked=true;dragging.addClass("error")}
+ploneDnDReorder.rows.unbind('mousemove',ploneDnDReorder.doDrag);body.unbind('mouseup',ploneDnDReorder.doCancel);body.unbind('mouseleave',ploneDnDReorder.doCancel);ploneDnDReorder.dragging=null;return false};ploneDnDReorder.updatePositionOnServer=function(){var dragging=ploneDnDReorder.dragging,delta,args,encoded;if(!dragging){return}
+delta=ploneDnDReorder.getPos(dragging)-dragging.data('ploneDnDReorder.startPosition');if(delta===0){ploneDnDReorder.doCancel.call();return}
+args={item_id:dragging.attr('id').substr('folder-contents-item-'.length),subset_ids:dragging.data('ploneDnDReorder.subset_ids')};args['delta:int']=delta;encoded=$.param(args).replace(/%5B%5D=/g,'%3Alist=');$.ajax({type:'POST',url:'folder_moveitem',data:encoded,complete:ploneDnDReorder.complete});ploneDnDReorder.locked=true};ploneDnDReorder.complete=function(xhr,textStatus){var dragging=ploneDnDReorder.dragging;dragging.removeClass("dragging");dragging.removeClass('dragindicator');if(textStatus==="success"||textStatus==="notmodified"){ploneDnDReorder.locked=false} else{dragging.addClass("error")}
+ploneDnDReorder.dragging=null}}(jQuery));
+function initializeDnDReorder(table_selector){var table=table_selector;ploneDnDReorder.table=jQuery(table);if(!ploneDnDReorder.table.length)
+return;ploneDnDReorder.rows=jQuery(table+" > tr,"+table+" > tbody > tr");jQuery(table+" > tr > td.draggable,"+table+" > tbody > tr > td.draggable").not('.notDraggable').mousedown(ploneDnDReorder.doDown).mouseup(ploneDnDReorder.doUp).addClass("draggingHook").css("cursor","ns-resize").html('&#x28ff;')}
+$(document).ready(function(){initializeDnDReorder('#listing-table')});
+
+/* - mark_special_links.js - */
+// https://docs.it4i.cz/portal_javascripts/mark_special_links.js?original=1
+function scanforlinks(){var elonw,mslinks,url,protocols,contentarea,res;if(typeof external_links_open_new_window==='string'){elonw=external_links_open_new_window.toLowerCase()==='true'} else{elonw=false}
+if(typeof mark_special_links==='string'){mslinks=mark_special_links.toLowerCase()==='true'} else{mslinks=false}
+url=window.location.protocol+'//'+window.location.host;if(elonw){jQuery('a[href^="http"]:not(.link-plain):not([href^="'+url+'"])').attr('target','_blank')}
+if(mslinks){protocols=/^(mailto|ftp|news|irc|h323|sip|callto|https|feed|webcal)/;contentarea=jQuery('#region-content,#content');contentarea.find('a[href^="http"]:not(.link-plain):not([href^="'+url+'"]):not(:has(img))').wrap('<span></span>').parent().addClass('link-external');contentarea.find('a[href]:not([href^="http"]):not(.link-plain):not([href^="'+url+'"]):not(:has(img))').each(function(){res=protocols.exec(this.href);if(res){jQuery(this).wrap('<span></span>').parent().addClass('link-'+res[0])}})}}
+jQuery(scanforlinks);
+
+/* - collapsiblesections.js - */
+// https://docs.it4i.cz/portal_javascripts/collapsiblesections.js?original=1
+function activateCollapsibles(){(function($){$('dl.collapsible:not([class$=Collapsible])').find('dt.collapsibleHeader:first').click(function(){var c=$(this).parents('dl.collapsible:first'),t;if(!c){return true}t=c.hasClass('inline')?'Inline':'Block';c.toggleClass('collapsed'+t+'Collapsible').toggleClass('expanded'+t+'Collapsible')}).end().each(function(){var s=$(this).hasClass('collapsedOnLoad')?'collapsed':'expanded',t=$(this).hasClass('inline')?'Inline':'Block';$(this).removeClass('collapsedOnLoad').addClass(s+t+'Collapsible')})}(jQuery))}jQuery(function($){$(activateCollapsibles)});
+
+/* - form_tabbing.js - */
+// https://docs.it4i.cz/portal_javascripts/form_tabbing.js?original=1
+var ploneFormTabbing={jqtConfig:{current:'selected'},max_tabs:6};(function($){ploneFormTabbing._buildTabs=function(container,legends){var threshold=legends.length>ploneFormTabbing.max_tabs;var panel_ids,tab_ids=[],tabs='';for(var i=0;i<legends.length;i++){var className,tab,legend=legends[i],lid=legend.id;tab_ids[i]='#'+lid;switch(i){case(0):className='class="formTab firstFormTab"';break;case(legends.length-1):className='class="formTab lastFormTab"';break;default:className='class="formTab"';break}
+if(threshold){tab='<option '+className+' id="'+lid+'" value="'+lid+'">';tab+=$(legend).text()+'</option>'} else{tab='<li '+className+'><a id="'+lid+'" href="';tab+=window.location.href+'#'+lid+'"><span>';tab+=$(legend).text()+'</span></a></li>'}
+tabs+=tab;$(legend).css({'visibility':'hidden','font-size':'0','padding':'0','height':'0','width':'0','line-height':'0'})}
+tab_ids=tab_ids.join(',');panel_ids=tab_ids.replace(/#fieldsetlegend-/g,"#fieldset-");if(threshold){tabs=$('<select class="formTabs">'+tabs+'</select>');tabs.change(function(){var selected=$(this).attr('value');$(this).parent().find('option#'+selected).click()})} else{tabs=$('<ul class="formTabs">'+tabs+'</ul>')}
+return tabs};ploneFormTabbing.initializeDL=function(){var ftabs=$(ploneFormTabbing._buildTabs(this,$(this).children('dt')));var targets=$(this).children('dd');$(this).before(ftabs);targets.addClass('formPanel');ftabs.tabs(targets,ploneFormTabbing.jqtConfig)};ploneFormTabbing.initializeForm=function(){var jqForm=$(this);var fieldsets=jqForm.children('fieldset');if(!fieldsets.length){return}
+var ftabs=ploneFormTabbing._buildTabs(this,fieldsets.children('legend'));$(this).prepend(ftabs);fieldsets.addClass("formPanel");$(this).find('input[name="fieldset"]').addClass('noUnloadProtection');$(this).find('.formPanel:has(div.field span.required)').each(function(){var id=this.id.replace(/^fieldset-/,"#fieldsetlegend-");$(id).addClass('required')});var initialIndex=0;var count=0;var found=false;$(this).find('.formPanel').each(function(){if(!found&&$(this).find('div.field.error').length!=0){initialIndex=count;found=true}
+count+=1});var tabSelector='ul.formTabs';if($(ftabs).is('select.formTabs')){tabSelector='select.formTabs'}
+var tabsConfig=$.extend({},ploneFormTabbing.jqtConfig,{'initialIndex':initialIndex});jqForm.children(tabSelector).tabs(jqForm.children('fieldset.formPanel'),tabsConfig);jqForm.submit(function(){var selected;if(ftabs.find('a.selected').length>=1){selected=ftabs.find('a.selected').attr('href').replace(/^#fieldsetlegend-/,"#fieldset-")}
+else{selected=ftabs.attr('value').replace(/^fieldsetlegend-/,'#fieldset-')}
+var fsInput=jqForm.find('input[name="fieldset"]');if(selected&&fsInput){fsInput.val(selected)}});$("#archetypes-schemata-links").addClass('hiddenStructure');$("div.formControls input[name='form.button.previous'],"+"div.formControls input[name='form.button.next']").remove()};$.fn.ploneTabInit=function(pbo){return this.each(function(){var item=$(this);item.find("form.enableFormTabbing,div.enableFormTabbing").each(ploneFormTabbing.initializeForm);item.find("dl.enableFormTabbing").each(ploneFormTabbing.initializeDL);var targetPane=window.location.hash||item.find('.enableFormTabbing input[name="fieldset"]').val();if(targetPane){item.find('.enableFormTabbing .formTabs [id="'+targetPane.replace('#','').replace('"','').replace(/^fieldset-/,"fieldsetlegend-")+'"]').click()}})};ploneFormTabbing.initialize=function(){$('body').ploneTabInit()}})(jQuery);jQuery(function(){ploneFormTabbing.initialize()});
+
+/* - popupforms.js - */
+// https://docs.it4i.cz/portal_javascripts/popupforms.js?original=1
+function msieversion(){var ua=window.navigator.userAgent;var msie=ua.indexOf("MSIE ");if(msie>0){return parseInt(ua.substring(msie+5,ua.indexOf(".",msie)))} else{return 0}}
+var common_content_filter='#content>*:not(div.configlet),dl.portalMessage.error,dl.portalMessage.warning,dl.portalMessage.info';jQuery.extend(jQuery.tools.overlay.conf,{fixed:false,speed:'fast',mask:{color:'#fff',opacity:0.4,loadSpeed:0,closeSpeed:0}});(function($){$.plonepopups=$.plonepopups||{};$.extend($.plonepopups,{noformerrorshow: function noformerrorshow(el,noform){var o=$(el),emsg=o.find('dl.portalMessage.error');if(emsg.length){o.children().replaceWith(emsg);return false} else{return noform}},redirectbasehref: function redirectbasehref(el,responseText){var mo=responseText.match(/<base href="(\S+?)"/i);if(mo.length===2){return mo[1]}
+return location}})})(jQuery);jQuery(function($){if(msieversion()>0&&msieversion()<7){return}
+$('#portal-personaltools a[href$="/login"], #portal-personaltools a[href$="/login_form"], .discussion a[href$="/login"], .discussion a[href$="/login_form"]').prepOverlay({subtype:'ajax',filter:common_content_filter,formselector:'form#login_form',cssclass:'overlay-login',noform: function(){if(location.href.search(/pwreset_finish$/)>=0){return 'redirect'} else{return 'reload'}},redirect: function(){var href=location.href;if(href.search(/pwreset_finish$/)>=0){return href.slice(0,href.length-14)+'logged_in'} else{return href}}});$('#siteaction-contact a').prepOverlay({subtype:'ajax',filter:common_content_filter,cssclass:'overlay-contact',formselector:'form[name="feedback_form"]',noform: function(el){return $.plonepopups.noformerrorshow(el,'close')}});$('#contextSetDefaultPage, #folderChangeDefaultPage').prepOverlay({subtype:'ajax',filter:common_content_filter,cssclass:'overlay-default_view',formselector:'form[name="default_page_form"]',noform: function(el){return $.plonepopups.noformerrorshow(el,'reload')},closeselector:'[name="form.button.Cancel"]',width:'40%'});$('dl#plone-contentmenu-actions a#plone-contentmenu-actions-delete').prepOverlay({subtype:'ajax',filter:common_content_filter,formselector:'#delete_confirmation',cssclass:'overlay-delete',noform: function(el){return $.plonepopups.noformerrorshow(el,'redirect')},redirect:$.plonepopups.redirectbasehref,closeselector:'[name="form.button.Cancel"]',width:'50%'});$('dl#plone-contentmenu-actions a#plone-contentmenu-actions-rename').prepOverlay({subtype:'ajax',filter:common_content_filter,cssclass:'overlay-rename',closeselector:'[name="form.button.Cancel"]',width:'40%'});$('dl#plone-contentmenu-factories a#plone-contentmenu-add-to-default-page').prepOverlay({subtype:'ajax',filter:common_content_filter,cssclass:'overlay-folder-factories',closeselector:'[name="form.button.Cancel"]',width:'40%'});$('#portal-personaltools a[href$="/@@register"]').prepOverlay({subtype:'ajax',filter:common_content_filter,cssclass:'overlay-register',formselector:'form.kssattr-formname-register'});$('form[name="users_add"], form[name="groups_add"]').prepOverlay({subtype:'ajax',filter:common_content_filter,cssclass:'overlay-users',formselector:'form.kssattr-formname-new-user, form[name="groups"]',noform: function(el){return $.plonepopups.noformerrorshow(el,'redirect')},redirect: function(){return location.href}});$('form[name="users_add"], form[name="groups_add"]').width($('input.add').outerWidth());$('form[name="users_add"] input.add, form[name="groups_add"] input.add').css('cursor','pointer');$('#content-history a').prepOverlay({subtype:'ajax',filter:'h2, #content-history',cssclass:'overlay-history',urlmatch:'@@historyview',urlreplace:'@@contenthistorypopup'})});
+
+/* - jquery.highlightsearchterms.js - */
+// https://docs.it4i.cz/portal_javascripts/jquery.highlightsearchterms.js?original=1
+(function($){var Highlighter,makeSearchKey,makeAddress,defaults;Highlighter=function(options){$.extend(this,options);this.terms=this.cleanTerms(this.terms.length?this.terms:this.getSearchTerms())};Highlighter.prototype={highlight: function(startnode){if(!this.terms.length||!startnode.length){return}
+var self=this;$.each(this.terms, function(i,term){startnode.find('*:not(textarea)').andSelf().contents().each(function(){if(this.nodeType===3){self.highlightTermInNode(this,term)}})})},highlightTermInNode: function(node,word){var c=node.nodeValue,self=this,highlight,ci,index,next;if($(node).parent().hasClass(self.highlightClass)){return}
+highlight=function(content){return $('<span class="'+self.highlightClass+'">&nbsp;</span>').text(content)};ci=self.caseInsensitive;while(c&&(index=(ci?c.toLowerCase():c).indexOf(word))>-1){$(node).before(document.createTextNode(c.substr(0,index))).before(highlight(c.substr(index,word.length))).before(document.createTextNode(c.substr(index+word.length)));next=node.previousSibling;$(node).remove();node=next;c=node.nodeValue}},queryStringValue: function(uri,regexp){var match,pair;if(uri.indexOf('?')<0){return ''}
+uri=uri.substr(uri.indexOf('?')+1);while(uri.indexOf('=')>=0){uri=uri.replace(/^\&*/,'');pair=uri.split('&',1)[0];uri=uri.substr(pair.length);match=pair.match(regexp);if(match){return decodeURIComponent(match[match.length-1].replace(/\+/g,' '))}}
+return ''},termsFromReferrer: function(){var ref,i,se;ref=$.fn.highlightSearchTerms._test_referrer!==null?$.fn.highlightSearchTerms._test_referrer:document.referrer;if(!ref){return ''}
+for(i=0;i<this.referrers.length;i+=1){se=this.referrers[i];if(ref.match(se.address)){return this.queryStringValue(ref,se.key)}}
+return ''},cleanTerms: function(terms){var self=this;return $.unique($.map(terms, function(term){term=$.trim(self.caseInsensitive?term.toLowerCase():term);return(!term||self.filterTerms.test(term))?null:term}))},getSearchTerms: function(){var terms=[],uri=$.fn.highlightSearchTerms._test_location!==null?$.fn.highlightSearchTerms._test_location:location.href;if(this.useReferrer){$.merge(terms,this.termsFromReferrer().split(/\s+/))}
+if(this.useLocation){$.merge(terms,this.queryStringValue(uri,this.searchKey).split(/\s+/))}
+return terms}};makeSearchKey=function(key){return(typeof key==='string')?new RegExp('^'+key+'=(.*)$','i'):key};makeAddress=function(addr){return(typeof addr==='string')?new RegExp('^https?://(www\\.)?'+addr,'i'):addr};$.fn.highlightSearchTerms=function(options){options=$.extend({},defaults,options);options=$.extend(options,{searchKey:makeSearchKey(options.searchKey),referrers:$.map(options.referrers, function(se){return{address:makeAddress(se.address),key:makeSearchKey(se.key)}})});if(options.includeOwnDomain){var hostname=$.fn.highlightSearchTerms._test_location!==null?$.fn.highlightSearchTerms._test_location:location.hostname;options.referrers.push({address:makeAddress(hostname.replace(/\./g,'\\.')),key:options.searchKey})}
+new Highlighter(options).highlight(this);return this};$.fn.highlightSearchTerms.referrers=[{address:'google\\.',key:'q'},{address:'search\\.yahoo\\.',key:'p'},{address:'search\\.msn\\.',key:'q'},{address:'search\\.live\\.',key:'query'},{address:'search\\.aol\\.',key:'userQuery'},{address:'ask\\.com',key:'q'},{address:'altavista\\.',key:'q'},{address:'feedster\\.',key:'q'}];defaults={terms:[],useLocation:true,searchKey:'(searchterm|SearchableText)',useReferrer:true,referrers:$.fn.highlightSearchTerms.referrers,includeOwnDomain:true,caseInsensitive:true,filterTerms:/\b(not|and|or)\b/i,highlightClass:'highlightedSearchTerm'};$.fn.highlightSearchTerms._test_location=null;$.fn.highlightSearchTerms._test_referrer=null;$.fn.highlightSearchTerms._highlighter=Highlighter}(jQuery));jQuery(function($){$('#region-content,#content').highlightSearchTerms({includeOwnDomain:$('dl.searchResults').length===0})});
+
+/* - first_input_focus.js - */
+// https://docs.it4i.cz/portal_javascripts/first_input_focus.js?original=1
+jQuery(function($){if($("form div.error :input:first").focus().length){return}
+$("form.enableAutoFocus :input:not(.formTabs):visible:first").focus()});
+
+/* - accessibility.js - */
+// https://docs.it4i.cz/portal_javascripts/accessibility.js?original=1
+function setBaseFontSize(f,r){var b=jQuery('body');if(r){b.removeClass('smallText').removeClass('largeText');createCookie("fontsize",f,365)}b.addClass(f)}jQuery(function($){var f=readCookie("fontsize");if(f){setBaseFontSize(f,0)}});
+
+/* - styleswitcher.js - */
+// https://docs.it4i.cz/portal_javascripts/styleswitcher.js?original=1
+function setActiveStyleSheet(title,reset){jQuery('link[rel*=style][title]').attr('disabled',true).find('[title='+title+']').attr('disabled',false);if(reset){createCookie("wstyle",title,365)}}
+jQuery(function(){var style=readCookie("wstyle");if(style){setActiveStyleSheet(style,0)}});
+
+/* - toc.js - */
+// https://docs.it4i.cz/portal_javascripts/toc.js?original=1
+jQuery(function($){var dest,content,location,stack,oltoc,numdigits,wlh,target,targetOffset;dest=$('dl.toc dd.portletItem');content=$('#region-content,#content');if(!content||!dest.length){return}
+dest.empty();location=window.location.href;if(window.location.hash){location=location.substring(0,location.lastIndexOf(window.location.hash))}
+stack=[];$(content).find('*').not('.comment > h3').filter(function(){return (/^h[1234]$/).test(this.tagName.toLowerCase())}).not('.documentFirstHeading').each(function(i){var level,ol,li;level=this.nodeName.charAt(1);while(stack.length<level){ol=$('<ol>');if(stack.length){li=$(stack[stack.length-1]).children('li:last');if(!li.length){li=$('<li>').appendTo($(stack[stack.length-1]))}
+li.append(ol)}
+stack.push(ol)}
+while(stack.length>level){stack.pop()}
+$(this).before($('<a name="section-'+i+'" />'));$('<li>').append($('<a />').attr('href',location+'#section-'+i).text($(this).text())).appendTo($(stack[stack.length-1]))});if(stack.length){var oltoc=$(stack[0]);var i=1;while(oltoc.children('li').length==1){oltoc=$(stack[i]);i+=1}
+if(i<=stack.length){$('dl.toc').show()}
+numdigits=oltoc.children().length.toString().length;oltoc.addClass("TOC"+numdigits+"Digit");dest.append(oltoc);wlh=window.location.hash;if(wlh){target=$(wlh);target=target.length&&target||$('[name="'+wlh.slice(1)+'"]');targetOffset=target.offset();if(targetOffset){$('html,body').animate({scrollTop:targetOffset.top},0)}}}});
+
+/* - collapsibleformfields.js - */
+// https://docs.it4i.cz/portal_javascripts/collapsibleformfields.js?original=1
+(function($){$.fn.do_search_collapse=function(){
+function check_used(element){var e=$(element);if(e.find('input[id$=_toggle]:checkbox').length>0){if(e.find('input[id$=_toggle]:checkbox:checked').length===0){return true}}
+if(e.find(':text[value]').length>0){return true}
+if(e.find('select .default_option').length>0){if(e.find('select .default_option:selected').length===0){return true}}
+return false}
+return this.each( function(){var indicator=$(this).find('.collapser:first'),collapse=$(this).find('.collapse:first');indicator.click(function(){var container=$(this).parent(),target=container.find('.collapse:first');target.slideToggle('normal');$(this).toggleClass('expanded');$(this).toggleClass('collapsed')});if(check_used(this)){indicator.addClass('expanded')} else{collapse.hide();indicator.addClass('collapsed')}})};jQuery(function($){$('.field.collapsible').do_search_collapse()})}(jQuery));
+
+/* - ++resource++plone.app.discussion.javascripts/comments.js - */
+// https://docs.it4i.cz/portal_javascripts/++resource++plone.app.discussion.javascripts/comments.js?original=1
+(function($){$.createReplyForm=function(comment_div){var comment_id=comment_div.attr("id");var reply_button=comment_div.find(".reply-to-comment-button");var reply_div=$("#commenting").clone(true);reply_div.find("#formfield-form-widgets-captcha").find("script").remove();reply_div.appendTo(comment_div).css("display","none");reply_div.removeAttr("id");$(reply_button).css("display","none");var reply_form=reply_div.find("form");reply_form.find("input[name='form.widgets.in_reply_to']").val(comment_id);var cancel_reply_button=reply_div.find(".cancelreplytocomment");cancel_reply_button.attr("id",comment_id);reply_form.find("input[name='form.buttons.cancel']").css("display","inline");reply_div.slideDown("slow");cancel_reply_button.css("display","inline")};$.clearForm=function(form_div){form_div.find(".error").removeClass("error");form_div.find(".fieldErrorBox").remove();form_div.find("input[type='text']").attr("value","");form_div.find("textarea").attr("value","")};$(window).load(function(){var post_comment_div=$("#commenting");var in_reply_to_field=post_comment_div.find("input[name='form.widgets.in_reply_to']");if(in_reply_to_field.val()!==""){var current_reply_id="#"+in_reply_to_field.val();var current_reply_to_div=$(".discussion").find(current_reply_id);$.createReplyForm(current_reply_to_div);$.clearForm(post_comment_div)}
+$(".reply-to-comment-button").bind("click", function(e){var comment_div=$(this).parents().filter(".comment");$.createReplyForm(comment_div);$.clearForm(comment_div)});$("#commenting #form-buttons-cancel").bind("click", function(e){e.preventDefault();var reply_to_comment_button=$(this).
+parents().
+filter(".comment").
+find(".reply-to-comment-button");$.reply_to_comment_form=$(this).parents().filter(".reply");$.reply_to_comment_form.slideUp("slow", function(){$(this).remove()});reply_to_comment_button.css("display","inline")});$("input[name='form.button.PublishComment']").on('click', function(){var trigger=this;var form=$(this).parents("form");var data=$(form).serialize();var form_url=$(form).attr("action");$.ajax({type:"GET",url:form_url,data:data,context:trigger,success: function(msg){form.find("input[name='form.button.PublishComment']").remove();form.parents(".state-pending").toggleClass('state-pending').toggleClass('state-published')},error: function(msg){return true}});return false});$("form[name='edit']").prepOverlay({cssclass:'overlay-edit-comment',width:'60%',subtype:'ajax',filter:'#content>*'})
+$("input[name='form.button.DeleteComment']").on('click', function(){var trigger=this;var form=$(this).parents("form");var data=$(form).serialize();var form_url=$(form).attr("action");$.ajax({type:'POST',url:form_url,data:data,context:$(trigger).parents(".comment"),success: function(data){var comment=$(this);var clss=comment.attr('class');var treelevel=parseInt(clss[clss.indexOf('replyTreeLevel')+'replyTreeLevel'.length],10);var selector=".replyTreeLevel"+treelevel;for(var i=0;i<treelevel;i++){selector+=", .replyTreeLevel"+i}
+comment.nextUntil(selector).each(function(){$(this).fadeOut('fast', function(){$(this).remove()})});$(this).fadeOut('fast', function(){$(this).remove()})},error: function(req,error){return true}});return false});$(".reply").find("input[name='form.buttons.reply']").css("display","none");$(".reply").find("input[name='form.buttons.cancel']").css("display","none");$(".reply-to-comment-button").css("display","inline")})}(jQuery));
+
+/* - dropdown.js - */
+// https://docs.it4i.cz/portal_javascripts/dropdown.js?original=1
+function hideAllMenus(){jQuery('dl.actionMenu').removeClass('activated').addClass('deactivated')}
+function toggleMenuHandler(event){jQuery(this).parents('.actionMenu:first').toggleClass('deactivated').toggleClass('activated');return false}
+function actionMenuDocumentMouseDown(event){if(jQuery(event.target).parents('.actionMenu:first').length){return true}
+hideAllMenus()}
+function actionMenuMouseOver(event){var menu_id=jQuery(this).parents('.actionMenu:first').attr('id'),switch_menu;if(!menu_id){return true}
+switch_menu=jQuery('dl.actionMenu.activated').length>0;jQuery('dl.actionMenu').removeClass('activated').addClass('deactivated');if(switch_menu){jQuery('#'+menu_id).removeClass('deactivated').addClass('activated')}}
+function initializeMenus(){jQuery(document).mousedown(actionMenuDocumentMouseDown);hideAllMenus();jQuery('dl.actionMenu dt.actionMenuHeader a').click(toggleMenuHandler).mouseover(actionMenuMouseOver);jQuery('dl.actionMenu > dd.actionMenuContent').click(hideAllMenus)}
+jQuery(initializeMenus);
+
+/* - inline_validation.js - */
+// https://docs.it4i.cz/portal_javascripts/inline_validation.js?original=1
+jQuery(function($){var render_error=function($field,errmsg){var $errbox=$('div.fieldErrorBox',$field);if(errmsg!==''){$field.addClass('error');$errbox.html(errmsg)} else{$field.removeClass('error');$errbox.html('')}};$(document).on('blur','.field input.blurrable, '+'.field select.blurrable, '+'.field textarea.blurrable',
+function(){var $input=$(this),$field=$input.closest('.field'),uid=$field.attr('data-uid'),fname=$field.attr('data-fieldname'),value=$input.val();if($input.attr('multiple')==='multiple'&&value===null){value=$([]).serialize()}
+params=$.param({uid:uid,fname:fname,value:value},traditional=true);if($field&&uid&&fname){$.post($('base').attr('href')+'/at_validate_field',params, function(data){render_error($field,data.errmsg)})}});var formlib_validate_field=function(input){var $input=$(input),$field=$input.closest('.field'),$form=$field.closest('form'),fname=$field.attr('data-fieldname');$form.ajaxSubmit({url:$form.attr('action')+'/@@formlib_validate_field',data:{fname:fname},iframe:false,success: function(data){render_error($field,data.errmsg)},dataType:'json'})};$(document).on('blur','.formlibInlineValidation input[type="text"], '+'.formlibInlineValidation input[type="password"], '+'.formlibInlineValidation input[type="checkbox"], '+'.formlibInlineValidation input[type="radio"], '+'.formlibInlineValidation select, '+'.formlibInlineValidation textarea',
+function(){formlib_validate_field(this)});var z3cform_validate_field=function(input){var $input=$(input),$field=$input.closest('.field'),$form=$field.closest('form'),fset=$input.closest('fieldset').attr('data-fieldset'),fname=$field.attr('data-fieldname');if(fname){$form.ajaxSubmit({url:$form.attr('action')+'/@@z3cform_validate_field',data:{fname:fname,fset:fset},iframe:false,success: function(data){render_error($field,data.errmsg)},dataType:'json'})}};$(document).on('blur','.z3cformInlineValidation input[type="text"], '+'.z3cformInlineValidation input[type="password"], '+'.z3cformInlineValidation input[type="checkbox"], '+'.z3cformInlineValidation input[type="radio"], '+'.z3cformInlineValidation select, '+'.z3cformInlineValidation textarea',
+function(){z3cform_validate_field(this)})});
+
+/* - kss-bbb.js - */
+// https://docs.it4i.cz/portal_javascripts/kss-bbb.js?original=1
+(function($){
+function refreshPortlet(hash,_options){var options={data:{},success: function(){},error: function(){},ajaxOptions:{}};$.extend(options,_options);options.data.portlethash=hash;ajaxOptions=options.ajaxOptions;ajaxOptions.url=$('base').attr('href')+'/@@render-portlet';ajaxOptions.success=function(data){var container=$('[data-portlethash="'+hash+'"]');var portlet=$(data);container.html(portlet);options.success(data,portlet)}
+ajaxOptions.error=function(){options.error()}
+ajaxOptions.data=options.data;$.ajax(ajaxOptions)}
+function applyPortletTimeout(portlet){var timeout=portlet.data('timeout');if(timeout==undefined){timeout=30}else{timeout=parseInt(timeout)}
+timeout=timeout * 1000;setTimeout($.proxy(function(){refreshPortlet(this.parents('.portletWrapper').data('portlethash'),{success: function(data,portlet){apply_timeout(portlet)}})},portlet),timeout)}
+$(document).ready(function(){var spinner=$('<div id="ajax-spinner"><img src="'+portal_url+'/spinner.gif" alt=""/></div>');spinner.appendTo('body').hide();$(document).ajaxStart(function(){spinner.show()});$(document).ajaxStop(function(){spinner.hide()});$('body').delegate('#calendar-next,#calendar-previous','click', function(e){e.preventDefault();var el=$(this);var container=el.parents('.portletWrapper');refreshPortlet(container.data('portlethash'),{data:{month:el.data('month'),year:el.data('year')}});return false});$('.kssPortletRefresh,.refreshPortlet').each(function(){applyPortletTimeout($(this))});$('.portlet-deferred').each(function(){refreshPortlet($(this).parents('.portletWrapper').data('portlethash'))});
+function updateSharing(data){var sharing=data.body;var messages=$(data.messages).filter(function(){return this.tagName=='DL'});$('.portalMessage').remove();$('#user-group-sharing').replaceWith(sharing);$('#content').prepend(messages)}
+var search_timeout=null;$('#content-core').delegate('#sharing-user-group-search','input', function(){var text=$(this);if(search_timeout!=null){clearTimeout(search_timeout)}
+if(text.val().length>3){search_timeout=setTimeout($.proxy(function(){$('#sharing-search-button').trigger('click')},text),300)}});$('#content-core').delegate('#sharing-search-button','click', function(){$.ajax({url:$('base').attr('href')+'/@@updateSharingInfo',data:{search_term:$('#sharing-user-group-search').val(),'form.button.Search':'Search'},type:'GET',dataType:'json',success:updateSharing});return false});$('#content-core').delegate('#sharing-save-button','click', function(){var btn=$(this);var form=btn.parents('form');var data=form.serializeArray();data.push({name:'form.button.Save',value:'Save'});$.ajax({url:$('base').attr('href')+'/@@updateSharingInfo',data:data,type:'POST',dataType:'json',success:updateSharing});return false})})})(jQuery);
+
+/* - table_sorter.js - */
+// https://docs.it4i.cz/portal_javascripts/table_sorter.js?original=1
+(function($){
+function sortabledataclass(cell){var re,matches;re=new RegExp("sortabledata-([^ ]*)","g");matches=re.exec(cell.attr('class'));if(matches){return matches[1]}
+else{return null}}
+function sortable(cell){var text=sortabledataclass(cell);if(text===null){text=cell.text()}
+if(text.charAt(4)!=='-'&&text.charAt(7)!=='-'&&!isNaN(parseFloat(text))){return parseFloat(text)}
+return text.toLowerCase()}
+function sort(){var th,colnum,table,tbody,reverse,index,data,usenumbers,tsorted;th=$(this).closest('th');colnum=$('th',$(this).closest('thead')).index(th);table=$(this).parents('table:first');tbody=table.find('tbody:first');tsorted=parseInt(table.attr('sorted')||'-1',10);reverse=tsorted===colnum;$(this).parent().find('th:not(.nosort) .sortdirection').html('&#x2003;');$(this).children('.sortdirection').html(reverse?'&#x25b2;':'&#x25bc;');index=$(this).parent().children('th').index(this),data=[],usenumbers=true;tbody.find('tr').each(function(){var cells,sortableitem;cells=$(this).children('td');sortableitem=sortable(cells.slice(index,index+1));if(isNaN(sortableitem)){usenumbers=false}
+data.push([sortableitem,sortable(cells.slice(1,2)),sortable(cells.slice(0,1)),this])});if(data.length){if(usenumbers){data.sort(function(a,b){return a[0]-b[0]})} else{data.sort()}
+if(reverse){data.reverse()}
+table.attr('sorted',reverse?'':colnum);tbody.append($.map(data, function(a){return a[3]}));tbody.each(setoddeven)}}
+function setoddeven(){var tbody=$(this);tbody.find('tr').removeClass('odd').removeClass('even').filter(':odd').addClass('even').end().filter(':even').addClass('odd')}
+$(function(){var blankarrow=$('<span>&#x2003;</span>').addClass('sortdirection');$('table.listing:not(.nosort) thead th:not(.nosort)').append(blankarrow.clone()).css('cursor','pointer').click(sort);$('table.listing:not(.nosort) tbody').each(setoddeven)})})(jQuery);
diff --git a/docs.it4i.cz/robots.txt b/docs.it4i.cz/robots.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0edfaee6b28a81c447fa50bde0dffa5c3072a996
--- /dev/null
+++ b/docs.it4i.cz/robots.txt
@@ -0,0 +1,23 @@
+Sitemap: /sitemap.xml.gz
+
+# Define access-restrictions for robots/spiders
+# http://www.robotstxt.org/wc/norobots.html
+
+
+
+# By default we allow robots to access all areas of our site 
+# already accessible to anonymous users
+
+User-agent: *
+Disallow:
+
+
+
+# Add Googlebot-specific syntax extension to exclude forms 
+# that are repeated for each piece of content in the site 
+# the wildcard is only supported by Googlebot
+# http://www.google.com/support/webmasters/bin/answer.py?answer=40367&ctx=sibling
+
+User-Agent: Googlebot
+Disallow: /*sendto_form$
+Disallow: /*folder_factories$
\ No newline at end of file
diff --git a/docs.it4i.cz/rss.xml b/docs.it4i.cz/rss.xml
new file mode 100644
index 0000000000000000000000000000000000000000..eff00cce4eabad281523b63a9ba80e9c5d75e33b
--- /dev/null
+++ b/docs.it4i.cz/rss.xml
@@ -0,0 +1,915 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
+  <channel>
+    <atom:link rel="self" type="application/rss+xml" href="https://docs.it4i.cz/rss.xml"/>
+    <title>IT4I Docs</title>
+    <link>https://docs.it4i.cz</link>
+    <description></description>
+
+    <language>cs</language>
+    <copyright></copyright>
+    <generator>Plone</generator>
+    <item>
+      <title>MATLAB 2015b</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 13 Jul 2016 15:40:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/matlab-2015b</guid>
+    </item>
+    <item>
+      <title>Vampir</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-50ee0f8999e14a08822bd423d24de7ef" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+<h2></h2>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 12:40:56 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/debuggers/vampir</guid>
+    </item>
+    <item>
+      <title>Vampir</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-f6e25102d1244fb4ab355175867747b5" class="">
+            <p>Vampir is a commercial trace analysis and visualisation tool. It can work with traces in OTF and OTF2 formats. It does not have the functionality to collect traces, you need to use a trace collection tool (such as <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/debuggers/score-p" class="internal-link">Score-P</a>) first to collect the traces.</p>
+<h2 class=" "><img title="Vampir screenshot" alt="Vampir screenshot" src="https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png" class="image-inline" /></h2>
+<h2 class=" ">Installed versions</h2>
+<p>Version 8.5.0 is currently installed as module <span class="monospace">Vampir/8.5.0</span> :</p>
+<pre>$ module load Vampir/8.5.0<br />$ vampir &amp;</pre>
+<h2>User manual</h2>
+<p>You can find the detailed user manual in PDF format in <span class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span></p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://www.vampir.eu" target="_self" title="">https://www.vampir.eu</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 12:38:13 +0200</pubDate>
+      <guid>https://docs.it4i.cz/anselm-cluster-documentation/software/debuggers/vampir</guid>
+    </item>
+    <item>
+      <title>Vampir installed</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/vampir-installed</guid>
+    </item>
+    <item>
+      <title>Intel VTune Amplifier support for Xeon Phi on Salomon</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have included support for VTune Amplifier XE 2016 to the operating system of Xeon Phi accelerators on Salomon. You can now use VTune to analyse your native or offload MIC applications.</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Thu, 30 Jun 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon</guid>
+    </item>
+    <item>
+      <title>Cygwin and X11 forwarding</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-09d0af6009df4eae8d3b28eb121b10e0" class="">
+            <h3 class=" ">If <span style="text-align: left; float: none; ">no able to forward X11 using PuTTY to CygwinX</span></h3>
+<pre class="prettyprint lang-sh"><span style="text-align: left; float: none; ">[usename@login1.anselm ~]$ gnome-session &amp;<br />[1] 23691<br />[<span style="text-align: left; float: none; ">usename</span>@login1.anselm ~]$ PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused<br />PuTTY X11 proxy: unable to connect to forwarded X server: Network error: Connection refused<br /><br />** (gnome-session:23691): WARNING **: Cannot open display:<br /></span></pre>
+<p><span style="text-align: left; float: none; "> </span></p>
+<ol>
+<li><span style="text-align: left; float: none; ">Locate and modify <span style="text-align: left; float: none; ">Cygwin shortcut that uses<span class="Apple-converted-space"> </span></span><a href="http://x.cygwin.com/docs/man1/startxwin.1.html" rel="nofollow" style="text-align: left; ">startxwin</a><br />locate<br />C:\cygwin64\bin\XWin.exe<br /><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "><span style="text-align: left; float: none; ">change it to</span></span></span><br />C:\<i class="moz-txt-slash">cygwin64\bin\XWin.exe -listen tcp</i><br /><br /><img title="XWin-listen-tcp.png" alt="XWin-listen-tcp.png" src="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/XWinlistentcp.png" class="image-inline" /><br /></span><br /><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "></span></span></li>
+<li><span style="text-align: left; float: none; "><span style="text-align: left; float: none; ">Check Putty settings:<br /><span style="text-align: left; float: none; ">Enable X11 forwarding</span><span style="text-align: left; float: none; "><span style="text-align: left; float: none; "></span><span class="Apple-converted-space"><br /></span></span><br /><a target="_self" title="" href="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding" class="internal-link"><img title="" alt="" src="https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwinX11forwarding.png/@@images/0f5b58e3-253c-4f87-a3b2-16f75cbf090f.png" class="image-inline" /></a><br /></span></span></li>
+</ol>
+<p> </p>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 24 Jun 2016 10:55:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding/cygwin-and-x11-forwarding</guid>
+    </item>
+    <item>
+      <title>Cygwin and X11 forwarding</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 24 Jun 2016 10:55:41 +0200</pubDate>
+      <guid>https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/cygwin-and-x11-forwarding</guid>
+    </item>
+    <item>
+      <title>New method to execute parallel MATLAB jobs</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have implemented a new way to run parallel MATLAB jobs. Unlike the previously documented method, it does not submit a separate new job to run the workers, all is done within a single job. Read about it here: <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6" class="external-link">https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6</a></p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Thu, 23 Jun 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs</guid>
+    </item>
+    <item>
+      <title>Phono3py Input</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+    
+
+    
+    
+    
+
+        <dl>
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor text/vnd.wap.si" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view" class="contenttype-file state-missing-value url">POSCAR Si</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    <span class="description">POSCAR</span>
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view" class="contenttype-file state-missing-value url">KPOINTS</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view" class="contenttype-file state-missing-value url">POTCAR</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/application.png" alt="Soubor" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view" class="contenttype-file state-missing-value url">INCAR</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view" class="contenttype-file state-missing-value url">run.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view" class="contenttype-file state-missing-value url">submit.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view" class="contenttype-file state-missing-value url">prepare.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        <img width="16" height="16" src="https://docs.it4i.cz/sh.png" alt="Soubor shell script" />
+                        <a href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view" class="contenttype-file state-missing-value url">gofree-cond1.sh</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+        </dl>
+
+        
+
+    <!-- Navigation -->
+
+
+  
+
+
+
+
+
+
+    
+    
+        
+    
+
+    
+    
+
+
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 10 Jun 2016 15:40:07 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/chemistry/phono3py-input</guid>
+    </item>
+    <item>
+      <title>Phono3py</title>
+      <description>
+</description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-b447a2e7e71947d487c3ceada3d7265b" class="">
+            <h2> Introduction</h2>
+<p class=" ">This GPL software calculates phonon-phonon interactions via the third order force constants. It allows to obtain lattice thermal conductivity, phonon lifetime/linewidth, imaginary part of self energy at the lowest order, joint density of states (JDOS) and weighted-JDOS. For details see Phys. Rev. B 91, 094306 (2015) and http://atztogo.github.io/phono3py/index.html<br /><br /></p>
+<p class="callout">Load the phono3py/0.9.14-ictce-7.3.5-Python-2.7.9 module</p>
+<pre class="prettyprint lang-sh">$ module load phono3py/0.9.14-ictce-7.3.5-Python-2.7.9</pre>
+<h2>Example of calculating thermal conductivity of Si using VASP code.</h2>
+<h3>Calculating force constants</h3>
+<p>One needs to calculate second order and third order force constants using the diamond structure of silicon stored in <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si" class="internal-link">POSCAR</a>  (the same form as in VASP) using single displacement calculations within supercell.</p>
+<pre class="prettyprint lang-sh">$ cat POSCAR<br /> Si<br />   1.0<br />     5.4335600309153529    0.0000000000000000    0.0000000000000000<br />     0.0000000000000000    5.4335600309153529    0.0000000000000000<br />     0.0000000000000000    0.0000000000000000    5.4335600309153529<br /> Si<br />   8<br />Direct<br />   0.8750000000000000  0.8750000000000000  0.8750000000000000<br />   0.8750000000000000  0.3750000000000000  0.3750000000000000<br />   0.3750000000000000  0.8750000000000000  0.3750000000000000<br />   0.3750000000000000  0.3750000000000000  0.8750000000000000<br />   0.1250000000000000  0.1250000000000000  0.1250000000000000<br />   0.1250000000000000  0.6250000000000000  0.6250000000000000<br />   0.6250000000000000  0.1250000000000000  0.6250000000000000<br />   0.6250000000000000  0.6250000000000000  0.1250000000000000<br /><br /></pre>
+<h3>Generating displacement using 2x2x2 supercell for both second and third order force constants</h3>
+<pre class="prettyprint lang-sh">$ <span class="n">phono3py</span> <span class="o">-</span><span class="n">d</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> <span class="o">-</span><span class="n">c</span> <span class="n">POSCAR</span><span class="o"></span><span class="n"></span></pre>
+<p class=" "><span class="n">111 displacements is created stored in <span class="n">disp_fc3.yaml</span>, and the structure input files with this displacements are POSCAR-00XXX, where the XXX=111.<br /></span></p>
+<pre class="prettyprint lang-sh"><span class="n">disp_fc3.yaml  POSCAR-00008  POSCAR-00017  POSCAR-00026  POSCAR-00035  POSCAR-00044  POSCAR-00053  POSCAR-00062  POSCAR-00071  POSCAR-00080  POSCAR-00089  POSCAR-00098  POSCAR-00107<br />POSCAR         POSCAR-00009  POSCAR-00018  POSCAR-00027  POSCAR-00036  POSCAR-00045  POSCAR-00054  POSCAR-00063  POSCAR-00072  POSCAR-00081  POSCAR-00090  POSCAR-00099  POSCAR-00108<br />POSCAR-00001   POSCAR-00010  POSCAR-00019  POSCAR-00028  POSCAR-00037  POSCAR-00046  POSCAR-00055  POSCAR-00064  POSCAR-00073  POSCAR-00082  POSCAR-00091  POSCAR-00100  POSCAR-00109<br />POSCAR-00002   POSCAR-00011  POSCAR-00020  POSCAR-00029  POSCAR-00038  POSCAR-00047  POSCAR-00056  POSCAR-00065  POSCAR-00074  POSCAR-00083  POSCAR-00092  POSCAR-00101  POSCAR-00110<br />POSCAR-00003   POSCAR-00012  POSCAR-00021  POSCAR-00030  POSCAR-00039  POSCAR-00048  POSCAR-00057  POSCAR-00066  POSCAR-00075  POSCAR-00084  POSCAR-00093  POSCAR-00102  POSCAR-00111<br />POSCAR-00004   POSCAR-00013  POSCAR-00022  POSCAR-00031  POSCAR-00040  POSCAR-00049  POSCAR-00058  POSCAR-00067  POSCAR-00076  POSCAR-00085  POSCAR-00094  POSCAR-00103<br />POSCAR-00005   POSCAR-00014  POSCAR-00023  POSCAR-00032  POSCAR-00041  POSCAR-00050  POSCAR-00059  POSCAR-00068  POSCAR-00077  POSCAR-00086  POSCAR-00095  POSCAR-00104<br />POSCAR-00006   POSCAR-00015  POSCAR-00024  POSCAR-00033  POSCAR-00042  POSCAR-00051  POSCAR-00060  POSCAR-00069  POSCAR-00078  POSCAR-00087  POSCAR-00096  POSCAR-00105<br />POSCAR-00007   POSCAR-00016  POSCAR-00025  POSCAR-00034  POSCAR-00043  POSCAR-00052  POSCAR-00061  POSCAR-00070  POSCAR-00079  POSCAR-00088  POSCAR-00097  POSCAR-00106</span></pre>
+<p class=" "><span class="n"> For each displacement the forces needs to be calculated, i.e. in form of the output file of VASP (vasprun.xml). For a single VASP calculations one needs <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS" class="internal-link">KPOINTS</a>, <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR" class="internal-link">POTCAR</a>, <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR" class="internal-link">INCAR</a> in your case directory (where you have POSCARS) and those 111 displacements calculations can be generated by <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh" class="internal-link">prepare.sh</a> script. Then each of the single 111 calculations is submitted <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh" class="internal-link">run.sh</a> by <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh" class="internal-link">submit.sh</a>.</span></p>
+<pre class="prettyprint lang-sh"><span class="n">$./prepare.sh<br />$ls<br />disp-00001  disp-00009  disp-00017  disp-00025  disp-00033  disp-00041  disp-00049  disp-00057  disp-00065  disp-00073  disp-00081  disp-00089  disp-00097  disp-00105     INCAR<br />disp-00002  disp-00010  disp-00018  disp-00026  disp-00034  disp-00042  disp-00050  disp-00058  disp-00066  disp-00074  disp-00082  disp-00090  disp-00098  disp-00106     KPOINTS<br />disp-00003  disp-00011  disp-00019  disp-00027  disp-00035  disp-00043  disp-00051  disp-00059  disp-00067  disp-00075  disp-00083  disp-00091  disp-00099  disp-00107     POSCAR<br />disp-00004  disp-00012  disp-00020  disp-00028  disp-00036  disp-00044  disp-00052  disp-00060  disp-00068  disp-00076  disp-00084  disp-00092  disp-00100  disp-00108     POTCAR<br />disp-00005  disp-00013  disp-00021  disp-00029  disp-00037  disp-00045  disp-00053  disp-00061  disp-00069  disp-00077  disp-00085  disp-00093  disp-00101  disp-00109     prepare.sh<br />disp-00006  disp-00014  disp-00022  disp-00030  disp-00038  disp-00046  disp-00054  disp-00062  disp-00070  disp-00078  disp-00086  disp-00094  disp-00102  disp-00110     run.sh<br />disp-00007  disp-00015  disp-00023  disp-00031  disp-00039  disp-00047  disp-00055  disp-00063  disp-00071  disp-00079  disp-00087  disp-00095  disp-00103  disp-00111     submit.sh<br />disp-00008  disp-00016  disp-00024  disp-00032  disp-00040  disp-00048  disp-00056  disp-00064  disp-00072  disp-00080  disp-00088  disp-00096  disp-00104  disp_fc3.yaml<br /></span></pre>
+<p class=" "><span class="n">Taylor your run.sh script to fit into your project and other needs and submit all 111 calculations using submit.sh script</span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ ./submit.sh</span></pre>
+<h2><span class="n">Collecting results and post-processing with phono3py</span></h2>
+<p><span class="n">Once all jobs are finished and vasprun.xml is created in each disp-XXXXX directory the collection is done by </span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ <span class="n">phono3py</span> <span class="o">--</span><span class="n">cf3</span> <span class="n">disp</span><span class="o">-</span><span class="p">{</span><span class="mf">00001.</span><span class="o">.</span><span class="mi">00111</span><span class="p">}</span><span class="o">/</span><span class="n">vasprun</span><span class="o">.</span><span class="n">xml</span></span></pre>
+<p><span class="n"><span class="n">and <code class="docutils literal"><span class="pre">disp_fc2.yaml, <code class="docutils literal"><span class="pre">FORCES_FC2</span></code>, <code class="docutils literal"><span class="pre">FORCES_FC3</span></code></span></code> and disp_fc3.yaml should appear and put into the hdf format by </span></span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ phono3py</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> -c POSCAR</pre>
+<p class=" ">resulting in <code class="docutils literal"><span class="pre">fc2.hdf5</span></code> and <code class="docutils literal"><span class="pre">fc3.hdf5</span></code></p>
+<h3 class=" ">Thermal conductivity</h3>
+<p class=" "><span class="pre">The phonon lifetime calculations takes some time, however is independent on grid points, so could be splitted: <br /></span></p>
+<pre class="prettyprint lang-sh"><span class="pre">$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --sigma 0.1 --wgp</span></pre>
+<h3><span class="n">Inspecting ir_grid_points.yaml</span></h3>
+<pre class="prettyprint lang-sh">$ grep grid_point ir_grid_points.yaml<br />num_reduced_ir_grid_points: 35<br />ir_grid_points:  # [address, weight]<br />- grid_point: 0<br />- grid_point: 1<br />- grid_point: 2<br />- grid_point: 3<br />- grid_point: 4<br />- grid_point: 10<br />- grid_point: 11<br />- grid_point: 12<br />- grid_point: 13<br />- grid_point: 20<br />- grid_point: 21<br />- grid_point: 22<br />- grid_point: 30<br />- grid_point: 31<br />- grid_point: 40<br />- grid_point: 91<br />- grid_point: 92<br />- grid_point: 93<br />- grid_point: 94<br />- grid_point: 101<br />- grid_point: 102<br />- grid_point: 103<br />- grid_point: 111<br />- grid_point: 112<br />- grid_point: 121<br />- grid_point: 182<br />- grid_point: 183<br />- grid_point: 184<br />- grid_point: 192<br />- grid_point: 193<br />- grid_point: 202<br />- grid_point: 273<br />- grid_point: 274<br />- grid_point: 283<br />- grid_point: 364</pre>
+<p>one finds which grid points needed to be calculated, for instance using following</p>
+<pre class="prettyprint lang-sh"><span class="n">$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write-gamma --gp="0 1 2</span></pre>
+<p><span class="n">one calculates grid points 0, 1, 2. To automize one can use for instance scripts to submit 5 points in series, see <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh" class="internal-link">gofree-cond1.sh </a></span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ qsub gofree-cond1.sh</span></pre>
+<p><span class="n">Finally the thermal conductivity result is produced by grouping single conductivity per grid calculations using  </span></p>
+<pre class="prettyprint lang-sh"><span class="n">$ <span class="n">phono3py</span> <span class="o">--</span><span class="n">fc3</span> <span class="o">--</span><span class="n">fc2</span> <span class="o">--</span><span class="n">dim</span><span class="o">=</span><span class="s2">"2 2 2"</span> <span class="o">--</span><span class="n">mesh</span><span class="o">=</span><span class="s2">"</span>9 9 9" <span class="o">--</span><span class="n">br</span> <span class="o">--</span><span class="n">read_gamma</span></span></pre>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 10 Jun 2016 15:39:57 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/chemistry/phono3py</guid>
+    </item>
+    <item>
+      <title>Allinea Forge 6.0</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Allinea Forge 6.0 is now installed both on Salomon and Anselm. Among the new features is support for CUDA 7.5</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 29 Apr 2016 14:25:10 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0</guid>
+    </item>
+    <item>
+      <title>Issue with Intel MPI 4.1.1 on Salomon</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>There is an issue with running MPI programs compiled with Intel MPI 4.1.1 on Salomon (part of module intel/2014.06), execution on accelerated nodes will fail with message:</p>
+<p>ofa-v2-scif0: could not accept DAPL connection request: DAT_INTERNAL_ERROR()</p>
+<p>as a workaround, set environment variable<span> I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u or recompile your applications with a newer version of Intel MPI.</span></p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 29 Apr 2016 14:23:10 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon</guid>
+    </item>
+    <item>
+      <title>News</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Tue, 08 Mar 2016 11:55:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news</guid>
+    </item>
+    <item>
+      <title>News</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+    
+    
+
+    
+
+    <p class="discreet">Nebyla ještě nahrána žádná alba ani fotografie.</p>
+
+    
+
+    <!-- Navigation -->
+
+
+
+
+
+    
+        
+    
+    
+
+        <dl>
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon" class="contenttype-news-item state-published url">Issue with Intel MPI 4.1.1 on Salomon</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0" class="contenttype-news-item state-published url">Allinea Forge 6.0</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs" class="contenttype-news-item state-published url">New method to execute parallel MATLAB jobs</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon" class="contenttype-news-item state-published url">Intel VTune Amplifier support for Xeon Phi on Salomon</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/vampir-installed" class="contenttype-news-item state-published url">Vampir installed</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+            
+            
+                
+                <dt class="">
+
+                    <span class="summary">
+                        
+                        <a href="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b" class="contenttype-news-item state-published url">MATLAB 2015b</a>
+                    </span>
+
+                    <span class="documentByLine">
+                        
+                        
+                        
+                         
+                        
+                    </span>
+
+                </dt>
+
+                <dd>
+                    
+                </dd>
+            
+            
+            
+        </dl>
+
+        
+
+    <!-- Navigation -->
+
+
+  
+
+
+
+
+
+
+    
+    
+
+    
+    
+
+    
+
+    
+        
+    
+
+
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Tue, 08 Mar 2016 11:50:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed</guid>
+    </item>
+    <item>
+      <title>Intel Inspector</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+        
+        <div id="parent-fieldname-text-6a80a8d0d1514d18b78df06d42288bcf" class="">
+            <p>Intel Inspector is a dynamic memory and threading error checking tool for C/C++/Fortran applications. It can detect issues such as memory leaks, invalid memory references, uninitalized variables, race conditions, deadlocks etc.</p>
+<h2 class=" ">Installed versions</h2>
+<p>The following versions are currently available on Salomon as modules:</p>
+<table class="plain">
+<tbody>
+<tr>
+<td><strong>Version</strong></td>
+<td><strong>Module</strong></td>
+</tr>
+<tr>
+<td>2016 Update 1</td>
+<td>Inspector/2016_update1</td>
+</tr>
+</tbody>
+</table>
+<h2>Usage</h2>
+<p>Your program should be compiled with -g switch to include symbol names. Optimizations can be turned on.</p>
+<p>Debugging is possible either directly from the GUI, or from command line.</p>
+<h3>GUI mode</h3>
+<p>To debug from GUI, launch Inspector:</p>
+<pre>$ inspxe-gui &amp;</pre>
+<p>Then select menu File -&gt; New -&gt; Project. Choose a directory to save project data to. After clicking OK, Project properties window will appear, where you can configure path to your binary, launch arguments, working directory etc. After clicking OK, the project is ready.</p>
+<p>In the main pane, you can start a predefined analysis type or define your own. Click Start to start the analysis. Alternatively, you can click on Command Line, to see the command line required to run the analysis directly from command line.</p>
+<h3>Batch mode</h3>
+<p>Analysis can be also run from command line in batch mode. Batch mode analysis is run with command <span class="monospace">inspxe-cl</span>. To obtain the required parameters, either consult the documentation or you can configure the analysis in the GUI and then click "Command Line" button in the lower right corner to the respective command line.</p>
+<p>Results obtained from batch mode can be then viewed in the GUI by selecting File -&gt; Open -&gt; Result...</p>
+<h2>References</h2>
+<ol>
+<li><a class="external-link" href="https://software.intel.com/en-us/intel-inspector-xe" target="_self" title="">Product page</a></li>
+<li><a class="external-link" href="https://software.intel.com/en-us/intel-inspector-xe-support/documentation" target="_self" title="">Documentation and Release Notes</a></li>
+<li><a class="external-link" href="https://software.intel.com/en-us/articles/inspectorxe-tutorials" target="_self" title="">Tutorials</a></li>
+</ol>
+            
+        </div>
+    
+
+    <!-- <div tal:content="structure here/@@rate-if-you-dare"/> -->
+
+    <div id="plone-discussions">
+        <hr />
+        <b><a id="plone-discussions-href" href="#plone-discussions">Komentáře</a></b>
+    </div>
+
+    <!-- <div id="contact-form" tal:condition="context/isDiscussable">
+        <hr />
+        <b><a id="contact-form-href" href="#contact-form" i18n:translate="">Contact form</a></b>
+        <tal:contactform tal:content="structure python:getattr(context, 'contact-info')()"></tal:contactform>
+    </div> -->
+
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 24 Feb 2016 15:36:42 +0200</pubDate>
+      <guid>https://docs.it4i.cz/salomon/software/intel-suite/intel-inspector</guid>
+    </item>
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs.it4i.cz/salomon.md b/docs.it4i.cz/salomon.md
new file mode 100644
index 0000000000000000000000000000000000000000..d8961c1afc5c45f358cd3ff3fc20fd25950063f1
--- /dev/null
+++ b/docs.it4i.cz/salomon.md
@@ -0,0 +1,35 @@
+Introduction 
+============
+
+Welcome to Salomon supercomputer cluster. The Salomon cluster consists
+of 1008 compute nodes, totaling 24192 compute cores with 129TB RAM and
+giving over 2 Pflop/s theoretical peak performance. Each node is a <span
+class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped with 24
+cores, at least 128GB RAM. Nodes are interconnected by 7D Enhanced
+hypercube Infiniband network and equipped with Intel Xeon E5-2680v3
+processors. The Salomon cluster consists of 576 nodes without
+accelerators and 432 nodes equipped with Intel Xeon Phi MIC
+accelerators. Read more in [Hardware
+Overview](https://docs.it4i.cz/salomon/hardware-overview-1/hardware-overview).
+
+The cluster runs CentOS Linux [<span
+class="WYSIWYG_LINK"></span>](http://www.bull.com/bullx-logiciels/systeme-exploitation.html)<span
+class="internal-link">operating system</span>, which is compatible with
+the <span class="WYSIWYG_LINK">RedHat</span> [<span
+class="WYSIWYG_LINK">Linux
+family.</span>](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)
+
+**Water-cooled Compute Nodes With MIC Accelerator**
+
+[![Salomon](https://docs.it4i.cz/salomon/salomon/@@images/8fe6c2ad-25f3-48cf-abbb-6f8ba653b93e.jpeg "Salomon")](https://docs.it4i.cz/salomon/salomon)
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-1/@@images/ba2c321e-1554-4826-b6ec-3c68d370cd9f.jpeg "Salomon")
+
+**Tape Library T950B**
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-3/@@images/d2a6de55-62fc-454f-adda-a6a25e3f44dd.jpeg "Salomon")
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-4/@@images/82997462-cd88-49eb-aad5-71d77903d903.jpeg "Salomon")
+
+
+
diff --git a/docs.it4i.cz/salomon/accessing-the-cluster.md b/docs.it4i.cz/salomon/accessing-the-cluster.md
new file mode 100644
index 0000000000000000000000000000000000000000..80760e1c5ca1feba6e874007f73b201fecbe52fd
--- /dev/null
+++ b/docs.it4i.cz/salomon/accessing-the-cluster.md
@@ -0,0 +1,146 @@
+Shell access and data transfer 
+==============================
+
+
+
+  
+
+Interactive Login
+-----------------
+
+The Salomon cluster is accessed by SSH protocol via login nodes login1,
+login2, login3 and login4 at address salomon.it4i.cz. The login nodes
+may be addressed specifically, by prepending the login node name to the
+address.
+
+The alias <span>salomon.it4i.cz is currently not available through VPN
+connection. Please use loginX.salomon.it4i.cz when connected to
+VPN.</span>
+
+  Login address            Port   Protocol   Login node
+  ------------------------ ------ ---------- -----------------------------------------
+  salomon.it4i.cz          22     ssh        round-robin DNS record for login[1-4]
+  login1.salomon.it4i.cz   22     ssh        login1
+  login2.salomon.it4i.cz   22     ssh        login2
+  login3.salomon.it4i.cz   22     ssh        login3
+  login4.salomon.it4i.cz   22     ssh        login4
+
+The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+Please verify SSH fingerprints during the first logon. They are
+identical on all login nodes:<span class="monospace">
+f6:28:98:e4:f9:b2:a6:8f:f2:f4:2d:0a:09:67:69:80 (DSA)
+70:01:c9:9a:5d:88:91:c7:1b:c0:84:d1:fa:4e:83:5c (RSA)</span>
+
+ 
+
+Private keys authentication:
+
+On **Linux** or **Mac**, use
+
+``` 
+local $ ssh -i /path/to/id_rsa username@salomon.it4i.cz
+```
+
+If you see warning message "UNPROTECTED PRIVATE KEY FILE!", use this
+command to set lower permissions to private key file.
+
+``` 
+local $ chmod 600 /path/to/id_rsa
+```
+
+On **Windows**, use [PuTTY ssh
+client](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty).
+
+After logging in, you will see the command prompt:
+
+                        _____       _                             
+                       / ____|     | |                            
+                      | (___   __ _| | ___  _ __ ___   ___  _ __  
+                       ___  / _` | |/ _ | '_ ` _  / _ | '_  
+                       ____) | (_| | | (_) | | | | | | (_) | | | |
+                      |_____/ __,_|_|___/|_| |_| |_|___/|_| |_|
+                                                                  
+
+                            http://www.it4i.cz/?lang=en
+
+
+    Last loginTue Jul  9 15:57:38 2013 from your-host.example.com
+    [username@login2.salomon ~]$
+
+The environment is **not** shared between login nodes, except for
+[shared
+filesystems](https://docs.it4i.cz/salomon/storage/storage).
+
+Data Transfer
+-------------
+
+Data in and out of the system may be transferred by the
+[scp](http://en.wikipedia.org/wiki/Secure_copy) and sftp
+protocols.
+
+In case large volumes of data are transferred, use dedicated data mover
+nodes cedge[1-3].salomon.it4i.cz for increased performance.
+
+ 
+
+HTML commented section #1 (removed cedge servers from the table)
+
+  Address                                                Port   Protocol
+  ------------------------------------------------------ ------ -----------------------------------------
+  salomon.it4i.cz                                        22     scp, sftp
+  login1.salomon.it4i.cz                                 22     scp, sftp
+  login2.salomon.it4i.cz                                 22     scp, sftp
+  <span class="discreet"></span>login3.salomon.it4i.cz   22     <span class="discreet"></span>scp, sftp
+  login4.salomon.it4i.cz                                 22     scp, sftp
+
+ The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+HTML commented section #2 (ssh transfer performance data need to be
+verified)
+
+On linux or Mac, use scp or sftp client to transfer the data to Salomon:
+
+``` 
+local $ scp -i /path/to/id_rsa my-local-file username@salomon.it4i.cz:directory/file
+```
+
+``` 
+local $ scp -i /path/to/id_rsa -r my-local-dir username@salomon.it4i.cz:directory
+```
+
+> or
+
+``` 
+local $ sftp -o IdentityFile=/path/to/id_rsa username@salomon.it4i.cz
+```
+
+Very convenient way to transfer files in and out of the Salomon computer
+is via the fuse filesystem
+[sshfs](http://linux.die.net/man/1/sshfs)
+
+``` 
+local $ sshfs -o IdentityFile=/path/to/id_rsa username@salomon.it4i.cz:. mountpoint
+```
+
+Using sshfs, the users Salomon home directory will be mounted on your
+local computer, just like an external disk.
+
+Learn more on ssh, scp and sshfs by reading the manpages
+
+``` 
+$ man ssh
+$ man scp
+$ man sshfs
+```
+
+<span>On Windows</span>, use [WinSCP
+client](http://winscp.net/eng/download.php) to transfer
+the data. The [win-sshfs
+client](http://code.google.com/p/win-sshfs/) provides a
+way to mount the Salomon filesystems directly as an external disc.
+
+More information about the shared file systems is available
+[here](https://docs.it4i.cz/salomon/storage/storage).
diff --git a/docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface.md b/docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface.md
new file mode 100644
index 0000000000000000000000000000000000000000..5b6a40153126f604278c54fe7a1d0eb6efe30b71
--- /dev/null
+++ b/docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface.md
@@ -0,0 +1,30 @@
+Graphical User Interface 
+========================
+
+
+
+  
+
+X Window System
+---------------
+
+The X Window system is a principal way to get GUI access to the
+clusters.
+
+Read more about configuring [**X Window
+System**](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+VNC
+---
+
+The **Virtual Network Computing** (**VNC**) is a graphical <span
+class="link-external">[desktop
+sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing")</span>
+system that uses the <span class="link-external">[Remote Frame Buffer
+protocol
+(RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol")</span>
+to remotely control another <span
+class="link-external">[computer](http://en.wikipedia.org/wiki/Computer "Computer")</span>.
+
+Read more about configuring
+**[VNC](https://docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc)**.
diff --git a/docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc.md b/docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc.md
new file mode 100644
index 0000000000000000000000000000000000000000..aaea7e690efb38c15243609bbe1b539c0b1a9b3a
--- /dev/null
+++ b/docs.it4i.cz/salomon/accessing-the-cluster/graphical-user-interface/vnc.md
@@ -0,0 +1,277 @@
+VNC 
+===
+
+
+
+  
+
+The **Virtual Network Computing** (**VNC**) is a graphical [desktop
+sharing](http://en.wikipedia.org/wiki/Desktop_sharing "Desktop sharing")
+system that uses the [Remote Frame Buffer protocol
+(RFB)](http://en.wikipedia.org/wiki/RFB_protocol "RFB protocol") to
+remotely control another
+[computer](http://en.wikipedia.org/wiki/Computer "Computer"). It
+transmits the
+[keyboard](http://en.wikipedia.org/wiki/Computer_keyboard "Computer keyboard")
+and
+[mouse](http://en.wikipedia.org/wiki/Computer_mouse "Computer mouse")
+events from one computer to another, relaying the graphical
+[screen](http://en.wikipedia.org/wiki/Computer_screen "Computer screen")
+updates back in the other direction, over a
+[network](http://en.wikipedia.org/wiki/Computer_network "Computer network").^[<span>[</span>1<span>]</span>](http://en.wikipedia.org/wiki/Virtual_Network_Computing#cite_note-1)^
+
+The recommended clients are
+[TightVNC](http://www.tightvnc.com) or
+[TigerVNC](http://sourceforge.net/apps/mediawiki/tigervnc/index.php?title=Main_Page)
+(free, open source, available for almost any platform).
+
+Create VNC password
+-------------------
+
+Local VNC password should be set before the first login. Do use a strong
+password.
+
+``` 
+[username@login2 ~]$ vncpasswd
+Password:
+Verify:
+```
+
+Start vncserver
+---------------
+
+To access VNC a local vncserver must be  started first and also a tunnel
+using SSH port forwarding must be established.
+[See below](#linux-example-of-creating-a-tunnel) for the
+details on SSH tunnels. In this example we use port 61.
+
+You can find ports which are already occupied. Here you can see that
+ports "<span class="pln">/usr/bin/Xvnc :79"</span> and "<span
+class="pln">/usr/bin/Xvnc :60" are occupied.</span>
+
+``` 
+[username@login2 ~]$ ps aux | grep Xvnc
+username    5971  0.0  0.0 201072 92564 ?        SN   Sep22   4:19 /usr/bin/Xvnc :79 -desktop login2:79 (username) -auth /home/gre196/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/username/.vnc/passwd -rfbport 5979 -fp catalogue:/etc/X11/fontpath.d -pn
+username    10296  0.0  0.0 131772 21076 pts/29   SN   13:01   0:01 /usr/bin/Xvnc :60 -desktop login2:61 (username) -auth /home/username/.Xauthority -geometry 1600x900 -depth 16 -rfbwait 30000 -rfbauth /home/jir13/.vnc/passwd -rfbport 5960 -fp catalogue:/etc/X11/fontpath.d -pn
+.....
+```
+
+Choose free port e.g. 61 and start your VNC server:
+
+``` 
+[username@login2 ~]$ vncserver :61 -geometry 1600x900 -depth 16
+
+New 'login2:1 (username)' desktop is login2:1
+
+Starting applications specified in /home/username/.vnc/xstartup
+Log file is /home/username/.vnc/login2:1.log
+```
+
+Check if VNC server is started on the port (in this example 61):
+
+``` 
+[username@login2 .vnc]$ vncserver -list
+
+TigerVNC server sessions:
+
+X DISPLAY #     PROCESS ID
+:61              18437
+```
+
+Another command:<span class="pln"></span>
+
+``` 
+[username@login2 .vnc]$  ps aux | grep Xvnc
+
+username    10296  0.0  0.0 131772 21076 pts/29   SN   13:01   0:01 /usr/bin/Xvnc :61 -desktop login2:61 (username) -auth /home/jir13/.Xauthority -geometry 1600x900 -depth 16 -rfbwait 30000 -rfbauth /home/username/.vnc/passwd -rfbport 5961 -fp catalogue:/etc/X11/fontpath.d -pn
+```
+
+To access the VNC server you have to create a tunnel between the login
+node using TCP **port 5961** and your machine using a free TCP port (for
+simplicity the very same, in this case).
+
+The tunnel must point to the same login node where you launched the VNC
+server, eg. login2. If you use just cluster-name.it4i.cz, the tunnel
+might point to a different node due to DNS round robin.
+
+### []()[]()Linux/Mac OS example of creating a tunnel
+
+At your machine, create the tunnel:
+
+``` 
+local $  ssh -TN -f username@login2.cluster-name.it4i.cz -L 5961:localhost:5961
+```
+
+Issue the following command to check the tunnel is established (please
+note the PID 2022 in the last column, you'll need it for closing the
+tunnel):
+
+``` 
+local $ netstat -natp | grep 5961
+(Not all processes could be identified, non-owned process info
+ will not be shown, you would have to be root to see it all.)
+tcp        0      0 127.0.0.1:5961          0.0.0.0:*               LISTEN      2022/ssh        
+tcp6       0      0 ::1:5961                :::*                    LISTEN      2022/ssh 
+```
+
+Or on Mac OS use this command:
+
+``` 
+local-mac $ lsof -n -i4TCP:5961 | grep LISTEN
+ssh 75890 sta545 7u IPv4 0xfb062b5c15a56a3b 0t0 TCP 127.0.0.1:5961 (LISTEN)
+```
+
+Connect with the VNC client:
+
+``` 
+local $ vncviewer 127.0.0.1:5961
+```
+
+In this example, we connect to VNC server on port 5961, via the ssh
+tunnel. The connection is encrypted and secured. The VNC server
+listening on port 5961 provides screen of 1600x900 pixels.
+
+You have to destroy the SSH tunnel which is still running at the
+background after you finish the work. Use the following command (PID
+2022 in this case, see the netstat command above):
+
+``` 
+kill 2022
+```
+
+### Windows example of creating a tunnel
+
+Use PuTTY to log in on cluster.
+
+Start vncserver using command vncserver described above.
+
+Search for the localhost and port number (in this case
+127.0.0.1:5961).**
+**
+
+``` 
+[username@login2 .vnc]$ netstat -tanp | grep Xvnc
+(Not all processes could be identified, non-owned process info
+ will not be shown, you would have to be root to see it all.)
+tcp        0      0 127.0.0.1:5961              0.0.0.0:*                   LISTEN      24031/Xvnc
+```
+
+On the PuTTY Configuration screen go to Connection-&gt;SSH-&gt;Tunnels
+to set up the tunnel.
+
+Fill the Source port and Destination fields. **Do not forget to click
+the Add button**.
+
+[![PuTTY - Create
+tunnel](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png/@@images/4c66cd51-c858-473b-98c2-8d901aea7118.png "PuTTY Tunnel")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/putty-tunnel.png)
+
+Run the VNC client of your choice, select VNC server 127.0.0.1, port
+5961 and connect using VNC password.
+
+### Example of starting TigerVNC viewer
+
+![TigerVNC
+vncviewer](https://docs.it4i.cz/anselm-cluster-documentation/vncviewer.png/@@images/bb4cedff-4cb6-402b-ac79-039186fe5df3.png "Vncviewer")
+
+In this example, we connect to VNC server on port 5961, via the ssh
+tunnel, using TigerVNC viewer. The connection is encrypted and secured.
+The VNC server listening on port 5961 provides screen of 1600x900
+pixels.
+
+### Example of starting TightVNC Viewer
+
+Use your VNC password to log using TightVNC Viewer and start a Gnome
+Session on the login node.
+
+[**![](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png/@@images/e53354d8-a2e8-4947-92b3-dd107d498408.png)**](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/TightVNC_login.png)
+
+Gnome session
+-------------
+
+You should see after the successful login.
+
+[![Default Gnome
+session](https://docs.it4i.cz/salomon/gnome_screen.jpg/@@images/7758b792-24eb-48dc-bf72-618cda100fda.png "Default Gnome session")](https://docs.it4i.cz/get-started-with-it4innovations/gnome_screen.jpg)
+
+### **Disable your Gnome session screensaver
+**
+
+Open Screensaver preferences dialog:
+
+[![Screensaver
+Preferences](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmscreensaver.png/@@images/44048cfa-e854-4cb4-902b-c173821c2db1.png "Screensaver Preferences")](https://docs.it4i.cz/salomon/gnome_screen.jpg)
+
+Uncheck both options below the slider:
+
+[![Disable lock screen and
+screensaver](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png/@@images/0259b284-18eb-402c-a55c-584562e26b47.png "Disable lock screen and screensaver")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gdmdisablescreensaver.png)
+
+### Kill screensaver if locked screen
+
+If the screen gets locked you have to kill the screensaver. Do not to
+forget to disable the screensaver then.
+
+``` 
+[username@login2 .vnc]$ ps aux | grep screen
+username     1503  0.0  0.0 103244   892 pts/4    S+   14:37   0:00 grep screen
+username     24316  0.0  0.0 270564  3528 ?        Ss   14:12   0:00 gnome-screensaver
+
+[username@login2 .vnc]$ kill 24316
+```
+
+### Kill vncserver after finished work
+
+You should kill your VNC server using command:
+
+``` 
+[username@login2 .vnc]$  vncserver  -kill :61
+Killing Xvnc process ID 7074
+Xvnc process ID 7074 already killed
+```
+
+Or this way:
+
+``` 
+[username@login2 .vnc]$  pkill vnc
+```
+
+GUI applications on compute nodes over VNC
+------------------------------------------
+
+The very [same methods as described
+above](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-and-vnc#gui-applications-on-compute-nodes),
+may be used to run the GUI applications on compute nodes. However, for
+**maximum performance**, proceed following these steps:
+
+Open a Terminal (Applications -&gt; System Tools -&gt; Terminal). Run
+all the next commands in the terminal.
+
+[![gnome-terminal.png](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png/@@images/dc0f0207-c614-49be-9cfb-905a523c5a39.png "gnome-terminal.png")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-terminal.png)
+
+Allow incoming X11 graphics from the compute nodes at the login node:
+
+``` 
+$ xhost +
+```
+
+Get an interactive session on a compute node (for more detailed info
+[look
+here](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job-submission-and-execution)).
+Use the **-v DISPLAY** option to propagate the DISPLAY on the compute
+node. In this example, we want a complete node (24 cores in this
+example) from the production queue:
+
+``` 
+$ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A PROJECT_ID -q qprod -l select=1:ncpus=24
+```
+
+Test that the DISPLAY redirection into your VNC session works, by
+running a X11 application (e. g. XTerm) on the assigned compute node:
+
+``` 
+$ xterm
+```
+
+Example described above:
+
+[![gnome-compute-nodes-over-vnc.png](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png/@@images/d4c9b6b6-6e2c-48c0-84dd-26d291517355.png "gnome-compute-nodes-over-vnc.png")](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/vnc/gnome-compute-nodes-over-vnc.png)
diff --git a/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md b/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md
new file mode 100644
index 0000000000000000000000000000000000000000..70e3d7af61f391ff629d8a267023a601097f0f5a
--- /dev/null
+++ b/docs.it4i.cz/salomon/accessing-the-cluster/outgoing-connections.md
@@ -0,0 +1,117 @@
+Outgoing connections 
+====================
+
+
+
+  
+
+Connection restrictions
+-----------------------
+
+Outgoing connections, from Salomon Cluster login nodes to the outside
+world, are restricted to following ports:
+
+  Port   Protocol
+  ------ ----------
+  22     ssh
+  80     http
+  443    https
+  9418   git
+
+Please use **ssh port forwarding** and proxy servers to connect from
+Salomon to all other remote ports.
+
+Outgoing connections, from Salomon Cluster compute nodes are restricted
+to the internal network. Direct connections form compute nodes to
+outside world are cut.
+
+Port forwarding
+---------------
+
+### []()Port forwarding from login nodes
+
+Port forwarding allows an application running on Salomon to connect to
+arbitrary remote host and port.
+
+It works by tunneling the connection from Salomon back to users
+workstation and forwarding from the workstation to the remote host.
+
+Pick some unused port on Salomon login node  (for example 6000) and
+establish the port forwarding:
+
+``` 
+local $ ssh -R 6000:remote.host.com:1234 salomon.it4i.cz
+```
+
+In this example, we establish port forwarding between port 6000 on
+Salomon and  port 1234 on the remote.host.com. By accessing
+localhost:6000 on Salomon, an application will see response of
+remote.host.com:1234. The traffic will run via users local workstation.
+
+Port forwarding may be done **using PuTTY** as well. On the PuTTY
+Configuration screen, load your Salomon configuration first. Then go to
+Connection-&gt;SSH-&gt;Tunnels to set up the port forwarding. Click
+Remote radio button. Insert 6000 to Source port textbox. Insert
+remote.host.com:1234. Click Add button, then Open.
+
+Port forwarding may be established directly to the remote host. However,
+this requires that user has ssh access to remote.host.com
+
+``` 
+$ ssh -L 6000:localhost:1234 remote.host.com
+```
+
+NotePort number 6000 is chosen as an example only. Pick any free port.
+
+### []()Port forwarding from compute nodes
+
+Remote port forwarding from compute nodes allows applications running on
+the compute nodes to access hosts outside Salomon Cluster.
+
+First, establish the remote port forwarding form the login node, as
+[described above](#port-forwarding-from-login-nodes).
+
+Second, invoke port forwarding from the compute node to the login node.
+Insert following line into your jobscript or interactive shell
+
+``` 
+$ ssh  -TN -f -L 6000:localhost:6000 login1
+```
+
+In this example, we assume that port forwarding from login1:6000 to
+remote.host.com:1234 has been established beforehand. By accessing
+localhost:6000, an application running on a compute node will see
+response of remote.host.com:1234
+
+### Using proxy servers
+
+Port forwarding is static, each single port is mapped to a particular
+port on remote host. Connection to other remote host, requires new
+forward.
+
+Applications with inbuilt proxy support, experience unlimited access to
+remote hosts, via single proxy server.
+
+To establish local proxy server on your workstation, install and run
+SOCKS proxy server software. On Linux, sshd demon provides the
+functionality. To establish SOCKS proxy server listening on port 1080
+run:
+
+``` 
+local $ ssh -D 1080 localhost
+```
+
+On Windows, install and run the free, open source [Sock
+Puppet](http://sockspuppet.com/) server.
+
+Once the proxy server is running, establish ssh port forwarding from
+Salomon to the proxy server, port 1080, exactly as [described
+above](#port-forwarding-from-login-nodes).
+
+``` 
+local $ ssh -R 6000:localhost:1080 salomon.it4i.cz
+```
+
+Now, configure the applications proxy settings to **localhost:6000**.
+Use port forwarding  to access the [proxy server from compute
+nodes](#port-forwarding-from-compute-nodes) as well .
diff --git a/docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md b/docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md
new file mode 100644
index 0000000000000000000000000000000000000000..80760e1c5ca1feba6e874007f73b201fecbe52fd
--- /dev/null
+++ b/docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access.md
@@ -0,0 +1,146 @@
+Shell access and data transfer 
+==============================
+
+
+
+  
+
+Interactive Login
+-----------------
+
+The Salomon cluster is accessed by SSH protocol via login nodes login1,
+login2, login3 and login4 at address salomon.it4i.cz. The login nodes
+may be addressed specifically, by prepending the login node name to the
+address.
+
+The alias <span>salomon.it4i.cz is currently not available through VPN
+connection. Please use loginX.salomon.it4i.cz when connected to
+VPN.</span>
+
+  Login address            Port   Protocol   Login node
+  ------------------------ ------ ---------- -----------------------------------------
+  salomon.it4i.cz          22     ssh        round-robin DNS record for login[1-4]
+  login1.salomon.it4i.cz   22     ssh        login1
+  login2.salomon.it4i.cz   22     ssh        login2
+  login3.salomon.it4i.cz   22     ssh        login3
+  login4.salomon.it4i.cz   22     ssh        login4
+
+The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+Please verify SSH fingerprints during the first logon. They are
+identical on all login nodes:<span class="monospace">
+f6:28:98:e4:f9:b2:a6:8f:f2:f4:2d:0a:09:67:69:80 (DSA)
+70:01:c9:9a:5d:88:91:c7:1b:c0:84:d1:fa:4e:83:5c (RSA)</span>
+
+ 
+
+Private keys authentication:
+
+On **Linux** or **Mac**, use
+
+``` 
+local $ ssh -i /path/to/id_rsa username@salomon.it4i.cz
+```
+
+If you see warning message "UNPROTECTED PRIVATE KEY FILE!", use this
+command to set lower permissions to private key file.
+
+``` 
+local $ chmod 600 /path/to/id_rsa
+```
+
+On **Windows**, use [PuTTY ssh
+client](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/putty/putty).
+
+After logging in, you will see the command prompt:
+
+                        _____       _                             
+                       / ____|     | |                            
+                      | (___   __ _| | ___  _ __ ___   ___  _ __  
+                       ___  / _` | |/ _ | '_ ` _  / _ | '_  
+                       ____) | (_| | | (_) | | | | | | (_) | | | |
+                      |_____/ __,_|_|___/|_| |_| |_|___/|_| |_|
+                                                                  
+
+                            http://www.it4i.cz/?lang=en
+
+
+    Last loginTue Jul  9 15:57:38 2013 from your-host.example.com
+    [username@login2.salomon ~]$
+
+The environment is **not** shared between login nodes, except for
+[shared
+filesystems](https://docs.it4i.cz/salomon/storage/storage).
+
+Data Transfer
+-------------
+
+Data in and out of the system may be transferred by the
+[scp](http://en.wikipedia.org/wiki/Secure_copy) and sftp
+protocols.
+
+In case large volumes of data are transferred, use dedicated data mover
+nodes cedge[1-3].salomon.it4i.cz for increased performance.
+
+ 
+
+HTML commented section #1 (removed cedge servers from the table)
+
+  Address                                                Port   Protocol
+  ------------------------------------------------------ ------ -----------------------------------------
+  salomon.it4i.cz                                        22     scp, sftp
+  login1.salomon.it4i.cz                                 22     scp, sftp
+  login2.salomon.it4i.cz                                 22     scp, sftp
+  <span class="discreet"></span>login3.salomon.it4i.cz   22     <span class="discreet"></span>scp, sftp
+  login4.salomon.it4i.cz                                 22     scp, sftp
+
+ The authentication is by the [private
+key](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys)
+
+HTML commented section #2 (ssh transfer performance data need to be
+verified)
+
+On linux or Mac, use scp or sftp client to transfer the data to Salomon:
+
+``` 
+local $ scp -i /path/to/id_rsa my-local-file username@salomon.it4i.cz:directory/file
+```
+
+``` 
+local $ scp -i /path/to/id_rsa -r my-local-dir username@salomon.it4i.cz:directory
+```
+
+> or
+
+``` 
+local $ sftp -o IdentityFile=/path/to/id_rsa username@salomon.it4i.cz
+```
+
+Very convenient way to transfer files in and out of the Salomon computer
+is via the fuse filesystem
+[sshfs](http://linux.die.net/man/1/sshfs)
+
+``` 
+local $ sshfs -o IdentityFile=/path/to/id_rsa username@salomon.it4i.cz:. mountpoint
+```
+
+Using sshfs, the users Salomon home directory will be mounted on your
+local computer, just like an external disk.
+
+Learn more on ssh, scp and sshfs by reading the manpages
+
+``` 
+$ man ssh
+$ man scp
+$ man sshfs
+```
+
+<span>On Windows</span>, use [WinSCP
+client](http://winscp.net/eng/download.php) to transfer
+the data. The [win-sshfs
+client](http://code.google.com/p/win-sshfs/) provides a
+way to mount the Salomon filesystems directly as an external disc.
+
+More information about the shared file systems is available
+[here](https://docs.it4i.cz/salomon/storage/storage).
diff --git a/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md b/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md
new file mode 100644
index 0000000000000000000000000000000000000000..cc35fed327a8c8a27ccf0358963bc47382afbdc1
--- /dev/null
+++ b/docs.it4i.cz/salomon/accessing-the-cluster/vpn-access.md
@@ -0,0 +1,118 @@
+VPN Access 
+==========
+
+
+
+  
+
+Accessing IT4Innovations internal resources via VPN
+---------------------------------------------------
+
+For using resources and licenses which are located at IT4Innovations
+local network, it is necessary to VPN connect to this network.
+We use Cisco AnyConnect Secure Mobility Client, which is supported on
+the following operating systems:
+
+-   <span>Windows XP</span>
+-   <span>Windows Vista</span>
+-   <span>Windows 7</span>
+-   <span>Windows 8</span>
+-   <span>Linux</span>
+-   <span>MacOS</span>
+
+It is impossible to connect to VPN from other operating systems.
+
+<span>VPN client installation</span>
+------------------------------------
+
+You can install VPN client from web interface after successful login
+with LDAP credentials on address <https://vpn.it4i.cz/user>
+
+[![VPN
+Install](https://docs.it4i.cz/salomon/vpn_web_login.png/@@images/5eac6b9c-22e4-4abe-ab38-e4ccbe87b710.png "VPN Install")](https://docs.it4i.cz/salomon/vpn_web_login.png)
+
+According to the Java settings after login, the client either
+automatically installs, or downloads installation file for your
+operating system. It is necessary to allow start of installation tool
+for automatic installation.
+
+[![VPN
+Install](https://docs.it4i.cz/salomon/vpn_web_login_2.png/@@images/be923364-0175-4099-a363-79229b88e252.png "VPN Install")](https://docs.it4i.cz/salomon/vpn_web_login_2.png)
+
+[![VPN
+Install](https://docs.it4i.cz/salomon/vpn_web_install_2.png/@@images/c2baba93-824b-418d-b548-a73af8030320.png "VPN Install")](https://docs.it4i.cz/salomon/vpn_web_install_2.png)[![VPN
+Install](https://docs.it4i.cz/salomon/copy_of_vpn_web_install_3.png/@@images/9c34e8ad-64b1-4e1d-af3a-13c7a18fbca4.png "VPN Install")](https://docs.it4i.cz/salomon/copy_of_vpn_web_install_3.png)
+
+After successful installation, VPN connection will be established and
+you can use available resources from IT4I network.
+
+[![VPN
+Install](https://docs.it4i.cz/salomon/vpn_web_install_4.png/@@images/4cc26b3b-399d-413b-9a6c-82ec47899585.png "VPN Install")](https://docs.it4i.cz/salomon/vpn_web_install_4.png)
+
+If your Java setting doesn't allow automatic installation, you can
+download installation file and install VPN client manually.
+
+[![VPN
+Install](https://docs.it4i.cz/salomon/vpn_web_download.png/@@images/06a88cce-5f51-42d3-8f0a-f615a245beef.png "VPN Install")](https://docs.it4i.cz/salomon/vpn_web_download.png)
+
+After you click on the link, download of installation file will start.
+
+[![VPN
+Install](https://docs.it4i.cz/salomon/vpn_web_download_2.png/@@images/3358d2ce-fe4d-447b-9e6c-b82285f9796e.png "VPN Install")](https://docs.it4i.cz/salomon/vpn_web_download_2.png)
+
+After successful download of installation file, you have to execute this
+tool with administrator's rights and install VPN client manually.
+
+Working with VPN client
+-----------------------
+
+You can use graphical user interface or command line interface to run
+VPN client on all supported operating systems. We suggest using GUI.
+
+![Icon](https://docs.it4i.cz/anselm-cluster-documentation/icon.jpg/@@images/56ee3417-80b8-4988-b9d5-8cda3f894963.jpeg "Icon")
+
+Before the first login to VPN, you have to fill
+URL **https://vpn.it4i.cz/user** into the text field.
+
+[![VPN Contacting
+Cluster](https://docs.it4i.cz/salomon/vpn_contacting_https_cluster.png/@@images/22b15d8c-5d5f-4c5c-8973-fbc4e9a32128.png "VPN Contacting Cluster")](https://docs.it4i.cz/salomon/vpn_contacting_https_cluster.png)
+
+After you click on the Connect button, you must fill your login
+credentials.
+
+[![VPN Contacting
+Cluster](https://docs.it4i.cz/salomon/vpn_contacting_https.png/@@images/ff365499-d07c-4baf-abb8-ce3e15559210.png "VPN Contacting Cluster")](https://docs.it4i.cz/salomon/vpn_contacting_https.png)
+
+After a successful login, the client will minimize to the system tray.
+If everything works, you can see a lock in the Cisco tray icon.
+
+[![Successfull
+connection](https://docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg/@@images/ebdd0e41-e839-497e-ab33-45162d00b03b.jpeg "Successfull connection")](https://docs.it4i.cz/anselm-cluster-documentation/anyconnecticon.jpg)
+
+If you right-click on this icon, you will see a context menu in which
+you can control the VPN connection.
+
+[![Context
+menu](https://docs.it4i.cz/anselm-cluster-documentation/anyconnectcontextmenu.jpg/@@images/9655f6a6-cd7b-4462-90d6-480d43c8cc0c.jpeg "Context menu")](https://docs.it4i.cz/anselm-cluster-documentation/anyconnectcontextmenu.jpg)
+
+When you connect to the VPN for the first time, the client downloads the
+profile and creates a new item "IT4I cluster" in the connection list.
+For subsequent connections, it is not necessary to re-enter the URL
+address, but just select the corresponding item.
+
+[![VPN Contacting
+Cluster](https://docs.it4i.cz/salomon/vpn_contacting.png/@@images/9ccabccf-581a-476a-8c24-ce9842c3e657.png "VPN Contacting Cluster")](https://docs.it4i.cz/salomon/vpn_contacting.png)
+
+Then AnyConnect automatically proceeds like in the case of first logon.
+
+[![VPN
+login](https://docs.it4i.cz/salomon/vpn_login.png/@@images/5102f29d-93cf-4cfd-8f55-c99c18f196ea.png "VPN login")](https://docs.it4i.cz/salomon/vpn_login.png)
+
+After a successful logon, you can see a green circle with a tick mark on
+the lock icon.
+
+[![VPN Succesfull
+Connection](https://docs.it4i.cz/salomon/vpn_successfull_connection.png/@@images/45537053-a47f-48b2-aacd-3b519d6770e6.png "VPN Succesfull Connection")](https://docs.it4i.cz/salomon/vpn_successfull_connection.png)
+
+For disconnecting, right-click on the AnyConnect client icon in the
+system tray and select **VPN Disconnect**.
diff --git a/docs.it4i.cz/salomon/cn_m_cell b/docs.it4i.cz/salomon/cn_m_cell
new file mode 100644
index 0000000000000000000000000000000000000000..6a882034ba55b29e04eebe4801c727088c677c8d
Binary files /dev/null and b/docs.it4i.cz/salomon/cn_m_cell differ
diff --git a/docs.it4i.cz/salomon/cn_mic b/docs.it4i.cz/salomon/cn_mic
new file mode 100644
index 0000000000000000000000000000000000000000..4e895b76c3c7b94ae1062eb6e06392ba15242338
Binary files /dev/null and b/docs.it4i.cz/salomon/cn_mic differ
diff --git a/docs.it4i.cz/salomon/cn_mic-1 b/docs.it4i.cz/salomon/cn_mic-1
new file mode 100644
index 0000000000000000000000000000000000000000..210eb3d3ba9d9cc4339d0a0b97fb9610aafe9aaa
Binary files /dev/null and b/docs.it4i.cz/salomon/cn_mic-1 differ
diff --git a/docs.it4i.cz/salomon/compute-nodes.md b/docs.it4i.cz/salomon/compute-nodes.md
new file mode 100644
index 0000000000000000000000000000000000000000..1525108546f8f0de369ab53e842488fdef9b4f2d
--- /dev/null
+++ b/docs.it4i.cz/salomon/compute-nodes.md
@@ -0,0 +1,262 @@
+Compute Nodes 
+=============
+
+
+
+  
+
+Nodes Configuration
+-------------------
+
+Salomon is cluster of x86-64 Intel based nodes. The cluster contains two
+types of compute nodes of the same processor type and memory size.
+Compute nodes with MIC accelerator**** contains two Intel Xeon Phi 7120P
+accelerators.
+
+[More about schematic representation of the Salomon cluster compute
+nodes IB
+topology](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology).
+
+### **Compute Nodes Without Accelerator**
+
+
+-   <span>codename "grafton"</span>
+-   <span>576 nodes</span>
+-   <div class="itemizedlist">
+
+    13 824 cores in total
+
+    
+
+-   <div class="itemizedlist">
+
+    two Intel Xeon E5-2680v3, 12-core, 2.5GHz processors per node
+
+    
+
+-   <div class="itemizedlist">
+
+    128 GB of physical memory per node
+
+    
+
+[![cn_m_cell](https://docs.it4i.cz/salomon/cn_m_cell/@@images/ced0a5ef-b233-4f4f-9391-092abeb378d3.jpeg "cn_m_cell")](https://docs.it4i.cz/salomon/cn_m_cell)
+
+### **Compute Nodes With MIC Accelerator**
+
+
+-   codename "perrin"
+-   <span>432 nodes</span>
+
+
+
+-   <div class="itemizedlist">
+
+    <span>10 368 cores in total</span>
+
+    
+
+-   <div class="itemizedlist">
+
+    two Intel Xeon E5-2680v3, 12-core, 2.5GHz processors per node
+
+    
+
+-   <div class="itemizedlist">
+
+    128 GB of physical memory per node
+
+    
+
+-   <div class="itemizedlist">
+
+    MIC accelerator 2x Intel Xeon Phi 7120P per node, 61-cores, 16GB per
+    accelerator
+
+    
+
+
+
+[![cn_mic](https://docs.it4i.cz/salomon/cn_mic-1/@@images/b4318449-6c9a-4acf-b53c-3c7ad0998655.jpeg "cn_mic")](https://docs.it4i.cz/salomon/cn_mic-1)
+
+[![(source Silicon Graphics International
+Corp.)](https://docs.it4i.cz/salomon/sgi-c1104-gp1/@@images/c1109cbb-9bf4-4f0a-8b0f-a1e464fed0c4.jpeg "SGI-C1104-GP1")](https://www.sgi.com/products/servers/rackable/1u_intel.html#v3 "(source Silicon Graphics International Corp.)")[![cn_mic](https://docs.it4i.cz/salomon/cn_mic/@@images/46081fb2-10d0-43b3-b32f-9650bedf107a.jpeg "cn_mic"){.image-inline
+width="87"
+height="122"}](https://docs.it4i.cz/salomon/cn_mic)
+
+
+### UV 2000
+
+
+-   codename "UV2000"
+-   <span>1 node</span>
+
+
+
+-   <div class="itemizedlist">
+
+    <span>112 cores in total</span>
+
+    
+
+-   <div class="itemizedlist">
+
+    14x Intel Xeon E5-4627v2, 8-core, 3.3GHz processors, in 14 NUMA
+    nodes
+
+    
+
+-   <div class="itemizedlist">
+
+    3328 GB of physical memory per node
+
+    
+
+-   <div class="itemizedlist">
+
+    1x NVIDIA GM200 (GeForce GTX TITAN X), 12GB RAM
+
+    
+
+![UV
+2000](https://docs.it4i.cz/salomon/uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg "UV 2000")
+### Compute Nodes Summary********
+
+<table>
+<colgroup>
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+<col width="25%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Node type</th>
+<th align="left">Count</th>
+<th align="left">Memory</th>
+<th align="left">Cores</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">Nodes without accelerator</td>
+<td align="left">576</td>
+<td align="left">128GB</td>
+<td align="left">24 @ 2.5Ghz</td>
+</tr>
+<tr class="even">
+<td align="left">Nodes with MIC accelerator</td>
+<td align="left">432</td>
+<td align="left"><p>128GB</p>
+<p>32GB</p></td>
+<td align="left"><p>24 @ 2.5Ghz</p>
+<p>61 @ <span style="text-alignstart; floatnone; ">1.238GHz</span></p></td>
+</tr>
+<tr class="odd">
+<td align="left">UV2000 SMP node</td>
+<td align="left">1</td>
+<td align="left"><p>3328GB</p></td>
+<td align="left"><p>112 @ 3.3GHz</p></td>
+</tr>
+</tbody>
+</table>
+
+
+
+Processor Architecture
+----------------------
+
+
+
+Salomon is equipped with Intel Xeon processors Intel Xeon E5-2680v3.
+Processors support Advanced Vector Extensions 2.0 (AVX2) 256-bit
+instruction set.
+
+### Intel Xeon E5-2680v3 Processor
+-   12-core
+-   speed2.5 GHz, up to <span
+    style="text-alignstart; floatnone; ">3.3</span> GHz using Turbo
+    Boost Technology
+-   peak performance<span class="emphasis">19.2 Gflop/s</span> per
+    core
+-   caches:
+    <div class="itemizedlist">
+
+    -   <span style="text-alignstart; floatnone; ">Intel® Smart
+        Cache</span>: <span style="text-alignstart; floatnone; ">30
+        MB</span>
+
+    
+
+-   memory bandwidth at the level of the processor<span
+    style="text-alignstart; floatnone; ">68 GB/s</span>
+
+### MIC Accelerator Intel Xeon Phi 7120P Processor
+-   61-core
+-   speed: <span style="text-alignstart; floatnone; ">1.238</span>
+    GHz, up to <span
+    style="text-alignstart; floatnone; ">1.333</span> GHz using
+    Turbo Boost Technology
+-   peak performance<span class="emphasis">18.4 Gflop/s</span> per
+    core
+-   caches:
+    <div class="itemizedlist">
+
+    -   L2<span style="text-alignstart; floatnone; ">30.5
+        MB</span>
+
+    
+
+-   memory bandwidth at the level of the processor<span
+    style="text-alignstart; floatnone; ">352 GB/s</span>
+
+
+
+ 
+
+Memory Architecture
+-------------------
+
+Memory is equally distributed across all CPUs and cores for optimal
+performance. Memory is composed of memory modules of the same size and
+evenly distributed across all memory controllers and memory channels.
+
+### Compute Node Without Accelerator
+-   2 sockets
+-   Memory Controllers are integrated into processors.
+    <div class="itemizedlist">
+
+    -   8 DDR4 DIMMS per node
+    -   4 DDR4 DIMMS per CPU
+    -   <span>1 DDR4 DIMMS per channel</span>
+
+    
+
+-   Populated memory8x 16GB DDR4 DIMM <span>2133MHz</span>
+
+### Compute Node With MIC Accelerator
+2 sockets
+Memory Controllers are integrated into processors.
+
+-   8 DDR4 DIMMS per node
+-   4 DDR4 DIMMS per CPU
+-   <span>1 DDR4 DIMMS per channel</span>
+
+
+
+<span>Populated memory8x 16GB DDR4 DIMM 2133MHz</span>
+MIC Accelerator Intel Xeon Phi 7120P Processor
+
+-   2 sockets
+-   <span><span>Memory Controllers are are connected via an
+    Interprocessor Network (IPN) ring.</span></span>
+    <div class="itemizedlist">
+
+    -   16 GDDR5 DIMMS per node
+    -   8 GDDR5 DIMMS per CPU
+    -   2 GDDR5 DIMMS per channel
+
+    
+
+
+
diff --git a/docs.it4i.cz/salomon/copy_of_vpn_web_install_3.png b/docs.it4i.cz/salomon/copy_of_vpn_web_install_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..1750cfde48b5c660f9c375dd88d3c666f36dcded
Binary files /dev/null and b/docs.it4i.cz/salomon/copy_of_vpn_web_install_3.png differ
diff --git a/docs.it4i.cz/salomon/environment-and-modules.md b/docs.it4i.cz/salomon/environment-and-modules.md
new file mode 100644
index 0000000000000000000000000000000000000000..30dae0287259ef931b47767b7313280bf67bfc47
--- /dev/null
+++ b/docs.it4i.cz/salomon/environment-and-modules.md
@@ -0,0 +1,164 @@
+Environment and Modules 
+=======================
+
+
+
+  
+
+### Environment Customization
+
+After logging in, you may want to configure the environment. Write your
+preferred path definitions, aliases, functions and module loads in the
+.bashrc file
+
+``` 
+# ./bashrc
+
+# Source global definitions
+if [ -f /etc/bashrc ]; then
+      . /etc/bashrc
+fi
+
+# User specific aliases and functions
+alias qs='qstat -a'
+module load intel/2015b
+
+# Display informations to standard output - only in interactive ssh session
+if [ -n "$SSH_TTY" ]
+then
+ module list # Display loaded modules
+fi
+```
+
+Do not run commands outputing to standard output (echo, module list,
+etc) in .bashrc  for non-interactive SSH sessions. It breaks fundamental
+functionality (scp, PBS) of your account! Take care for SSH session
+interactivity for such commands as <span id="result_box"
+class="short_text"><span class="hps alt-edited">stated</span> <span
+class="hps">in the previous example.</span></span>
+
+### Application Modules
+
+In order to configure your shell for  running particular application on
+Salomon we use Module package interface.
+
+Application modules on Salomon cluster are built using
+[EasyBuild](http://hpcugent.github.io/easybuild/ "EasyBuild"). The
+modules are divided into the following structure:
+
+``` 
+ baseDefault module class
+ bioBioinformatics, biology and biomedical
+ caeComputer Aided Engineering (incl. CFD)
+ chemChemistry, Computational Chemistry and Quantum Chemistry
+ compilerCompilers
+ dataData management & processing tools
+ debuggerDebuggers
+ develDevelopment tools
+ geoEarth Sciences
+ ideIntegrated Development Environments (e.g. editors)
+ langLanguages and programming aids
+ libGeneral purpose libraries
+ mathHigh-level mathematical software
+ mpiMPI stacks
+ numlibNumerical Libraries
+ perfPerformance tools
+ physPhysics and physical systems simulations
+ systemSystem utilities (e.g. highly depending on system OS and hardware)
+ toolchainEasyBuild toolchains
+ toolsGeneral purpose tools
+ visVisualization, plotting, documentation and typesetting
+```
+
+The modules set up the application paths, library paths and environment
+variables for running particular application.
+
+The modules may be loaded, unloaded and switched, according to momentary
+needs.
+
+To check available modules use
+
+``` 
+$ module avail
+```
+
+To load a module, for example the OpenMPI module  use
+
+``` 
+$ module load OpenMPI
+```
+
+loading the OpenMPI module will set up paths and environment variables
+of your active shell such that you are ready to run the OpenMPI software
+
+To check loaded modules use
+
+``` 
+$ module list
+```
+
+ To unload a module, for example the OpenMPI module use
+
+``` 
+$ module unload OpenMPI
+```
+
+Learn more on modules by reading the module man page
+
+``` 
+$ man module
+```
+
+### EasyBuild Toolchains
+
+As we wrote earlier, we are using EasyBuild for automatised software
+installation and module creation. 
+
+EasyBuild employs so-called **compiler toolchains** or,
+simply toolchains for short, which are a major concept in handling the
+build and installation processes.
+
+A typical toolchain consists of one or more compilers, usually put
+together with some libraries for specific functionality, e.g., for using
+an MPI stack for distributed computing, or which provide optimized
+routines for commonly used math operations, e.g., the well-known
+BLAS/LAPACK APIs for linear algebra routines.
+
+For each software package being built, the toolchain to be used must be
+specified in some way.
+
+The EasyBuild framework prepares the build environment for the different
+toolchain components, by loading their respective modules and defining
+environment variables to specify compiler commands (e.g.,
+via `$F90`), compiler and linker options (e.g.,
+via `$CFLAGS` and `$LDFLAGS`),
+the list of library names to supply to the linker (via `$LIBS`{.docutils
+.literal}), etc. This enables making easyblocks
+largely toolchain-agnostic since they can simply rely on these
+environment variables; that is, unless they need to be aware of, for
+example, the particular compiler being used to determine the build
+configuration options.
+
+Recent releases of EasyBuild include out-of-the-box toolchain support
+for:
+
+-   various compilers, including GCC, Intel, Clang, CUDA
+-   common MPI libraries, such as Intel MPI, MPICH, MVAPICH2, OpenMPI
+-   various numerical libraries, including ATLAS, Intel MKL, OpenBLAS,
+    ScalaPACK, FFTW
+
+ 
+
+On Salomon, we have currently following toolchains installed:
+
+  Toolchain            Module(s)
+  -------------------- ------------------------------------------------
+  GCC                  GCC
+  ictce                icc, ifort, imkl, impi
+  intel                GCC, icc, ifort, imkl, impi
+  gompi                GCC, OpenMPI
+  goolf                BLACS, FFTW, GCC, OpenBLAS, OpenMPI, ScaLAPACK
+  <span>iompi</span>   OpenMPI, icc, ifort
+  iccifort             icc, ifort
+
+
diff --git a/docs.it4i.cz/salomon/gnome_screen.jpg.1 b/docs.it4i.cz/salomon/gnome_screen.jpg.1
new file mode 100644
index 0000000000000000000000000000000000000000..99e9e65e60c2745c2f044275faa428286c7e1c51
Binary files /dev/null and b/docs.it4i.cz/salomon/gnome_screen.jpg.1 differ
diff --git a/docs.it4i.cz/salomon/gnome_screen.jpg/@@images/7758b792-24eb-48dc-bf72-618cda100fda.png b/docs.it4i.cz/salomon/gnome_screen.jpg/@@images/7758b792-24eb-48dc-bf72-618cda100fda.png
new file mode 100644
index 0000000000000000000000000000000000000000..62d535f3bfaefb286d120a9aa85b33127665c644
Binary files /dev/null and b/docs.it4i.cz/salomon/gnome_screen.jpg/@@images/7758b792-24eb-48dc-bf72-618cda100fda.png differ
diff --git a/docs.it4i.cz/salomon/hardware-overview-1.1.md b/docs.it4i.cz/salomon/hardware-overview-1.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..221408edf943f71d92ef5a6fedd061a1a45cece9
--- /dev/null
+++ b/docs.it4i.cz/salomon/hardware-overview-1.1.md
@@ -0,0 +1,125 @@
+Hardware Overview 
+=================
+
+
+
+  
+
+Introduction
+------------
+
+The Salomon cluster consists of 1008 computational nodes of which 576
+are regular compute nodes and 432 accelerated nodes. Each node is a
+<span class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped
+with 24 cores (two twelve-core Intel Xeon processors) and 128GB RAM. The
+nodes are interlinked by high speed InfiniBand and Ethernet networks.
+All nodes share 0.5PB /home NFS disk storage to store the user files.
+Users may use a DDN Lustre shared storage with capacity of 1.69 PB which
+is available for the scratch project data. The user access to the
+Salomon cluster is provided by four login nodes.
+
+[More about schematic representation of the Salomon cluster compute
+nodes IB
+topology](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology).<span
+class="internal-link"></span>
+
+[![Salomon](https://docs.it4i.cz/salomon/salomon-2/@@images/25c7db03-5c44-4981-9e19-07c1c23fcf1e.jpeg "Salomon")](https://docs.it4i.cz/salomon/salomon-2)
+
+The parameters are summarized in the following tables:
+
+General information
+-------------------
+
+**In general**
+Primary purpose
+High Performance Computing
+Architecture of compute nodes
+x86-64
+Operating system
+CentOS 6.7 Linux
+[**Compute
+nodes**](https://docs.it4i.cz/salomon/compute-nodes)
+Totally
+1008
+Processor
+2x Intel Xeon E5-2680v3, 2.5GHz, 12cores
+RAM
+128GB, 5.3GB per core, DDR4@2133 MHz
+Local disk drive
+no
+Compute network / Topology
+InfiniBand FDR56 / 7D Enhanced hypercube
+w/o accelerator
+576
+MIC accelerated
+432
+**In total**
+Total theoretical peak performance  (Rpeak)
+2011 Tflop/s
+Total amount of RAM
+<span>129.024 TB</span>
+Compute nodes
+-------------
+
+  Node              Count   Processor                          Cores   Memory   Accelerator
+  ----------------- ------- ---------------------------------- ------- -------- --------------------------------------------
+  w/o accelerator   576     2x Intel Xeon E5-2680v3, 2.5GHz    24      128GB    -
+  MIC accelerated   432     2x Intel Xeon E5-2680v3, 2.5GHz    24      128GB    2x Intel Xeon Phi 7120P, 61cores, 16GB RAM
+
+For more details please refer to the [Compute
+nodes](https://docs.it4i.cz/salomon/compute-nodes).
+
+Remote visualization nodes
+--------------------------
+
+For remote visualization two nodes with NICE DCV software are available
+each configured:
+
+  Node            Count   Processor                         Cores   Memory   GPU Accelerator
+  --------------- ------- --------------------------------- ------- -------- ------------------------------
+  visualization   2       2x Intel Xeon E5-2695v3, 2.3GHz   28      512GB    NVIDIA QUADRO K5000, 4GB RAM
+
+SGI UV 2000
+-----------
+
+For large memory computations a special SMP/NUMA SGI UV 2000 server is
+available:
+
+<table style="width:100%;">
+<colgroup>
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Node</th>
+<th align="left">Count</th>
+<th align="left">Processor</th>
+<th align="left">Cores</th>
+<th align="left">Memory</th>
+<th align="left">Extra HW</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">UV2000</td>
+<td align="left">1</td>
+<td align="left">14x Intel Xeon E5-4627v2, 3.3GHz, 8cores</td>
+<td align="left">112</td>
+<td align="left">3328GB DDR3@1866MHz</td>
+<td align="left"><p>2x 400GB local SSD<br />
+1x NVIDIA GM200<br />
+(GeForce GTX TITAN X),<br />
+12GB RAM</p></td>
+</tr>
+</tbody>
+</table>
+
+![UV
+2000](https://docs.it4i.cz/salomon/uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg "UV 2000")
+
+
diff --git a/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md b/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..54b36d10645d7e6104355829190a047ecc8026fe
--- /dev/null
+++ b/docs.it4i.cz/salomon/hardware-overview-1/hardware-overview.md
@@ -0,0 +1,124 @@
+Hardware Overview 
+=================
+
+
+
+  
+
+Introduction
+------------
+
+The Salomon cluster consists of 1008 computational nodes of which 576
+are regular compute nodes and 432 accelerated nodes. Each node is a
+<span class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped
+with 24 cores (two twelve-core Intel Xeon processors) and 128GB RAM. The
+nodes are interlinked by high speed InfiniBand and Ethernet networks.
+All nodes share 0.5PB /home NFS disk storage to store the user files.
+Users may use a DDN Lustre shared storage with capacity of 1.69 PB which
+is available for the scratch project data. The user access to the
+Salomon cluster is provided by four login nodes.
+
+[More about schematic representation of the Salomon cluster compute
+nodes IB
+topology](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology).<span
+class="internal-link"></span>
+
+[![Salomon](https://docs.it4i.cz/salomon/salomon-2/@@images/25c7db03-5c44-4981-9e19-07c1c23fcf1e.jpeg "Salomon")](https://docs.it4i.cz/salomon/salomon-2)
+
+The parameters are summarized in the following tables:
+
+General information
+-------------------
+
+**In general**
+Primary purpose
+High Performance Computing
+Architecture of compute nodes
+x86-64
+Operating system
+CentOS 6.7 Linux
+[**Compute
+nodes**](https://docs.it4i.cz/salomon/compute-nodes)
+Totally
+1008
+Processor
+2x Intel Xeon E5-2680v3, 2.5GHz, 12cores
+RAM
+128GB, 5.3GB per core, DDR4@2133 MHz
+Local disk drive
+no
+Compute network / Topology
+InfiniBand FDR56 / 7D Enhanced hypercube
+w/o accelerator
+576
+MIC accelerated
+432
+**In total**
+Total theoretical peak performance  (Rpeak)
+2011 Tflop/s
+Total amount of RAM
+<span>129.024 TB</span>
+Compute nodes
+-------------
+
+  Node              Count   Processor                          Cores   Memory   Accelerator
+  ----------------- ------- ---------------------------------- ------- -------- --------------------------------------------
+  w/o accelerator   576     2x Intel Xeon E5-2680v3, 2.5GHz    24      128GB    -
+  MIC accelerated   432     2x Intel Xeon E5-2680v3, 2.5GHz    24      128GB    2x Intel Xeon Phi 7120P, 61cores, 16GB RAM
+
+For more details please refer to the [Compute
+nodes](https://docs.it4i.cz/salomon/compute-nodes).
+
+Remote visualization nodes
+--------------------------
+
+For remote visualization two nodes with NICE DCV software are available
+each configured:
+
+  Node            Count   Processor                         Cores   Memory   GPU Accelerator
+  --------------- ------- --------------------------------- ------- -------- ------------------------------
+  visualization   2       2x Intel Xeon E5-2695v3, 2.3GHz   28      512GB    NVIDIA QUADRO K5000, 4GB RAM
+
+SGI UV 2000
+-----------
+
+For large memory computations a special SMP/NUMA SGI UV 2000 server is
+available:
+
+<table style="width:100%;">
+<colgroup>
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+<col width="16%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Node</th>
+<th align="left">Count</th>
+<th align="left">Processor</th>
+<th align="left">Cores</th>
+<th align="left">Memory</th>
+<th align="left">Extra HW</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">UV2000</td>
+<td align="left">1</td>
+<td align="left">14x Intel Xeon E5-4627v2, 3.3GHz, 8cores</td>
+<td align="left">112</td>
+<td align="left">3328GB DDR3@1866MHz</td>
+<td align="left"><p>2x 400GB local SSD<br />
+1x NVIDIA GM200<br />
+(GeForce GTX TITAN X),<br />
+12GB RAM</p></td>
+</tr>
+</tbody>
+</table>
+
+![UV
+2000](https://docs.it4i.cz/salomon/uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg "UV 2000")
+
diff --git a/docs.it4i.cz/salomon/index.md b/docs.it4i.cz/salomon/index.md
new file mode 100644
index 0000000000000000000000000000000000000000..a6c4acb37d393df9b3d7953795d844271cd15cde
--- /dev/null
+++ b/docs.it4i.cz/salomon/index.md
@@ -0,0 +1,33 @@
+Introduction 
+============
+
+Welcome to Salomon supercomputer cluster. The Salomon cluster consists
+of 1008 compute nodes, totaling 24192 compute cores with 129TB RAM and
+giving over 2 Pflop/s theoretical peak performance. Each node is a <span
+class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped with 24
+cores, at least 128GB RAM. Nodes are interconnected by 7D Enhanced
+hypercube Infiniband network and equipped with Intel Xeon E5-2680v3
+processors. The Salomon cluster consists of 576 nodes without
+accelerators and 432 nodes equipped with Intel Xeon Phi MIC
+accelerators. Read more in [Hardware
+Overview](https://docs.it4i.cz/salomon/hardware-overview-1/hardware-overview).
+
+The cluster runs CentOS Linux [<span
+class="WYSIWYG_LINK"></span>](http://www.bull.com/bullx-logiciels/systeme-exploitation.html)<span
+class="internal-link">operating system</span>, which is compatible with
+the <span class="WYSIWYG_LINK">RedHat</span> [<span
+class="WYSIWYG_LINK">Linux
+family.</span>](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)
+
+**Water-cooled Compute Nodes With MIC Accelerator**
+
+[![Salomon](https://docs.it4i.cz/salomon/salomon/@@images/8fe6c2ad-25f3-48cf-abbb-6f8ba653b93e.jpeg "Salomon")](https://docs.it4i.cz/salomon/salomon)
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-1/@@images/ba2c321e-1554-4826-b6ec-3c68d370cd9f.jpeg "Salomon")
+
+**Tape Library T950B**
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-3/@@images/d2a6de55-62fc-454f-adda-a6a25e3f44dd.jpeg "Salomon")
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-4/@@images/82997462-cd88-49eb-aad5-71d77903d903.jpeg "Salomon")
+
diff --git a/docs.it4i.cz/salomon/introduction.md b/docs.it4i.cz/salomon/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..a6c4acb37d393df9b3d7953795d844271cd15cde
--- /dev/null
+++ b/docs.it4i.cz/salomon/introduction.md
@@ -0,0 +1,33 @@
+Introduction 
+============
+
+Welcome to Salomon supercomputer cluster. The Salomon cluster consists
+of 1008 compute nodes, totaling 24192 compute cores with 129TB RAM and
+giving over 2 Pflop/s theoretical peak performance. Each node is a <span
+class="WYSIWYG_LINK">powerful</span> x86-64 computer, equipped with 24
+cores, at least 128GB RAM. Nodes are interconnected by 7D Enhanced
+hypercube Infiniband network and equipped with Intel Xeon E5-2680v3
+processors. The Salomon cluster consists of 576 nodes without
+accelerators and 432 nodes equipped with Intel Xeon Phi MIC
+accelerators. Read more in [Hardware
+Overview](https://docs.it4i.cz/salomon/hardware-overview-1/hardware-overview).
+
+The cluster runs CentOS Linux [<span
+class="WYSIWYG_LINK"></span>](http://www.bull.com/bullx-logiciels/systeme-exploitation.html)<span
+class="internal-link">operating system</span>, which is compatible with
+the <span class="WYSIWYG_LINK">RedHat</span> [<span
+class="WYSIWYG_LINK">Linux
+family.</span>](http://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg)
+
+**Water-cooled Compute Nodes With MIC Accelerator**
+
+[![Salomon](https://docs.it4i.cz/salomon/salomon/@@images/8fe6c2ad-25f3-48cf-abbb-6f8ba653b93e.jpeg "Salomon")](https://docs.it4i.cz/salomon/salomon)
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-1/@@images/ba2c321e-1554-4826-b6ec-3c68d370cd9f.jpeg "Salomon")
+
+**Tape Library T950B**
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-3/@@images/d2a6de55-62fc-454f-adda-a6a25e3f44dd.jpeg "Salomon")
+
+![Salomon](https://docs.it4i.cz/salomon/salomon-4/@@images/82997462-cd88-49eb-aad5-71d77903d903.jpeg "Salomon")
+
diff --git a/docs.it4i.cz/salomon/list_of_modules.md b/docs.it4i.cz/salomon/list_of_modules.md
new file mode 100644
index 0000000000000000000000000000000000000000..9333d518862767d1fc3566ae4ffd285d22b33227
--- /dev/null
+++ b/docs.it4i.cz/salomon/list_of_modules.md
@@ -0,0 +1,3015 @@
+List of Available Modules 
+=========================
+
+List of Available Modules on Salomon Cluster
+
+Categories
+----------
+
+-   [base](#base)
+-   [bio](#bio)
+-   [cae](#cae)
+-   [chem](#chem)
+-   [compiler](#compiler)
+-   [data](#data)
+-   [debugger](#debugger)
+-   [devel](#devel)
+-   [geo](#geo)
+-   [lang](#lang)
+-   [lib](#lib)
+-   [math](#math)
+-   [mpi](#mpi)
+-   [numlib](#numlib)
+-   [perf](#perf)
+-   [phys](#phys)
+-   [system](#system)
+-   [toolchain](#toolchain)
+-   [tools](#tools)
+-   [vis](#vis)
+
+
+[base](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>EasyBuild</strong><br />
+<a href="http://hpcugent.github.com/easybuild/" class="uri">http://hpcugent.github.com/easybuild/</a></td>
+<td align="left">EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.</td>
+<td align="left"><ul>
+<li>2.1.1</li>
+<li>2.2.0</li>
+<li>2.3.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Python</strong><br />
+<a href="http://python.org/" class="uri">http://python.org/</a></td>
+<td align="left">Python is a programming language that lets you work more quickly and integrate your systems more effectively.</td>
+<td align="left"><ul>
+<li>3.4.3-intel-2015b</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[bio](#categories "Go to list of categories...")
+----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>Amber</strong><br />
+<a href="http://ambermd.org" class="uri">http://ambermd.org</a></td>
+<td align="left">A set of molecular mechanical force fields for the simulation of biomolecules</td>
+<td align="left"><ul>
+<li>14</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>BCFtools</strong><br />
+<a href="http://www.htslib.org/" class="uri">http://www.htslib.org/</a></td>
+<td align="left">Samtools is a suite of programs for interacting with high-throughput sequencing data. BCFtools - Reading/writing BCF2/VCF/gVCF files and calling/filtering/summarising SNP and short indel sequence variants</td>
+<td align="left"><ul>
+<li>1.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>BWA</strong><br />
+<a href="http://bio-bwa.sourceforge.net/" class="uri">http://bio-bwa.sourceforge.net/</a></td>
+<td align="left">Burrows-Wheeler Aligner (BWA) is an efficient program that aligns relatively short nucleotide sequences against a long reference sequence such as the human genome.</td>
+<td align="left"><ul>
+<li>0.7.5a-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>FastQC</strong><br />
+<a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/" class="uri">http://www.bioinformatics.babraham.ac.uk/projects/fastqc/</a></td>
+<td align="left">FastQC is a quality control application for high throughput sequence data. It reads in sequence data in a variety of formats and can either provide an interactive application to review the results of several different QC checks, or create an HTML based report which can be integrated into a pipeline.</td>
+<td align="left"><ul>
+<li>0.11.3</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>GATK</strong><br />
+<a href="http://www.broadinstitute.org/gatk/" class="uri">http://www.broadinstitute.org/gatk/</a></td>
+<td align="left">The Genome Analysis Toolkit or GATK is a software package developed at the Broad Institute to analyse next-generation resequencing data. The toolkit offers a wide variety of tools, with a primary focus on variant discovery and genotyping as well as strong emphasis on data quality assurance. Its robust architecture, powerful processing engine and high-performance computing features make it capable of taking on projects of any size.</td>
+<td align="left"><ul>
+<li>2.6-5-Java-1.7.0_79</li>
+<li>3.5-Java-1.7.0_79</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>GROMACS</strong><br />
+<a href="http://www.gromacs.org" class="uri">http://www.gromacs.org</a></td>
+<td align="left">GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.</td>
+<td align="left"><ul>
+<li>4.6.7-foss-2015g-hybrid-single-PLUMED</li>
+<li>5.0.4-foss-2015e-hybrid-single-PLUMED</li>
+<li>5.0.4-foss-2015g-hybrid-single</li>
+<li>5.0.4-foss-2015g-hybrid-single-PLUMED</li>
+<li>5.0.4-ictce-7.3.5-hybrid-single</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>HTSlib</strong><br />
+<a href="http://www.htslib.org/" class="uri">http://www.htslib.org/</a></td>
+<td align="left">A C library for reading/writing high-throughput sequencing data. This package includes the utilities bgzip and tabix</td>
+<td align="left"><ul>
+<li>1.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PLUMED</strong><br />
+<a href="http://www.plumed-code.org" class="uri">http://www.plumed-code.org</a></td>
+<td align="left">PLUMED is an open source library for free energy calculations in molecular systems which works together with some of the most popular molecular dynamics engines. Free energy calculations can be performed as a function of many order parameters with a particular focus on biological problems, using state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. The software, written in C++, can be easily interfaced with both fortran and C/C++ codes.</td>
+<td align="left"><ul>
+<li>2.1.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>RELION</strong><br />
+<a href="http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page" class="uri">http://www2.mrc-lmb.cam.ac.uk/relion/index.php/Main_Page</a></td>
+<td align="left">RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a stand-alone computer program that employs an empirical Bayesian approach to refinement of (multiple) 3D reconstructions or 2D class averages in electron cryo-microscopy (cryo-EM).</td>
+<td align="left"><ul>
+<li>1.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SAMtools</strong><br />
+<a href="http://www.htslib.org/" class="uri">http://www.htslib.org/</a></td>
+<td align="left">SAM Tools provide various utilities for manipulating alignments in the SAM format, including sorting, merging, indexing and generating alignments in a per-position format.</td>
+<td align="left"><ul>
+<li>1.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>SnpEff</strong><br />
+<a href="http://snpeff.sourceforge.net/" class="uri">http://snpeff.sourceforge.net/</a></td>
+<td align="left">Genetic variant annotation and effect prediction toolbox.</td>
+<td align="left"><ul>
+<li>4.1_G</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Trimmomatic</strong><br />
+<a href="http://www.usadellab.org/cms/?page=trimmomatic" class="uri">http://www.usadellab.org/cms/?page=trimmomatic</a></td>
+<td align="left">Trimmomatic performs a variety of useful trimming tasks for illumina paired-end and single ended data.The selection of trimming steps and their associated parameters are supplied on the command line.</td>
+<td align="left"><ul>
+<li>0.35-Java-1.7.0_79</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>almost</strong><br />
+<a href="http://www-almost.ch.cam.ac.uk/site" class="uri">http://www-almost.ch.cam.ac.uk/site</a></td>
+<td align="left">all atom molecular simulation toolkit - is a fast and flexible molecular modeling environment that provides powerful and efficient algorithms for molecular simulation, homology modeling, de novo design and ab-initio calculations.</td>
+<td align="left"><ul>
+<li>2.1.0-foss-2015b</li>
+<li>2.1.0-foss-2015g</li>
+<li>2.1.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>picard</strong><br />
+<a href="http://sourceforge.net/projects/picard" class="uri">http://sourceforge.net/projects/picard</a></td>
+<td align="left">A set of tools (in Java) for working with next generation sequencing data in the BAM format.</td>
+<td align="left"><ul>
+<li>1.119</li>
+<li>2.1.0</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[cae](#categories "Go to list of categories...")
+----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>ANSYS</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>16.1</li>
+<li>17.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Adams</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>2013.2</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>COMSOL</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>51-COM</li>
+<li>51-EDU</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Digimat</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>5.0.1-COM</li>
+<li>5.0.1-EDU</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>FreeFem++</strong><br />
+<a href="http://www.freefem.org" class="uri">http://www.freefem.org</a></td>
+<td align="left">FreeFem++ is a partial differential equation solver. It has its own language. freefem scripts can solve multiphysics non linear systems in 2D and 3D. Problems involving PDE (2d, 3d) from several branches of physics such as fluid-structure interactions require interpolations of data on several meshes and their manipulation within one program. FreeFem++ includes a fast 2^d-tree-based interpolation algorithm and a language for the manipulation of data on multiple meshes (as a follow up of bamg (now a part of FreeFem++ ). FreeFem++ is written in C++ and the FreeFem++ language is a C++ idiom. It runs on Macs, Windows, Unix machines. FreeFem++ replaces the older freefem and freefem+.</td>
+<td align="left"><ul>
+<li>3.45-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>HyperWorks</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>13.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Marc</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>2013.1.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OpenFOAM</strong><br />
+<a href="http://www.openfoam.com/" class="uri">http://www.openfoam.com/</a></td>
+<td align="left">OpenFOAM is a free, open source CFD software package. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to solid dynamics and electromagnetics.</td>
+<td align="left"><ul>
+<li>2.2.2-intel-2015b</li>
+<li>2.3.0-intel-2015b</li>
+<li>3.0.0-intel-2016.01</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[chem](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>ABINIT</strong><br />
+<a href="http://www.abinit.org/" class="uri">http://www.abinit.org/</a></td>
+<td align="left">Abinit is a plane wave pseudopotential code for doing condensed phase electronic structure calculations using DFT.</td>
+<td align="left"><ul>
+<li>7.10.1-foss-2015b</li>
+<li>7.10.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>CP2K</strong><br />
+<a href="http://www.cp2k.org/" class="uri">http://www.cp2k.org/</a></td>
+<td align="left">CP2K is a freely available (GPL) program, written in Fortran 95, to perform atomistic and molecular simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials.</td>
+<td align="left"><ul>
+<li>2.6.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>LAMMPS</strong><br />
+<a href="http://lammps.sandia.gov" class="uri">http://lammps.sandia.gov</a></td>
+<td align="left">LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. Has potentials for solid-state materials (metals, semiconductors) and soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale.</td>
+<td align="left"><ul>
+<li>28Jun14-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Libint</strong><br />
+<a href="https://sourceforge.net/p/libint/" class="uri">https://sourceforge.net/p/libint/</a></td>
+<td align="left">Libint library is used to evaluate the traditional (electron repulsion) and certain novel two-body matrix elements (integrals) over Cartesian Gaussian functions used in modern atomic and molecular theory.</td>
+<td align="left"><ul>
+<li>1.1.4-foss-2015b</li>
+<li>1.1.4-gompi-2015b</li>
+<li>1.1.4-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Molpro</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>2010.1-patch-57-intel2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>NAMD</strong><br />
+<a href="http://www.ks.uiuc.edu/Research/namd/" class="uri">http://www.ks.uiuc.edu/Research/namd/</a></td>
+<td align="left">NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.</td>
+<td align="left"><ul>
+<li>2.9-mpi</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>NWChem</strong><br />
+<a href="http://www.nwchem-sw.org" class="uri">http://www.nwchem-sw.org</a></td>
+<td align="left">NWChem aims to provide its users with computational chemistry tools that are scalable both in their ability to treat large scientific computational chemistry problems efficiently, and in their use of available parallel computing resources from high-performance parallel supercomputers to conventional workstation clusters. NWChem software can handlebiomolecules, nanostructures, and solid-state; from quantum to classical, and all combinations; Gaussian basis functions or plane-waves; scaling from one to thousands of processors; properties and relativity.</td>
+<td align="left"><ul>
+<li>6.3.revision2-2013-10-17-Python-2.7.8</li>
+<li>6.5.revision26243-intel-2015b-2014-09-10-Python-2.7.8</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>S4MPLE</strong><br />
+<a href="http://infochim.u-strasbg.fr/spip.php?rubrique152" class="uri">http://infochim.u-strasbg.fr/spip.php?rubrique152</a></td>
+<td align="left">S4MPLE (Sampler For Multiple Protein-Ligand Entities) is a flexible molecular modeling tool, supporting empirical force field-driven conformational sampling and geometry optimization heuristics using a hybrid genetic algorithm (GA).</td>
+<td align="left"><ul>
+<li>1.0.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libctl</strong><br />
+<a href="http://ab-initio.mit.edu/libctl" class="uri">http://ab-initio.mit.edu/libctl</a></td>
+<td align="left">libctl is a free Guile-based library implementing flexible control files for scientific simulations.</td>
+<td align="left"><ul>
+<li>3.2.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libxc</strong><br />
+<a href="http://www.tddft.org/programs/octopus/wiki/index.php/Libxc" class="uri">http://www.tddft.org/programs/octopus/wiki/index.php/Libxc</a></td>
+<td align="left">Libxc is a library of exchange-correlation functionals for density-functional theory. The aim is to provide a portable, well tested and reliable set of exchange and correlation functionals.</td>
+<td align="left"><ul>
+<li>2.2.0-foss-2015b</li>
+<li>2.2.0-gompi-2015b</li>
+<li>2.2.1-intel-2015b</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[compiler](#categories "Go to list of categories...")
+---------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>BerkeleyUPC</strong><br />
+<a href="http://upc.lbl.gov" class="uri">http://upc.lbl.gov</a></td>
+<td align="left">The goal of the Berkeley UPC compiler group is to develop a portable, high performance implementation of UPC for large-scale multiprocessors, PC clusters, and clusters of shared memory multiprocessors.</td>
+<td align="left"><ul>
+<li>2.16.2-gompi-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Clang</strong><br />
+<a href="http://clang.llvm.org/" class="uri">http://clang.llvm.org/</a></td>
+<td align="left">C, C++, Objective-C compiler, based on LLVM. Does not include C++ standard library -- use libstdc++ from GCC.</td>
+<td align="left"><ul>
+<li>3.7.0-GNU-5.1.0-2.25</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>GCC</strong><br />
+<a href="http://gcc.gnu.org/" class="uri">http://gcc.gnu.org/</a></td>
+<td align="left">The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).</td>
+<td align="left"><ul>
+<li>4.4.7-system</li>
+<li>4.7.4</li>
+<li>4.8.3</li>
+<li>4.9.2-binutils-2.25</li>
+<li>4.9.3</li>
+<li>4.9.3-2.25</li>
+<li>4.9.3-binutils-2.25</li>
+<li>5.1.0-binutils-2.25</li>
+<li>5.2.0</li>
+<li>5.3.0-2.25</li>
+<li>5.3.0-2.26</li>
+<li>5.3.0-binutils-2.25</li>
+<li>5.3.1-snapshot-20160419-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>GCCcore</strong><br />
+<a href="http://gcc.gnu.org/" class="uri">http://gcc.gnu.org/</a></td>
+<td align="left">The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...).</td>
+<td align="left"><ul>
+<li>4.9.3</li>
+<li>5.3.0</li>
+<li>5.3.1-snapshot-20160419</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>LLVM</strong><br />
+<a href="http://llvm.org/" class="uri">http://llvm.org/</a></td>
+<td align="left">The LLVM Core libraries provide a modern source- and target-independent optimizer, along with code generation support for many popular CPUs (as well as some less common ones!) These libraries are built around a well specified code representation known as the LLVM intermediate representation (&quot;LLVM IR&quot;). The LLVM Core libraries are well documented, and it is particularly easy to invent your own language (or port an existing compiler) to use LLVM as an optimizer and code generator.</td>
+<td align="left"><ul>
+<li>3.7.1-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OpenCoarrays</strong><br />
+<a href="http://www.opencoarrays.org/" class="uri">http://www.opencoarrays.org/</a></td>
+<td align="left">A transport layer for coarray Fortran compilers.</td>
+<td align="left"><ul>
+<li>1.4.0-GCC-5.3.0-2.25</li>
+<li>1.4.0-GCC-5.3.1-snapshot-20160419-2.25</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>PGI</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>15.7</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>icc</strong><br />
+<a href="http://software.intel.com/en-us/intel-compilers/" class="uri">http://software.intel.com/en-us/intel-compilers/</a></td>
+<td align="left">C and C++ compiler from Intel</td>
+<td align="left"><ul>
+<li>2013.5.192</li>
+<li>2013.5.192-GCC-4.8.3</li>
+<li>2015.3.187</li>
+<li>2015.3.187-GNU-4.9.3-2.25</li>
+<li>2015.3.187-GNU-5.1.0-2.25</li>
+<li>2016.0.109-GCC-4.9.3</li>
+<li>2016.1.150</li>
+<li>2016.1.150-GCC-4.9.3</li>
+<li>2016.1.150-GCC-4.9.3-2.25</li>
+<li>2016.3.210-GCC-5.3.0-2.26</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>ifort</strong><br />
+<a href="http://software.intel.com/en-us/intel-compilers/" class="uri">http://software.intel.com/en-us/intel-compilers/</a></td>
+<td align="left">Fortran compiler from Intel</td>
+<td align="left"><ul>
+<li>2013.5.192</li>
+<li>2013.5.192-GCC-4.8.3</li>
+<li>2015.3.187</li>
+<li>2015.3.187-GNU-4.9.3-2.25</li>
+<li>2015.3.187-GNU-5.1.0-2.25</li>
+<li>2016.0.109-GCC-4.9.3</li>
+<li>2016.1.150</li>
+<li>2016.1.150-GCC-4.9.3</li>
+<li>2016.1.150-GCC-4.9.3-2.25</li>
+<li>2016.3.210-GCC-5.3.0-2.26</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[data](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>GDAL</strong><br />
+<a href="http://www.gdal.org/" class="uri">http://www.gdal.org/</a></td>
+<td align="left">GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for data translation and processing.</td>
+<td align="left"><ul>
+<li>1.9.2-foss-2015g</li>
+<li>2.0.1-foss-2015b</li>
+<li>2.1.0-GNU-5.1.0-2.25</li>
+<li>2.1.0-GNU-5.1.0-2.25-intel-2015b</li>
+<li>2.1.0-foss-2015g</li>
+<li>2.1.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>HDF5</strong><br />
+<a href="http://www.hdfgroup.org/HDF5/" class="uri">http://www.hdfgroup.org/HDF5/</a></td>
+<td align="left">HDF5 is a unique technology suite that makes possible the management of extremely large and complex data collections.</td>
+<td align="left"><ul>
+<li>1.10.0-patch1-intel-2016.01-mic</li>
+<li>1.8.13-foss-2015g</li>
+<li>1.8.13-intel-2015b</li>
+<li>1.8.13-intel-2015b-no-mpi</li>
+<li>1.8.13-intel-2016.01</li>
+<li>1.8.14-ictce-7.3.5-serial</li>
+<li>1.8.15-patch1-foss-2015b</li>
+<li>1.8.16-foss-2015g</li>
+<li>1.8.16-intel-2015b</li>
+<li>1.8.16-intel-2015b-threadsafe</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>h5py</strong><br />
+<a href="http://www.h5py.org/" class="uri">http://www.h5py.org/</a></td>
+<td align="left">HDF5 for Python (h5py) is a general-purpose Python interface to the Hierarchical Data Format library, version 5. HDF5 is a versatile, mature scientific software library designed for the fast, flexible storage of enormous amounts of data.</td>
+<td align="left"><ul>
+<li>2.4.0-ictce-7.3.5-Python-2.7.9-serial</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>netCDF</strong><br />
+<a href="http://www.unidata.ucar.edu/software/netcdf/" class="uri">http://www.unidata.ucar.edu/software/netcdf/</a></td>
+<td align="left">NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.</td>
+<td align="left"><ul>
+<li>4.3.2-foss-2015g</li>
+<li>4.3.2-intel-2015b</li>
+<li>4.3.2-intel-2016.01</li>
+<li>4.3.3.1-foss-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>netCDF-Fortran</strong><br />
+<a href="http://www.unidata.ucar.edu/software/netcdf/" class="uri">http://www.unidata.ucar.edu/software/netcdf/</a></td>
+<td align="left">NetCDF (network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.</td>
+<td align="left"><ul>
+<li>4.4.0-intel-2016.01</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[debugger](#categories "Go to list of categories...")
+---------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>DDT</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>4.2</li>
+<li>5.0.1</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Forge</strong><br />
+<a href="http://www.allinea.com/products/develop-allinea-forge" class="uri">http://www.allinea.com/products/develop-allinea-forge</a></td>
+<td align="left">Allinea Forge is the complete toolsuite for software development - with everything needed to debug, profile, optimize, edit and build C, C++ and FORTRAN applications on Linux for high performance - from single threads through to complex parallel HPC codes with MPI, OpenMP, threads or CUDA.</td>
+<td align="left"><ul>
+<li>5.1-43967</li>
+<li>6.0.5</li>
+<li>6.0.6</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>PerformanceReports</strong><br />
+<a href="http://www.allinea.com/products/allinea-performance-reports" class="uri">http://www.allinea.com/products/allinea-performance-reports</a></td>
+<td align="left">Allinea Performance Reports are the most effective way to characterize and understand the performance of HPC application runs. One single-page HTML report elegantly answers a range of vital questions for any HPC site. - Is this application well-optimized for the system and the processors it is running on? - Does it benefit from running at this scale? - Are there I/O, networking or threading bottlenecks affecting performance? - Which hardware, software or configuration changes can we make to improve performance further. - How much energy did this application use?</td>
+<td align="left"><ul>
+<li>5.1-43967</li>
+<li>6.0.6</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>TotalView</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>8.15.4-6-linux-x86-64</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Valgrind</strong><br />
+<a href="http://valgrind.org/downloads/" class="uri">http://valgrind.org/downloads/</a></td>
+<td align="left">ValgrindDebugging and profiling tools</td>
+<td align="left"><ul>
+<li>3.11.0-foss-2015b</li>
+<li>3.11.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>aislinn</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>20160105-Python-2.7.9-gompi-2015e</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[devel](#categories "Go to list of categories...")
+------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>Autoconf</strong><br />
+<a href="http://www.gnu.org/software/autoconf/" class="uri">http://www.gnu.org/software/autoconf/</a></td>
+<td align="left">Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of M4 macro calls.</td>
+<td align="left"><ul>
+<li>2.69</li>
+<li>2.69-GCC-4.9.3-2.25</li>
+<li>2.69-GNU-4.9.3-2.25</li>
+<li>2.69-GNU-5.1.0-2.25</li>
+<li>2.69-foss-2015g</li>
+<li>2.69-intel-2015b</li>
+<li>2.69-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Automake</strong><br />
+<a href="http://www.gnu.org/software/automake/automake.html" class="uri">http://www.gnu.org/software/automake/automake.html</a></td>
+<td align="left">AutomakeGNU Standards-compliant Makefile generator</td>
+<td align="left"><ul>
+<li>1.15</li>
+<li>1.15-GCC-4.9.3-2.25</li>
+<li>1.15-GNU-4.9.3-2.25</li>
+<li>1.15-GNU-5.1.0-2.25</li>
+<li>1.15-foss-2015g</li>
+<li>1.15-intel-2015b</li>
+<li>1.15-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Autotools</strong><br />
+<a href="http://autotools.io" class="uri">http://autotools.io</a></td>
+<td align="left">This bundle collect the standard GNU build toolsAutoconf, Automake and libtool</td>
+<td align="left"><ul>
+<li>20150215</li>
+<li>20150215-GCC-4.9.3-2.25</li>
+<li>20150215-GNU-4.9.3-2.25</li>
+<li>20150215-GNU-5.1.0-2.25</li>
+<li>20150215-intel-2015b</li>
+<li>20150215-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Boost</strong><br />
+<a href="http://www.boost.org/" class="uri">http://www.boost.org/</a></td>
+<td align="left">Boost provides free peer-reviewed portable C++ source libraries.</td>
+<td align="left"><ul>
+<li>1.58.0-Python-2.7.9</li>
+<li>1.58.0-foss-2015g-Python-2.7.9</li>
+<li>1.58.0-gompi-2015e-Python-2.7.9</li>
+<li>1.58.0-ictce-7.3.5-Python-2.7.9</li>
+<li>1.58.0-intel-2015b-Python-2.7.9</li>
+<li>1.58.0-intel-2016.01-Python-2.7.9</li>
+<li>1.59.0-intel-2015b-Python-2.7.11</li>
+<li>1.59.0-intel-2016.01</li>
+<li>1.60.0-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>CMake</strong><br />
+<a href="http://www.cmake.org" class="uri">http://www.cmake.org</a></td>
+<td align="left">CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.</td>
+<td align="left"><ul>
+<li>3.0.0-foss-2015g</li>
+<li>3.0.0-ictce-7.3.5</li>
+<li>3.0.0-intel-2015b</li>
+<li>3.0.0-intel-2016.01</li>
+<li>3.3.1-GCC-5.3.0-2.25</li>
+<li>3.3.1-GCC-5.3.1-snapshot-20160419-2.25</li>
+<li>3.3.1-GNU-4.9.3-2.25</li>
+<li>3.3.1-GNU-5.1.0-2.25</li>
+<li>3.3.1-foss-2015g</li>
+<li>3.3.1-intel-2016.01</li>
+<li>3.3.2-GNU-4.9.3-2.25</li>
+<li>3.3.2-intel-2016.01</li>
+<li>3.4.1-GCCcore-4.9.3</li>
+<li>3.4.1-foss-2015b</li>
+<li>3.4.1-intel-2015b</li>
+<li>3.5.2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Doxygen</strong><br />
+<a href="http://www.doxygen.org" class="uri">http://www.doxygen.org</a></td>
+<td align="left">Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.</td>
+<td align="left"><ul>
+<li>1.8.10-foss-2015b</li>
+<li>1.8.11</li>
+<li>1.8.7-foss-2015g</li>
+<li>1.8.7-intel-2015b</li>
+<li>1.8.7-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>JUnit</strong><br />
+<a href="http://sourceforge.net/projects/junit" class="uri">http://sourceforge.net/projects/junit</a></td>
+<td align="left">A programmer-oriented testing framework for Java.</td>
+<td align="left"><ul>
+<li>4.11-Java-1.7.0_79</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>M4</strong><br />
+<a href="http://www.gnu.org/software/m4/m4.html" class="uri">http://www.gnu.org/software/m4/m4.html</a></td>
+<td align="left">GNU M4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible although it has some extensions (for example, handling more than 9 positional parameters to macros). GNU M4 also has built-in functions for including files, running shell commands, doing arithmetic, etc.</td>
+<td align="left"><ul>
+<li>1.4.16-foss-2015g</li>
+<li>1.4.16-intel-2015b</li>
+<li>1.4.17</li>
+<li>1.4.17-GCC-4.9.3-2.25</li>
+<li>1.4.17-GCC-4.9.3-binutils-2.25</li>
+<li>1.4.17-GCC-5.1.0-binutils-2.25</li>
+<li>1.4.17-GCCcore-4.9.3</li>
+<li>1.4.17-GCCcore-5.3.0</li>
+<li>1.4.17-GCCcore-5.3.1-snapshot-20160419</li>
+<li>1.4.17-GNU-4.9.3-2.25</li>
+<li>1.4.17-GNU-5.1.0-2.25</li>
+<li>1.4.17-foss-2015b</li>
+<li>1.4.17-foss-2015g</li>
+<li>1.4.17-intel-2015b</li>
+<li>1.4.17-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Maven</strong><br />
+<a href="http://maven.apache.org/index.html" class="uri">http://maven.apache.org/index.html</a></td>
+<td align="left">Binary maven install, Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.</td>
+<td align="left"><ul>
+<li>3.3.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PCRE</strong><br />
+<a href="http://www.pcre.org/" class="uri">http://www.pcre.org/</a></td>
+<td align="left">The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.</td>
+<td align="left"><ul>
+<li>8.36-foss-2015g</li>
+<li>8.36-intel-2015b</li>
+<li>8.36-intel-2016.01</li>
+<li>8.37</li>
+<li>8.37-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Qt</strong><br />
+<a href="http://qt-project.org/" class="uri">http://qt-project.org/</a></td>
+<td align="left">Qt is a comprehensive cross-platform C++ application framework.</td>
+<td align="left"><ul>
+<li>4.8.6-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SCons</strong><br />
+<a href="http://www.scons.org/" class="uri">http://www.scons.org/</a></td>
+<td align="left">SCons is a software construction tool.</td>
+<td align="left"><ul>
+<li>2.3.6-Python-2.7.9</li>
+<li>2.3.6-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>SQLite</strong><br />
+<a href="http://www.sqlite.org/" class="uri">http://www.sqlite.org/</a></td>
+<td align="left">SQLiteSQL Database Engine in a C Library</td>
+<td align="left"><ul>
+<li>3.10.1-foss-2015g</li>
+<li>3.8.10.2-GCC-4.9.3-2.25</li>
+<li>3.8.10.2-GNU-4.9.3-2.25</li>
+<li>3.8.8.1</li>
+<li>3.8.8.1-GNU-5.1.0-2.25</li>
+<li>3.8.8.1-foss-2015b</li>
+<li>3.8.8.1-foss-2015g</li>
+<li>3.8.8.1-gompi-2015e</li>
+<li>3.8.8.1-ictce-7.3.5</li>
+<li>3.8.8.1-intel-2015b</li>
+<li>3.8.8.1-intel-2016.01</li>
+<li>3.9.2-foss-2015g</li>
+<li>3.9.2-intel-2015b</li>
+<li>3.9.2-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SWIG</strong><br />
+<a href="http://www.swig.org/" class="uri">http://www.swig.org/</a></td>
+<td align="left">SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.</td>
+<td align="left"><ul>
+<li>2.0.12-Python-2.7.9</li>
+<li>2.0.12-intel-2015b-Python-2.7.9</li>
+<li>3.0.7-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Spark</strong><br />
+<a href="http://spark.apache.org" class="uri">http://spark.apache.org</a></td>
+<td align="left">Spark is Hadoop MapReduce done in memory</td>
+<td align="left"><ul>
+<li>1.5.2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>ant</strong><br />
+<a href="http://ant.apache.org/" class="uri">http://ant.apache.org/</a></td>
+<td align="left">Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.</td>
+<td align="left"><ul>
+<li>1.9.3-Java-1.7.0_79</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>fontsproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X11 font extension wire protocol</td>
+<td align="left"><ul>
+<li>2.1.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>glproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X protocol and ancillary headers</td>
+<td align="left"><ul>
+<li>1.4.16-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>gperf</strong><br />
+<a href="http://www.gnu.org/software/gperf/" class="uri">http://www.gnu.org/software/gperf/</a></td>
+<td align="left">GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code, for looking up a value depending on the input string. The hash function is perfect, which means that the hash table has no collisions, and the hash table lookup needs a single string comparison only.</td>
+<td align="left"><ul>
+<li>3.0.4-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>guile</strong><br />
+<a href="http://www.gnu.org/software/guile" class="uri">http://www.gnu.org/software/guile</a></td>
+<td align="left">Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system.</td>
+<td align="left"><ul>
+<li>1.8.8</li>
+<li>1.8.8-foss-2015b</li>
+<li>1.8.8-foss-2015g</li>
+<li>1.8.8-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libSM</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X11 Session Management library, which allows for applications to both manage sessions, and make use of session managers to save and restore their state for later use.</td>
+<td align="left"><ul>
+<li>1.2.2</li>
+<li>1.2.2-foss-2015g</li>
+<li>1.2.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>make</strong><br />
+<a href="http://www.gnu.org/software/make/make.html" class="uri">http://www.gnu.org/software/make/make.html</a></td>
+<td align="left">make-3.82GNU version of make utility</td>
+<td align="left"><ul>
+<li>3.82</li>
+<li>3.82-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>makedepend</strong><br />
+<a href="http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html" class="uri">http://www.linuxfromscratch.org/blfs/view/svn/x/makedepend.html</a></td>
+<td align="left">The makedepend package contains a C-preprocessor like utility to determine build-time dependencies.</td>
+<td align="left"><ul>
+<li>1.0.4</li>
+<li>1.0.4-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>ncurses</strong><br />
+<a href="http://www.gnu.org/software/ncurses/" class="uri">http://www.gnu.org/software/ncurses/</a></td>
+<td align="left">The Ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses Terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD Curses.</td>
+<td align="left"><ul>
+<li>5.9</li>
+<li>5.9-GCC-5.3.0-2.25</li>
+<li>5.9-GCC-5.3.1-snapshot-20160419-2.25</li>
+<li>5.9-GNU-4.9.3-2.25</li>
+<li>5.9-GNU-5.1.0-2.25</li>
+<li>5.9-foss-2015b</li>
+<li>5.9-foss-2015g</li>
+<li>5.9-gompi-2015e</li>
+<li>5.9-ictce-5.5.0</li>
+<li>5.9-ictce-7.3.5</li>
+<li>5.9-intel-2015b</li>
+<li>5.9-intel-2016.01</li>
+<li>6.0</li>
+<li>6.0-GCCcore-4.9.3</li>
+<li>6.0-foss-2015b</li>
+<li>6.0-foss-2015g</li>
+<li>6.0-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>pkg-config</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/pkg-config/" class="uri">http://www.freedesktop.org/wiki/Software/pkg-config/</a></td>
+<td align="left">pkg-config is a helper tool used when compiling applications and libraries. It helps you insert the correct compiler options on the command line so an application can use gcc -o test test.c `pkg-config --libs --cflags glib-2.0` for instance, rather than hard-coding values on where to find glib (or other libraries).</td>
+<td align="left"><ul>
+<li>0.27.1</li>
+<li>0.27.1-foss-2015b</li>
+<li>0.27.1-foss-2015g</li>
+<li>0.27.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>python-meep</strong><br />
+<a href="https://code.launchpad.net/python-meep" class="uri">https://code.launchpad.net/python-meep</a></td>
+<td align="left">Python wrapper for the Meep FDTD solver.</td>
+<td align="left"><ul>
+<li>1.4.2-intel-2015b-Python-2.7.9-Meep-1.3</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>renderproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">Xrender protocol and ancillary headers</td>
+<td align="left"><ul>
+<li>0.11</li>
+<li>0.11-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>xbitmaps</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">provides bitmaps for x</td>
+<td align="left"><ul>
+<li>1.1.1</li>
+<li>1.1.1-foss-2015g</li>
+<li>1.1.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>xcb-proto</strong><br />
+<a href="http://xcb.freedesktop.org/" class="uri">http://xcb.freedesktop.org/</a></td>
+<td align="left">The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+<td align="left"><ul>
+<li>1.10-Python-2.7.8</li>
+<li>1.11-Python-2.7.9</li>
+<li>1.11-foss-2015g-Python-2.7.9</li>
+<li>1.11-intel-2015b-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>xextproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">XExtProto protocol headers.</td>
+<td align="left"><ul>
+<li>7.3.0</li>
+<li>7.3.0-foss-2015g</li>
+<li>7.3.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>xineramaproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X protocol and ancillary headers for xinerama</td>
+<td align="left"><ul>
+<li>1.2.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>xorg-macros</strong><br />
+<a href="http://cgit.freedesktop.org/xorg/util/macros" class="uri">http://cgit.freedesktop.org/xorg/util/macros</a></td>
+<td align="left">X.org macros utilities.</td>
+<td align="left"><ul>
+<li>1.17-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>xproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X protocol and ancillary headers</td>
+<td align="left"><ul>
+<li>7.0.26</li>
+<li>7.0.26-foss-2015g</li>
+<li>7.0.26-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>xtrans</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">xtrans includes a number of routines to make X implementations transport-independent; at time of writing, it includes support for UNIX sockets, IPv4, IPv6, and DECnet.</td>
+<td align="left"><ul>
+<li>1.3.4-intel-2015b</li>
+<li>1.3.5</li>
+<li>1.3.5-foss-2015g</li>
+<li>1.3.5-intel-2015b</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[geo](#categories "Go to list of categories...")
+----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>DCW</strong><br />
+<a href="http://gmt.soest.hawaii.edu/projects/gmt" class="uri">http://gmt.soest.hawaii.edu/projects/gmt</a></td>
+<td align="left">country polygons for GMT</td>
+<td align="left"><ul>
+<li>1.1.2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>GMT</strong><br />
+<a href="http://gmt.soest.hawaii.edu/" class="uri">http://gmt.soest.hawaii.edu/</a></td>
+<td align="left">GMT is an open source collection of about 80 command-line tools for manipulating geographic and Cartesian data sets (including filtering, trend fitting, gridding, projecting, etc.) and producing PostScript illustrations ranging from simple x-y plots via contour maps to artificially illuminated surfaces and 3D perspective views; the GMT supplements add another 40 more specialized and discipline-specific tools.</td>
+<td align="left"><ul>
+<li>5.2.1-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>PROJ_4</strong><br />
+<a href="http://proj.osgeo.org" class="uri">http://proj.osgeo.org</a></td>
+<td align="left">PROJ.4 - Cartographic Projections Library originally written by Gerald Evenden then of the USGS.</td>
+<td align="left"><ul>
+<li>4.9.2-foss-2015g</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[lang](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>Bison</strong><br />
+<a href="http://www.gnu.org/software/bison" class="uri">http://www.gnu.org/software/bison</a></td>
+<td align="left">Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.</td>
+<td align="left"><ul>
+<li>2.5-intel-2015b</li>
+<li>2.7-GNU-5.1.0-2.25</li>
+<li>2.7-foss-2015b</li>
+<li>2.7-foss-2015g</li>
+<li>2.7-intel-2015b</li>
+<li>3.0.2</li>
+<li>3.0.2-foss-2015g</li>
+<li>3.0.2-intel-2015b</li>
+<li>3.0.2-intel-2016.01</li>
+<li>3.0.4</li>
+<li>3.0.4-GCC-4.9.3-binutils-2.25</li>
+<li>3.0.4-GCC-5.1.0-binutils-2.25</li>
+<li>3.0.4-GCCcore-4.9.3</li>
+<li>3.0.4-GCCcore-5.3.0</li>
+<li>3.0.4-GCCcore-5.3.1-snapshot-20160419</li>
+<li>3.0.4-foss-2015b</li>
+<li>3.0.4-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Java</strong><br />
+<a href="http://java.com/" class="uri">http://java.com/</a></td>
+<td align="left">Java Platform, Standard Edition (Java SE) lets you develop and deploy Java applications on desktops and servers.</td>
+<td align="left"><ul>
+<li>1.7.0_79</li>
+<li>1.8.0_51</li>
+<li>1.8.0_72</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Mono</strong><br />
+<a href="http://www.mono-project.com" class="uri">http://www.mono-project.com</a></td>
+<td align="left">Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime.</td>
+<td align="left"><ul>
+<li>3.12.1</li>
+<li>3.12.1-GCC-4.4.7-system</li>
+<li>4.0.3.20-GNU-5.1.0-2.25</li>
+<li>4.2.2.10-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>NASM</strong><br />
+<a href="http://www.nasm.us/" class="uri">http://www.nasm.us/</a></td>
+<td align="left">NASMGeneral-purpose x86 assembler</td>
+<td align="left"><ul>
+<li>2.11.05</li>
+<li>2.11.05-foss-2015b</li>
+<li>2.11.05-foss-2015g</li>
+<li>2.11.05-intel-2015b</li>
+<li>2.11.06-intel-2015b</li>
+<li>2.11.08-foss-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>OpenCL-builder</strong><br />
+<a href="https://software.intel.com/en-us/intel-opencl" class="uri">https://software.intel.com/en-us/intel-opencl</a></td>
+<td align="left">OpenCL™ is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software. This is builder (formerly runtime) package.</td>
+<td align="left"><ul>
+<li>2015</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OpenCL-runtime</strong><br />
+<a href="https://software.intel.com/en-us/intel-opencl" class="uri">https://software.intel.com/en-us/intel-opencl</a></td>
+<td align="left">OpenCL™ is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. OpenCL (Open Computing Language) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software.</td>
+<td align="left"><ul>
+<li>15.1</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Perl</strong><br />
+<a href="http://www.perl.org/" class="uri">http://www.perl.org/</a></td>
+<td align="left">Larry Wall's Practical Extraction and Report Language</td>
+<td align="left"><ul>
+<li>5.16.3-intel-2015b</li>
+<li>5.20.2-GNU-4.9.3-2.25-bare</li>
+<li>5.20.2-bare</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Python</strong><br />
+<a href="http://python.org/" class="uri">http://python.org/</a></td>
+<td align="left">Python is a programming language that lets you work more quickly and integrate your systems more effectively.</td>
+<td align="left"><ul>
+<li>2.7.10-GCC-4.9.3-2.25-bare</li>
+<li>2.7.10-GNU-4.9.3-2.25-bare</li>
+<li>2.7.11-intel-2015b</li>
+<li>2.7.8-intel-2015b</li>
+<li>2.7.8-intel-2016.01</li>
+<li>2.7.9</li>
+<li>2.7.9-GNU-5.1.0-2.25</li>
+<li>2.7.9-foss-2015b</li>
+<li>2.7.9-foss-2015g</li>
+<li>2.7.9-gompi-2015e</li>
+<li>2.7.9-ictce-7.3.5</li>
+<li>2.7.9-intel-2015b</li>
+<li>2.7.9-intel-2016.01</li>
+<li>3.5.1-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>R</strong><br />
+<a href="http://www.r-project.org/" class="uri">http://www.r-project.org/</a></td>
+<td align="left">R is a free software environment for statistical computing and graphics.</td>
+<td align="left"><ul>
+<li>3.1.1-intel-2015b</li>
+<li>3.2.3-foss-2015b</li>
+<li>3.2.3-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Racket</strong><br />
+<a href="http://racket-lang.org" class="uri">http://racket-lang.org</a></td>
+<td align="left">Racket is a full-spectrum programming language. It goes beyond Lisp and Scheme with dialects that support objects, types, laziness, and more.</td>
+<td align="left"><ul>
+<li>6.1.1-GNU-5.1.0-2.25</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Ruby</strong><br />
+<a href="https://www.ruby-lang.org" class="uri">https://www.ruby-lang.org</a></td>
+<td align="left">Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.</td>
+<td align="left"><ul>
+<li>2.1.5-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SIP</strong><br />
+<a href="http://www.riverbankcomputing.com/software/sip/" class="uri">http://www.riverbankcomputing.com/software/sip/</a></td>
+<td align="left">SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries.</td>
+<td align="left"><ul>
+<li>4.16.4-foss-2015g-Python-2.7.9</li>
+<li>4.17-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>SnuCL</strong><br />
+<a href="http://snucl.snu.ac.kr" class="uri">http://snucl.snu.ac.kr</a></td>
+<td align="left">An OpenCL Framework for Heterogeneous Clusters</td>
+<td align="left"><ul>
+<li>1.3.3-gompi-2015e</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Tcl</strong><br />
+<a href="http://www.tcl.tk/" class="uri">http://www.tcl.tk/</a></td>
+<td align="left">Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more.</td>
+<td align="left"><ul>
+<li>8.5.12-intel-2015b</li>
+<li>8.6.3</li>
+<li>8.6.3-GNU-5.1.0-2.25</li>
+<li>8.6.3-foss-2015b</li>
+<li>8.6.3-foss-2015g</li>
+<li>8.6.3-gompi-2015e</li>
+<li>8.6.3-ictce-7.3.5</li>
+<li>8.6.3-intel-2015b</li>
+<li>8.6.3-intel-2016.01</li>
+<li>8.6.4</li>
+<li>8.6.4-GCC-4.9.3-2.25</li>
+<li>8.6.4-GNU-4.9.3-2.25</li>
+<li>8.6.4-foss-2015b</li>
+<li>8.6.4-foss-2015g</li>
+<li>8.6.4-intel-2015b</li>
+<li>8.6.4-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>byacc</strong><br />
+<a href="http://invisible-island.net/byacc/byacc.html" class="uri">http://invisible-island.net/byacc/byacc.html</a></td>
+<td align="left">Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available. In contrast to bison, it is written to avoid dependencies upon a particular compiler.</td>
+<td align="left"><ul>
+<li>20120526</li>
+<li>20120526-foss-2015b</li>
+<li>20120526-foss-2015g</li>
+<li>20120526-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>flex</strong><br />
+<a href="http://flex.sourceforge.net/" class="uri">http://flex.sourceforge.net/</a></td>
+<td align="left">Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text.</td>
+<td align="left"><ul>
+<li>2.5.35-intel-2015b</li>
+<li>2.5.37-intel-2015b</li>
+<li>2.5.38-GCC-4.8.3</li>
+<li>2.5.39</li>
+<li>2.5.39-GCC-4.9.3-binutils-2.25</li>
+<li>2.5.39-GCC-5.1.0-binutils-2.25</li>
+<li>2.5.39-GCCcore-4.9.3</li>
+<li>2.5.39-GCCcore-5.3.0</li>
+<li>2.5.39-GCCcore-5.3.1-snapshot-20160419</li>
+<li>2.5.39-foss-2015b</li>
+<li>2.5.39-foss-2015g</li>
+<li>2.5.39-intel-2015b</li>
+<li>2.5.39-intel-2016.01</li>
+<li>2.6.0</li>
+<li>2.6.0-GCCcore-5.3.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libgdiplus</strong><br />
+<a href="https://github.com/mono/libgdiplus" class="uri">https://github.com/mono/libgdiplus</a></td>
+<td align="left">An Open Source implementation of the GDI+ API.</td>
+<td align="left"><ul>
+<li>3.12-GCC-4.4.7-system</li>
+<li>3.12-GNU-5.1.0-2.25</li>
+<li>3.12-intel-2016.01</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[lib](#categories "Go to list of categories...")
+----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>FOX</strong><br />
+<a href="http://fox-toolkit.org" class="uri">http://fox-toolkit.org</a></td>
+<td align="left">FOX is a C++ based Toolkit for developing Graphical User Interfaces easily and effectively. It offers a wide, and growing, collection of Controls, and provides state of the art facilities such as drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation.</td>
+<td align="left"><ul>
+<li>1.6.51-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>LibTIFF</strong><br />
+<a href="http://www.remotesensing.org/libtiff/" class="uri">http://www.remotesensing.org/libtiff/</a></td>
+<td align="left">tiffLibrary and tools for reading and writing TIFF data files</td>
+<td align="left"><ul>
+<li>4.0.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>OpenCoarrays</strong><br />
+<a href="http://www.opencoarrays.org" class="uri">http://www.opencoarrays.org</a></td>
+<td align="left">OpenCoarrays is an open-source software project for developing, porting and tuning transport layers that support coarray Fortran compilers.</td>
+<td align="left"><ul>
+<li>1.0.0-GNU-5.1.0-2.25</li>
+<li>1.0.1-GNU-5.1.0-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PROJ</strong><br />
+<a href="http://trac.osgeo.org/proj/" class="uri">http://trac.osgeo.org/proj/</a></td>
+<td align="left">Program proj is a standard Unix filter function which converts geographic longitude and latitude coordinates into cartesian coordinates</td>
+<td align="left"><ul>
+<li>4.8.0-foss-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>QCA</strong><br />
+<a href="http://delta.affinix.com/qca/" class="uri">http://delta.affinix.com/qca/</a></td>
+<td align="left">QCA aims to provide a straightforward and cross-platform crypto API, using Qt datatypes and conventions. QCA separates the API from the implementation, using plugins known as Providers</td>
+<td align="left"><ul>
+<li>2.1.0-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>QGIS</strong><br />
+<a href="http://www.qgis.org" class="uri">http://www.qgis.org</a></td>
+<td align="left">A Free and Open Source Geographic Information System</td>
+<td align="left"><ul>
+<li>2.12.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Qwt</strong><br />
+<a href="http://qwt.sourceforge.net/index.html" class="uri">http://qwt.sourceforge.net/index.html</a></td>
+<td align="left">The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background. Beside a framework for 2D plots it provides scales, sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, or ranges of type double.</td>
+<td align="left"><ul>
+<li>6.1.2-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SpatiaLite</strong><br />
+<a href="https://www.gaia-gis.it/fossil/libspatialite/index" class="uri">https://www.gaia-gis.it/fossil/libspatialite/index</a></td>
+<td align="left">SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.</td>
+<td align="left"><ul>
+<li>4.3.0a-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libMesh</strong><br />
+<a href="http://libmesh.github.io/" class="uri">http://libmesh.github.io/</a></td>
+<td align="left">The libMesh library provides a framework for the numerical simulation of partial differential equations using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist to focus on the physics they are modeling.</td>
+<td align="left"><ul>
+<li>0.9.5-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libdrm</strong><br />
+<a href="http://dri.freedesktop.org" class="uri">http://dri.freedesktop.org</a></td>
+<td align="left">Direct Rendering Manager runtime library.</td>
+<td align="left"><ul>
+<li>2.4.27-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libffi</strong><br />
+<a href="http://sourceware.org/libffi/" class="uri">http://sourceware.org/libffi/</a></td>
+<td align="left">The libffi library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run-time.</td>
+<td align="left"><ul>
+<li>3.0.13</li>
+<li>3.0.13-foss-2015b</li>
+<li>3.0.13-foss-2015g</li>
+<li>3.0.13-intel-2015b</li>
+<li>3.1-GNU-5.1.0-2.25</li>
+<li>3.1-foss-2015b</li>
+<li>3.1-intel-2015b</li>
+<li>3.1-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libfontenc</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs/" class="uri">http://www.freedesktop.org/wiki/Software/xlibs/</a></td>
+<td align="left">X11 font encoding library</td>
+<td align="left"><ul>
+<li>1.1.3-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libjpeg-turbo</strong><br />
+<a href="http://sourceforge.net/libjpeg-turbo/" class="uri">http://sourceforge.net/libjpeg-turbo/</a></td>
+<td align="left">libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to accelerate baseline JPEG compression and decompression. libjpeg is a library that implements JPEG image encoding, decoding and transcoding.</td>
+<td align="left"><ul>
+<li>1.3.1-foss-2015b</li>
+<li>1.3.1-intel-2015b</li>
+<li>1.4.0</li>
+<li>1.4.0-foss-2015g</li>
+<li>1.4.0-intel-2015b</li>
+<li>1.4.1-foss-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libmatheval</strong><br />
+<a href="http://www.gnu.org/software/libmatheval/" class="uri">http://www.gnu.org/software/libmatheval/</a></td>
+<td align="left">GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic expressions input as text.</td>
+<td align="left"><ul>
+<li>1.1.8-foss-2015b</li>
+<li>1.1.8-foss-2015g</li>
+<li>1.1.8-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libpng</strong><br />
+<a href="http://www.libpng.org/pub/png/libpng.html" class="uri">http://www.libpng.org/pub/png/libpng.html</a></td>
+<td align="left">libpng is the official PNG reference library</td>
+<td align="left"><ul>
+<li>1.6.12</li>
+<li>1.6.12-foss-2015b</li>
+<li>1.6.12-foss-2015g</li>
+<li>1.6.12-intel-2015b</li>
+<li>1.6.12-intel-2016.01</li>
+<li>1.6.17-foss-2015b</li>
+<li>1.6.21-foss-2015b</li>
+<li>1.6.21-foss-2015g</li>
+<li>1.6.9-ictce-5.5.0</li>
+<li>1.6.9-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libpthread-stubs</strong><br />
+<a href="http://xcb.freedesktop.org/" class="uri">http://xcb.freedesktop.org/</a></td>
+<td align="left">The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+<td align="left"><ul>
+<li>0.3</li>
+<li>0.3-foss-2015g</li>
+<li>0.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libreadline</strong><br />
+<a href="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html" class="uri">http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html</a></td>
+<td align="left">The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.</td>
+<td align="left"><ul>
+<li>6.2-ictce-5.5.0</li>
+<li>6.2-intel-2015b</li>
+<li>6.3</li>
+<li>6.3-GCCcore-4.9.3</li>
+<li>6.3-GNU-4.9.3-2.25</li>
+<li>6.3-GNU-5.1.0-2.25</li>
+<li>6.3-foss-2015b</li>
+<li>6.3-foss-2015g</li>
+<li>6.3-gompi-2015e</li>
+<li>6.3-ictce-7.3.5</li>
+<li>6.3-intel-2015b</li>
+<li>6.3-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libtool</strong><br />
+<a href="http://www.gnu.org/software/libtool" class="uri">http://www.gnu.org/software/libtool</a></td>
+<td align="left">GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.</td>
+<td align="left"><ul>
+<li>2.4.2</li>
+<li>2.4.2-foss-2015b</li>
+<li>2.4.2-foss-2015g</li>
+<li>2.4.2-intel-2015b</li>
+<li>2.4.6</li>
+<li>2.4.6-GCC-4.9.3-2.25</li>
+<li>2.4.6-GNU-4.9.3-2.25</li>
+<li>2.4.6-GNU-5.1.0-2.25</li>
+<li>2.4.6-foss-2015g</li>
+<li>2.4.6-intel-2015b</li>
+<li>2.4.6-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libunistring</strong><br />
+<a href="http://www.gnu.org/software/libunistring/" class="uri">http://www.gnu.org/software/libunistring/</a></td>
+<td align="left">This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.</td>
+<td align="left"><ul>
+<li>0.9.3</li>
+<li>0.9.3-foss-2015b</li>
+<li>0.9.3-foss-2015g</li>
+<li>0.9.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libxcb</strong><br />
+<a href="http://xcb.freedesktop.org/" class="uri">http://xcb.freedesktop.org/</a></td>
+<td align="left">The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility.</td>
+<td align="left"><ul>
+<li>1.10-Python-2.7.8</li>
+<li>1.11-Python-2.7.9</li>
+<li>1.11-foss-2015g-Python-2.7.9</li>
+<li>1.11-intel-2015b-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libxml2</strong><br />
+<a href="http://xmlsoft.org/" class="uri">http://xmlsoft.org/</a></td>
+<td align="left">Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable outside of the Gnome platform).</td>
+<td align="left"><ul>
+<li>2.9.2-GCC-4.9.3-2.25</li>
+<li>2.9.2-GNU-4.9.3-2.25</li>
+<li>2.9.2-GNU-5.1.0-2.25</li>
+<li>2.9.2-foss-2015b</li>
+<li>2.9.2-foss-2015g</li>
+<li>2.9.2-foss-2015g-Python-2.7.9</li>
+<li>2.9.2-gompi-2015e</li>
+<li>2.9.2-ictce-7.3.5</li>
+<li>2.9.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>spatialindex</strong><br />
+<a href="https://libspatialindex.github.io/index.html" class="uri">https://libspatialindex.github.io/index.html</a></td>
+<td align="left">The purpose of this library is to provide* An extensible framework that will support robust spatial indexing methods. * Support for sophisticated spatial queries. Range, point location, nearest neighbor and k-nearest neighbor as well as parametric queries (defined by spatial constraints) should be easy to deploy and run. * Easy to use interfaces for inserting, deleting and updating information.</td>
+<td align="left"><ul>
+<li>1.8.5-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>tbb</strong><br />
+<a href="http://software.intel.com/en-us/articles/intel-tbb/" class="uri">http://software.intel.com/en-us/articles/intel-tbb/</a></td>
+<td align="left">Intel Threading Building Blocks 4.0 (Intel TBB) is a widely used, award-winning C++ template library for creating reliable, portable, and scalable parallel applications. Use Intel TBB for a simple and rapid way of developing robust task-based parallel applications that scale to available processor cores, are compatible with multiple environments, and are easier to maintain. Intel TBB is the most proficient way to implement future-proof parallel applications that tap into the power and performance of multicore and manycore hardware platforms.</td>
+<td align="left"><ul>
+<li>4.3.5.187</li>
+<li>4.4.2.152</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>zlib</strong><br />
+<a href="http://www.zlib.net/" class="uri">http://www.zlib.net/</a></td>
+<td align="left">zlib is designed to be a free, general-purpose, legally unencumbered -- that is, not covered by any patents -- lossless data-compression library for use on virtually any computer hardware and operating system.</td>
+<td align="left"><ul>
+<li>1.2.7-foss-2015b</li>
+<li>1.2.7-ictce-5.5.0</li>
+<li>1.2.7-intel-2015b</li>
+<li>1.2.8</li>
+<li>1.2.8-GCC-4.9.3-2.25</li>
+<li>1.2.8-GCC-4.9.3-binutils-2.25</li>
+<li>1.2.8-GCC-5.1.0-binutils-2.25</li>
+<li>1.2.8-GCCcore-4.9.3</li>
+<li>1.2.8-GCCcore-5.3.0</li>
+<li>1.2.8-GCCcore-5.3.1-snapshot-20160419</li>
+<li>1.2.8-GNU-4.9.3-2.25</li>
+<li>1.2.8-GNU-5.1.0-2.25</li>
+<li>1.2.8-GNU-5.1.0-2.25-intel-2015b</li>
+<li>1.2.8-foss-2015b</li>
+<li>1.2.8-foss-2015g</li>
+<li>1.2.8-gompi-2015e</li>
+<li>1.2.8-ictce-7.3.5</li>
+<li>1.2.8-intel-2015b</li>
+<li>1.2.8-intel-2016.01</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[math](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>FIAT</strong><br />
+<a href="https://bitbucket.org/fenics-project/fiat" class="uri">https://bitbucket.org/fenics-project/fiat</a></td>
+<td align="left">The FInite element Automatic Tabulator FIAT supports generation of arbitrary order instances of the Lagrange elements on lines, triangles, and tetrahedra. It is also capable of generating arbitrary order instances of Jacobi-type quadrature rules on the same element shapes.</td>
+<td align="left"><ul>
+<li>1.6.0-intel-2015b-Python-2.7.11</li>
+<li>1.6.0-intel-2015b-Python-2.7.9</li>
+<li>1.6.0-intel-2016.01-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>GEOS</strong><br />
+<a href="http://trac.osgeo.org/geos" class="uri">http://trac.osgeo.org/geos</a></td>
+<td align="left">GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)</td>
+<td align="left"><ul>
+<li>3.5.0-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>GMP</strong><br />
+<a href="http://gmplib.org/" class="uri">http://gmplib.org/</a></td>
+<td align="left">GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.</td>
+<td align="left"><ul>
+<li>5.0.5</li>
+<li>5.0.5-foss-2015b</li>
+<li>5.0.5-foss-2015g</li>
+<li>5.0.5-intel-2015b</li>
+<li>6.0.0a-GNU-4.9.3-2.25</li>
+<li>6.0.0a-GNU-5.1.0-2.25</li>
+<li>6.0.0a-foss-2015b</li>
+<li>6.1.0-GCC-4.9.3-2.25</li>
+<li>6.1.0-intel-2015b</li>
+<li>6.1.0-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Harminv</strong><br />
+<a href="http://ab-initio.mit.edu/wiki/index.php/Harminv" class="uri">http://ab-initio.mit.edu/wiki/index.php/Harminv</a></td>
+<td align="left">Harminv is a free program (and accompanying library) to solve the problem of harmonic inversion - given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.</td>
+<td align="left"><ul>
+<li>1.4-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>ISL</strong><br />
+<a href="http://isl.gforge.inria.fr/" class="uri">http://isl.gforge.inria.fr/</a></td>
+<td align="left">isl is a library for manipulating sets and relations of integer points bounded by linear constraints.</td>
+<td align="left"><ul>
+<li>0.14-GNU-5.1.0-2.25</li>
+<li>0.15-GCC-4.9.3-2.25</li>
+<li>0.15-GNU-4.9.3-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>METIS</strong><br />
+<a href="http://glaros.dtc.umn.edu/gkhome/metis/metis/overview" class="uri">http://glaros.dtc.umn.edu/gkhome/metis/metis/overview</a></td>
+<td align="left">METIS is a set of serial programs for partitioning graphs, partitioning finite element meshes, and producing fill reducing orderings for sparse matrices. The algorithms implemented in METIS are based on the multilevel recursive-bisection, multilevel k-way, and multi-constraint partitioning schemes.</td>
+<td align="left"><ul>
+<li>5.1.0-intel-2015b</li>
+<li>5.1.0-intel-2016.01</li>
+<li>5.1.0-intel-2016.01-32bitIDX</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Octave</strong><br />
+<a href="http://www.gnu.org/software/octave/" class="uri">http://www.gnu.org/software/octave/</a></td>
+<td align="left">GNU Octave is a high-level interpreted language, primarily intended for numerical computations.</td>
+<td align="left"><ul>
+<li>3.8.2-foss-2015g</li>
+<li>3.8.2-intel-2015b</li>
+<li>4.0.0-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>ParMETIS</strong><br />
+<a href="http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview" class="uri">http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview</a></td>
+<td align="left">ParMETIS is an MPI-based parallel library that implements a variety of algorithms for partitioning unstructured graphs, meshes, and for computing fill-reducing orderings of sparse matrices. ParMETIS extends the functionality provided by METIS and includes routines that are especially suited for parallel AMR computations and large scale numerical simulations. The algorithms implemented in ParMETIS are based on the parallel multilevel k-way graph-partitioning, adaptive repartitioning, and parallel multi-constrained partitioning schemes.</td>
+<td align="left"><ul>
+<li>4.0.3-intel-2015b</li>
+<li>4.0.3-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>SCOTCH</strong><br />
+<a href="http://gforge.inria.fr/projects/scotch/" class="uri">http://gforge.inria.fr/projects/scotch/</a></td>
+<td align="left">Software package and libraries for sequential and parallel graph partitioning, static mapping, and sparse matrix block ordering, and sequential mesh and hypergraph partitioning.</td>
+<td align="left"><ul>
+<li>5.1.12b_esmumps-foss-2015b</li>
+<li>6.0.0_esmumps-intel-2015b</li>
+<li>6.0.3-intel-2015b</li>
+<li>6.0.3-intel-2016.01</li>
+<li>6.0.4-intel-2015b</li>
+<li>6.0.4-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>ScientificPython</strong><br />
+<a href="https://sourcesup.cru.fr/projects/scientific-py/" class="uri">https://sourcesup.cru.fr/projects/scientific-py/</a></td>
+<td align="left">ScientificPython is a collection of Python modules for scientific computing. It contains support for geometry, mathematical functions, statistics, physical units, IO, visualization, and parallelization.</td>
+<td align="left"><ul>
+<li>2.9.4-intel-2015b-Python-2.7.11</li>
+<li>2.9.4-intel-2015b-Python-2.7.9</li>
+<li>2.9.4-intel-2016.01-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>numpy</strong><br />
+<a href="http://www.numpy.org" class="uri">http://www.numpy.org</a></td>
+<td align="left">NumPy is the fundamental package for scientific computing with Python. It contains among other thingsa powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, useful linear algebra, Fourier transform, and random number capabilities. Besides its obvious scientific uses, NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.</td>
+<td align="left"><ul>
+<li>1.8.2-intel-2015b-Python-2.7.11</li>
+<li>1.8.2-intel-2015b-Python-2.7.9</li>
+<li>1.8.2-intel-2016.01-Python-2.7.9</li>
+<li>1.9.1-intel-2015b-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>sympy</strong><br />
+<a href="http://sympy.org/" class="uri">http://sympy.org/</a></td>
+<td align="left">SymPy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system (CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries.</td>
+<td align="left"><ul>
+<li>0.7.6-intel-2015b-Python-2.7.9</li>
+<li>0.7.6-intel-2016.01-Python-2.7.9</li>
+<li>0.7.6.1-intel-2015b-Python-2.7.11</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[mpi](#categories "Go to list of categories...")
+----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>MPICH</strong><br />
+<a href="http://www.mpich.org/" class="uri">http://www.mpich.org/</a></td>
+<td align="left">MPICH v3.x is an open source high-performance MPI 3.0 implementation. It does not support InfiniBand (use MVAPICH2 with InfiniBand devices).</td>
+<td align="left"><ul>
+<li>3.2-GCC-5.3.0-2.25</li>
+<li>3.2-GCC-5.3.1-snapshot-20160419-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>MPI_NET</strong><br />
+<a href="http://www.osl.iu.edu/research/mpi.net/" class="uri">http://www.osl.iu.edu/research/mpi.net/</a></td>
+<td align="left">MPI.NET is a high-performance, easy-to-use implementation of the Message Passing Interface (MPI) for Microsoft's .NET environment</td>
+<td align="left"><ul>
+<li>1.2.0-gompi-2015e</li>
+<li>1.2.0-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>MVAPICH2</strong><br />
+<a href="http://mvapich.cse.ohio-state.edu/overview/mvapich2/" class="uri">http://mvapich.cse.ohio-state.edu/overview/mvapich2/</a></td>
+<td align="left">This is an MPI 3.0 implementation. It is based on MPICH2 and MVICH.</td>
+<td align="left"><ul>
+<li>2.1-GCC-4.4.7-system</li>
+<li>2.1-GNU-5.1.0-2.25</li>
+<li>2.1-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OpenMPI</strong><br />
+<a href="http://www.open-mpi.org/" class="uri">http://www.open-mpi.org/</a></td>
+<td align="left">The Open MPI Project is an open source MPI-2 implementation.</td>
+<td align="left"><ul>
+<li>1.10.1-GNU-4.9.3-2.25</li>
+<li>1.10.2-GCC-5.3.0-2.26</li>
+<li>1.8.6-GCC-4.4.7-system</li>
+<li>1.8.6-GNU-5.1.0-2.25</li>
+<li>1.8.6-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+<li>1.8.8-GNU-4.9.3-2.25</li>
+<li>1.8.8-GNU-5.1.0-2.25</li>
+<li>1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>impi</strong><br />
+<a href="http://software.intel.com/en-us/intel-mpi-library/" class="uri">http://software.intel.com/en-us/intel-mpi-library/</a></td>
+<td align="left">The Intel(R) MPI Library for Linux* OS is a multi-fabric message passing library based on ANL MPICH2 and OSU MVAPICH2. The Intel MPI Library for Linux OS implements the Message Passing Interface, version 2 (MPI-2) specification.</td>
+<td align="left"><ul>
+<li>2017-BETA.ENG</li>
+<li>4.1.1.036-iccifort-2013.5.192</li>
+<li>4.1.1.036-iccifort-2013.5.192-GCC-4.8.3</li>
+<li>5.0.3.048</li>
+<li>5.0.3.048-iccifort-2015.3.187</li>
+<li>5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25</li>
+<li>5.1.1.109-iccifort-2016.0.109-GCC-4.9.3</li>
+<li>5.1.2.150-iccifort-2016.1.150</li>
+<li>5.1.2.150-iccifort-2016.1.150-GCC-4.9.3</li>
+<li>5.1.2.150-iccifort-2016.1.150-GCC-4.9.3-2.25</li>
+<li>5.1.3.181-iccifort-2016.3.210-GCC-5.3.0-2.26</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>mpt</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>2.12</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[numlib](#categories "Go to list of categories...")
+-------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>FFTW</strong><br />
+<a href="http://www.fftw.org" class="uri">http://www.fftw.org</a></td>
+<td align="left">FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.</td>
+<td align="left"><ul>
+<li>2.1.5-gompi-2015b</li>
+<li>2.1.5-iimpi-7.3.5-GNU-5.1.0-2.25</li>
+<li>3.3.4-gompi-2015b</li>
+<li>3.3.4-gompi-2015e</li>
+<li>3.3.4-gompi-2015g</li>
+<li>3.3.4-gompi-2016.04</li>
+<li>3.3.4-intel-2015b</li>
+<li>3.3.4-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>GSL</strong><br />
+<a href="http://www.gnu.org/software/gsl/" class="uri">http://www.gnu.org/software/gsl/</a></td>
+<td align="left">The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting.</td>
+<td align="left"><ul>
+<li>1.16-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Hypre</strong><br />
+<a href="https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html" class="uri">https://computation.llnl.gov/casc/linear_solvers/sls_hypre.html</a></td>
+<td align="left">Hypre is a library for solving large, sparse linear systems of equations on massively parallel computers. The problems of interest arise in the simulation codes being developed at LLNL and elsewhere to study physical phenomena in the defense, environmental, energy, and biological sciences.</td>
+<td align="left"><ul>
+<li>2.10.0b-intel-2015b</li>
+<li>2.10.0b-intel-2016.01</li>
+<li>2.10.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>LAPACKE</strong><br />
+<a href="http://www.netlib.org/lapack/lapacke.html" class="uri">http://www.netlib.org/lapack/lapacke.html</a></td>
+<td align="left">LAPACKE C Interface to LAPACK header files and library</td>
+<td align="left"><ul>
+<li>3.5.0-LAPACK-3.5.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>OpenBLAS</strong><br />
+<a href="http://xianyi.github.com/OpenBLAS/" class="uri">http://xianyi.github.com/OpenBLAS/</a></td>
+<td align="left">OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.</td>
+<td align="left"><ul>
+<li>0.2.14-GNU-4.9.3-2.25-LAPACK-3.5.0</li>
+<li>0.2.14-GNU-5.1.0-2.25-LAPACK-3.5.0</li>
+<li>0.2.14-LAPACK-3.5.0</li>
+<li>0.2.14-gompi-2015e-LAPACK-3.5.0</li>
+<li>0.2.18-GCC-5.3.0-2.26-LAPACK-3.6.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PETSc</strong><br />
+<a href="http://www.mcs.anl.gov/petsc" class="uri">http://www.mcs.anl.gov/petsc</a></td>
+<td align="left">PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations.</td>
+<td align="left"><ul>
+<li>3.6.1-intel-2015b-Python-2.7.9</li>
+<li>3.6.1-intel-2016.01-Python-2.7.9</li>
+<li>3.6.3-intel-2015b-Python-2.7.11</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>ScaLAPACK</strong><br />
+<a href="http://www.netlib.org/scalapack/" class="uri">http://www.netlib.org/scalapack/</a></td>
+<td align="left">The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD parallel computers.</td>
+<td align="left"><ul>
+<li>2.0.2-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+<li>2.0.2-gompi-2015b-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+<li>2.0.2-gompi-2015e-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+<li>2.0.2-gompi-2015g-OpenBLAS-0.2.14-LAPACK-3.5.0</li>
+<li>2.0.2-gompi-2016.04-OpenBLAS-0.2.18-LAPACK-3.6.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SuiteSparse</strong><br />
+<a href="http://www.cise.ufl.edu/research/sparse/SuiteSparse/" class="uri">http://www.cise.ufl.edu/research/sparse/SuiteSparse/</a></td>
+<td align="left">SuiteSparse is a collection of libraries manipulate sparse matrices.</td>
+<td align="left"><ul>
+<li>4.4.3-intel-2015b-ParMETIS-4.0.3</li>
+<li>4.4.3-intel-2016.01-ParMETIS-4.0.3</li>
+<li>4.4.6-intel-2015b-ParMETIS-4.0.3</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>arpack-ng</strong><br />
+<a href="http://forge.scilab.org/index.php/p/arpack-ng/" class="uri">http://forge.scilab.org/index.php/p/arpack-ng/</a></td>
+<td align="left">ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.</td>
+<td align="left"><ul>
+<li>3.3.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>imkl</strong><br />
+<a href="http://software.intel.com/en-us/intel-mkl/" class="uri">http://software.intel.com/en-us/intel-mkl/</a></td>
+<td align="left">Intel Math Kernel Library is a library of highly optimized, extensively threaded math routines for science, engineering, and financial applications that require maximum performance. Core math functions include BLAS, LAPACK, ScaLAPACK, Sparse Solvers, Fast Fourier Transforms, Vector Math, and more.</td>
+<td align="left"><ul>
+<li>11.0.5.192-iimpi-5.5.0</li>
+<li>11.0.5.192-iimpi-5.5.0-GCC-4.8.3</li>
+<li>11.2.3.187</li>
+<li>11.2.3.187-iimpi-7.3.5</li>
+<li>11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25</li>
+<li>11.2.3.187-iompi-2015.03</li>
+<li>11.3.0.109-iimpi-2016.00-GCC-4.9.3</li>
+<li>11.3.1.150-iimpi-2016.00-GCC-4.9.3</li>
+<li>11.3.1.150-iimpi-2016.01-GCC-4.9.3-2.25</li>
+<li>11.3.1.150-iimpi-8.3.5</li>
+<li>11.3.3.210-iimpi-2016.03-GCC-5.3.0-2.26</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[perf](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>Advisor</strong><br />
+<a href="https://software.intel.com/intel-advisor-xe" class="uri">https://software.intel.com/intel-advisor-xe</a></td>
+<td align="left">Vectorization Optimization and Thread Prototyping - Vectorize &amp; thread code or performance “dies” - Easy workflow + data + tips = faster code faster - Prioritize, Prototype &amp; Predict performance gain</td>
+<td align="left"><ul>
+<li>2016_update2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>MAP</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>4.2</li>
+<li>5.0.1</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>OPARI2</strong><br />
+<a href="http://www.score-p.org" class="uri">http://www.score-p.org</a></td>
+<td align="left">OPARI2, the successor of Forschungszentrum Juelich's OPARI, is a source-to-source instrumentation tool for OpenMP and hybrid codes. It surrounds OpenMP directives and runtime library calls with calls to the POMP2 measurement interface.</td>
+<td align="left"><ul>
+<li>1.1.4-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OTF2</strong><br />
+<a href="http://www.score-p.org" class="uri">http://www.score-p.org</a></td>
+<td align="left">The Open Trace Format 2 is a highly scalable, memory efficient event trace data format plus support library. It will become the new standard trace format for Scalasca, Vampir, and Tau and is open for other tools.</td>
+<td align="left"><ul>
+<li>1.4-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>PAPI</strong><br />
+<a href="http://icl.cs.utk.edu/projects/papi/" class="uri">http://icl.cs.utk.edu/projects/papi/</a></td>
+<td align="left">PAPI provides the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see, in near real time, the relation between software performance and processor events. In addition Component PAPI provides access to a collection of components that expose performance measurement opportunites across the hardware and software stack.</td>
+<td align="left"><ul>
+<li>5.4.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PerfReports</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>5.0.1</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Vampir</strong><br />
+<a href="http://www.vampir.eu" class="uri">http://www.vampir.eu</a></td>
+<td align="left">The Vampir software tool provides an easy-to-use framework that enables developers to quickly display and analyze arbitrary program behavior at any level of detail. The tool suite implements optimized event analysis algorithms and customizable displays that enable fast and interactive rendering of very complex performance monitoring data.</td>
+<td align="left"><ul>
+<li>8.5.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>ipp</strong><br />
+<a href="http://software.intel.com/en-us/articles/intel-ipp/" class="uri">http://software.intel.com/en-us/articles/intel-ipp/</a></td>
+<td align="left">Intel Integrated Performance Primitives (Intel IPP) is an extensive library of multicore-ready, highly optimized software functions for multimedia, data processing, and communications applications. Intel IPP offers thousands of optimized functions covering frequently used fundamental algorithms.</td>
+<td align="left"><ul>
+<li>9.0.1.150</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>perfboost</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>1.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>perfcatcher</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>1.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>perfsuite</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>1a5.3</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[phys](#categories "Go to list of categories...")
+-----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>Meep</strong><br />
+<a href="http://ab-initio.mit.edu/wiki/index.php/Meep" class="uri">http://ab-initio.mit.edu/wiki/index.php/Meep</a></td>
+<td align="left">Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems.</td>
+<td align="left"><ul>
+<li>1.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>phono3py</strong><br />
+<a href="http://phonopy.sourceforge.net/phono3py/index.html" class="uri">http://phonopy.sourceforge.net/phono3py/index.html</a></td>
+<td align="left">This software calculates phonon-phonon interaction related properties</td>
+<td align="left"><ul>
+<li>0.9.14-ictce-7.3.5-Python-2.7.9</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[system](#categories "Go to list of categories...")
+-------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>hwloc</strong><br />
+<a href="http://www.open-mpi.org/projects/hwloc/" class="uri">http://www.open-mpi.org/projects/hwloc/</a></td>
+<td align="left">The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, ...) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.</td>
+<td align="left"><ul>
+<li>1.11.0-GNU-4.9.3-2.25</li>
+<li>1.11.0-GNU-5.1.0-2.25</li>
+<li>1.11.1-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+<li>1.11.2-GCC-4.9.3-2.25</li>
+<li>1.11.3-GCC-5.3.0-2.26</li>
+<li>1.5-GCC-4.4.7-system</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libpciaccess</strong><br />
+<a href="http://cgit.freedesktop.org/xorg/lib/libpciaccess/" class="uri">http://cgit.freedesktop.org/xorg/lib/libpciaccess/</a></td>
+<td align="left">Generic PCI access library.</td>
+<td align="left"><ul>
+<li>0.13.1-foss-2015g</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[toolchain](#categories "Go to list of categories...")
+----------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>GNU</strong><br />
+<a href="http://www.gnu.org/software/" class="uri">http://www.gnu.org/software/</a></td>
+<td align="left">Compiler-only toolchain with GCC and binutils.</td>
+<td align="left"><ul>
+<li>4.9.3-2.25</li>
+<li>5.1.0-2.25</li>
+<li>5.1.0-2.25-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PRACE</strong><br />
+<a href="http://www.prace-ri.eu/PRACE-Common-Production" class="uri">http://www.prace-ri.eu/PRACE-Common-Production</a></td>
+<td align="left">The PRACE Common Production Environment (PCPE) is a set of software tools and libraries that are planned to be available on all PRACE execution sites. The PCPE also defines a set of environment variables that try to make compilation on all sites as homogeneous and simple as possible.</td>
+<td align="left"><ul>
+<li>20150630-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>foss</strong><br />
+<a href="https://docs.it4i.cz/salomon/(none)">(none)</a></td>
+<td align="left">GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.</td>
+<td align="left"><ul>
+<li>2015b</li>
+<li>2015e</li>
+<li>2015g</li>
+<li>2016.04</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>gompi</strong><br />
+<a href="https://docs.it4i.cz/salomon/(none)">(none)</a></td>
+<td align="left">GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support.</td>
+<td align="left"><ul>
+<li>2015b</li>
+<li>2015e</li>
+<li>2015g</li>
+<li>2016.04</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>iccifort</strong><br />
+<a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/" class="uri">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a></td>
+<td align="left">Intel C, C++ and Fortran compilers</td>
+<td align="left"><ul>
+<li>2013.5.192</li>
+<li>2013.5.192-GCC-4.8.3</li>
+<li>2015.3.187</li>
+<li>2015.3.187-GNU-4.9.3-2.25</li>
+<li>2015.3.187-GNU-5.1.0-2.25</li>
+<li>2016.0.109-GCC-4.9.3</li>
+<li>2016.1.150</li>
+<li>2016.1.150-GCC-4.9.3</li>
+<li>2016.1.150-GCC-4.9.3-2.25</li>
+<li>2016.3.210-GCC-5.3.0-2.26</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>ictce</strong><br />
+<a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/" class="uri">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a></td>
+<td align="left">Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI &amp; Intel MKL.</td>
+<td align="left"><ul>
+<li>5.5.0</li>
+<li>7.3.5</li>
+<li>8.3.5</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>iimpi</strong><br />
+<a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/" class="uri">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a></td>
+<td align="left">Intel C/C++ and Fortran compilers, alongside Intel MPI.</td>
+<td align="left"><ul>
+<li>2016.00-GCC-4.9.3</li>
+<li>2016.01-GCC-4.9.3</li>
+<li>2016.01-GCC-4.9.3-2.25</li>
+<li>2016.03-GCC-5.3.0-2.26</li>
+<li>5.5.0</li>
+<li>5.5.0-GCC-4.8.3</li>
+<li>7.3.5</li>
+<li>7.3.5-GNU-5.1.0-2.25</li>
+<li>8.3.5</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>intel</strong><br />
+<a href="http://software.intel.com/en-us/intel-cluster-toolkit-compiler/" class="uri">http://software.intel.com/en-us/intel-cluster-toolkit-compiler/</a></td>
+<td align="left">Intel Cluster Toolkit Compiler Edition provides Intel C/C++ and Fortran compilers, Intel MPI &amp; Intel MKL.</td>
+<td align="left"><ul>
+<li>2014.06</li>
+<li>2015b</li>
+<li>2015b-intel-2015b</li>
+<li>2016.00</li>
+<li>2016.01</li>
+<li>2016.03-GCC-5.3</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>prace</strong><br />
+<a href="http://www.prace-ri.eu/PRACE-Common-Production" class="uri">http://www.prace-ri.eu/PRACE-Common-Production</a></td>
+<td align="left">**** PRACE Common Production Environment (PCPE) **** Initialisation of the PRACE common production environment. This allows you to assume that the following tools/libraries are available by default in your PATH/environment. * Fortran, C, C++ Compilers * MPI * BLAS, LAPACK, BLACS, ScaLAPACK * FFTW * HDF5, NetCDF The compiler commands on are* mpif90 - Fortran compiler * mpicc - C compiler * mpicxx - C++ compiler For more information on the PCPE please see the documentation athttp://www.prace-ri.eu/PRACE-Common-Production For help using this system, please see Local User Guide available athttp://prace-ri.eu/Best-Practice-Guide-Anselm-HTML</td>
+<td align="left"><ul>
+<li>20160107-intel-2016.01</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[tools](#categories "Go to list of categories...")
+------------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>APR</strong><br />
+<a href="http://apr.apache.org/" class="uri">http://apr.apache.org/</a></td>
+<td align="left">Apache Portable Runtime (APR) libraries.</td>
+<td align="left"><ul>
+<li>1.5.2-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>APR-util</strong><br />
+<a href="http://apr.apache.org/" class="uri">http://apr.apache.org/</a></td>
+<td align="left">Apache Portable Runtime (APR) util libraries.</td>
+<td align="left"><ul>
+<li>1.5.4-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Bash</strong><br />
+<a href="http://www.gnu.org/software/bash" class="uri">http://www.gnu.org/software/bash</a></td>
+<td align="left">Bash is an sh-compatible command language interpreter that executes commands read from the standard input or from a file. Bash also incorporates useful features from the Korn and C shells (ksh and csh).</td>
+<td align="left"><ul>
+<li>4.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>EasyBuild</strong><br />
+<a href="http://hpcugent.github.com/easybuild/" class="uri">http://hpcugent.github.com/easybuild/</a></td>
+<td align="left">EasyBuild is a software build and installation framework written in Python that allows you to install software in a structured, repeatable and robust way.</td>
+<td align="left"><ul>
+<li>2.4.0</li>
+<li>2.5.0</li>
+<li>2.7.0</li>
+<li>2.8.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>HPL</strong><br />
+<a href="http://www.netlib.org/benchmark/hpl/" class="uri">http://www.netlib.org/benchmark/hpl/</a></td>
+<td align="left">HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.</td>
+<td align="left"><ul>
+<li>2.1-foss-2015b</li>
+<li>2.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Inspector</strong><br />
+<a href="http://software.intel.com/en-us/intel-inspector-xe" class="uri">http://software.intel.com/en-us/intel-inspector-xe</a></td>
+<td align="left">Intel Inspector XE 2013 is an easy to use memory error checker and thread checker for serial and parallel applications</td>
+<td align="left"><ul>
+<li>2016_update1</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>JOE</strong><br />
+<a href="http://joe-editor.sourceforge.net" class="uri">http://joe-editor.sourceforge.net</a></td>
+<td align="left">JOE is a full featured terminal-based screen editor which is distributed under the GNU General Public License (GPL)</td>
+<td align="left"><ul>
+<li>4.2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>MATLAB</strong><br />
+<a href="https://docs.it4i.cz/salomon/"></a></td>
+<td align="left"></td>
+<td align="left"><ul>
+<li>2015a-COM</li>
+<li>2015a-EDU</li>
+<li>2015b-COM</li>
+<li>2015b-EDU</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>MIKE</strong><br />
+<a href="http://www.mikepoweredbydhi.com" class="uri">http://www.mikepoweredbydhi.com</a></td>
+<td align="left">MIKE Powered by DHI is a part of DHI, the global organisation dedicated to solving challenges in water environments worldwide.</td>
+<td align="left"><ul>
+<li>2014</li>
+<li>2016</li>
+<li>2016-SP2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Mercurial</strong><br />
+<a href="http://mercurial.selenic.com/" class="uri">http://mercurial.selenic.com/</a></td>
+<td align="left">Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.</td>
+<td align="left"><ul>
+<li>3.5-Python-2.7.9</li>
+<li>3.7.3-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>QEMU</strong><br />
+<a href="http://wiki.qemu.org/Main_Page" class="uri">http://wiki.qemu.org/Main_Page</a></td>
+<td align="left">QEMU is a generic and open source machine emulator and virtualizer.</td>
+<td align="left"><ul>
+<li>2.1.2-GCC-4.4.7-system</li>
+<li>2.1.2-GCC-4.4.7-system-VDE2</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>SDE</strong><br />
+<a href="https://software.intel.com/en-us/articles/intel-software-development-emulator" class="uri">https://software.intel.com/en-us/articles/intel-software-development-emulator</a></td>
+<td align="left">Intel Software Development Emulator is a pintool that enables the development of applications using instruction set extensions that are not currently implemented in hardware.</td>
+<td align="left"><ul>
+<li>7.41.0</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Serf</strong><br />
+<a href="http://serf.apache.org/" class="uri">http://serf.apache.org/</a></td>
+<td align="left">The serf library is a high performance C-based HTTP client library built upon the Apache Portable Runtime (APR) library</td>
+<td align="left"><ul>
+<li>1.3.8-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Subversion</strong><br />
+<a href="http://subversion.apache.org/" class="uri">http://subversion.apache.org/</a></td>
+<td align="left">Subversion is an open source version control system.</td>
+<td align="left"><ul>
+<li>1.8.16-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Szip</strong><br />
+<a href="http://www.hdfgroup.org/doc_resource/SZIP/" class="uri">http://www.hdfgroup.org/doc_resource/SZIP/</a></td>
+<td align="left">Szip compression software, providing lossless compression of scientific data</td>
+<td align="left"><ul>
+<li>2.1</li>
+<li>2.1-foss-2015b</li>
+<li>2.1-foss-2015g</li>
+<li>2.1-ictce-7.3.5</li>
+<li>2.1-intel-2015b</li>
+<li>2.1-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>VDE2</strong><br />
+<a href="http://vde.sourceforge.net" class="uri">http://vde.sourceforge.net</a></td>
+<td align="left">VDE is an ethernet compliant virtual network that can be spawned over a set of physical computer over the Internet. VDE is part of virtualsquare project.</td>
+<td align="left"><ul>
+<li>2.3.2-GCC-4.4.7-system</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>VTune</strong><br />
+<a href="http://software.intel.com/en-us/intel-vtune-amplifier-xe" class="uri">http://software.intel.com/en-us/intel-vtune-amplifier-xe</a></td>
+<td align="left">Intel VTune Amplifier XE 2016 is the premier performance profiler for C, C++, C#, Fortran, Assembly and Java.</td>
+<td align="left"><ul>
+<li>2016_update1</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>VirtualGL</strong><br />
+<a href="http://www.virtualgl.org" class="uri">http://www.virtualgl.org</a></td>
+<td align="left">VirtualGL is an open source toolkit that gives any Unix or Linux remote display software the ability to run OpenGL applications with full 3D hardware acceleration.</td>
+<td align="left"><ul>
+<li>2.4.1</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Wine</strong><br />
+<a href="https://www.winehq.org" class="uri">https://www.winehq.org</a></td>
+<td align="left">Wine (originally an acronym for &quot;Wine Is Not an Emulator&quot;) is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, &amp; BSD.</td>
+<td align="left"><ul>
+<li>1.7.29-GCC-4.4.7-system</li>
+<li>1.7.29-GNU-5.1.0-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>XZ</strong><br />
+<a href="http://tukaani.org/xz/" class="uri">http://tukaani.org/xz/</a></td>
+<td align="left">xzXZ utilities</td>
+<td align="left"><ul>
+<li>5.2.2-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>binutils</strong><br />
+<a href="http://directory.fsf.org/project/binutils/" class="uri">http://directory.fsf.org/project/binutils/</a></td>
+<td align="left">binutilsGNU binary utilities</td>
+<td align="left"><ul>
+<li>2.25</li>
+<li>2.25-GCC-4.9.3-binutils-2.25</li>
+<li>2.25-GCC-5.1.0-binutils-2.25</li>
+<li>2.25-GCCcore-4.9.3</li>
+<li>2.25-GCCcore-5.3.0</li>
+<li>2.25-GCCcore-5.3.1-snapshot-20160419</li>
+<li>2.25-foss-2015b</li>
+<li>2.26</li>
+<li>2.26-GCCcore-5.3.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>bzip2</strong><br />
+<a href="http://www.bzip.org/" class="uri">http://www.bzip.org/</a></td>
+<td align="left">bzip2 is a freely available, patent free, high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.</td>
+<td align="left"><ul>
+<li>1.0.6</li>
+<li>1.0.6-GCC-4.9.3-2.25</li>
+<li>1.0.6-GNU-4.9.3-2.25</li>
+<li>1.0.6-GNU-5.1.0-2.25</li>
+<li>1.0.6-foss-2015b</li>
+<li>1.0.6-foss-2015g</li>
+<li>1.0.6-gompi-2015e</li>
+<li>1.0.6-ictce-7.3.5</li>
+<li>1.0.6-intel-2015b</li>
+<li>1.0.6-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>cURL</strong><br />
+<a href="http://curl.haxx.se" class="uri">http://curl.haxx.se</a></td>
+<td align="left">libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), file transfer resume, http proxy tunneling and more.</td>
+<td align="left"><ul>
+<li>7.37.1</li>
+<li>7.37.1-foss-2015g</li>
+<li>7.37.1-intel-2015b</li>
+<li>7.37.1-intel-2016.01</li>
+<li>7.45.0-foss-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>expat</strong><br />
+<a href="http://expat.sourceforge.net/" class="uri">http://expat.sourceforge.net/</a></td>
+<td align="left">Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags)</td>
+<td align="left"><ul>
+<li>2.1.0</li>
+<li>2.1.0-foss-2015b</li>
+<li>2.1.0-foss-2015g</li>
+<li>2.1.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>git</strong><br />
+<a href="http://git-scm.com/" class="uri">http://git-scm.com/</a></td>
+<td align="left">Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.</td>
+<td align="left"><ul>
+<li>2.8.0</li>
+<li>2.8.0-GNU-4.9.3-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>gzip</strong><br />
+<a href="http://www.gnu.org/software/gzip/" class="uri">http://www.gnu.org/software/gzip/</a></td>
+<td align="left">gzip (GNU zip) is a popular data compression program as a replacement for compress</td>
+<td align="left"><ul>
+<li>1.6-foss-2015g</li>
+<li>1.6-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>itac</strong><br />
+<a href="http://software.intel.com/en-us/intel-trace-analyzer/" class="uri">http://software.intel.com/en-us/intel-trace-analyzer/</a></td>
+<td align="left">The Intel Trace Collector is a low-overhead tracing library that performs event-based tracing in applications. The Intel Trace Analyzer provides a convenient way to monitor application activities gathered by the Intel Trace Collector through graphical displays.</td>
+<td align="left"><ul>
+<li>9.1.2.024</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>numactl</strong><br />
+<a href="http://oss.sgi.com/projects/libnuma/" class="uri">http://oss.sgi.com/projects/libnuma/</a></td>
+<td align="left">The numactl program allows you to run your application program on specific cpu's and memory nodes. It does this by supplying a NUMA memory policy to the operating system before running your program. The libnuma library provides convenient ways for you to add NUMA memory policies into your own program.</td>
+<td align="left"><ul>
+<li>2.0.10-GNU-4.9.3-2.25</li>
+<li>2.0.10-GNU-5.1.0-2.25</li>
+<li>2.0.10-iccifort-2015.3.187-GNU-4.9.3-2.25</li>
+<li>2.0.11</li>
+<li>2.0.11-GCC-4.9.3-2.25</li>
+<li>2.0.11-GCC-5.3.0-2.26</li>
+<li>2.0.9-GCC-4.4.7-system</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>parallel</strong><br />
+<a href="http://savannah.gnu.org/projects/parallel/" class="uri">http://savannah.gnu.org/projects/parallel/</a></td>
+<td align="left">parallelBuild and execute shell commands in parallel</td>
+<td align="left"><ul>
+<li>20150322-GNU-5.1.0-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>tcsh</strong><br />
+<a href="http://www.tcsh.org" class="uri">http://www.tcsh.org</a></td>
+<td align="left">Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). It is a command language interpreter usable both as an interactive login shell and a shell script command processor. It includes a command-line editor, programmable word completion, spelling correction, a history mechanism, job control and a C-like syntax.</td>
+<td align="left"><ul>
+<li>6.18.01-intel-2015b</li>
+<li>6.19.00</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>turbovnc</strong><br />
+<a href="http://www.turbovnc.org" class="uri">http://www.turbovnc.org</a></td>
+<td align="left">TurboVNC is a derivative of VNC (Virtual Network Computing) that is tuned to provide peak performance for 3D and video workloads.</td>
+<td align="left"><ul>
+<li>1.2.3</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>util-linux</strong><br />
+<a href="http://www.kernel.org/pub/linux/utils/util-linux" class="uri">http://www.kernel.org/pub/linux/utils/util-linux</a></td>
+<td align="left">Set of Linux utilities</td>
+<td align="left"><ul>
+<li>2.26.1</li>
+<li>2.26.1-foss-2015g</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+[vis](#categories "Go to list of categories...")
+----------------------------------------------------------
+
+<table>
+<colgroup>
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Module</th>
+<th align="left">Description</th>
+<th align="left">Available versions</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>FLTK</strong><br />
+<a href="http://www.fltk.org" class="uri">http://www.fltk.org</a></td>
+<td align="left">FLTK is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation.</td>
+<td align="left"><ul>
+<li>1.3.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>GLib</strong><br />
+<a href="http://www.gtk.org/" class="uri">http://www.gtk.org/</a></td>
+<td align="left">GLib is one of the base libraries of the GTK+ project</td>
+<td align="left"><ul>
+<li>2.40.0</li>
+<li>2.40.0-foss-2015g</li>
+<li>2.40.0-intel-2015b</li>
+<li>2.40.0-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>GPI-2</strong><br />
+<a href="http://www.gpi-site.com/gpi2/" class="uri">http://www.gpi-site.com/gpi2/</a></td>
+<td align="left">GPI-2 is an API for the development of scalable, asynchronous and fault tolerant parallel applications.</td>
+<td align="left"><ul>
+<li>1.1.1-gompi-2015e</li>
+<li>1.1.1-gompi-2015e-MPI</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>JasPer</strong><br />
+<a href="http://www.ece.uvic.ca/~frodo/jasper/" class="uri">http://www.ece.uvic.ca/~frodo/jasper/</a></td>
+<td align="left">The JasPer Project is an open-source initiative to provide a free software-based reference implementation of the codec specified in the JPEG-2000 Part-1 standard.</td>
+<td align="left"><ul>
+<li>1.900.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>Mesa</strong><br />
+<a href="http://www.mesa3d.org/" class="uri">http://www.mesa3d.org/</a></td>
+<td align="left">Mesa is an open-source implementation of the OpenGL specification - a system for rendering interactive 3D graphics.</td>
+<td align="left"><ul>
+<li>11.0.8-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OSPRay</strong><br />
+<a href="http://www.ospray.org" class="uri">http://www.ospray.org</a></td>
+<td align="left">A Ray Tracing Based Rendering Engine for High-Fidelity Visualization</td>
+<td align="left"><ul>
+<li>0.9.1</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>OpenCV</strong><br />
+<a href="http://opencv.org/" class="uri">http://opencv.org/</a></td>
+<td align="left">OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products.</td>
+<td align="left"><ul>
+<li>2.4.9-intel-2015b</li>
+<li>3.0.0-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>OpenDX</strong><br />
+<a href="http://www.opendx.org" class="uri">http://www.opendx.org</a></td>
+<td align="left">Open source visualization software package based on IBM's Visualization Data Explorer.</td>
+<td align="left"><ul>
+<li>4.4.4-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>ParaView</strong><br />
+<a href="http://www.paraview.org" class="uri">http://www.paraview.org</a></td>
+<td align="left">ParaView is a scientific parallel visualizer.</td>
+<td align="left"><ul>
+<li>4.3-OSPRay</li>
+<li>5.0.0-binary</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>PyQt</strong><br />
+<a href="http://www.riverbankcomputing.co.uk/software/pyqt" class="uri">http://www.riverbankcomputing.co.uk/software/pyqt</a></td>
+<td align="left">PyQt is a set of Python v2 and v3 bindings for Digia's Qt application framework.</td>
+<td align="left"><ul>
+<li>4.11.3-foss-2015g-Python-2.7.9</li>
+<li>4.11.4-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>SUMO</strong><br />
+<a href="http://www.sumo.dlr.de/wiki/Main_Page" class="uri">http://www.sumo.dlr.de/wiki/Main_Page</a></td>
+<td align="left">Simulation of Urban MObility (SUMO) is an open source, highly portable, microscopic and continuous road traffic simulation package designed to handle large road networks.</td>
+<td align="left"><ul>
+<li>0.25.0-foss-2015g</li>
+<li>0.26.0-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>Tk</strong><br />
+<a href="http://www.tcl.tk/" class="uri">http://www.tcl.tk/</a></td>
+<td align="left">Tk is an open source, cross-platform widget toolchain that provides a library of basic elements for building a graphical user interface (GUI) in many different programming languages.</td>
+<td align="left"><ul>
+<li>8.5.12-intel-2015b</li>
+<li>8.6.4-GCC-4.9.3-2.25-no-X11</li>
+<li>8.6.4-GNU-4.9.3-2.25-no-X11</li>
+<li>8.6.4-foss-2015b-no-X11</li>
+<li>8.6.4-foss-2015g-no-X11</li>
+<li>8.6.4-intel-2015b-no-X11</li>
+<li>8.6.4-intel-2016.01-no-X11</li>
+<li>8.6.4-no-X11</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>VisIt</strong><br />
+<a href="https://wci.llnl.gov/simulation/computer-codes/visit" class="uri">https://wci.llnl.gov/simulation/computer-codes/visit</a></td>
+<td align="left">VisIt is an Open Source, interactive, scalable, visualization, animation and analysis tool</td>
+<td align="left"><ul>
+<li>2.10.0</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>cairo</strong><br />
+<a href="http://cairographics.org" class="uri">http://cairographics.org</a></td>
+<td align="left">Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB</td>
+<td align="left"><ul>
+<li>1.12.18-foss-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>ffmpeg</strong><br />
+<a href="https://www.ffmpeg.org/" class="uri">https://www.ffmpeg.org/</a></td>
+<td align="left">A complete, cross-platform solution to record, convert and stream audio and video.</td>
+<td align="left"><ul>
+<li>2.4-foss-2015g</li>
+<li>2.4-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>fixesproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X.org FixesProto protocol headers.</td>
+<td align="left"><ul>
+<li>5.0-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>fontconfig</strong><br />
+<a href="http://www.freedesktop.org/software/fontconfig" class="uri">http://www.freedesktop.org/software/fontconfig</a></td>
+<td align="left">Fontconfig is a library designed to provide system-wide font configuration, customization and application access.</td>
+<td align="left"><ul>
+<li>2.11.1-foss-2015b</li>
+<li>2.11.1-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>freetype</strong><br />
+<a href="http://freetype.org" class="uri">http://freetype.org</a></td>
+<td align="left">FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well.</td>
+<td align="left"><ul>
+<li>2.5.3</li>
+<li>2.5.3-foss-2015b</li>
+<li>2.5.3-foss-2015g</li>
+<li>2.5.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>gettext</strong><br />
+<a href="http://www.gnu.org/software/gettext/" class="uri">http://www.gnu.org/software/gettext/</a></td>
+<td align="left">GNU `gettext' is an important step for the GNU Translation Project, as it is an asset on which we may build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools and documentation</td>
+<td align="left"><ul>
+<li>0.19.2</li>
+<li>0.19.2-GNU-5.1.0-2.25</li>
+<li>0.19.2-foss-2015b</li>
+<li>0.19.2-foss-2015g</li>
+<li>0.19.2-intel-2015b</li>
+<li>0.19.2-intel-2016.01</li>
+<li>0.19.6-foss-2015g</li>
+<li>0.19.6-intel-2016.01</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>grace</strong><br />
+<a href="http://freecode.com/projects/grace" class="uri">http://freecode.com/projects/grace</a></td>
+<td align="left">Grace is a WYSIWYG 2D plotting tool for X Windows System and Motif.</td>
+<td align="left"><ul>
+<li>5.1.25-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>inputproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X.org InputProto protocol headers.</td>
+<td align="left"><ul>
+<li>2.3</li>
+<li>2.3-foss-2015g</li>
+<li>2.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>kbproto</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X.org KBProto protocol headers.</td>
+<td align="left"><ul>
+<li>1.0.6</li>
+<li>1.0.6-foss-2015g</li>
+<li>1.0.6-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libGLU</strong><br />
+<a href="ftp://ftp.freedesktop.org/pub/mesa/glu/" class="uri">ftp://ftp.freedesktop.org/pub/mesa/glu/</a></td>
+<td align="left">The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL.</td>
+<td align="left"><ul>
+<li>9.0.0-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libICE</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X Inter-Client Exchange library for freedesktop.org</td>
+<td align="left"><ul>
+<li>1.0.9</li>
+<li>1.0.9-foss-2015g</li>
+<li>1.0.9-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libX11</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X11 client-side library</td>
+<td align="left"><ul>
+<li>1.6.2-Python-2.7.8</li>
+<li>1.6.2-Python-2.7.9</li>
+<li>1.6.2-foss-2015g-Python-2.7.9</li>
+<li>1.6.2-intel-2015b-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libXau</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">The libXau package contains a library implementing the X11 Authorization Protocol. This is useful for restricting client access to the display.</td>
+<td align="left"><ul>
+<li>1.0.8</li>
+<li>1.0.8-foss-2015g</li>
+<li>1.0.8-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libXdamage</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X Damage extension library</td>
+<td align="left"><ul>
+<li>1.1.4-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libXdmcp</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">The libXdmcp package contains a library implementing the X Display Manager Control Protocol. This is useful for allowing clients to interact with the X Display Manager.</td>
+<td align="left"><ul>
+<li>1.1.2</li>
+<li>1.1.2-foss-2015g</li>
+<li>1.1.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libXext</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">Common X Extensions library</td>
+<td align="left"><ul>
+<li>1.3.2-Python-2.7.8</li>
+<li>1.3.3</li>
+<li>1.3.3-foss-2015g</li>
+<li>1.3.3-foss-2015g-Python-2.7.9</li>
+<li>1.3.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libXfixes</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X Fixes extension library</td>
+<td align="left"><ul>
+<li>5.0.1-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libXfont</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X font libary</td>
+<td align="left"><ul>
+<li>1.5.1-foss-2015g-Python-2.7.9</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libXft</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X11 client-side library</td>
+<td align="left"><ul>
+<li>2.3.2-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libXinerama</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">Xinerama multiple monitor library</td>
+<td align="left"><ul>
+<li>1.1.3-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>libXrender</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">X11 client-side library</td>
+<td align="left"><ul>
+<li>0.9.8-intel-2015b</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>libXt</strong><br />
+<a href="http://www.freedesktop.org/wiki/Software/xlibs" class="uri">http://www.freedesktop.org/wiki/Software/xlibs</a></td>
+<td align="left">libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).</td>
+<td align="left"><ul>
+<li>1.1.4-foss-2015g-libX11-1.6.2</li>
+<li>1.1.4-intel-2015b-libX11-1.6.2</li>
+<li>1.1.4-libX11-1.6.2</li>
+<li>1.1.5-foss-2015g</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>motif</strong><br />
+<a href="http://motif.ics.com/" class="uri">http://motif.ics.com/</a></td>
+<td align="left">Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems. It was the standard toolkit for the Common Desktop Environment and thus for Unix.</td>
+<td align="left"><ul>
+<li>2.3.4-foss-2015g-libX11-1.6.2</li>
+<li>2.3.4-intel-2015b-libX11-1.6.2</li>
+</ul></td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>p4vasp</strong><br />
+<a href="http://www.p4vasp.at" class="uri">http://www.p4vasp.at</a></td>
+<td align="left">p4vasp is a visualization suite for the Vienna Ab-initio Simulation Package (VASP). It contains an extensible GUI framework, that can be used to view material structure, density of states, band-structure and more.</td>
+<td align="left"><ul>
+<li>0.3.29-GNU-4.9.3-2.25</li>
+</ul></td>
+</tr>
+<tr class="even">
+<td align="left"><strong>pixman</strong><br />
+<a href="http://www.pixman.org/" class="uri">http://www.pixman.org/</a></td>
+<td align="left">Pixman is a low-level software library for pixel manipulation, providing features such as image compositing and trapezoid rasterization. Important users of pixman are the cairo graphics library and the X server.</td>
+<td align="left"><ul>
+<li>0.32.6-foss-2015b</li>
+<li>0.32.6-intel-2015b</li>
+</ul></td>
+</tr>
+</tbody>
+</table>
+
+
diff --git a/docs.it4i.cz/salomon/network-1.md b/docs.it4i.cz/salomon/network-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..437c0ce5cde1af7c1d2df5b1c7c29e2574df5813
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1.md
@@ -0,0 +1,84 @@
+Network 
+=======
+
+
+
+  
+
+All compute and login nodes of Salomon are interconnected by 7D Enhanced
+hypercube
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+network and by Gigabit
+[Ethernet](http://en.wikipedia.org/wiki/Ethernet)
+network. Only
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+network may be used to transfer user data.
+
+Infiniband Network
+------------------
+
+All compute and login nodes of Salomon are interconnected by 7D Enhanced
+hypercube
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+network (56 Gbps). The network topology is a [7D Enhanced
+hypercube](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube).
+
+Read more about schematic representation of the Salomon cluster [IB
+single-plain
+topology](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology)
+([hypercube
+dimension](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube)
+0).[<span></span>](https://docs.it4i.cz/salomon/network-1/IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf/view){.state-missing-value
+.contenttype-file}
+
+-   -   
+
+The compute nodes may be accessed via the Infiniband network using ib0
+network interface, in address range 10.17.0.0 (mask 255.255.224.0). The
+MPI may be used to establish native Infiniband connection among the
+nodes.
+
+The network provides **2170MB/s** transfer rates via the TCP connection
+(single stream) and up to **3600MB/s** via native Infiniband protocol.
+
+ 
+
+Example
+-------
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=16 -N Name0 ./myjob
+$ qstat -n -u username
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+15209.isrv5     username qexp     Name0        5530   4  96    --  01:00 R 00:00
+   r4i1n0/0*24+r4i1n1/0*24+r4i1n2/0*24+r4i1n3/0*24
+```
+
+In this example, we access the node r4i1n0 by Infiniband network via the
+ib0 interface.
+
+``` 
+$ ssh 10.17.35.19
+```
+
+In this example, we <span style="text-alignstart; floatnone; ">get
+information of the Infiniband network.</span>
+
+``` 
+$ ifconfig
+....
+inet addr:10.17.35.19....
+....
+
+$ ip addr show ib0
+
+....
+inet 10.17.35.19....
+....
+```
+
+
+
+
diff --git a/docs.it4i.cz/salomon/network-1/7D_Enhanced_hypercube.png b/docs.it4i.cz/salomon/network-1/7D_Enhanced_hypercube.png
new file mode 100644
index 0000000000000000000000000000000000000000..12bb0a406708a5839f2f008294a560a04a80abe8
Binary files /dev/null and b/docs.it4i.cz/salomon/network-1/7D_Enhanced_hypercube.png differ
diff --git a/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md b/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md
new file mode 100644
index 0000000000000000000000000000000000000000..ffb158ed0ad3754d1a7daa5b9e17e677aab0c3f7
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube.md
@@ -0,0 +1,38 @@
+7D Enhanced Hypercube 
+=====================
+
+[More about Job submission - Placement by IB switch / Hypercube
+dimension.](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution)
+
+Nodes may be selected via the PBS resource attribute ehc_[1-7]d .
+
+  Hypercube dimension   <span class="pun">node_group_key</span>
+  --------------------- -------------------------------------------
+  1D                    ehc_1d
+  2D                    ehc_2d
+  3D                    ehc_3d
+  4D                    ehc_4d
+  5D                    ehc_5d
+  6D                    ehc_6d
+  7D                    ehc_7d
+
+[Schematic representation of the Salomon cluster IB single-plain
+topology represents <span class="internal-link">hypercube
+dimension</span>
+0](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology).
+
+### 7D Enhanced Hypercube 
+
+[![7D_Enhanced_hypercube.png](https://docs.it4i.cz/salomon/network-1/7D_Enhanced_hypercube.png/@@images/03693a91-beec-4d04-bf11-7d89c20420a6.png "7D_Enhanced_hypercube.png")](https://docs.it4i.cz/salomon/network-1/7D_Enhanced_hypercube.png)
+
+ 
+
+  Node type                              Count   Short name         Long name                  Rack
+  -------------------------------------- ------- ------------------ -------------------------- -------
+  M-Cell compute nodes w/o accelerator   576     cns1 -cns576       r1i0n0 - r4i7n17           1-4
+  compute nodes MIC accelerated          432     cns577 - cns1008   r21u01n577 - r37u31n1008   21-38
+
+###  IB Topology
+
+ [![ Salomon IB
+topology](https://docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png/@@images/93b8536b-60de-438d-ac4d-a33a843c4eb2.png " Salomon IB topology")](https://docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png)
diff --git a/docs.it4i.cz/salomon/network-1/IB single-plane topology - Accelerated nodes.pdf/view.md b/docs.it4i.cz/salomon/network-1/IB single-plane topology - Accelerated nodes.pdf/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1/IB single-plane topology - Accelerated nodes.pdf/view.md	
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png b/docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png
new file mode 100644
index 0000000000000000000000000000000000000000..e370a4b44725571e51498ed45fa3e0aa313b94e4
Binary files /dev/null and b/docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png differ
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md
new file mode 100644
index 0000000000000000000000000000000000000000..4da86bfef04e18e9f6eaa9f0a41df3c5690886c3
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology.md
@@ -0,0 +1,52 @@
+IB single-plane topology 
+========================
+
+
+
+  
+
+A complete M-Cell assembly consists of four compute racks. Each rack
+contains 4x physical IRUs - Independent rack units. Using one dual
+socket node per one blade slot leads to 8 logical IRUs. Each rack
+contains 4x2 SGI ICE X IB Premium Blades.
+
+The SGI ICE X IB Premium Blade provides the first level of
+interconnection via dual 36-port Mellanox FDR InfiniBand ASIC switch
+with connections as follows:
+
+-   9 ports from each switch chip connect to the unified backplane, to
+    connect the 18 compute node slots
+-   3 ports on each chip provide connectivity between the chips
+-   24 ports from each switch chip connect to the external bulkhead, for
+    a total of 48
+
+### **IB single-plane topology - ICEX Mcell**
+
+Each colour in each physical IRU represents one dual-switch ASIC switch.
+
+[![Mcell](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyICEXMcellsmall.png "Mcell")](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20ICEX%20Mcell.pdf)
+
+ 
+
+### IB single-plane topology - Accelerated nodes
+
+Each of the 3 inter-connected D racks are equivalent to one half of
+Mcell rack. 18x D rack with MIC accelerated nodes [r21-r38] are
+equivalent to 3 Mcell racks as shown in a diagram [7D Enhanced
+Hypercube](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube).
+
+As shown in a diagram [IB
+Topology](https://docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png):
+
+-   Racks 21, 22, 23, 24, 25, 26 are equivalent to one Mcell rack.
+-   Racks 27, 28, 29, 30, 31, 32 are equivalent to one Mcell rack.
+-   Racks 33, 34, 35, 36, 37, 38 are equivalent to one Mcell rack.
+
+[![Accelerated
+nodes](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyAcceleratednodessmall.png "Accelerated nodes")](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf)
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - Accelerated nodes.pdf b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - Accelerated nodes.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..d46c9b8fcc178bad31b7e7c11f2e120f784fc414
Binary files /dev/null and b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - Accelerated nodes.pdf differ
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/at_download/file b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..a2c7ce24e94cfbbadec3500a515e519a584671ac
Binary files /dev/null and b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/at_download/file differ
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/view.md b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB single-plane topology - ICEX Mcell.pdf/view.md	
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyAcceleratednodessmall.png b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyAcceleratednodessmall.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd6d5759d5bd38554e2e5b956435444cd3c2044c
Binary files /dev/null and b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyAcceleratednodessmall.png differ
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyICEXMcellsmall.png b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyICEXMcellsmall.png
new file mode 100644
index 0000000000000000000000000000000000000000..2fc399aed344f04a2916e2dfe48cd956a4370bbc
Binary files /dev/null and b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyICEXMcellsmall.png differ
diff --git a/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/schematic-representation-of-the-salomon-cluster-ib-single-plain-topology-hypercube-dimension-0.md b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/schematic-representation-of-the-salomon-cluster-ib-single-plain-topology-hypercube-dimension-0.md
new file mode 100644
index 0000000000000000000000000000000000000000..4da86bfef04e18e9f6eaa9f0a41df3c5690886c3
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1/ib-single-plane-topology/schematic-representation-of-the-salomon-cluster-ib-single-plain-topology-hypercube-dimension-0.md
@@ -0,0 +1,52 @@
+IB single-plane topology 
+========================
+
+
+
+  
+
+A complete M-Cell assembly consists of four compute racks. Each rack
+contains 4x physical IRUs - Independent rack units. Using one dual
+socket node per one blade slot leads to 8 logical IRUs. Each rack
+contains 4x2 SGI ICE X IB Premium Blades.
+
+The SGI ICE X IB Premium Blade provides the first level of
+interconnection via dual 36-port Mellanox FDR InfiniBand ASIC switch
+with connections as follows:
+
+-   9 ports from each switch chip connect to the unified backplane, to
+    connect the 18 compute node slots
+-   3 ports on each chip provide connectivity between the chips
+-   24 ports from each switch chip connect to the external bulkhead, for
+    a total of 48
+
+### **IB single-plane topology - ICEX Mcell**
+
+Each colour in each physical IRU represents one dual-switch ASIC switch.
+
+[![Mcell](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyICEXMcellsmall.png "Mcell")](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20ICEX%20Mcell.pdf)
+
+ 
+
+### IB single-plane topology - Accelerated nodes
+
+Each of the 3 inter-connected D racks are equivalent to one half of
+Mcell rack. 18x D rack with MIC accelerated nodes [r21-r38] are
+equivalent to 3 Mcell racks as shown in a diagram [7D Enhanced
+Hypercube](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube).
+
+As shown in a diagram [IB
+Topology](https://docs.it4i.cz/salomon/network-1/Salomon_IB_topology.png):
+
+-   Racks 21, 22, 23, 24, 25, 26 are equivalent to one Mcell rack.
+-   Racks 27, 28, 29, 30, 31, 32 are equivalent to one Mcell rack.
+-   Racks 33, 34, 35, 36, 37, 38 are equivalent to one Mcell rack.
+
+[![Accelerated
+nodes](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IBsingleplanetopologyAcceleratednodessmall.png "Accelerated nodes")](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology/IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf)
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/network-1/network.md b/docs.it4i.cz/salomon/network-1/network.md
new file mode 100644
index 0000000000000000000000000000000000000000..437c0ce5cde1af7c1d2df5b1c7c29e2574df5813
--- /dev/null
+++ b/docs.it4i.cz/salomon/network-1/network.md
@@ -0,0 +1,84 @@
+Network 
+=======
+
+
+
+  
+
+All compute and login nodes of Salomon are interconnected by 7D Enhanced
+hypercube
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+network and by Gigabit
+[Ethernet](http://en.wikipedia.org/wiki/Ethernet)
+network. Only
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+network may be used to transfer user data.
+
+Infiniband Network
+------------------
+
+All compute and login nodes of Salomon are interconnected by 7D Enhanced
+hypercube
+[Infiniband](http://en.wikipedia.org/wiki/InfiniBand)
+network (56 Gbps). The network topology is a [7D Enhanced
+hypercube](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube).
+
+Read more about schematic representation of the Salomon cluster [IB
+single-plain
+topology](https://docs.it4i.cz/salomon/network-1/ib-single-plane-topology)
+([hypercube
+dimension](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube)
+0).[<span></span>](https://docs.it4i.cz/salomon/network-1/IB%20single-plane%20topology%20-%20Accelerated%20nodes.pdf/view){.state-missing-value
+.contenttype-file}
+
+-   -   
+
+The compute nodes may be accessed via the Infiniband network using ib0
+network interface, in address range 10.17.0.0 (mask 255.255.224.0). The
+MPI may be used to establish native Infiniband connection among the
+nodes.
+
+The network provides **2170MB/s** transfer rates via the TCP connection
+(single stream) and up to **3600MB/s** via native Infiniband protocol.
+
+ 
+
+Example
+-------
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=16 -N Name0 ./myjob
+$ qstat -n -u username
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+15209.isrv5     username qexp     Name0        5530   4  96    --  01:00 R 00:00
+   r4i1n0/0*24+r4i1n1/0*24+r4i1n2/0*24+r4i1n3/0*24
+```
+
+In this example, we access the node r4i1n0 by Infiniband network via the
+ib0 interface.
+
+``` 
+$ ssh 10.17.35.19
+```
+
+In this example, we <span style="text-alignstart; floatnone; ">get
+information of the Infiniband network.</span>
+
+``` 
+$ ifconfig
+....
+inet addr:10.17.35.19....
+....
+
+$ ip addr show ib0
+
+....
+inet 10.17.35.19....
+....
+```
+
+
+
+
diff --git a/docs.it4i.cz/salomon/prace.md b/docs.it4i.cz/salomon/prace.md
new file mode 100644
index 0000000000000000000000000000000000000000..96552f40317c4633b192bde6f36397f959cacf97
--- /dev/null
+++ b/docs.it4i.cz/salomon/prace.md
@@ -0,0 +1,391 @@
+PRACE User Support 
+==================
+
+
+
+  
+
+Intro
+-----
+
+PRACE users coming to Salomon as to TIER-1 system offered through the
+DECI calls are in general treated as standard users and so most of the
+general documentation applies to them as well. This section shows the
+main differences for quicker orientation, but often uses references to
+the original documentation. PRACE users who don't undergo the full
+procedure (including signing the IT4I AuP on top of the PRACE AuP) will
+not have a password and thus access to some services intended for
+regular users. This can lower their comfort, but otherwise they should
+be able to use the TIER-1 system as intended. Please see the [Obtaining
+Login Credentials
+section](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials),
+if the same level of access is required.
+
+All general [PRACE User
+Documentation](http://www.prace-ri.eu/user-documentation/)
+should be read before continuing reading the local documentation here.
+
+[]()[]()Help and Support
+------------------------
+
+If you have any troubles, need information, request support or want to
+install additional software, please use [PRACE
+Helpdesk](http://www.prace-ri.eu/helpdesk-guide264/).
+
+Information about the local services are provided in the [introduction
+of general user
+documentation](https://docs.it4i.cz/salomon/introduction).
+Please keep in mind, that standard PRACE accounts don't have a password
+to access the web interface of the local (IT4Innovations) request
+tracker and thus a new ticket should be created by sending an e-mail to
+support[at]it4i.cz.
+
+Obtaining Login Credentials
+---------------------------
+
+In general PRACE users already have a PRACE account setup through their
+HOMESITE (institution from their country) as a result of rewarded PRACE
+project proposal. This includes signed PRACE AuP, generated and
+registered certificates, etc.
+
+If there's a special need a PRACE user can get a standard (local)
+account at IT4Innovations. To get an account on the Salomon cluster, the
+user needs to obtain the login credentials. The procedure is the same as
+for general users of the cluster, so please see the corresponding
+[section of the general documentation
+here](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials).
+
+Accessing the cluster
+---------------------
+
+### Access with GSI-SSH
+
+For all PRACE users the method for interactive access (login) and data
+transfer based on grid services from Globus Toolkit (GSI SSH and
+GridFTP) is supported.
+
+The user will need a valid certificate and to be present in the PRACE
+LDAP (please contact your HOME SITE or the primary investigator of your
+project for LDAP account creation).
+
+Most of the information needed by PRACE users accessing the Salomon
+TIER-1 system can be found here:
+
+-   [General user's
+    FAQ](http://www.prace-ri.eu/Users-General-FAQs)
+-   [Certificates
+    FAQ](http://www.prace-ri.eu/Certificates-FAQ)
+-   [Interactive access using
+    GSISSH](http://www.prace-ri.eu/Interactive-Access-Using-gsissh)
+-   [Data transfer with
+    GridFTP](http://www.prace-ri.eu/Data-Transfer-with-GridFTP-Details)
+-   [Data transfer with
+    gtransfer](http://www.prace-ri.eu/Data-Transfer-with-gtransfer)
+
+ 
+
+Before you start to use any of the services don't forget to create a
+proxy certificate from your certificate:
+
+    $ grid-proxy-init
+
+To check whether your proxy certificate is still valid (by default it's
+valid 12 hours), use:
+
+    $ grid-proxy-info
+
+ 
+
+To access Salomon cluster, two login nodes running GSI SSH service are
+available. The service is available from public Internet as well as from
+the internal PRACE network (accessible only from other PRACE partners).
+
+**Access from PRACE network:**
+
+It is recommended to use the single DNS name <span
+class="monospace">salomon-prace.it4i.cz</span> which is distributed
+between the two login nodes. If needed, user can login directly to one
+of the login nodes. The addresses are:
+
+  Login address                  Port   Protocol   Login node
+  ------------------------------ ------ ---------- ----------------------------------
+  salomon-prace.it4i.cz          2222   gsissh     login1, login2, login3 or login4
+  login1-prace.salomon.it4i.cz   2222   gsissh     login1
+  login2-prace.salomon.it4i.cz   2222   gsissh     login2
+  login3-prace.salomon.it4i.cz   2222   gsissh     login3
+  login4-prace.salomon.it4i.cz   2222   gsissh     login4
+
+ 
+
+    $ gsissh -p 2222 salomon-prace.it4i.cz
+
+When logging from other PRACE system, the prace_service script can be
+used:
+
+    $ gsissh `prace_service -i -s salomon`
+
+ 
+
+**Access from public Internet:**
+
+It is recommended to use the single DNS name <span
+class="monospace">salomon.it4i.cz</span> which is distributed between
+the two login nodes. If needed, user can login directly to one of the
+login nodes. The addresses are:
+
+  Login address            Port   Protocol   Login node
+  ------------------------ ------ ---------- ----------------------------------
+  salomon.it4i.cz          2222   gsissh     login1, login2, login3 or login4
+  login1.salomon.it4i.cz   2222   gsissh     login1
+  login2.salomon.it4i.cz   2222   gsissh     login2
+  login3.salomon.it4i.cz   2222   gsissh     login3
+  login4.salomon.it4i.cz   2222   gsissh     login4
+
+    $ gsissh -p 2222 salomon.it4i.cz
+
+When logging from other PRACE system, the <span
+class="monospace">prace_service</span> script can be used:
+
+    $ gsissh `prace_service -e -s salomon`
+
+ 
+
+Although the preferred and recommended file transfer mechanism is [using
+GridFTP](#file-transfers), the GSI SSH implementation on
+Salomon supports also SCP, so for small files transfer gsiscp can be
+used:
+
+    $ gsiscp -P 2222 _LOCAL_PATH_TO_YOUR_FILE_ salomon.it4i.cz:_SALOMON_PATH_TO_YOUR_FILE_
+
+    $ gsiscp -P 2222 salomon.it4i.cz:_SALOMON_PATH_TO_YOUR_FILE_ _LOCAL_PATH_TO_YOUR_FILE_ 
+
+    $ gsiscp -P 2222 _LOCAL_PATH_TO_YOUR_FILE_ salomon-prace.it4i.cz:_SALOMON_PATH_TO_YOUR_FILE_
+
+    $ gsiscp -P 2222 salomon-prace.it4i.cz:_SALOMON_PATH_TO_YOUR_FILE_ _LOCAL_PATH_TO_YOUR_FILE_ 
+
+### Access to X11 applications (VNC)
+
+If the user needs to run X11 based graphical application and does not
+have a X11 server, the applications can be run using VNC service. If the
+user is using regular SSH based access, please see the [section in
+general
+documentation](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+If the user uses GSI SSH based access, then the procedure is similar to
+the SSH based access ([look
+here](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)),
+only the port forwarding must be done using GSI SSH:
+
+    $ gsissh -p 2222 salomon.it4i.cz -L 5961:localhost:5961
+
+### Access with SSH
+
+After successful obtainment of login credentials for the local
+IT4Innovations account, the PRACE users can access the cluster as
+regular users using SSH. For more information please see the [section in
+general
+documentation](https://docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access).
+
+[]()File transfers
+------------------
+
+PRACE users can use the same transfer mechanisms as regular users (if
+they've undergone the full registration procedure). For information
+about this, please see [the section in the general
+documentation](https://docs.it4i.cz/salomon/accessing-the-cluster/shell-and-data-access/shell-and-data-access).
+
+Apart from the standard mechanisms, for PRACE users to transfer data
+to/from Salomon cluster, a GridFTP server running Globus Toolkit GridFTP
+service is available. The service is available from public Internet as
+well as from the internal PRACE network (accessible only from other
+PRACE partners).
+
+There's one control server and three backend servers for striping and/or
+backup in case one of them would fail.
+
+**Access from PRACE network:**
+
+  Login address                   Port   Node role
+  ------------------------------- ------ -----------------------------
+  gridftp-prace.salomon.it4i.cz   2812   Front end /control server
+  lgw1-prace.salomon.it4i.cz      2813   Backend / data mover server
+  lgw2-prace.salomon.it4i.cz      2813   Backend / data mover server
+  lgw3-prace.salomon.it4i.cz      2813   Backend / data mover server
+
+Copy files **to** Salomon by running the following commands on your
+local machine:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://gridftp-prace.salomon.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://`prace_service -i -f salomon`/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_
+
+Copy files **from** Salomon:
+
+    $ globus-url-copy gsiftp://gridftp-prace.salomon.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy gsiftp://`prace_service -i -f salomon`/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+ 
+
+**Access from public Internet:**
+
+  Login address             Port   Node role
+  ------------------------- ------ -----------------------------
+  gridftp.salomon.it4i.cz   2812   Front end /control server
+  lgw1.salomon.it4i.cz      2813   Backend / data mover server
+  lgw2.salomon.it4i.cz      2813   Backend / data mover server
+  lgw3.salomon.it4i.cz      2813   Backend / data mover server
+
+Copy files **to** Salomon by running the following commands on your
+local machine:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://gridftp.salomon.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy file://_LOCAL_PATH_TO_YOUR_FILE_ gsiftp://`prace_service -e -f salomon`/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_
+
+Copy files **from** Salomon:
+
+    $ globus-url-copy gsiftp://gridftp.salomon.it4i.cz:2812/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+Or by using <span class="monospace">prace_service</span> script:
+
+    $ globus-url-copy gsiftp://`prace_service -e -f salomon`/home/prace/_YOUR_ACCOUNT_ON_SALOMON_/_PATH_TO_YOUR_FILE_ file://_LOCAL_PATH_TO_YOUR_FILE_
+
+ 
+
+Generally both shared file systems are available through GridFTP:
+
+  File system mount point   Filesystem   Comment
+  ------------------------- ------------ ----------------------------------------------------------------
+  /home                     Lustre       Default HOME directories of users in format /home/prace/login/
+  /scratch                  Lustre       Shared SCRATCH mounted on the whole cluster
+
+More information about the shared file systems is available
+[here](https://docs.it4i.cz/salomon/storage).
+
+Please note, that for PRACE users a "prace" directory is used also on
+the SCRATCH file system.
+
+  Data type                      Default path
+  ------------------------------ ---------------------------------
+  large project files            /scratch/work/user/prace/login/
+  large scratch/temporary data   /scratch/temp/
+
+Usage of the cluster
+--------------------
+
+There are some limitations for PRACE user when using the cluster. By
+default PRACE users aren't allowed to access special queues in the PBS
+Pro to have high priority or exclusive access to some special equipment
+like accelerated nodes and high memory (fat) nodes. There may be also
+restrictions obtaining a working license for the commercial software
+installed on the cluster, mostly because of the license agreement or
+because of insufficient amount of licenses.
+
+For production runs always use scratch file systems. The available file
+systems are described
+[here](https://docs.it4i.cz/salomon/storage/storage).
+
+### Software, Modules and PRACE Common Production Environment
+
+All system wide installed software on the cluster is made available to
+the users via the modules. The information about the environment and
+modules usage is in this [section of general
+documentation](https://docs.it4i.cz/salomon/environment-and-modules).
+
+PRACE users can use the "prace" module to use the [PRACE Common
+Production
+Environment](http://www.prace-ri.eu/PRACE-common-production).
+
+    $ module load prace
+
+ 
+
+### Resource Allocation and Job Execution
+
+General information about the resource allocation, job queuing and job
+execution is in this [section of general
+documentation](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction).
+
+For PRACE users, the default production run queue is "qprace". PRACE
+users can also use two other queues "qexp" and "qfree".
+
+  ---------------------------------------------------------------------------------------------------------------------------------------------
+  queue                 Active project   Project resources   Nodes                                     priority   authorization   walltime
+                                                                                                                                  default/max
+  --------------------- ---------------- ------------------- ----------------------------------------- ---------- --------------- -------------
+  **qexp**             no               none required       32 nodes, max 8 per user                  150        no              1 / 1h
+  Express queue                                                                                                                   
+
+  **qprace**           yes             &gt; 0              <span>1006 nodes, max 86 per job</span>   0          no              24 / 48h
+  Production queue                                                                                                               
+                                                                                                                                  
+
+  **qfree**            yes              none required       752 nodes, max 86 per job                 -1024      no              12 / 12h
+  Free resource queue                                                                                                             
+  ---------------------------------------------------------------------------------------------------------------------------------------------
+
+**qprace**, the PRACE Production queue****This queue is intended for
+normal production runs. It is required that active project with nonzero
+remaining resources is specified to enter the qprace. The queue runs
+with medium priority and no special authorization is required to use it.
+The maximum runtime in qprace is 48 hours. If the job needs longer time,
+it must use checkpoint/restart functionality.
+
+### Accounting & Quota
+
+The resources that are currently subject to accounting are the core
+hours. The core hours are accounted on the wall clock basis. The
+accounting runs whenever the computational cores are allocated or
+blocked via the PBS Pro workload manager (the qsub command), regardless
+of whether the cores are actually used for any calculation. See [example
+in the general
+documentation](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy).
+
+PRACE users should check their project accounting using the [PRACE
+Accounting Tool
+(DART)](http://www.prace-ri.eu/accounting-report-tool/).
+
+Users who have undergone the full local registration procedure
+(including signing the IT4Innovations Acceptable Use Policy) and who
+have received local password may check at any time, how many core-hours
+have been consumed by themselves and their projects using the command
+"it4ifree". Please note that you need to know your user password to use
+the command and that the displayed core hours are "system core hours"
+which differ from PRACE "standardized core hours".
+
+The **it4ifree** command is a part of it4i.portal.clients package,
+located here:
+<https://pypi.python.org/pypi/it4i.portal.clients>
+
+    $ it4ifree
+    Password:
+         PID    Total   Used   ...by me Free
+       -------- ------- ------ -------- -------
+       OPEN-0-0 1500000 400644   225265 1099356
+       DD-13-1    10000   2606     2606    7394
+
+ 
+
+By default file system quota is applied. To check the current status of
+the quota (separate for HOME and SCRATCH) use
+
+    $ quota
+    $ lfs quota -u USER_LOGIN /scratch
+
+If the quota is insufficient, please contact the
+[support](#help-and-support) and request an increase.
+
+ 
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution.md b/docs.it4i.cz/salomon/resource-allocation-and-job-execution.md
new file mode 100644
index 0000000000000000000000000000000000000000..4fb8e09e2af69c99bd319c780c172020fa40bb05
--- /dev/null
+++ b/docs.it4i.cz/salomon/resource-allocation-and-job-execution.md
@@ -0,0 +1,68 @@
+Resource Allocation and Job Execution 
+=====================================
+
+
+
+  
+
+To run a
+[job](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution),
+[computational
+resources](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy)
+for this particular job must be allocated. This is done via the PBS Pro
+job workload manager software, which efficiently distributes workloads
+across the supercomputer. Extensive informations about PBS Pro can be
+found in the [official documentation
+here](https://docs.it4i.cz/pbspro-documentation),
+especially in the [PBS Pro User's
+Guide](https://docs.it4i.cz/pbspro-documentation/pbspro-users-guide).
+
+Resources Allocation Policy
+---------------------------
+
+The resources are allocated to the job in a fairshare fashion, subject
+to constraints set by the queue and resources available to the Project.
+[The
+Fairshare](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority)
+at Salomon ensures that individual users may consume approximately equal
+amount of resources per week. The resources are accessible via several
+queues for queueing the jobs. The queues provide prioritized and
+exclusive access to the computational resources. Following queues are
+available to Anselm users:
+
+-   **qexp**, the Express queue
+-   **qprod**, the Production queue****
+-   **qlong**, the Long queue
+-   **qmpp**, the Massively parallel queue
+-   **qfat**, the queue to access SMP UV2000 machine
+-   **qfree,** the Free resource utilization queue
+
+Check the queue status at <https://extranet.it4i.cz/rsweb/salomon/>
+
+Read more on the [Resource Allocation
+Policy](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy)
+page.
+
+Job submission and execution
+----------------------------
+
+Use the **qsub** command to submit your jobs.
+
+The qsub submits the job into the queue. The qsub command creates a
+request to the PBS Job manager for allocation of specified resources. 
+The **smallest allocation unit is entire node, 24 cores**, with
+exception of the qexp queue. The resources will be allocated when
+available, subject to allocation policies and constraints. **After the
+resources are allocated the jobscript or interactive shell is executed
+on first of the allocated nodes.**
+
+Read more on the [Job submission and
+execution](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution)
+page.
+
+HTML commented section #1 (removed Capacity computing section, this
+will be optimized for Salomon)
+
+
+
+
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md
new file mode 100644
index 0000000000000000000000000000000000000000..f15753a93bf04410b69e74682f6c84c26b0a8b9a
--- /dev/null
+++ b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing.md
@@ -0,0 +1,431 @@
+Capacity computing 
+==================
+
+
+
+  
+
+Introduction
+------------
+
+In many cases, it is useful to submit huge (<span>100+</span>) number of
+computational jobs into the PBS queue system. Huge number of (small)
+jobs is one of the most effective ways to execute embarrassingly
+parallel calculations, achieving best runtime, throughput and computer
+utilization.
+
+However, executing huge number of jobs via the PBS queue may strain the
+system. This strain may result in slow response to commands, inefficient
+scheduling and overall degradation of performance and user experience,
+for all users. For this reason, the number of jobs is **limited to 100
+per user, 1500 per job array**
+
+Please follow one of the procedures below, in case you wish to schedule
+more than <span>100</span> jobs at a time.
+
+-   Use [Job arrays](#job-arrays) when running huge number
+    of [multithread](#shared-jobscript-on-one-node) (bound
+    to one node only) or multinode (multithread across several nodes)
+    jobs
+-   Use [GNU parallel](#gnu-parallel) when running single
+    core jobs
+-   Combine[GNU parallel with Job
+    arrays](#combining-job-arrays-and-gnu-parallel)  when
+    running huge number of single core jobs
+
+Policy
+------
+
+1.  A user is allowed to submit at most 100 jobs. Each job may be [a job
+    array](#job-arrays).
+2.  The array size is at most 1000 subjobs.
+
+[]()Job arrays
+--------------
+
+Huge number of jobs may be easily submitted and managed as a job array.
+
+A job array is a compact representation of many jobs, called subjobs.
+The subjobs share the same job script, and have the same values for all
+attributes and resources, with the following exceptions:
+
+-   each subjob has a unique index, $PBS_ARRAY_INDEX
+-   job Identifiers of subjobs only differ by their indices
+-   the state of subjobs can differ (R,Q,...etc.)
+
+All subjobs within a job array have the same scheduling priority and
+schedule as independent jobs.
+Entire job array is submitted through a single qsub command and may be
+managed by qdel, qalter, qhold, qrls and qsig commands as a single job.
+
+### []()Shared jobscript
+
+All subjobs in job array use the very same, single jobscript. Each
+subjob runs its own instance of the jobscript. The instances execute
+different work controlled by $PBS_ARRAY_INDEX variable.
+
+[]()Example:
+
+Assume we have 900 input files with name beginning with "file" (e. g.
+file001, ..., file900). Assume we would like to use each of these input
+files with program executable myprog.x, each as a separate job.
+
+First, we create a tasklist file (or subjobs list), listing all tasks
+(subjobs) - all input files in our example:
+
+``` 
+$ find . -name 'file*' > tasklist
+```
+
+Then we create jobscript:
+
+``` 
+#!/bin/bash
+#PBS -A PROJECT_ID
+#PBS -q qprod
+#PBS -l select=1:ncpus=24,walltime=02:00:00
+
+# change to local scratch directory
+SCR=/scratch/work/user/$USER/$PBS_JOBID
+mkdir -p $SCR ; cd $SCR || exit
+
+# get individual tasks from tasklist with index from PBS JOB ARRAY
+TASK=$(sed -n "${PBS_ARRAY_INDEX}p" $PBS_O_WORKDIR/tasklist)  
+
+# copy input file and executable to scratch 
+cp $PBS_O_WORKDIR/$TASK input ; cp $PBS_O_WORKDIR/myprog.x .
+
+# execute the calculation
+./myprog.x < input > output
+
+# copy output file to submit directory
+cp output $PBS_O_WORKDIR/$TASK.out
+```
+
+In this example, the submit directory holds the 900 input files,
+executable myprog.x and the jobscript file. As input for each run, we
+take the filename of input file from created tasklist file. We copy the
+input file to scratch /scratch/work/user/$USER/$PBS_JOBID, execute
+the myprog.x and copy the output file back to <span>the submit
+directory</span>, under the $TASK.out name. The myprog.x runs on one
+node only and must use threads to run in parallel. Be aware, that if the
+myprog.x **is not multithreaded**, then all the **jobs are run as single
+thread programs in sequential** manner. Due to allocation of the whole
+node, the **accounted time is equal to the usage of whole node**, while
+using only 1/24 of the node!
+
+If huge number of parallel multicore (in means of multinode multithread,
+e. g. MPI enabled) jobs is needed to run, then a job array approach
+should also be used. The main difference compared to previous example
+using one node is that the local scratch should not be used (as it's not
+shared between nodes) and MPI or other technique for parallel multinode
+run has to be used properly.
+
+### Submit the job array
+
+To submit the job array, use the qsub -J command. The 900 jobs of the
+[example above](#array_example) may be submitted like
+this:
+
+``` 
+$ qsub -N JOBNAME -J 1-900 jobscript
+506493[].isrv5
+```
+
+In this example, we submit a job array of 900 subjobs. Each subjob will
+run on full node and is assumed to take less than 2 hours (please note
+the #PBS directives in the beginning of the jobscript file, dont'
+forget to set your valid PROJECT_ID and desired queue).
+
+Sometimes for testing purposes, you may need to submit only one-element
+array. This is not allowed by PBSPro, but there's a workaround:
+
+``` 
+$ qsub -N JOBNAME -J 9-10:2 jobscript
+```
+
+This will only choose the lower index (9 in this example) for
+submitting/running your job.
+
+### Manage the job array
+
+Check status of the job array by the qstat command.
+
+``` 
+$ qstat -a 506493[].isrv5
+
+isrv5:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+12345[].dm2     user2    qprod    xx          13516   1  24    --  00:50 B 00:02
+```
+
+The status B means that some subjobs are already running.
+
+Check status of the first 100 subjobs by the qstat command.
+
+``` 
+$ qstat -a 12345[1-100].isrv5
+
+isrv5:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+12345[1].isrv5    user2    qprod    xx          13516   1  24    --  00:50 R 00:02
+12345[2].isrv5    user2    qprod    xx          13516   1  24    --  00:50 R 00:02
+12345[3].isrv5    user2    qprod    xx          13516   1  24    --  00:50 R 00:01
+12345[4].isrv5    user2    qprod    xx          13516   1  24    --  00:50 Q   --
+     .             .        .      .             .    .   .     .    .   .    .
+     ,             .        .      .             .    .   .     .    .   .    . 
+12345[100].isrv5  user2    qprod    xx          13516   1  24    --  00:50 Q   --
+```
+
+Delete the entire job array. Running subjobs will be killed, queueing
+subjobs will be deleted.
+
+``` 
+$ qdel 12345[].isrv5
+```
+
+Deleting large job arrays may take a while.
+
+Display status information for all user's jobs, job arrays, and subjobs.
+
+``` 
+$ qstat -u $USER -t
+```
+
+Display status information for all user's subjobs.
+
+``` 
+$ qstat -u $USER -tJ
+```
+
+Read more on job arrays in the [PBSPro Users
+guide](https://docs.it4i.cz/pbspro-documentation).
+
+[]()GNU parallel
+----------------
+
+Use GNU parallel to run many single core tasks on one node.
+
+GNU parallel is a shell tool for executing jobs in parallel using one or
+more computers. A job can be a single command or a small script that has
+to be run for each of the lines in the input. GNU parallel is most
+useful in running single core jobs via the queue system on  Anselm.
+
+For more information and examples see the parallel man page:
+
+``` 
+$ module add parallel
+$ man parallel
+```
+
+### GNU parallel jobscript
+
+The GNU parallel shell executes multiple instances of the jobscript
+using all cores on the node. The instances execute different work,
+controlled by the $PARALLEL_SEQ variable.
+
+[]()Example:
+
+Assume we have 101 input files with name beginning with "file" (e. g.
+file001, ..., file101). Assume we would like to use each of these input
+files with program executable myprog.x, each as a separate single core
+job. We call these single core jobs tasks.
+
+First, we create a tasklist file, listing all tasks - all input files in
+our example:
+
+``` 
+$ find . -name 'file*' > tasklist
+```
+
+Then we create jobscript:
+
+``` 
+#!/bin/bash
+#PBS -A PROJECT_ID
+#PBS -q qprod
+#PBS -l select=1:ncpus=24,walltime=02:00:00
+
+[ -z "$PARALLEL_SEQ" ] && 
+{ module add parallel ; exec parallel -a $PBS_O_WORKDIR/tasklist $0 ; }
+
+# change to local scratch directory
+SCR=/scratch/work/user/$USER/$PBS_JOBID/$PARALLEL_SEQ
+mkdir -p $SCR ; cd $SCR || exit
+
+# get individual task from tasklist
+TASK=$1  
+
+# copy input file and executable to scratch 
+cp $PBS_O_WORKDIR/$TASK input 
+
+# execute the calculation
+cat  input > output
+
+# copy output file to submit directory
+cp output $PBS_O_WORKDIR/$TASK.out
+```
+
+In this example, tasks from tasklist are executed via the GNU
+parallel. The jobscript executes multiple instances of itself in
+parallel, on all cores of the node. Once an instace of jobscript is
+finished, new instance starts until all entries in tasklist are
+processed. Currently processed entry of the joblist may be retrieved via
+$1 variable. Variable $TASK expands to one of the input filenames from
+tasklist. We copy the input file to local scratch, execute the myprog.x
+and copy the output file back to the submit directory, under the
+$TASK.out name. 
+
+### Submit the job
+
+To submit the job, use the qsub command. The 101 tasks' job of the
+[example above](#gp_example) may be submitted like this:
+
+``` 
+$ qsub -N JOBNAME jobscript
+12345.dm2
+```
+
+In this example, we submit a job of 101 tasks. 24 input files will be
+processed in  parallel. The 101 tasks on 24 cores are assumed to
+complete in less than 2 hours.
+
+Please note the #PBS directives in the beginning of the jobscript file,
+dont' forget to set your valid PROJECT_ID and desired queue.
+
+[]()Job arrays and GNU parallel
+-------------------------------
+
+Combine the Job arrays and GNU parallel for best throughput of single
+core jobs
+
+While job arrays are able to utilize all available computational nodes,
+the GNU parallel can be used to efficiently run multiple single-core
+jobs on single node. The two approaches may be combined to utilize all
+available (current and future) resources to execute single core jobs.
+
+Every subjob in an array runs GNU parallel to utilize all cores on the
+node
+
+### GNU parallel, shared jobscript
+
+Combined approach, very similar to job arrays, can be taken. Job array
+is submitted to the queuing system. The subjobs run GNU parallel. The
+GNU parallel shell executes multiple instances of the jobscript using
+all cores on the node. The instances execute different work, controlled
+by the $PBS_JOB_ARRAY and $PARALLEL_SEQ variables.
+
+[]()Example:
+
+Assume we have 992 input files with name beginning with "file" (e. g.
+file001, ..., file992). Assume we would like to use each of these input
+files with program executable myprog.x, each as a separate single core
+job. We call these single core jobs tasks.
+
+First, we create a tasklist file, listing all tasks - all input files in
+our example:
+
+``` 
+$ find . -name 'file*' > tasklist
+```
+
+Next we create a file, controlling how many tasks will be executed in
+one subjob
+
+``` 
+$ seq 32 > numtasks
+```
+
+Then we create jobscript:
+
+``` 
+#!/bin/bash
+#PBS -A PROJECT_ID
+#PBS -q qprod
+#PBS -l select=1:ncpus=24,walltime=02:00:00
+
+[ -z "$PARALLEL_SEQ" ] && 
+{ module add parallel ; exec parallel -a $PBS_O_WORKDIR/numtasks $0 ; }
+
+# change to local scratch directory
+SCR=/scratch/work/user/$USER/$PBS_JOBID/$PARALLEL_SEQ
+mkdir -p $SCR ; cd $SCR || exit
+
+# get individual task from tasklist with index from PBS JOB ARRAY and index form Parallel
+IDX=$(($PBS_ARRAY_INDEX + $PARALLEL_SEQ - 1))
+TASK=$(sed -n "${IDX}p" $PBS_O_WORKDIR/tasklist)
+[ -z "$TASK" ] && exit
+
+# copy input file and executable to scratch 
+cp $PBS_O_WORKDIR/$TASK input 
+
+# execute the calculation
+cat input > output
+
+# copy output file to submit directory
+cp output $PBS_O_WORKDIR/$TASK.out
+```
+
+In this example, the jobscript executes in multiple instances in
+parallel, on all cores of a computing node.  Variable $TASK expands to
+one of the input filenames from tasklist. We copy the input file to
+local scratch, execute the myprog.x and copy the output file back to the
+submit directory, under the $TASK.out name.  The numtasks file controls
+how many tasks will be run per subjob. Once an task is finished, new
+task starts, until the number of tasks  in numtasks file is reached.
+
+Select  subjob walltime and number of tasks per subjob  carefully
+
+ When deciding this values, think about following guiding rules :
+
+1.  Let n=N/24.  Inequality (n+1) * T &lt; W should hold. The N is
+    number of tasks per subjob, T is expected single task walltime and W
+    is subjob walltime. Short subjob walltime improves scheduling and
+    job throughput.
+2.  Number of tasks should be modulo 24.
+3.  These rules are valid only when all tasks have similar task
+    walltimes T.
+
+### Submit the job array
+
+To submit the job array, use the qsub -J command. The 992 tasks' job of
+the [example above](#combined_example) may be submitted
+like this:
+
+``` 
+$ qsub -N JOBNAME -J 1-992:32 jobscript
+12345[].dm2
+```
+
+In this example, we submit a job array of 31 subjobs. Note the  -J
+1-992:**48**, this must be the same as the number sent to numtasks file.
+Each subjob will run on full node and process 24 input files in
+parallel, 48 in total per subjob.  Every subjob is assumed to complete
+in less than 2 hours.
+
+Please note the #PBS directives in the beginning of the jobscript file,
+dont' forget to set your valid PROJECT_ID and desired queue.
+
+Examples
+--------
+
+Download the examples in
+[capacity.zip](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/capacity-computing-example), 
+illustrating the above listed ways to run huge number of jobs. We
+recommend to try out the examples, before using this for running
+production jobs.
+
+Unzip the archive in an empty directory on Anselm and follow the
+instructions in the README file
+
+``` 
+$ unzip capacity.zip
+$ cd capacity
+$ cat README
+```
+
+ 
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..38eb9a8ae30b4e632dc1482d6d9a635a4d277c32
--- /dev/null
+++ b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/introduction.md
@@ -0,0 +1,67 @@
+Resource Allocation and Job Execution 
+=====================================
+
+
+
+  
+
+To run a
+[job](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution),
+[computational
+resources](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy)
+for this particular job must be allocated. This is done via the PBS Pro
+job workload manager software, which efficiently distributes workloads
+across the supercomputer. Extensive informations about PBS Pro can be
+found in the [official documentation
+here](https://docs.it4i.cz/pbspro-documentation),
+especially in the [PBS Pro User's
+Guide](https://docs.it4i.cz/pbspro-documentation/pbspro-users-guide).
+
+Resources Allocation Policy
+---------------------------
+
+The resources are allocated to the job in a fairshare fashion, subject
+to constraints set by the queue and resources available to the Project.
+[The
+Fairshare](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority)
+at Salomon ensures that individual users may consume approximately equal
+amount of resources per week. The resources are accessible via several
+queues for queueing the jobs. The queues provide prioritized and
+exclusive access to the computational resources. Following queues are
+available to Anselm users:
+
+-   **qexp**, the Express queue
+-   **qprod**, the Production queue****
+-   **qlong**, the Long queue
+-   **qmpp**, the Massively parallel queue
+-   **qfat**, the queue to access SMP UV2000 machine
+-   **qfree,** the Free resource utilization queue
+
+Check the queue status at <https://extranet.it4i.cz/rsweb/salomon/>
+
+Read more on the [Resource Allocation
+Policy](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy)
+page.
+
+Job submission and execution
+----------------------------
+
+Use the **qsub** command to submit your jobs.
+
+The qsub submits the job into the queue. The qsub command creates a
+request to the PBS Job manager for allocation of specified resources. 
+The **smallest allocation unit is entire node, 24 cores**, with
+exception of the qexp queue. The resources will be allocated when
+available, subject to allocation policies and constraints. **After the
+resources are allocated the jobscript or interactive shell is executed
+on first of the allocated nodes.**
+
+Read more on the [Job submission and
+execution](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution)
+page.
+
+HTML commented section #1 (removed Capacity computing section, this
+will be optimized for Salomon)
+
+
+
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md
new file mode 100644
index 0000000000000000000000000000000000000000..32d9e5e44e93a0007eb302168d8940dde8205a4a
--- /dev/null
+++ b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority.md
@@ -0,0 +1,112 @@
+Job scheduling 
+==============
+
+Job execution priority
+----------------------
+
+Scheduler gives each job an execution priority and then uses this job
+execution priority to select which job(s) to run.
+
+Job execution priority is determined by these job properties (in order
+of importance):
+
+1.  queue priority
+2.  fairshare priority
+3.  eligible time
+
+### Queue priority
+
+ueue priority is priority of queue where job is queued before
+execution.
+
+ueue priority has the biggest impact on job execution priority.
+Execution priority of jobs in higher priority queues is always greater
+than execution priority of jobs in lower priority queues. Other
+properties of job used for determining job execution priority (fairshare
+priority, eligible time) cannot compete with queue priority.
+
+ueue priorities can be seen at
+<https://extranet.it4i.cz/rsweb/salomon/queues>
+
+### Fairshare priority
+
+Fairshare priority is priority calculated on recent usage of resources.
+Fairshare priority is calculated per project, all members of project
+share same fairshare priority. Projects with higher recent usage have
+lower fairshare priority than projects with lower or none recent usage.
+
+Fairshare priority is used for ranking jobs with equal queue priority.
+
+Fairshare priority is calculated as
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/fairshare_formula.png)
+
+where MAX_FAIRSHARE has value 1E6,
+usage~Project~ is cumulated usage by all members of selected project,
+usage~Total~ is total usage by all users, by all projects.
+
+Usage counts allocated corehours (ncpus*walltime). Usage is decayed, or
+cut in half periodically, at the interval 168 hours (one week).
+Jobs queued in queue qexp are not calculated to project's usage.
+
+<span>Calculated usage and fairshare priority can be seen at
+<https://extranet.it4i.cz/rsweb/salomon/projects>.</span>
+
+<span>
+<span>Calculated fairshare priority can be also seen as
+Resource_List.fairshare attribute of a job.</span>
+</span>
+
+### <span>Eligible time</span>
+
+Eligible time is amount (in seconds) of eligible time job accrued while
+waiting to run. Jobs with higher eligible time gains higher
+pri<span><span></span></span>ority.
+
+Eligible time has the least impact on execution priority. Eligible time
+is used for sorting jobs with equal queue priority and fairshare
+priority. It is very, very difficult for <span>eligible time</span> to
+compete with fairshare priority.
+
+<span><span>Eligible time can be seen as eligible_time attribute of
+job.</span></span>
+
+### Formula
+
+Job execution priority (job sort formula) is calculated as:
+
+![](https://docs.it4i.cz/anselm-cluster-documentation/resource-allocation-and-job-execution/job_sort_formula.png)
+
+### Job backfilling
+
+<span>The scheduler uses job backfilling.</span>
+
+Backfilling means fitting smaller jobs around the higher-priority jobs
+that the scheduler is going to run next, in such a way that the
+higher-priority jobs are not delayed. Backfilling allows us to keep
+resources from becoming idle when the top job (job with the highest
+execution priority) cannot run.
+
+The scheduler makes a list of jobs to run in order of execution
+priority. Scheduler looks for smaller jobs that can fit into the usage
+gaps
+around the highest-priority jobs in the list. The scheduler looks in the
+prioritized list of jobs and chooses the highest-priority smaller jobs
+that fit. Filler jobs are run only if they will not delay the start time
+of top jobs.
+
+It means, that jobs with lower execution priority can be run before jobs
+with higher execution priority.
+
+It is **very beneficial to specify the walltime** when submitting jobs.
+
+Specifying more accurate walltime enables better schedulling, better
+execution times and better resource usage. Jobs with suitable (small)
+walltime could be backfilled - and overtake job(s) with higher priority.
+
+### Job placement
+
+Job [placement can be controlled by flags during
+submission](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution#job_placement).
+
+
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md
new file mode 100644
index 0000000000000000000000000000000000000000..c2f9523fa09880a4e3a78c64451966a3becea2f8
--- /dev/null
+++ b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution.md
@@ -0,0 +1,621 @@
+Job submission and execution 
+============================
+
+
+
+  
+
+Job Submission
+--------------
+
+When allocating computational resources for the job, please specify
+
+1.  suitable queue for your job (default is qprod)
+2.  number of computational nodes required
+3.  number of cores per node required
+4.  maximum wall time allocated to your calculation, note that jobs
+    exceeding maximum wall time will be killed
+5.  Project ID
+6.  Jobscript or interactive switch
+
+Use the **qsub** command to submit your job to a queue for allocation of
+the computational resources.
+
+Submit the job using the qsub command:
+
+``` 
+$ qsub -A Project_ID -q queue -l select=x:ncpus=y,walltime=[[hh:]mm:]ss[.ms] jobscript
+```
+
+The qsub submits the job into the queue, in another words the qsub
+command creates a request to the PBS Job manager for allocation of
+specified resources. The resources will be allocated when available,
+subject to above described policies and constraints. **After the
+resources are allocated the jobscript or interactive shell is executed
+on first of the allocated nodes.**
+
+PBS statement nodes (qsub -l nodes=nodespec) is not supported on Salomon
+cluster.**
+**
+
+### Job Submission Examples
+
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=64:ncpus=24,walltime=03:00:00 ./myjob
+```
+
+In this example, we allocate 64 nodes, 24 cores per node, for 3 hours.
+We allocate these resources via the qprod queue, consumed resources will
+be accounted to the Project identified by Project ID OPEN-0-0. Jobscript
+myjob will be executed on the first node in the allocation.
+
+ 
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=24 -I
+```
+
+In this example, we allocate 4 nodes, 24 cores per node, for 1 hour. We
+allocate these resources via the qexp queue. The resources will be
+available interactively
+
+ 
+
+``` 
+$ qsub -A OPEN-0-0 -q qlong -l select=10:ncpus=24 ./myjob
+```
+
+In this example, we allocate 10 nodes, 24 cores per node, for  72 hours.
+We allocate these resources via the qlong queue. Jobscript myjob will be
+executed on the first node in the allocation.
+
+ 
+
+``` 
+$ qsub -A OPEN-0-0 -q qfree -l select=10:ncpus=24 ./myjob
+```
+
+In this example, we allocate 10  nodes, 24 cores per node, for 12 hours.
+We allocate these resources via the qfree queue. It is not required that
+the project OPEN-0-0 has any available resources left. Consumed
+resources are still accounted for. Jobscript myjob will be executed on
+the first node in the allocation.
+
+### Intel Xeon Phi co-processors
+
+To allocate a node with Xeon Phi co-processor, user needs to specify
+that in select statement. Currently only allocation of whole nodes with
+both Phi cards as the smallest chunk is supported. Standard PBSPro
+approach through attributes "accelerator", "naccelerators" and
+"accelerator_model" is used. The "accelerator_model" can be omitted,
+since on Salomon only one type of accelerator type/model is available.
+
+The absence of specialized queue for accessing the nodes with cards
+means, that the Phi cards can be utilized in any queue, including qexp
+for testing/experiments, qlong for longer jobs, qfree after the project
+resources have been spent, etc. The Phi cards are thus also available to
+PRACE users. There's no need to ask for permission to utilize the Phi
+cards in project proposals.
+
+``` 
+$ qsub  -A OPEN-0-0 -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 ./myjob
+```
+
+In this example, we allocate 1 node, with 24 cores, with 2 Xeon Phi
+7120p cards, running batch job ./myjob. The default time for qprod is
+used, e. g. 24 hours.
+
+``` 
+$ qsub  -A OPEN-0-0 -I -q qlong -l select=4:ncpus=24:accelerator=True:naccelerators=2 -l walltime=56:00:00 -I
+```
+
+In this example, we allocate 4 nodes, with 24 cores per node (totalling
+96 cores), with 2 Xeon Phi 7120p cards per node (totalling 8 Phi cards),
+running interactive job for 56 hours. The accelerator model name was
+omitted.
+
+### UV2000 SMP
+
+14 NUMA nodes available on UV2000
+Per NUMA node allocation.
+Jobs are isolated by cpusets.
+
+The UV2000 (node uv1) offers 3328GB of RAM and 112 cores, distributed in
+14 NUMA nodes. A NUMA node packs 8 cores and approx. 236GB RAM. In the
+PBS  the UV2000 provides 14 chunks, a chunk per NUMA node (see 
+[Resource allocation
+policy](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy)).
+The jobs on UV2000 are isolated from each other by cpusets, so that a
+job by one user may not utilize CPU or memory allocated to a job by
+other user. Always, full chunks are allocated, a job may only use
+resources of  the NUMA nodes allocated to itself.
+
+``` 
+ $ qsub -A OPEN-0-0 -q qfat -l select=14 ./myjob
+```
+
+In this example, we allocate all 14 NUMA nodes (corresponds to 14
+chunks), 112 cores of the SGI UV2000 node  for 72 hours. Jobscript myjob
+will be executed on the node uv1.
+
+``` 
+$ qsub -A OPEN-0-0 -q qfat -l select=1:mem=2000GB ./myjob
+```
+
+In this example, we allocate 2000GB of memory on the UV2000 for 72
+hours. By requesting 2000GB of memory, 10 chunks are allocated.
+Jobscript myjob will be executed on the node uv1.
+
+### Useful tricks
+
+All qsub options may be [saved directly into the
+jobscript](#PBSsaved). In such a case, no options to qsub
+are needed.
+
+``` 
+$ qsub ./myjob
+```
+
+ 
+
+By default, the PBS batch system sends an e-mail only when the job is
+aborted. Disabling mail events completely can be done like this:
+
+``` 
+$ qsub -m n
+```
+
+[]()Advanced job placement
+--------------------------
+
+### Placement by name
+
+Specific nodes may be allocated via the PBS
+
+``` 
+qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=24:host=r24u35n680+1:ncpus=24:host=r24u36n681 -I
+```
+
+Or using short names
+
+``` 
+qsub -A OPEN-0-0 -q qprod -l select=1:ncpus=24:host=cns680+1:ncpus=24:host=cns681 -I
+```
+
+In this example, we allocate nodes r24u35n680 and r24u36n681, all 24
+cores per node, for 24 hours.  Consumed resources will be accounted to
+the Project identified by Project ID OPEN-0-0. The resources will be
+available interactively.
+
+### Placement by Hypercube dimension
+
+Nodes may be selected via the PBS resource attribute ehc_[1-7]d .
+
+  Hypercube dimension   <span class="pun">node_group_key</span>
+  --------------------- -------------------------------------------
+  1D                    ehc_1d
+  2D                    ehc_2d
+  3D                    ehc_3d
+  4D                    ehc_4d
+  5D                    ehc_5d
+  6D                    ehc_6d
+  7D                    ehc_7d
+
+ 
+
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=4:ncpus=24 -l place=group=ehc_1d -I
+```
+
+
+In this example, we allocate 4 nodes, 24 cores, selecting only the nodes
+with [hypercube
+dimension](https://docs.it4i.cz/salomon/network-1/7d-enhanced-hypercube)
+1.
+
+
+
+### Placement by IB switch
+
+
+Groups of computational nodes are connected to chassis integrated
+Infiniband switches. These switches form the leaf switch layer of the
+[Infiniband 
+network](https://docs.it4i.cz/salomon/network-1) . Nodes
+sharing the leaf switch can communicate most efficiently. Sharing the
+same switch prevents hops in the network and provides for unbiased, most
+efficient network communication.
+
+
+
+There are at most 9 nodes sharing the same Infiniband switch.
+
+Infiniband switch list:
+
+
+
+``` 
+$ qmgr -c "print node @a" | grep switch
+set node r4i1n11 resources_available.switch = r4i1s0sw1
+set node r2i0n0 resources_available.switch = r2i0s0sw1
+set node r2i0n1 resources_available.switch = r2i0s0sw1
+...
+```
+
+
+List of all nodes per Infiniband switch:
+
+
+
+``` 
+$ qmgr -c "print node @a" | grep r36sw3
+set node r36u31n964 resources_available.switch = r36sw3
+set node r36u32n965 resources_available.switch = r36sw3
+set node r36u33n966 resources_available.switch = r36sw3
+set node r36u34n967 resources_available.switch = r36sw3
+set node r36u35n968 resources_available.switch = r36sw3
+set node r36u36n969 resources_available.switch = r36sw3
+set node r37u32n970 resources_available.switch = r36sw3
+set node r37u33n971 resources_available.switch = r36sw3
+set node r37u34n972 resources_available.switch = r36sw3
+```
+Nodes sharing the same switch may be selected via the PBS resource
+attribute switch.
+
+
+We recommend allocating compute nodes of a single switch when best
+possible computational network performance is required to run the job
+efficiently:
+
+
+
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=9:ncpus=24:switch=r4i1s0sw1 ./myjob
+```
+
+
+In this example, we request all the 9 nodes sharing the r4i1s0sw1 switch
+for 24 hours.
+``` 
+$ qsub -A OPEN-0-0 -q qprod -l select=9:ncpus=24 -l place=group=switch ./myjob
+```
+In this example, we request 9 nodes placed on the same switch using node
+grouping placement for 24 hours.
+
+
+HTML commented section #1 (turbo boost is to be implemented)
+
+Job Management
+--------------
+
+Check status of your jobs using the **qstat** and **check-pbs-jobs**
+commands
+
+``` 
+$ qstat -a
+$ qstat -a -u username
+$ qstat -an -u username
+$ qstat -f 12345.isrv5
+```
+
+[]()Example:
+
+``` 
+$ qstat -a
+
+srv11:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+16287.isrv5     user1    qlong    job1         6183   4  64    --  144:0 R 38:25
+16468.isrv5     user1    qlong    job2         8060   4  64    --  144:0 R 17:44
+16547.isrv5     user2    qprod    job3x       13516   2  32    --  48:00 R 00:58
+```
+
+In this example user1 and user2 are running jobs named job1, job2 and
+job3x. The jobs job1 and job2 are using 4 nodes, 16 cores per node each.
+The job1 already runs for 38 hours and 25 minutes, job2 for 17 hours 44
+minutes. The job1 already consumed 64*38.41 = 2458.6 core hours. The
+job3x already consumed 0.96*32 = 30.93 core hours. These consumed core
+hours will be accounted on the respective project accounts, regardless
+of whether the allocated cores were actually used for computations.
+
+Check status of your jobs using check-pbs-jobs command. Check presence
+of user's PBS jobs' processes on execution hosts. Display load,
+processes. Display job standard and error output. Continuously display
+(tail -f) job standard or error output.
+
+``` 
+$ check-pbs-jobs --check-all
+$ check-pbs-jobs --print-load --print-processes
+$ check-pbs-jobs --print-job-out --print-job-err
+$ check-pbs-jobs --jobid JOBID --check-all --print-all
+$ check-pbs-jobs --jobid JOBID --tailf-job-out
+```
+
+Examples:
+
+``` 
+$ check-pbs-jobs --check-all
+JOB 35141.dm2, session_id 71995, user user2, nodes r3i6n2,r3i6n3
+Check session idOK
+Check processes
+r3i6n2OK
+r3i6n3No process
+```
+
+In this example we see that job 35141.dm2 currently runs no process on
+allocated node r3i6n2, which may indicate an execution error.
+
+``` 
+$ check-pbs-jobs --print-load --print-processes
+JOB 35141.dm2, session_id 71995, user user2, nodes r3i6n2,r3i6n3
+Print load
+r3i6n2LOAD16.01, 16.01, 16.00
+r3i6n3LOAD 0.01,  0.00,  0.01
+Print processes
+       %CPU CMD
+r3i6n2 0.0 -bash
+r3i6n2 0.0 /bin/bash /var/spool/PBS/mom_priv/jobs/35141.dm2.SC
+r3i6n299.7 run-task
+...
+```
+
+In this example we see that job 35141.dm2 currently runs process
+run-task on node r3i6n2, using one thread only, while node r3i6n3 is
+empty, which may indicate an execution error.
+
+``` 
+$ check-pbs-jobs --jobid 35141.dm2 --print-job-out
+JOB 35141.dm2, session_id 71995, user user2, nodes r3i6n2,r3i6n3
+Print job standard output:
+======================== Job start  ==========================
+Started at    Fri Aug 30 02:47:53 CEST 2013
+Script name   script
+Run loop 1
+Run loop 2
+Run loop 3
+```
+
+In this example, we see actual output (some iteration loops) of the job
+35141.dm2
+
+Manage your queued or running jobs, using the **qhold**, **qrls**,
+**qdel,** **qsig** or **qalter** commands
+
+You may release your allocation at any time, using qdel command
+
+``` 
+$ qdel 12345.isrv5
+```
+
+You may kill a running job by force, using qsig command
+
+``` 
+$ qsig -s 9 12345.isrv5
+```
+
+Learn more by reading the pbs man page
+
+``` 
+$ man pbs_professional
+```
+
+Job Execution
+-------------
+
+### Jobscript
+
+Prepare the jobscript to run batch jobs in the PBS queue system
+
+The Jobscript is a user made script, controlling sequence of commands
+for executing the calculation. It is often written in bash, other
+scripts may be used as well. The jobscript is supplied to PBS **qsub**
+command as an argument and executed by the PBS Professional workload
+manager.
+
+The jobscript or interactive shell is executed on first of the allocated
+nodes.
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=24 -N Name0 ./myjob
+$ qstat -n -u username
+
+isrv5:
+                                                            Req'd  Req'd   Elap
+Job ID          Username Queue    Jobname    SessID NDS TSK Memory Time  S Time
+--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----
+15209.isrv5     username qexp     Name0        5530   4  96    --  01:00 R 00:00
+   r21u01n577/0*24+r21u02n578/0*24+r21u03n579/0*24+r21u04n580/0*24
+```
+
+ In this example, the nodes r21u01n577, r21u02n578, r21u03n579,
+r21u04n580 were allocated for 1 hour via the qexp queue. The jobscript
+myjob will be executed on the node r21u01n577, while the
+nodes r21u02n578, r21u03n579, r21u04n580 are available for use as well.
+
+The jobscript or interactive shell is by default executed in home
+directory
+
+``` 
+$ qsub -q qexp -l select=4:ncpus=24 -I
+qsubwaiting for job 15210.isrv5 to start
+qsubjob 15210.isrv5 ready
+
+$ pwd
+/home/username
+```
+
+In this example, 4 nodes were allocated interactively for 1 hour via the
+qexp queue. The interactive shell is executed in the home directory.
+
+All nodes within the allocation may be accessed via ssh.  Unallocated
+nodes are not accessible to user.
+
+The allocated nodes are accessible via ssh from login nodes. The nodes
+may access each other via ssh as well.
+
+Calculations on allocated nodes may be executed remotely via the MPI,
+ssh, pdsh or clush. You may find out which nodes belong to the
+allocation by reading the $PBS_NODEFILE file
+
+``` 
+qsub -q qexp -l select=2:ncpus=24 -I
+qsubwaiting for job 15210.isrv5 to start
+qsubjob 15210.isrv5 ready
+
+$ pwd
+/home/username
+
+$ sort -u $PBS_NODEFILE
+r2i5n6.ib0.smc.salomon.it4i.cz
+r4i6n13.ib0.smc.salomon.it4i.cz
+r4i7n0.ib0.smc.salomon.it4i.cz
+r4i7n2.ib0.smc.salomon.it4i.cz
+
+ 
+$ pdsh -w r2i5n6,r4i6n13,r4i7n[0,2] hostname
+r4i6n13r4i6n13
+r2i5n6r2i5n6
+r4i7n2r4i7n2
+r4i7n0r4i7n0
+```
+
+In this example, the hostname program is executed via pdsh from the
+interactive shell. The execution runs on all four allocated nodes. The
+same result would be achieved if the pdsh is called from any of the
+allocated nodes or from the login nodes.
+
+### Example Jobscript for MPI Calculation
+
+Production jobs must use the /scratch directory for I/O
+
+The recommended way to run production jobs is to change to /scratch
+directory early in the jobscript, copy all inputs to /scratch, execute
+the calculations and copy outputs to home directory.
+
+``` 
+#!/bin/bash
+
+# change to scratch directory, exit on failure
+SCRDIR=/scratch/work/user/$USER/myjob
+mkdir -p $SCRDIR
+cd $SCRDIR || exit
+
+# copy input file to scratch 
+cp $PBS_O_WORKDIR/input .
+cp $PBS_O_WORKDIR/mympiprog.x .
+
+# load the mpi module
+module load OpenMPI
+
+# execute the calculation
+mpiexec -pernode ./mympiprog.x
+
+# copy output file to home
+cp output $PBS_O_WORKDIR/.
+
+#exit
+exit
+```
+
+In this example, some directory on the /home holds the input file input
+and executable mympiprog.x . We create a directory myjob on the /scratch
+filesystem, copy input and executable files from the /home directory
+where the qsub was invoked ($PBS_O_WORKDIR) to /scratch, execute the
+MPI programm mympiprog.x and copy the output file back to the /home
+directory. The mympiprog.x is executed as one process per node, on all
+allocated nodes.
+
+Consider preloading inputs and executables onto [shared
+scratch](https://docs.it4i.cz/salomon/storage) before
+the calculation starts.
+
+In some cases, it may be impractical to copy the inputs to scratch and
+outputs to home. This is especially true when very large input and
+output files are expected, or when the files should be reused by a
+subsequent calculation. In such a case, it is users responsibility to
+preload the input files on shared /scratch before the job submission and
+retrieve the outputs manually, after all calculations are finished.
+
+[]()Store the qsub options within the jobscript.
+Use **mpiprocs** and **ompthreads** qsub options to control the MPI job
+execution.
+
+Example jobscript for an MPI job with preloaded inputs and executables,
+options for qsub are stored within the script :
+
+``` 
+#!/bin/bash
+#PBS -q qprod
+#PBS -N MYJOB
+#PBS -l select=100:ncpus=24:mpiprocs=1:ompthreads=24
+#PBS -A OPEN-0-0
+
+# change to scratch directory, exit on failure
+SCRDIR=/scratch/work/user/$USER/myjob
+cd $SCRDIR || exit
+
+
+# load the mpi module
+module load OpenMPI
+
+# execute the calculation
+mpiexec ./mympiprog.x
+
+
+#exit
+exit
+```
+
+In this example, input and executable files are assumed preloaded
+manually in /scratch/$USER/myjob directory. Note the **mpiprocs** and
+**ompthreads** qsub options, controlling behavior of the MPI execution.
+The mympiprog.x is executed as one process per node, on all 100
+allocated nodes. If mympiprog.x implements OpenMP threads, it will run
+24 threads per node.
+
+HTML commented section #2 (examples need to be reworked)
+
+### Example Jobscript for Single Node Calculation[]()
+
+Local scratch directory is often useful for single node jobs. Local
+scratch will be deleted immediately after the job ends.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+Example jobscript for single node calculation, using [local
+scratch](https://docs.it4i.cz/salomon/storage) on the
+node:
+
+``` 
+#!/bin/bash
+
+# change to local scratch directory
+cd /lscratch/$PBS_JOBID || exit
+
+# copy input file to scratch 
+cp $PBS_O_WORKDIR/input .
+cp $PBS_O_WORKDIR/myprog.x .
+
+# execute the calculation
+./myprog.x
+
+# copy output file to home
+cp output $PBS_O_WORKDIR/.
+
+#exit
+exit
+```
+
+In this example, some directory on the home holds the input file input
+and executable myprog.x . We copy input and executable files from the
+home directory where the qsub was invoked ($PBS_O_WORKDIR) to local
+scratch /lscratch/$PBS_JOBID, execute the myprog.x and copy the output
+file back to the /home directory. The myprog.x runs on one node only and
+may use threads.
+
+HTML commented section #3 (Capacity computing need to be reworked)
+
+
+
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md
new file mode 100644
index 0000000000000000000000000000000000000000..5712c6496ef9d6835dc2a73e9020bbe132395a0a
--- /dev/null
+++ b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/resources-allocation-policy.md
@@ -0,0 +1,342 @@
+Resources Allocation Policy 
+===========================
+
+
+
+  
+
+Resources Allocation Policy 
+---------------------------
+
+The resources are allocated to the job in a fairshare fashion, subject
+to constraints set by the queue and resources available to the Project.
+The Fairshare at Anselm ensures that individual users may consume
+approximately equal amount of resources per week. Detailed information
+in the [Job
+scheduling](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-priority)
+section. The resources are accessible via several queues for queueing
+the jobs. The queues provide prioritized and exclusive access to the
+computational resources. Following table provides the queue partitioning
+overview:
+
+ 
+
+<table>
+<colgroup>
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+<col width="12%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">queue</th>
+<th align="left">active project</th>
+<th align="left">project resources</th>
+<th align="left">nodes</th>
+<th align="left">min ncpus*</th>
+<th align="left">priority</th>
+<th align="left">authorization</th>
+<th align="left">walltime<br />
+default/max</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left"><strong>qexp</strong><br />
+Express queue</td>
+<td align="left">no</td>
+<td align="left">none required</td>
+<td align="left">32 nodes, max 8 per user</td>
+<td align="left">24</td>
+<td align="left"><span>150</span></td>
+<td align="left">no</td>
+<td align="left">1 / 1h</td>
+</tr>
+<tr class="even">
+<td align="left"><strong>qprod</strong><br />
+Production queue</td>
+<td align="left">yes<br />
+<br />
+</td>
+<td align="left">&gt; 0</td>
+<td align="left"><p><span>1006 nodes, max 86 per job</span></p></td>
+<td align="left">24</td>
+<td align="left">0</td>
+<td align="left">no</td>
+<td align="left">24 / 48h</td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>qlong</strong><br />
+Long queue</td>
+<td align="left">yes</td>
+<td align="left">&gt; 0</td>
+<td align="left">256 nodes, max 40 per job</td>
+<td align="left">24</td>
+<td align="left">0</td>
+<td align="left">no</td>
+<td align="left">72 / 144h</td>
+</tr>
+<tr class="even">
+<td align="left"><strong>qmpp<br />
+</strong>Massive parallel queue</td>
+<td align="left">yes</td>
+<td align="left">&gt; 0</td>
+<td align="left">1006 nodes</td>
+<td align="left">24</td>
+<td align="left">0</td>
+<td align="left">yes</td>
+<td align="left">2 / 4h</td>
+</tr>
+<tr class="odd">
+<td align="left"><strong>qfat<br />
+</strong>UV2000 queue</td>
+<td align="left">yes</td>
+<td align="left"><p>&gt; 0</p></td>
+<td align="left">1 (uv1)</td>
+<td align="left">8</td>
+<td align="left">0</td>
+<td align="left">yes</td>
+<td align="left">24 / 48h</td>
+</tr>
+<tr class="even">
+<td align="left"><strong>qfree</strong><br />
+Free resource queue</td>
+<td align="left">yes</td>
+<td align="left">none required</td>
+<td align="left">752 nodes, max 86 per job</td>
+<td align="left">24</td>
+<td align="left">-1024</td>
+<td align="left">no</td>
+<td align="left">12 / 12h</td>
+</tr>
+<tr class="odd">
+<td align="left"><strong><strong>qviz</strong><br />
+</strong>Visualization queue</td>
+<td align="left">yes</td>
+<td align="left">none required</td>
+<td align="left">2 (with NVIDIA Quadro K5000)</td>
+<td align="left">4</td>
+<td align="left">150</td>
+<td align="left">no</td>
+<td align="left">1 / 2h</td>
+</tr>
+</tbody>
+</table>
+
+ 
+
+**The qfree queue is not free of charge**. [Normal
+accounting](#resources-accounting-policy) applies.
+However, it allows for utilization of free resources, once a Project
+exhausted all its allocated computational resources. This does not apply
+for Directors Discreation's projects (DD projects) by default. Usage of
+qfree after exhaustion of DD projects computational resources is allowed
+after request for this queue.
+
+ 
+
+-   **qexp**, the Express queueThis queue is dedicated for testing and
+    running very small jobs. It is not required to specify a project to
+    enter the qexp. <span>*<span>There are 2 nodes always reserved for
+    this queue (w/o accelerator), maximum 8 nodes are available via the
+    qexp for a particular user. </span>*</span>The nodes may be
+    allocated on per core basis. No special authorization is required to
+    use it. The maximum runtime in qexp is 1 hour.
+-   **qprod**, the Production queue****This queue is intended for
+    normal production runs. It is required that active project with
+    nonzero remaining resources is specified to enter the qprod. All
+    nodes may be accessed via the qprod queue, however only 86 per job.
+    ** Full nodes, 24 cores per node are allocated. The queue runs with
+    medium priority and no special authorization is required to use it.
+    The maximum runtime in qprod is 48 hours.
+-   **qlong**, the Long queue****This queue is intended for long
+    production runs. It is required that active project with nonzero
+    remaining resources is specified to enter the qlong. Only 336 nodes
+    without acceleration may be accessed via the qlong queue. Full
+    nodes, 24 cores per node are allocated. The queue runs with medium
+    priority and no special authorization is required to use it.<span>
+    *The maximum runtime in qlong is 144 hours (three times of the
+    standard qprod time - 3 * 48 h)*</span>
+-   <span>****qmpp**, the massively parallel queue. This queue is
+    intended for massively parallel runs. It is required that active
+    project with nonzero remaining resources is specified to enter
+    the qmpp. All nodes may be accessed via the qmpp queue. ** Full
+    nodes, 24 cores per node are allocated. The queue runs with medium
+    priority and no special authorization is required to use it.  The
+    maximum runtime in qmpp is 4 hours. An PI<span> *needs explicitly*
+    </span>ask [support](https://support.it4i.cz/rt/)
+    for authorization to enter the queue for all users associated to
+    her/his Project.
+    </span>
+-   <span>**</span>**qfat**, the UV2000 queue. This queue is dedicated
+    to access the fat SGI UV2000 SMP machine. The machine (uv1) has 112
+    Intel IvyBridge cores at 3.3GHz and 3.25TB RAM. An PI<span> *needs
+    explicitly* </span>ask
+    [support](https://support.it4i.cz/rt/) for
+    authorization to enter the queue for all users associated to her/his
+    Project.****
+-   **qfree**, the Free resource queue****The queue qfree is intended
+    for utilization of free resources, after a Project exhausted all its
+    allocated computational resources (Does not apply to DD projects
+    by default. DD projects have to request for persmission on qfree
+    after exhaustion of computational resources.). It is required that
+    active project is specified to enter the queue, however no remaining
+    resources are required. Consumed resources will be accounted to
+    the Project. Only 178 nodes without accelerator may be accessed from
+    this queue. Full nodes, 24 cores per node are allocated. The queue
+    runs with very low priority and no special authorization is required
+    to use it. The maximum runtime in qfree is 12 hours.
+-   **qviz**, the Visualization queue****Intended for
+    pre-/post-processing using OpenGL accelerated graphics. Currently
+    when accessing the node, each user gets 4 cores of a CPU allocated,
+    thus approximately 73 GB of RAM and 1/7 of the GPU capacity
+    (default "chunk"). *If more GPU power or RAM is required, it is
+    recommended to allocate more chunks (with 4 cores each) up to one
+    whole node per user, so that all 28 cores, 512 GB RAM and whole GPU
+    is exclusive. This is currently also the maximum allowed allocation
+    per one user. One hour of work is allocated by default, the user may
+    ask for 2 hours maximum.*
+
+ 
+
+To access node with Xeon Phi co-processor user needs to specify that in
+[job submission select
+statement](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+
+### Notes**
+**
+
+The job wall clock time defaults to **half the maximum time**, see table
+above. Longer wall time limits can be  [set manually, see
+examples](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+
+Jobs that exceed the reserved wall clock time (Req'd Time) get killed
+automatically. Wall clock time limit can be changed for queuing jobs
+(state Q) using the qalter command, however can not be changed for a
+running job (state R).
+
+Salomon users may check current queue configuration at
+<https://extranet.it4i.cz/rsweb/salomon/queues>.
+
+### Queue status
+
+Check the status of jobs, queues and compute nodes at
+[https://extranet.it4i.cz/rsweb/salomon/](https://extranet.it4i.cz/rsweb/salomon)
+
+ 
+
+![RSWEB
+Salomon](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/rswebsalomon.png "RSWEB Salomon")
+
+ 
+
+Display the queue status on Salomon:
+
+``` 
+$ qstat -q
+```
+
+The PBS allocation overview may be obtained also using the rspbs
+command.
+
+``` 
+$ rspbs
+Usagerspbs [options]
+
+Options:
+  --version             show program's version number and exit
+  -h, --help            show this help message and exit
+  --get-server-details  Print server
+  --get-queues          Print queues
+  --get-queues-details  Print queues details
+  --get-reservations    Print reservations
+  --get-reservations-details
+                        Print reservations details
+  --get-nodes           Print nodes of PBS complex
+  --get-nodeset         Print nodeset of PBS complex
+  --get-nodes-details   Print nodes details
+  --get-jobs            Print jobs
+  --get-jobs-details    Print jobs details
+  --get-jobs-check-params
+                        Print jobid, job state, session_id, user, nodes
+  --get-users           Print users of jobs
+  --get-allocated-nodes
+                        Print allocated nodes of jobs
+  --get-allocated-nodeset
+                        Print allocated nodeset of jobs
+  --get-node-users      Print node users
+  --get-node-jobs       Print node jobs
+  --get-node-ncpus      Print number of ncpus per node
+  --get-node-allocated-ncpus
+                        Print number of allocated ncpus per node
+  --get-node-qlist      Print node qlist
+  --get-node-ibswitch   Print node ibswitch
+  --get-user-nodes      Print user nodes
+  --get-user-nodeset    Print user nodeset
+  --get-user-jobs       Print user jobs
+  --get-user-jobc       Print number of jobs per user
+  --get-user-nodec      Print number of allocated nodes per user
+  --get-user-ncpus      Print number of allocated ncpus per user
+  --get-qlist-nodes     Print qlist nodes
+  --get-qlist-nodeset   Print qlist nodeset
+  --get-ibswitch-nodes  Print ibswitch nodes
+  --get-ibswitch-nodeset
+                        Print ibswitch nodeset
+  --summary             Print summary
+  --get-node-ncpu-chart
+                        Obsolete. Print chart of allocated ncpus per node
+  --server=SERVER       Use given PBS server
+  --state=STATE         Only for given job state
+  --jobid=JOBID         Only for given job ID
+  --user=USER           Only for given user
+  --node=NODE           Only for given node
+  --nodestate=NODESTATE
+                        Only for given node state (affects only --get-node*
+                        --get-qlist-* --get-ibswitch-* actions)
+  --incl-finished       Include finished jobs
+```
+
+[]()Resources Accounting Policy
+-------------------------------
+
+### The Core-Hour
+
+The resources that are currently subject to accounting are the
+core-hours. The core-hours are accounted on the wall clock basis. The
+accounting runs whenever the computational cores are allocated or
+blocked via the PBS Pro workload manager (the qsub command), regardless
+of whether the cores are actually used for any calculation. 1 core-hour
+is defined as 1 processor core allocated for 1 hour of wall clock time.
+Allocating a full node (24 cores) for 1 hour accounts to 24 core-hours.
+See example in the [Job submission and
+execution](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution)
+section.
+
+### Check consumed resources
+
+The **it4ifree** command is a part of it4i.portal.clients package,
+located here:
+<https://pypi.python.org/pypi/it4i.portal.clients>
+
+User may check at any time, how many core-hours have been consumed by
+himself/herself and his/her projects. The command is available on
+clusters' login nodes.
+
+``` 
+$ it4ifree
+Password:
+     PID    Total   Used   ...by me Free
+   -------- ------- ------ -------- -------
+   OPEN-0-0 1500000 400644   225265 1099356
+   DD-13-1    10000   2606     2606    7394
+```
+
+ 
+
+
+
diff --git a/docs.it4i.cz/salomon/resource-allocation-and-job-execution/rswebsalomon.png b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/rswebsalomon.png
new file mode 100644
index 0000000000000000000000000000000000000000..40ccf2b42bc112a40e25a2fdbb8a0caeb3cf0f89
Binary files /dev/null and b/docs.it4i.cz/salomon/resource-allocation-and-job-execution/rswebsalomon.png differ
diff --git a/docs.it4i.cz/salomon/salomon b/docs.it4i.cz/salomon/salomon
new file mode 100644
index 0000000000000000000000000000000000000000..9365ab931a49eec462a6f2c24d3a86e5eaa7d9d1
Binary files /dev/null and b/docs.it4i.cz/salomon/salomon differ
diff --git a/docs.it4i.cz/salomon/salomon-1/@@images/ba2c321e-1554-4826-b6ec-3c68d370cd9f.jpeg b/docs.it4i.cz/salomon/salomon-1/@@images/ba2c321e-1554-4826-b6ec-3c68d370cd9f.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..4d2e1d70aeb1f40ddc0c75bc7cf0b825c1c75151
Binary files /dev/null and b/docs.it4i.cz/salomon/salomon-1/@@images/ba2c321e-1554-4826-b6ec-3c68d370cd9f.jpeg differ
diff --git a/docs.it4i.cz/salomon/salomon-2 b/docs.it4i.cz/salomon/salomon-2
new file mode 100644
index 0000000000000000000000000000000000000000..00283bcbb639d32788f9e1171bda7d43f8e486bc
Binary files /dev/null and b/docs.it4i.cz/salomon/salomon-2 differ
diff --git a/docs.it4i.cz/salomon/salomon-3/@@images/d2a6de55-62fc-454f-adda-a6a25e3f44dd.jpeg b/docs.it4i.cz/salomon/salomon-3/@@images/d2a6de55-62fc-454f-adda-a6a25e3f44dd.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..1849be79392df2cfa1e14fe42b5cb435b86e89d3
Binary files /dev/null and b/docs.it4i.cz/salomon/salomon-3/@@images/d2a6de55-62fc-454f-adda-a6a25e3f44dd.jpeg differ
diff --git a/docs.it4i.cz/salomon/salomon-4/@@images/82997462-cd88-49eb-aad5-71d77903d903.jpeg b/docs.it4i.cz/salomon/salomon-4/@@images/82997462-cd88-49eb-aad5-71d77903d903.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..2df7b232c839cf329f39fadd2407a7f7ddfd799b
Binary files /dev/null and b/docs.it4i.cz/salomon/salomon-4/@@images/82997462-cd88-49eb-aad5-71d77903d903.jpeg differ
diff --git a/docs.it4i.cz/salomon/sgi-c1104-gp1/@@images/c1109cbb-9bf4-4f0a-8b0f-a1e464fed0c4.jpeg b/docs.it4i.cz/salomon/sgi-c1104-gp1/@@images/c1109cbb-9bf4-4f0a-8b0f-a1e464fed0c4.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..820310be6a6cf96266bf056e6582c54b31185859
Binary files /dev/null and b/docs.it4i.cz/salomon/sgi-c1104-gp1/@@images/c1109cbb-9bf4-4f0a-8b0f-a1e464fed0c4.jpeg differ
diff --git a/docs.it4i.cz/salomon/software.md b/docs.it4i.cz/salomon/software.md
new file mode 100644
index 0000000000000000000000000000000000000000..b28b04f643122b019e912540f228c8ed20be9eeb
--- /dev/null
+++ b/docs.it4i.cz/salomon/software.md
@@ -0,0 +1,3 @@
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys.md b/docs.it4i.cz/salomon/software/ansys.md
new file mode 100644
index 0000000000000000000000000000000000000000..48c637c91b3b8373b54d9c7a6a70ec78f51b0688
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys.md
@@ -0,0 +1,35 @@
+Overview of ANSYS Products 
+==========================
+
+**[SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS
+Channel partner](http://www.ansys.com/)*** for Czech
+Republic provided all ANSYS licenses for all clusters and supports of
+all ANSYS Products (Multiphysics, Mechanical, MAPDL, CFX, Fluent,
+Maxwell, LS-DYNA...) to IT staff and ANSYS users. If you are challenging
+to problem of ANSYS functionality contact
+please [hotline@svsfem.cz](mailto:hotline@svsfem.cz?subject=Ostrava%20-%20ANSELM)
+
+The clusters provides as commercial as academic variants. Academic
+variants are distinguished by "**Academic...**" word in the name of
+ license or by two letter preposition "**aa_**" in the license feature
+name. Change of license is realized on command line respectively
+directly in user's pbs file (see individual products). [More about
+licensing
+here](https://docs.it4i.cz/salomon/software/ansys/licensing)
+
+To load the latest version of any ANSYS product (Mechanical, Fluent,
+CFX, MAPDL,...) load the module:
+
+    $ module load ANSYS
+
+ANSYS supports interactive regime, but due to assumed solution of
+extremely difficult tasks it is not recommended.
+
+If user needs to work in interactive regime we recommend to configure
+the RSM service on the client machine which allows to forward the
+solution to the clusters directly from the client's Workbench project
+(see ANSYS RSM service).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/AMsetPar1.png/@@images/a34a45cc-9385-4f05-b12e-efadf1bd93bb.png b/docs.it4i.cz/salomon/software/ansys/AMsetPar1.png/@@images/a34a45cc-9385-4f05-b12e-efadf1bd93bb.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7886e6cbbcf501d87c8f363209ac72dcb8463a5
Binary files /dev/null and b/docs.it4i.cz/salomon/software/ansys/AMsetPar1.png/@@images/a34a45cc-9385-4f05-b12e-efadf1bd93bb.png differ
diff --git a/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1e3ba0f25be08787a9f3d5eb8d7a89f771fad403
Binary files /dev/null and b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg differ
diff --git a/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e8ffdf5a01337df7271a865d48dd58501eb78180
Binary files /dev/null and b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg differ
diff --git a/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_3.jpg b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..81be6763cb35ed8dca8dad9a0a1e714ef3d8c9e3
Binary files /dev/null and b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_3.jpg differ
diff --git a/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ce4686740082b3e77070d4afe96184ab45e82637
Binary files /dev/null and b/docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg differ
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file.1 b/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..4c6b5fae56f64d33164ae7c75eda5c2f3757a769
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file.1
@@ -0,0 +1,32 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-CFX-Project
+#PBS -A XX-YY-ZZ
+#! Mail to user when job terminate or abort
+#PBS -m ae
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+module load ansys
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+echo Machines: $hl
+#-dev input.def includes the input of CFX analysis in DEF format
+/apps/all/ANSYS/16.1/v161/CFX/bin/cfx5solve -def input.def -size 4 -size-ni 4x -part-large -start-method "Platform MPI Distributed Parallel" -par-dist $hl
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/at_download/file b/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..4c6b5fae56f64d33164ae7c75eda5c2f3757a769
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/at_download/file
@@ -0,0 +1,32 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-CFX-Project
+#PBS -A XX-YY-ZZ
+#! Mail to user when job terminate or abort
+#PBS -m ae
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+module load ansys
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+echo Machines: $hl
+#-dev input.def includes the input of CFX analysis in DEF format
+/apps/all/ANSYS/16.1/v161/CFX/bin/cfx5solve -def input.def -size 4 -size-ni 4x -part-large -start-method "Platform MPI Distributed Parallel" -par-dist $hl
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/view.md b/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-cfx-pbs-file/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md b/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md
new file mode 100644
index 0000000000000000000000000000000000000000..2bbb6b93f9a02e3764462c39a521944bc83f6415
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-cfx.md
@@ -0,0 +1,91 @@
+ANSYS CFX 
+=========
+
+[ANSYS
+CFX](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+CFX)
+software is a high-performance, general purpose fluid dynamics program
+that has been applied to solve wide-ranging fluid flow problems for over
+20 years. At the heart of ANSYS CFX is its advanced solver technology,
+the key to achieving reliable and accurate solutions quickly and
+robustly. The modern, highly parallelized solver is the foundation for
+an abundant choice of physical models to capture virtually any type of
+phenomena related to fluid flow. The solver and its many physical models
+are wrapped in a modern, intuitive, and flexible GUI and user
+environment, with extensive capabilities for customization and
+automation using session files, scripting and a powerful expression
+language.
+
+<span>To run ANSYS CFX in batch mode you can utilize/modify the default
+cfx.pbs script and execute it via the qsub command.</span>
+
+    #!/bin/bash
+    #PBS -l nodes=2:ppn=24
+    #PBS -q qprod
+    #PBS -N $USER-CFX-Project
+    #PBS -A OPEN-0-0
+
+    #! Mail to user when job terminate or abort
+    #PBS -m ae
+
+    #!change the working directory (default is home directory)
+    #cd <working directory> (working directory must exists)
+    WORK_DIR="/scratch/work/user/$USER"
+    cd $WORK_DIR
+
+    echo Running on host `hostname`
+    echo Time is `date`
+    echo Directory is `pwd`
+    echo This jobs runs on the following processors:
+    echo `cat $PBS_NODEFILE`
+
+    module load ANSYS
+
+    #### Set number of processors per host listing
+    procs_per_host=24
+    #### Create host list
+    hl=""
+    for host in `cat $PBS_NODEFILE`
+    do
+     if [ "$hl" = "" ]
+     then hl="$host:$procs_per_host"
+     else hl="$:$host:$procs_per_host"
+     fi
+    done
+
+    echo Machines$hl
+
+    # prevent ANSYS from attempting to use scif0 interface
+    export MPI_IC_ORDER="UDAPL"
+
+    #-dev input.def includes the input of CFX analysis in DEF format
+    #-P the name of prefered license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial))
+    cfx5solve -def input.def -size 4 -size-ni 4x -part-large -start-method "Platform MPI Distributed Parallel" -par-dist $hl -P aa_r
+
+Header of the pbs file (above) is common and description can be find 
+[this
+site](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+SVS FEM recommends to utilize sources by keywordsnodes, ppn. These
+keywords allows to address directly the number of nodes (computers) and
+cores (ppn) which will be utilized in the job. Also the rest of code
+assumes such structure of allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. <span>Input file has to be defined by common
+CFX def file which is attached to the cfx solver via parameter
+-def</span>
+
+**License** should be selected by parameter -P (Big letter **P**).
+Licensed products are the followingaa_r
+(ANSYS **Academic** Research), ane3fl (ANSYS
+Multiphysics)-**Commercial.**
+<span>[More about licensing
+here](https://docs.it4i.cz/salomon/software/ansys/licensing)</span>
+
+ We have observed that the -P settings does not always work. Please set
+your [license
+preferences](https://docs.it4i.cz/salomon/software/ansys/setting-license-preferences)
+instead.
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file.1 b/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..8ce5af9eac06f79088cfc56add5e8165e7f60786
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file.1
@@ -0,0 +1,28 @@
+#!/bin/bash
+#PBS -S /bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-Fluent-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#### Load ansys module so that we find the cfx5solve command
+module load ansys
+
+# Use following line to specify MPI for message-passing instead
+NCORES=`wc -l $PBS_NODEFILE |awk '{print $1}'`
+
+/apps/all/ANSYS/16.1/v161/fluent/bin/fluent 3d -t$NCORES -cnf=$PBS_NODEFILE -g -i fluent.jou
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/at_download/file b/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..8ce5af9eac06f79088cfc56add5e8165e7f60786
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/at_download/file
@@ -0,0 +1,28 @@
+#!/bin/bash
+#PBS -S /bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-Fluent-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#### Load ansys module so that we find the cfx5solve command
+module load ansys
+
+# Use following line to specify MPI for message-passing instead
+NCORES=`wc -l $PBS_NODEFILE |awk '{print $1}'`
+
+/apps/all/ANSYS/16.1/v161/fluent/bin/fluent 3d -t$NCORES -cnf=$PBS_NODEFILE -g -i fluent.jou
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/view.md b/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-fluent-pbs-file/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md b/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md
new file mode 100644
index 0000000000000000000000000000000000000000..15c19a89aa19774aafcb85f3ce980b2af08b5af9
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-fluent.md
@@ -0,0 +1,217 @@
+ANSYS Fluent 
+============
+
+[ANSYS
+Fluent](http://www.ansys.com/Products/Simulation+Technology/Fluid+Dynamics/Fluid+Dynamics+Products/ANSYS+Fluent)
+software contains the broad physical modeling capabilities needed to
+model flow, turbulence, heat transfer, and reactions for industrial
+applications ranging from air flow over an aircraft wing to combustion
+in a furnace, from bubble columns to oil platforms, from blood flow to
+semiconductor manufacturing, and from clean room design to wastewater
+treatment plants. Special models that give the software the ability to
+model in-cylinder combustion, aeroacoustics, turbomachinery, and
+multiphase systems have served to broaden its reach.
+
+<span>1. Common way to run Fluent over pbs file</span>
+------------------------------------------------------
+
+<span>To run ANSYS Fluent in batch mode you can utilize/modify the
+default fluent.pbs script and execute it via the qsub command.</span>
+
+    #!/bin/bash
+    #PBS -S /bin/bash
+    #PBS -l nodes=2:ppn=24
+    #PBS -q qprod
+    #PBS -N Fluent-Project
+    #PBS -A OPEN-0-0
+
+    #! Mail to user when job terminate or abort
+    #PBS -m ae
+
+    #!change the working directory (default is home directory)
+    #cd <working directory> (working directory must exists)
+    WORK_DIR="/scratch/work/user/$USER"
+    cd $WORK_DIR
+
+    echo Running on host `hostname`
+    echo Time is `date`
+    echo Directory is `pwd`
+    echo This jobs runs on the following processors:
+    echo `cat $PBS_NODEFILE`
+
+    #### Load ansys module so that we find the cfx5solve command
+    module load ANSYS
+
+    # Use following line to specify MPI for message-passing instead
+    NCORES=`wc -l $PBS_NODEFILE |awk '{print $1}'`
+
+    /apps/cae/ANSYS/16.1/v161/fluent/bin/fluent 3d -t$NCORES -cnf=$PBS_NODEFILE -g -i fluent.jou
+
+Header of the pbs file (above) is common and description can be find  on
+[this
+site](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common Fluent
+journal file which is attached to the Fluent solver via parameter -i
+fluent.jou
+
+Journal file with definition of the input geometry and boundary
+conditions and defined process of solution has e.g. the following
+structure:
+
+    /file/read-case aircraft_2m.cas.gz
+    /solve/init
+    init
+    /solve/iterate
+    10
+    /file/write-case-dat aircraft_2m-solution
+    /exit yes
+
+<span>The appropriate dimension of the problem has to be set by
+parameter (2d/3d). </span>
+
+<span>2. Fast way to run Fluent from command line</span>
+--------------------------------------------------------
+
+
+    fluent solver_version [FLUENT_options] -i journal_file -pbs
+
+
+This syntax will start the ANSYS FLUENT job under PBS Professional using
+the <span class="monospace">qsub</span> command in a batch manner. When
+resources are available, PBS Professional will start the job and return
+a job ID, usually in the form of <span
+class="emphasis">*job_ID.hostname*</span>. This job ID can then be used
+to query, control, or stop the job using standard PBS Professional
+commands, such as <span class="monospace">qstat</span> or <span
+class="monospace">qdel</span>. The job will be run out of the current
+working directory, and all output will be written to the file <span
+class="monospace">fluent.o</span><span> </span><span
+class="emphasis">*job_ID*</span>.       
+
+3. Running Fluent via user's config file
+----------------------------------------
+
+
+The sample script uses a configuration file called <span
+class="monospace">pbs_fluent.conf</span>  if no command line arguments
+are present. This configuration file should be present in the directory
+from which the jobs are submitted (which is also the directory in which
+the jobs are executed). The following is an example of what the content
+of <span class="monospace">pbs_fluent.conf</span> can be:
+
+``` 
+  input="example_small.flin"
+  case="Small-1.65m.cas"
+  fluent_args="3d -pmyrinet"
+  outfile="fluent_test.out"
+  mpp="true"
+```
+
+The following is an explanation of the parameters:
+
+
+
+<span><span class="monospace">input</span> is the name of the input
+file.</span>
+
+<span class="monospace">case</span> is the name of the <span
+class="monospace">.cas</span> file that the input file will utilize.
+
+<span class="monospace">fluent_args</span> are extra ANSYS FLUENT
+arguments. As shown in the previous example, you can specify the
+interconnect by using the <span class="monospace">-p</span> interconnect
+command. The available interconnects include <span
+class="monospace">ethernet</span> (the default), <span
+class="monospace">myrinet</span>,<span class="monospace">
+infiniband</span>, <span class="monospace">vendor</span>, <span
+class="monospace">altix</span><span>,</span> and <span
+class="monospace">crayx</span>. The MPI is selected automatically, based
+on the specified interconnect.
+
+<span class="monospace">outfile</span> is the name of the file to which
+the standard output will be sent.
+
+<span class="monospace">mpp="true"</span> will tell the job script to
+execute the job across multiple processors.               
+
+
+
+<span>To run ANSYS Fluent in batch mode with user's config file you can
+utilize/modify the following script and execute it via the qsub
+command.</span>
+
+
+``` 
+#!/bin/sh
+#PBS -l nodes=2:ppn=24
+#PBS -1 qprod
+#PBS -N Fluent-Project
+#PBS -A OPEN-0-0
+
+ cd $PBS_O_WORKDIR
+ 
+ #We assume that if they didn’t specify arguments then they should use the
+ #config file if [ "xx${input}${case}${mpp}${fluent_args}zz" = "xxzz" ]; then
+   if [ -f pbs_fluent.conf ]; then
+     . pbs_fluent.conf
+   else
+     printf "No command line arguments specified, "
+     printf "and no configuration file found.  Exiting n"
+   fi
+ fi
+ 
+
+ #Augment the ANSYS FLUENT command line arguments case "$mpp" in
+   true)
+     #MPI job execution scenario
+     num_nodes=‘cat $PBS_NODEFILE | sort -u | wc -l‘
+     cpus=‘expr $num_nodes * $NCPUS‘
+     #Default arguments for mpp jobs, these should be changed to suit your
+     #needs.
+     fluent_args="-t$ $fluent_args -cnf=$PBS_NODEFILE"
+     ;;
+   *)
+     #SMP case
+     #Default arguments for smp jobs, should be adjusted to suit your
+     #needs.
+     fluent_args="-t$NCPUS $fluent_args"
+     ;;
+ esac
+ #Default arguments for all jobs
+ fluent_args="-ssh -g -i $input $fluent_args"
+
+ echo "---------- Going to start a fluent job with the following settings:
+ Input$input
+ Case$case
+ Output$outfile
+ Fluent arguments$fluent_args"
+ 
+ #run the solver
+ /apps/cae/ANSYS/16.1/v161/fluent/bin/fluent $fluent_args > $outfile
+```
+
+
+
+<span>It runs the jobs out of the directory from which they are
+submitted (PBS_O_WORKDIR).</span>
+
+4. Running Fluent in parralel
+-----------------------------
+
+[]()Fluent could be run in parallel only under Academic Research
+license. To do so this ANSYS Academic Research license must be placed
+before ANSYS CFD license in user preferences. To make this change
+[anslic_admin utility should be
+run](https://docs.it4i.cz/salomon/software/ansys/setting-license-preferences).
+
+ 
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file.1 b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..ce9af16489d69be9d36301b3ba989d5ddd3e70ab
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file.1
@@ -0,0 +1,43 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=8
+#PBS -q qprod
+#PBS -N $USER-DYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory>
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#! Counts the number of processors
+NPROCS=`wc -l < $PBS_NODEFILE`
+
+echo This job has allocated $NPROCS nodes
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+/apps/all/ANSYS/16.1/v161/ansys/bin/ansys161 -dis -lsdynampp i=input.k -machines $hl
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/at_download/file b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..ce9af16489d69be9d36301b3ba989d5ddd3e70ab
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/at_download/file
@@ -0,0 +1,43 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=8
+#PBS -q qprod
+#PBS -N $USER-DYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory>
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+#! Counts the number of processors
+NPROCS=`wc -l < $PBS_NODEFILE`
+
+echo This job has allocated $NPROCS nodes
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+/apps/all/ANSYS/16.1/v161/ansys/bin/ansys161 -dis -lsdynampp i=input.k -machines $hl
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/view.md b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna-pbs-file/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md
new file mode 100644
index 0000000000000000000000000000000000000000..0b23d52de2c00050ac3cfdb675946551781fb746
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-ls-dyna.md
@@ -0,0 +1,89 @@
+ANSYS LS-DYNA 
+=============
+
+[ANSYS
+LS-DYNA](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/Explicit+Dynamics/ANSYS+LS-DYNA)
+software provides convenient and easy-to-use access to the
+technology-rich, time-tested explicit solver without the need to contend
+with the complex input requirements of this sophisticated program.
+Introduced in 1996, ANSYS LS-DYNA capabilities have helped customers in
+numerous industries to resolve highly intricate design
+issues. <span>ANSYS Mechanical users have been able take advantage of
+complex explicit solutions for a long time utilizing the traditional
+ANSYS Parametric Design Language (APDL) environment. <span>These
+explicit capabilities are available to ANSYS Workbench users as well.
+The Workbench platform is a powerful, comprehensive, easy-to-use
+environment for engineering simulation. CAD import from all sources,
+geometry cleanup, automatic meshing, solution, parametric optimization,
+result visualization and comprehensive report generation are all
+available within a single fully interactive modern  graphical user
+environment.</span></span>
+
+<span>To run ANSYS LS-DYNA in batch mode you can utilize/modify the
+default ansysdyna.pbs script and execute it via the qsub command.</span>
+
+    #!/bin/bash
+    #PBS -l nodes=2:ppn=24
+    #PBS -q qprod
+    #PBS -N DYNA-Project
+    #PBS -A OPEN-0-0
+
+    #! Mail to user when job terminate or abort
+    #PBS -m ae
+
+    #!change the working directory (default is home directory)
+    #cd <working directory>
+    WORK_DIR="/scratch/work/user/$USER"
+    cd $WORK_DIR
+
+    echo Running on host `hostname`
+    echo Time is `date`
+    echo Directory is `pwd`
+    echo This jobs runs on the following processors:
+    echo `cat $PBS_NODEFILE`
+
+    module load ANSYS
+
+    #### Set number of processors per node
+    procs_per_host=24
+    #### Create host list
+    hl=""
+    for host in `cat $PBS_NODEFILE`
+    do
+     if [ "$hl" = "" ]
+     then hl="$host:$procs_per_host"
+     else hl="$:$host:$procs_per_host"
+     fi
+    done
+
+    echo Machines$hl
+
+    # prevent ANSYS from attempting to use scif0 interface
+    export MPI_IC_ORDER="UDAPL"
+
+    lsdyna161 -dis -usessh -machines "$hl" i=input.k
+
+<span>Header of the pbs file (above) is common and description can be
+find </span><span> on [this
+site](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.</span>
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common LS-DYNA
+.**k** file which is attached to the ansys solver via parameter i=
+
+Without setting environment variable MPI_IC_ORDER="UDAPL", ANSYS will
+fail to run on nodes with Xeon Phi accelerator (it will use the virtual
+interface of Phi cards instead of the real InfiniBand interface and MPI
+will fail.
+
+<span><span>
+</span></span>
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file.1 b/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..52c26014071e7a5c525f4b8e8b7d1195c466f44d
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file.1
@@ -0,0 +1,41 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-ANSYS-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+#-i input.dat includes the input of analysis in APDL format
+#-o file.out is output file from ansys where all text outputs will be redirected 
+#-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+/apps/all/ANSYS/16.1/v161/ansys/bin/ansys161 -b -dis -p aa_r -i input.dat -o file.out -machines $hl -dir $WORK_DIR
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/at_download/file b/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..52c26014071e7a5c525f4b8e8b7d1195c466f44d
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/at_download/file
@@ -0,0 +1,41 @@
+#!/bin/bash
+#PBS -l nodes=2:ppn=4
+#PBS -q qprod
+#PBS -N $USER-ANSYS-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+echo This jobs runs on the following processors:
+echo `cat $PBS_NODEFILE`
+
+module load ansys
+
+#### Set number of processors per host listing
+#### (set to 1 as $PBS_NODEFILE lists each node twice if :ppn=2)
+procs_per_host=1
+#### Create host list
+hl=""
+for host in `cat $PBS_NODEFILE`
+do
+ if [ "$hl" = "" ]
+ then hl="$host:$procs_per_host"
+ else hl="${hl}:$host:$procs_per_host"
+ fi
+done
+
+echo Machines: $hl
+
+#-i input.dat includes the input of analysis in APDL format
+#-o file.out is output file from ansys where all text outputs will be redirected 
+#-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+/apps/all/ANSYS/16.1/v161/ansys/bin/ansys161 -b -dis -p aa_r -i input.dat -o file.out -machines $hl -dir $WORK_DIR
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/view.md b/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-mapdl-pbs-file/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md b/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md
new file mode 100644
index 0000000000000000000000000000000000000000..159f19597e3e46c454e60d9b9f57c5f64804bfb7
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-mechanical-apdl.md
@@ -0,0 +1,83 @@
+ANSYS MAPDL 
+===========
+
+<span>**[ANSYS
+Multiphysics](http://www.ansys.com/Products/Simulation+Technology/Structural+Mechanics/ANSYS+Multiphysics)**
+software offers a comprehensive product solution for both multiphysics
+and single-physics analysis. The product includes structural, thermal,
+fluid and both high- and low-frequency electromagnetic analysis. The
+product also contains solutions for both direct and sequentially coupled
+physics problems including direct coupled-field elements and the ANSYS
+multi-field solver.</span>
+
+<span>To run ANSYS MAPDL in batch mode you can utilize/modify the
+default mapdl.pbs script and execute it via the qsub command.</span>
+
+    #!/bin/bash
+    #PBS -l nodes=2:ppn=24
+    #PBS -q qprod
+    #PBS -N ANSYS-Project
+    #PBS -A OPEN-0-0
+
+    #! Mail to user when job terminate or abort
+    #PBS -m ae
+
+    #!change the working directory (default is home directory)
+    #cd <working directory> (working directory must exists)
+    WORK_DIR="/scratch/work/user/$USER"
+    cd $WORK_DIR
+
+    echo Running on host `hostname`
+    echo Time is `date`
+    echo Directory is `pwd`
+    echo This jobs runs on the following processors:
+    echo `cat $PBS_NODEFILE`
+
+    module load ANSYS/16.1
+
+    #### Set number of processors per host listing
+    procs_per_host=24
+    #### Create host list
+    hl=""
+    for host in `cat $PBS_NODEFILE`
+    do
+     if [ "$hl" = "" ]
+     then hl="$host:$procs_per_host"
+     else hl="$:$host:$procs_per_host"
+     fi
+    done
+
+    echo Machines$hl
+
+    # prevent ANSYS from attempting to use scif0 interface
+    export MPI_IC_ORDER="UDAPL"
+
+    #-i input.dat includes the input of analysis in APDL format
+    #-o file.out is output file from ansys where all text outputs will be redirected 
+    #-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+    ansys161 -b -dis -usessh -p aa_r -i input.dat -o file.out -machines "$hl" -dir $WORK_DIR
+
+Header of the PBS file (above) is common and description can be find on
+[this
+site](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+[SVS FEM](http://www.svsfem.cz) recommends to utilize
+sources by keywordsnodes, ppn. These keywords allows to address
+directly the number of nodes (computers) and cores (ppn) which will be
+utilized in the job. Also the rest of code assumes such structure of
+allocated resources.
+
+Working directory has to be created before sending pbs job into the
+queue. Input file should be in working directory or full path to input
+file has to be specified. Input file has to be defined by common APDL
+file which is attached to the ansys solver via parameter -i
+
+**License** should be selected by parameter -p. Licensed products are
+the followingaa_r (ANSYS **Academic** Research), ane3fl (ANSYS
+Multiphysics)-**Commercial**, aa_r_dy (ANSYS **Academic**
+AUTODYN)<span>
+[More about licensing
+here](https://docs.it4i.cz/salomon/software/ansys/licensing)
+</span>
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md b/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md
new file mode 100644
index 0000000000000000000000000000000000000000..0d896167c78dddaf3ae36d3bebf5fc088b98886a
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ansys-products-mechanical-fluent-cfx-mapdl.md
@@ -0,0 +1,34 @@
+Overview of ANSYS Products 
+==========================
+
+**[SVS FEM](http://www.svsfem.cz/)** as ***[ANSYS
+Channel partner](http://www.ansys.com/)*** for Czech
+Republic provided all ANSYS licenses for all clusters and supports of
+all ANSYS Products (Multiphysics, Mechanical, MAPDL, CFX, Fluent,
+Maxwell, LS-DYNA...) to IT staff and ANSYS users. If you are challenging
+to problem of ANSYS functionality contact
+please [hotline@svsfem.cz](mailto:hotline@svsfem.cz?subject=Ostrava%20-%20ANSELM)
+
+The clusters provides as commercial as academic variants. Academic
+variants are distinguished by "**Academic...**" word in the name of
+ license or by two letter preposition "**aa_**" in the license feature
+name. Change of license is realized on command line respectively
+directly in user's pbs file (see individual products). [More about
+licensing
+here](https://docs.it4i.cz/salomon/software/ansys/licensing)
+
+To load the latest version of any ANSYS product (Mechanical, Fluent,
+CFX, MAPDL,...) load the module:
+
+    $ module load ANSYS
+
+ANSYS supports interactive regime, but due to assumed solution of
+extremely difficult tasks it is not recommended.
+
+If user needs to work in interactive regime we recommend to configure
+the RSM service on the client machine which allows to forward the
+solution to the clusters directly from the client's Workbench project
+(see ANSYS RSM service).
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/licensing.md b/docs.it4i.cz/salomon/software/ansys/licensing.md
new file mode 100644
index 0000000000000000000000000000000000000000..241d5aedf931e313c67c30e5e4347a91da24c21f
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/licensing.md
@@ -0,0 +1,44 @@
+Licensing and Available Versions 
+================================
+
+ANSYS licence can be used by:
+-----------------------------
+
+-   all persons in the carrying out of the CE IT4Innovations Project (In
+    addition to the primary licensee, which is VSB - Technical
+    University of Ostrava, users are CE IT4Innovations third parties -
+    CE IT4Innovations project partners, particularly the University of
+    Ostrava, the Brno University of Technology - Faculty of Informatics,
+    the Silesian University in Opava, Institute of Geonics AS CR.)
+-   <span id="result_box" class="short_text"><span class="hps">all
+    persons</span> <span class="hps">who have a valid</span> <span
+    class="hps">license</span></span>
+-   <span id="result_box" class="short_text"><span class="hps">students
+    of</span> <span class="hps">the Technical University</span></span>
+
+ANSYS Academic Research
+-----------------------
+
+The licence intended to be used for science and research, publications,
+students’ projects (academic licence).
+
+ANSYS COM
+---------
+
+The licence intended to be used for science and research, publications,
+students’ projects, commercial research with no commercial use
+restrictions.
+
+Available Versions
+------------------
+
+-   16.1
+-   17.0
+
+License Preferences
+-------------------
+
+Please [see this page to set license
+preferences](https://docs.it4i.cz/salomon/software/ansys/setting-license-preferences).
+
+ 
diff --git a/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file.1 b/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file.1
new file mode 100644
index 0000000000000000000000000000000000000000..81fb179a41c7545facdc5ae4d10ccff410874e20
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file.1
@@ -0,0 +1,21 @@
+#!/bin/bash
+#PBS -l nodes=1:ppn=1
+#PBS -q qprod
+#PBS -N $USER-LSDYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+
+module load lsdyna
+
+/apps/engineering/lsdyna/lsdyna700s i=input.k
\ No newline at end of file
diff --git a/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/at_download/file b/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..81fb179a41c7545facdc5ae4d10ccff410874e20
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/at_download/file
@@ -0,0 +1,21 @@
+#!/bin/bash
+#PBS -l nodes=1:ppn=1
+#PBS -q qprod
+#PBS -N $USER-LSDYNA-Project
+#PBS -A XX-YY-ZZ
+
+#! Mail to user when job terminate or abort
+#PBS -m ae
+
+#!change the working directory (default is home directory)
+#cd <working directory> (working directory must exists)
+WORK_DIR="/scratch/$USER/work"
+cd $WORK_DIR
+
+echo Running on host `hostname`
+echo Time is `date`
+echo Directory is `pwd`
+
+module load lsdyna
+
+/apps/engineering/lsdyna/lsdyna700s i=input.k
\ No newline at end of file
diff --git a/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/view.md b/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/ls-dyna-pbs-file/view.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md b/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md
new file mode 100644
index 0000000000000000000000000000000000000000..342ff12effd779a33570ea551372309a00eebd77
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/setting-license-preferences.md
@@ -0,0 +1,36 @@
+Setting license preferences 
+===========================
+
+Some ANSYS tools allow you to explicitly specify usage of academic or
+commercial licenses in the command line (eg. <span
+class="monospace">ansys161 -p aa_r</span> to select Academic Research
+license). However, we have observed that not all tools obey this option
+and choose commercial license.
+
+Thus you need to configure preferred license order with ANSLIC_ADMIN.
+Please follow these steps and move Academic Research license to the  top
+or bottom of the list accordingly.
+
+Launch the ANSLIC_ADMIN utility in a graphical environment:
+
+     $ANSYSLIC_DIR/lic_admin/anslic_admin
+
+ANSLIC_ADMIN Utility will be run
+
+[![Fluent_Licence_1.jpg](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg/@@images/0203aca4-d4f8-4372-ab71-432fcf15df43.jpeg "Fluent_Licence_1.jpg")](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_1.jpg)
+
+[![Fluent_Licence_2.jpg](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg/@@images/5a50330d-afcf-4266-ba1b-1ab70c9ed1b1.jpeg "Fluent_Licence_2.jpg")](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_2.jpg)
+
+[![Fluent_Licence_3.jpg](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_3.jpg/@@images/5f65d83b-44e3-419c-96d2-8a4419227b1e.jpeg "Fluent_Licence_3.jpg")](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_3.jpg)
+
+ 
+
+ANSYS Academic Research license should be moved up to the top or down to
+the bottom of the list.
+
+ 
+
+[![Fluent_Licence_4.jpg](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg/@@images/6f6f84e5-5012-42f3-88d6-1ab1c1bfee8f.jpeg "Fluent_Licence_4.jpg")](https://docs.it4i.cz/salomon/software/ansys/Fluent_Licence_4.jpg)
+
+
+
diff --git a/docs.it4i.cz/salomon/software/ansys/workbench.md b/docs.it4i.cz/salomon/software/ansys/workbench.md
new file mode 100644
index 0000000000000000000000000000000000000000..62aa1ddc7ac0cde8ceebdf72ceba820a97796031
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/ansys/workbench.md
@@ -0,0 +1,76 @@
+Workbench 
+=========
+
+Workbench Batch Mode
+--------------------
+
+It is possible to run Workbench scripts in batch mode. You need to
+configure solvers of individual components to run in parallel mode. Open
+your project in Workbench. Then, for example, in Mechanical, go to Tools
+- Solve Process Settings ..., click Advanced button as shown on the
+screenshot.
+
+![](https://docs.it4i.cz/salomon/software/ansys/AMsetPar1.png/@@images/a34a45cc-9385-4f05-b12e-efadf1bd93bb.png)
+
+Enable Distribute Solution checkbox and enter number of cores (eg. 48 to
+run on two Salomon nodes). If you want the job to run on more then 1
+node, you must also provide a so called MPI appfile. In the Additional
+Command Line Arguments input field, enter :
+
+    -mpifile /path/to/my/job/mpifile.txt
+
+Where /path/to/my/job is the directory where your project is saved. We
+will create the file mpifile.txt programatically later in the batch
+script. For more information, refer to *ANSYS Mechanical APDL Parallel
+Processing* *Guide*.
+
+Now, save the project and close Workbench. We will use this script to
+launch the job:
+
+    #!/bin/bash
+    #PBS -l select=2:ncpus=24
+    #PBS -q qprod
+    #PBS -N test9_mpi_2
+    #PBS -A OPEN-0-0
+
+    # Mail to user when job terminate or abort
+    #PBS -m a
+
+    # change the working directory 
+    WORK_DIR="$PBS_O_WORKDIR"
+    cd $WORK_DIR
+
+    echo Running on host `hostname`
+    echo Time is `date`
+    echo Directory is `pwd`
+    echo This jobs runs on the following nodes:
+    echo `cat $PBS_NODEFILE`
+
+    module load ANSYS
+
+    #### Set number of processors per host listing
+    procs_per_host=24
+    #### Create MPI appfile
+    echo -n "" > mpifile.txt
+    for host in `cat $PBS_NODEFILE`
+    do
+      echo "-h $host -np $procs_per_host $ANSYS160_DIR/bin/ansysdis161 -dis" >> mpifile.txt
+    done
+
+    #-i input.dat includes the input of analysis in APDL format
+    #-o file.out is output file from ansys where all text outputs will be redirected
+    #-p the name of license feature (aa_r=ANSYS Academic Research, ane3fl=Multiphysics(commercial), aa_r_dy=Academic AUTODYN)
+
+    # prevent using scsif0 interface on accelerated nodes
+    export MPI_IC_ORDER="UDAPL"
+    # spawn remote process using SSH (default is RSH)
+    export MPI_REMSH="/usr/bin/ssh"
+
+    runwb2 -R jou6.wbjn -B -F test9.wbpj
+
+The solver settings are saved in file solvehandlers.xml, which is not
+located in the project directory. Verify your solved settings when
+uploading a project from your local computer.
+
+
+
diff --git a/docs.it4i.cz/salomon/software/chemistry.md b/docs.it4i.cz/salomon/software/chemistry.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/molpro.md b/docs.it4i.cz/salomon/software/chemistry/molpro.md
new file mode 100644
index 0000000000000000000000000000000000000000..d33139a289b5e1bb3feba1b0b2bb1b33ac2d0e4b
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/molpro.md
@@ -0,0 +1,93 @@
+Molpro 
+======
+
+Molpro is a complete system of ab initio programs for molecular
+electronic structure calculations.
+About Molpro
+------------
+
+Molpro is a software package used for accurate ab-initio quantum
+chemistry calculations. More information can be found at the [official
+webpage](http://www.molpro.net/).
+
+License
+-------
+
+Molpro software package is available only to users that have a valid
+license. Please contact support to enable access to Molpro if you have a
+valid license appropriate for running on our cluster (eg. <span>academic
+research group licence, parallel execution).</span>
+
+<span>To run Molpro, you need to have a valid license token present in
+"<span class="monospace">$HOME/.molpro/token"</span></span>. You can
+download the token from [Molpro
+website](https://www.molpro.net/licensee/?portal=licensee).
+
+Installed version
+-----------------
+
+Currently on Salomon is installed version 2010.1, patch level 57,
+parallel version compiled with Intel compilers and Intel MPI.
+
+Compilation parameters are default :
+
+  Parameter                                         Value
+  ------------------------------------------------- -----------------------------
+  <span>max number of atoms</span>                  200
+  <span>max number of valence orbitals</span>       300
+  <span>max number of basis functions</span>        4095
+  <span>max number of states per symmmetry</span>   20
+  <span>max number of state symmetries</span>       16
+  <span>max number of records</span>                200
+  <span>max number of primitives</span>             <span>maxbfn x [2]</span>
+
+ 
+
+Running
+-------
+
+Molpro is compiled for parallel execution using MPI and OpenMP. By
+default, Molpro reads the number of allocated nodes from PBS and
+launches a data server on one node. On the remaining allocated nodes,
+compute processes are launched, one process per node, each with 16
+threads. You can modify this behavior by using -n, -t and helper-server
+options. Please refer to the [Molpro
+documentation](http://www.molpro.net/info/2010.1/doc/manual/node9.html)
+for more details. 
+
+The OpenMP parallelization in Molpro is limited and has been observed to
+produce limited scaling. We therefore recommend to use MPI
+parallelization only. This can be achieved by passing option <span
+class="monospace">mpiprocs=24:ompthreads=1</span> to PBS.
+
+You are advised to use the -d option to point to a directory in [SCRATCH
+filesystem](https://docs.it4i.cz/salomon/storage).
+Molpro can produce a large amount of temporary data during its run, and
+it is important that these are placed in the fast scratch filesystem.
+
+### Example jobscript
+
+    #PBS -A IT4I-0-0
+    #PBS -q qprod
+    #PBS -l select=1:ncpus=24:mpiprocs=24:ompthreads=1
+
+    cd $PBS_O_WORKDIR
+
+    # load Molpro module
+    module add Molpro/2010.1-patch-57-intel2015b
+
+    # create a directory in the SCRATCH filesystem
+    mkdir -p /scratch/work/user/$USER/$PBS_JOBID
+
+    # copy an example input
+    cp /apps/all/Molpro/2010.1-patch57/molprop_2010_1_Linux_x86_64_i8/examples/caffeine_opt_diis.com .
+
+    # run Molpro with default options
+    molpro -d /scratch/work/user/$USER/$PBS_JOBID caffeine_opt_diis.com
+
+    # delete scratch directory
+    rm -rf /scratch/work/user/$USER/$PBS_JOBID 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/nwchem.md b/docs.it4i.cz/salomon/software/chemistry/nwchem.md
new file mode 100644
index 0000000000000000000000000000000000000000..f3532676224718b66bfabcf11d95a54bfd5db0c5
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/nwchem.md
@@ -0,0 +1,68 @@
+NWChem 
+======
+
+High-Performance Computational Chemistry
+<span>Introduction</span>
+-------------------------
+
+<span>NWChem aims to provide its users with computational chemistry
+tools that are scalable both in their ability to treat large scientific
+computational chemistry problems efficiently, and in their use of
+available parallel computing resources from high-performance parallel
+supercomputers to conventional workstation clusters.</span>
+
+[Homepage](http://www.nwchem-sw.org/index.php/Main_Page)
+
+Installed versions
+------------------
+
+The following versions are currently installed : 
+
+-   <span>NWChem/6.3.revision2-2013-10-17-Python-2.7.8, current release.
+    Compiled with Intel compilers, MKL and Intel MPI</span>
+
+     
+
+-   <span>NWChem/6.5.revision26243-intel-2015b-2014-09-10-Python-2.7.8</span>
+
+For a current list of installed versions, execute : 
+
+    module avail NWChem
+
+The recommend to use version 6.5. Version 6.3 fails on Salomon nodes
+with accelerator, because it attempts to communicate over scif0
+interface. In 6.5 this is avoided by
+setting ARMCI_OPENIB_DEVICE=mlx4_0, this setting is included in the
+module.
+
+Running
+-------
+
+NWChem is compiled for parallel MPI execution. Normal procedure for MPI
+jobs applies. Sample jobscript :
+
+    #PBS -A IT4I-0-0
+    #PBS -q qprod
+    #PBS -l select=1:ncpus=24:mpiprocs=24
+
+    cd $PBS_O_WORKDIR
+    module add NWChem/6.5.revision26243-intel-2015b-2014-09-10-Python-2.7.8
+    mpirun nwchem h2o.nw
+
+<span>Options</span>
+--------------------
+
+Please refer to [the
+documentation](http://www.nwchem-sw.org/index.php/Release62:Top-level) and
+in the input file set the following directives :
+
+-   <span>MEMORY controls the amount of memory NWChem will use</span>
+-   <span>SCRATCH_DIR set this to a directory in [SCRATCH
+    filesystem](https://docs.it4i.cz/salomon/storage) (or
+    run the calculation completely in a scratch directory). For certain
+    calculations, it might be advisable to reduce I/O by forcing
+    "direct" mode, eg. "scf direct"</span>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..4d2848958e6b7333abdb381bb664e1c389360741
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/at_download/file
@@ -0,0 +1,13 @@
+  PREC = Accurate
+  IBRION = -1
+  ENCUT = 500
+  EDIFF = 1.0e-08
+  ISMEAR = 0 
+  SIGMA = 0.01
+  IALGO = 38
+  LREAL = .FALSE.
+  ADDGRID = .TRUE.
+  LWAVE = .FALSE.
+  LCHARG = .FALSE.
+  NCORE = 8 
+  KPAR = 8
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..cae7400392404a4c9c4e3e7969722ed578825c51
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/at_download/file
@@ -0,0 +1,6 @@
+Automatic mesh
+0
+Monkhorst Pack
+  3 3 3
+0.5 0.5 0.5
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..e69e8a3044c2885f5fc7d2b1e1c90ba7ffef914a
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/at_download/file
@@ -0,0 +1,2208 @@
+  PAW_PBE Si 05Jan2001                   
+   4.00000000000000     
+ parameters from PSCTR are:
+   VRHFIN =Si: s2p2
+   LEXCH  = PE
+   EATOM  =   103.0669 eV,    7.5752 Ry
+
+   TITEL  = PAW_PBE Si 05Jan2001
+   LULTRA =        F    use ultrasoft PP ?
+   IUNSCR =        1    unscreen: 0-lin 1-nonlin 2-no
+   RPACOR =    1.500    partial core radius
+   POMASS =   28.085; ZVAL   =    4.000    mass and valenz
+   RCORE  =    1.900    outmost cutoff radius
+   RWIGS  =    2.480; RWIGS  =    1.312    wigner-seitz radius (au A)
+   ENMAX  =  245.345; ENMIN  =  184.009 eV
+   ICORE  =        2    local potential
+   LCOR   =        T    correct aug charges
+   LPAW   =        T    paw PP
+   EAUG   =  322.069
+   DEXC   =    0.000
+   RMAX   =    1.950    core radius for proj-oper
+   RAUG   =    1.300    factor for augmentation sphere
+   RDEP   =    1.993    radius for radial grids
+   RDEPT  =    1.837    core radius for aug-charge
+ 
+   Atomic configuration
+    6 entries
+     n  l   j            E        occ.
+     1  0  0.50     -1785.8828   2.0000
+     2  0  0.50      -139.4969   2.0000
+     2  1  1.50       -95.5546   6.0000
+     3  0  0.50       -10.8127   2.0000
+     3  1  0.50        -4.0811   2.0000
+     3  2  1.50        -4.0817   0.0000
+   Description
+     l       E           TYP  RCUT    TYP  RCUT
+     0    -10.8127223     23  1.900
+     0     -7.6451159     23  1.900
+     1     -4.0811372     23  1.900
+     1      2.4879257     23  1.900
+     2     -4.0817478      7  1.900
+   Error from kinetic energy argument (eV)
+   NDATA  =      100
+   STEP   =   20.000   1.050
+  10.1      9.04      8.56      7.65      7.23      6.44      5.73      5.40
+  4.79      4.25      4.00      3.54      3.13      2.77      2.45      2.16
+  1.91      1.69      1.50      1.24      1.10     0.975     0.812     0.718
+ 0.636     0.529     0.440     0.388     0.322     0.266     0.219     0.180
+ 0.148     0.121     0.986E-01 0.804E-01 0.614E-01 0.504E-01 0.392E-01 0.328E-01
+ 0.265E-01 0.220E-01 0.189E-01 0.166E-01 0.149E-01 0.135E-01 0.123E-01 0.109E-01
+ 0.977E-02 0.840E-02 0.707E-02 0.605E-02 0.488E-02 0.387E-02 0.290E-02 0.229E-02
+ 0.185E-02 0.152E-02 0.134E-02 0.125E-02 0.121E-02 0.117E-02 0.112E-02 0.102E-02
+ 0.915E-03 0.776E-03 0.640E-03 0.524E-03 0.425E-03 0.369E-03 0.331E-03 0.310E-03
+ 0.294E-03 0.273E-03 0.242E-03 0.210E-03 0.175E-03 0.146E-03 0.124E-03 0.113E-03
+ 0.105E-03 0.973E-04 0.879E-04 0.755E-04 0.633E-04 0.539E-04 0.478E-04 0.438E-04
+ 0.404E-04 0.362E-04 0.308E-04 0.264E-04 0.229E-04 0.209E-04 0.192E-04 0.170E-04
+ 0.145E-04 0.126E-04 0.112E-04 0.103E-04
+END of PSCTR-controll parameters
+ local part
+   98.2657514061040     
+  0.84157827E+01  0.84210738E+01  0.84276982E+01  0.84387529E+01  0.84542581E+01
+  0.84742396E+01  0.84987267E+01  0.85277503E+01  0.85613408E+01  0.85995259E+01
+  0.86423293E+01  0.86897698E+01  0.87418601E+01  0.87986073E+01  0.88600119E+01
+  0.89260684E+01  0.89967646E+01  0.90720817E+01  0.91519931E+01  0.92364635E+01
+  0.93254478E+01  0.94188892E+01  0.95167180E+01  0.96188495E+01  0.97251831E+01
+  0.98356006E+01  0.99499656E+01  0.10068122E+02  0.10189896E+02  0.10315092E+02
+  0.10443494E+02  0.10574869E+02  0.10708960E+02  0.10845494E+02  0.10984175E+02
+  0.11124688E+02  0.11266699E+02  0.11409854E+02  0.11553782E+02  0.11698093E+02
+  0.11842379E+02  0.11986220E+02  0.12129179E+02  0.12270807E+02  0.12410647E+02
+  0.12548229E+02  0.12683078E+02  0.12814715E+02  0.12942655E+02  0.13066413E+02
+  0.13185507E+02  0.13299453E+02  0.13407778E+02  0.13510011E+02  0.13605696E+02
+  0.13694386E+02  0.13775649E+02  0.13849071E+02  0.13914257E+02  0.13970832E+02
+  0.14018447E+02  0.14056776E+02  0.14085521E+02  0.14104413E+02  0.14113214E+02
+  0.14111717E+02  0.14099750E+02  0.14077174E+02  0.14043887E+02  0.13999823E+02
+  0.13944953E+02  0.13879287E+02  0.13802871E+02  0.13715791E+02  0.13618172E+02
+  0.13510174E+02  0.13391995E+02  0.13263871E+02  0.13126072E+02  0.12978902E+02
+  0.12822701E+02  0.12657837E+02  0.12484712E+02  0.12303752E+02  0.12115414E+02
+  0.11920177E+02  0.11718542E+02  0.11511032E+02  0.11298186E+02  0.11080557E+02
+  0.10858712E+02  0.10633228E+02  0.10404687E+02  0.10173679E+02  0.99407916E+01
+  0.97066145E+01  0.94717325E+01  0.92367246E+01  0.90021610E+01  0.87686002E+01
+  0.85365875E+01  0.83066515E+01  0.80793028E+01  0.78550311E+01  0.76343038E+01
+  0.74175639E+01  0.72052283E+01  0.69976864E+01  0.67952987E+01  0.65983955E+01
+  0.64072761E+01  0.62222079E+01  0.60434255E+01  0.58711305E+01  0.57054914E+01
+  0.55466428E+01  0.53946864E+01  0.52496904E+01  0.51116908E+01  0.49806913E+01
+  0.48566647E+01  0.47395535E+01  0.46292714E+01  0.45257040E+01  0.44287107E+01
+  0.43381259E+01  0.42537609E+01  0.41754051E+01  0.41028283E+01  0.40357824E+01
+  0.39740032E+01  0.39172126E+01  0.38651205E+01  0.38174269E+01  0.37738239E+01
+  0.37339980E+01  0.36976316E+01  0.36644057E+01  0.36340010E+01  0.36061008E+01
+  0.35803917E+01  0.35565662E+01  0.35343243E+01  0.35133744E+01  0.34934356E+01
+  0.34742386E+01  0.34555273E+01  0.34370594E+01  0.34186082E+01  0.33999625E+01
+  0.33809283E+01  0.33613289E+01  0.33410051E+01  0.33198163E+01  0.32976400E+01
+  0.32743723E+01  0.32499276E+01  0.32242386E+01  0.31972561E+01  0.31689481E+01
+  0.31393000E+01  0.31083133E+01  0.30760055E+01  0.30424088E+01  0.30075693E+01
+  0.29715464E+01  0.29344112E+01  0.28962459E+01  0.28571426E+01  0.28172018E+01
+  0.27765317E+01  0.27352466E+01  0.26934661E+01  0.26513137E+01  0.26089155E+01
+  0.25663991E+01  0.25238926E+01  0.24815235E+01  0.24394172E+01  0.23976965E+01
+  0.23564804E+01  0.23158831E+01  0.22760134E+01  0.22369739E+01  0.21988601E+01
+  0.21617599E+01  0.21257533E+01  0.20909117E+01  0.20572975E+01  0.20249639E+01
+  0.19939549E+01  0.19643047E+01  0.19360380E+01  0.19091702E+01  0.18837070E+01
+  0.18596451E+01  0.18369721E+01  0.18156671E+01  0.17957010E+01  0.17770369E+01
+  0.17596305E+01  0.17434311E+01  0.17283815E+01  0.17144192E+01  0.17014767E+01
+  0.16894823E+01  0.16783606E+01  0.16680337E+01  0.16584212E+01  0.16494414E+01
+  0.16410120E+01  0.16330503E+01  0.16254746E+01  0.16182040E+01  0.16111597E+01
+  0.16042653E+01  0.15974473E+01  0.15906355E+01  0.15837638E+01  0.15767703E+01
+  0.15695978E+01  0.15621942E+01  0.15545124E+01  0.15465111E+01  0.15381545E+01
+  0.15294125E+01  0.15202610E+01  0.15106817E+01  0.15006618E+01  0.14901946E+01
+  0.14792787E+01  0.14679181E+01  0.14561220E+01  0.14439045E+01  0.14312843E+01
+  0.14182845E+01  0.14049320E+01  0.13912573E+01  0.13772941E+01  0.13630790E+01
+  0.13486508E+01  0.13340503E+01  0.13193195E+01  0.13045019E+01  0.12896413E+01
+  0.12747816E+01  0.12599667E+01  0.12452398E+01  0.12306429E+01  0.12162169E+01
+  0.12020007E+01  0.11880315E+01  0.11743438E+01  0.11609698E+01  0.11479386E+01
+  0.11352766E+01  0.11230067E+01  0.11111486E+01  0.10997185E+01  0.10887293E+01
+  0.10781901E+01  0.10681067E+01  0.10584812E+01  0.10493126E+01  0.10405963E+01
+  0.10323245E+01  0.10244864E+01  0.10170684E+01  0.10100541E+01  0.10034245E+01
+  0.99715842E+00  0.99123278E+00  0.98562260E+00  0.98030147E+00  0.97524176E+00
+  0.97041492E+00  0.96579177E+00  0.96134272E+00  0.95703813E+00  0.95284851E+00
+  0.94874481E+00  0.94469866E+00  0.94068261E+00  0.93667036E+00  0.93263699E+00
+  0.92855911E+00  0.92441506E+00  0.92018508E+00  0.91585139E+00  0.91139837E+00
+  0.90681257E+00  0.90208284E+00  0.89720031E+00  0.89215846E+00  0.88695307E+00
+  0.88158221E+00  0.87604623E+00  0.87034764E+00  0.86449105E+00  0.85848310E+00
+  0.85233228E+00  0.84604885E+00  0.83964467E+00  0.83313304E+00  0.82652853E+00
+  0.81984678E+00  0.81310436E+00  0.80631854E+00  0.79950711E+00  0.79268821E+00
+  0.78588011E+00  0.77910103E+00  0.77236900E+00  0.76570163E+00  0.75911595E+00
+  0.75262828E+00  0.74625406E+00  0.74000769E+00  0.73390245E+00  0.72795034E+00
+  0.72216201E+00  0.71654666E+00  0.71111201E+00  0.70586419E+00  0.70080779E+00
+  0.69594576E+00  0.69127948E+00  0.68680873E+00  0.68253171E+00  0.67844512E+00
+  0.67454419E+00  0.67082277E+00  0.66727336E+00  0.66388728E+00  0.66065470E+00
+  0.65756482E+00  0.65460595E+00  0.65176565E+00  0.64903085E+00  0.64638804E+00
+  0.64382333E+00  0.64132264E+00  0.63887182E+00  0.63645681E+00  0.63406371E+00
+  0.63167898E+00  0.62928953E+00  0.62688282E+00  0.62444703E+00  0.62197109E+00
+  0.61944485E+00  0.61685909E+00  0.61420564E+00  0.61147745E+00  0.60866857E+00
+  0.60577426E+00  0.60279097E+00  0.59971637E+00  0.59654936E+00  0.59329001E+00
+  0.58993961E+00  0.58650059E+00  0.58297648E+00  0.57937187E+00  0.57569237E+00
+  0.57194448E+00  0.56813556E+00  0.56427372E+00  0.56036773E+00  0.55642691E+00
+  0.55246106E+00  0.54848032E+00  0.54449508E+00  0.54051586E+00  0.53655323E+00
+  0.53261770E+00  0.52871958E+00  0.52486894E+00  0.52107546E+00  0.51734836E+00
+  0.51369633E+00  0.51012743E+00  0.50664899E+00  0.50326761E+00  0.49998904E+00
+  0.49681819E+00  0.49375905E+00  0.49081466E+00  0.48798714E+00  0.48527765E+00
+  0.48268635E+00  0.48021249E+00  0.47785436E+00  0.47560937E+00  0.47347400E+00
+  0.47144395E+00  0.46951410E+00  0.46767862E+00  0.46593101E+00  0.46426418E+00
+  0.46267051E+00  0.46114196E+00  0.45967012E+00  0.45824631E+00  0.45686165E+00
+  0.45550718E+00  0.45417389E+00  0.45285284E+00  0.45153526E+00  0.45021257E+00
+  0.44887651E+00  0.44751921E+00  0.44613322E+00  0.44471163E+00  0.44324809E+00
+  0.44173687E+00  0.44017292E+00  0.43855189E+00  0.43687018E+00  0.43512494E+00
+  0.43331410E+00  0.43143638E+00  0.42949128E+00  0.42747908E+00  0.42540083E+00
+  0.42325834E+00  0.42105410E+00  0.41879135E+00  0.41647393E+00  0.41410629E+00
+  0.41169346E+00  0.40924092E+00  0.40675463E+00  0.40424087E+00  0.40170626E+00
+  0.39915764E+00  0.39660202E+00  0.39404651E+00  0.39149826E+00  0.38896435E+00
+  0.38645179E+00  0.38396739E+00  0.38151775E+00  0.37910915E+00  0.37674752E+00
+  0.37443839E+00  0.37218682E+00  0.36999739E+00  0.36787410E+00  0.36582042E+00
+  0.36383920E+00  0.36193268E+00  0.36010247E+00  0.35834954E+00  0.35667423E+00
+  0.35507622E+00  0.35355459E+00  0.35210779E+00  0.35073369E+00  0.34942958E+00
+  0.34819223E+00  0.34701790E+00  0.34590241E+00  0.34484115E+00  0.34382917E+00
+  0.34286120E+00  0.34193171E+00  0.34103498E+00  0.34016513E+00  0.33931621E+00
+  0.33848221E+00  0.33765717E+00  0.33683518E+00  0.33601049E+00  0.33517751E+00
+  0.33433089E+00  0.33346559E+00  0.33257685E+00  0.33166032E+00  0.33071204E+00
+  0.32972848E+00  0.32870659E+00  0.32764378E+00  0.32653800E+00  0.32538767E+00
+  0.32419176E+00  0.32294975E+00  0.32166166E+00  0.32032801E+00  0.31894983E+00
+  0.31752862E+00  0.31606638E+00  0.31456552E+00  0.31302889E+00  0.31145970E+00
+  0.30986149E+00  0.30823814E+00  0.30659375E+00  0.30493266E+00  0.30325937E+00
+  0.30157850E+00  0.29989478E+00  0.29821295E+00  0.29653774E+00  0.29487384E+00
+  0.29322581E+00  0.29159810E+00  0.28999494E+00  0.28842037E+00  0.28687815E+00
+  0.28537173E+00  0.28390425E+00  0.28247850E+00  0.28109688E+00  0.27976142E+00
+  0.27847372E+00  0.27723499E+00  0.27604598E+00  0.27490705E+00  0.27381811E+00
+  0.27277867E+00  0.27178782E+00  0.27084424E+00  0.26994624E+00  0.26909178E+00
+  0.26827846E+00  0.26750359E+00  0.26676420E+00  0.26605705E+00  0.26537872E+00
+  0.26472559E+00  0.26409390E+00  0.26347982E+00  0.26287940E+00  0.26228871E+00
+  0.26170380E+00  0.26112078E+00  0.26053582E+00  0.25994525E+00  0.25934552E+00
+  0.25873328E+00  0.25810539E+00  0.25745897E+00  0.25679138E+00  0.25610030E+00
+  0.25538370E+00  0.25463989E+00  0.25386749E+00  0.25306548E+00  0.25223319E+00
+  0.25137030E+00  0.25047681E+00  0.24955311E+00  0.24859991E+00  0.24761822E+00
+  0.24660941E+00  0.24557510E+00  0.24451722E+00  0.24343793E+00  0.24233963E+00
+  0.24122491E+00  0.24009654E+00  0.23895742E+00  0.23781058E+00  0.23665912E+00
+  0.23550619E+00  0.23435497E+00  0.23320861E+00  0.23207023E+00  0.23094290E+00
+  0.22982954E+00  0.22873298E+00  0.22765588E+00  0.22660071E+00  0.22556975E+00
+  0.22456503E+00  0.22358838E+00  0.22264133E+00  0.22172517E+00  0.22084090E+00
+  0.21998924E+00  0.21917062E+00  0.21838518E+00  0.21763278E+00  0.21691298E+00
+  0.21622507E+00  0.21556808E+00  0.21494076E+00  0.21434166E+00  0.21376905E+00
+  0.21322105E+00  0.21269556E+00  0.21219033E+00  0.21170298E+00  0.21123101E+00
+  0.21077184E+00  0.21032282E+00  0.20988128E+00  0.20944453E+00  0.20900989E+00
+  0.20857473E+00  0.20813650E+00  0.20769272E+00  0.20724104E+00  0.20677924E+00
+  0.20630528E+00  0.20581727E+00  0.20531352E+00  0.20479256E+00  0.20425312E+00
+  0.20369419E+00  0.20311496E+00  0.20251488E+00  0.20189363E+00  0.20125114E+00
+  0.20058759E+00  0.19990339E+00  0.19919917E+00  0.19847580E+00  0.19773436E+00
+  0.19697612E+00  0.19620254E+00  0.19541525E+00  0.19461602E+00  0.19380675E+00
+  0.19298946E+00  0.19216623E+00  0.19133925E+00  0.19051071E+00  0.18968285E+00
+  0.18885789E+00  0.18803806E+00  0.18722550E+00  0.18642234E+00  0.18563058E+00
+  0.18485213E+00  0.18408879E+00  0.18334221E+00  0.18261386E+00  0.18190508E+00
+  0.18121702E+00  0.18055061E+00  0.17990663E+00  0.17928561E+00  0.17868791E+00
+  0.17811368E+00  0.17756283E+00  0.17703511E+00  0.17653003E+00  0.17604693E+00
+  0.17558494E+00  0.17514305E+00  0.17472004E+00  0.17431456E+00  0.17392512E+00
+  0.17355012E+00  0.17318784E+00  0.17283649E+00  0.17249419E+00  0.17215904E+00
+  0.17182910E+00  0.17150240E+00  0.17117700E+00  0.17085099E+00  0.17052249E+00
+  0.17018968E+00  0.16985083E+00  0.16950432E+00  0.16914863E+00  0.16878235E+00
+  0.16840425E+00  0.16801322E+00  0.16760831E+00  0.16718876E+00  0.16675395E+00
+  0.16630348E+00  0.16583708E+00  0.16535470E+00  0.16485644E+00  0.16434260E+00
+  0.16381364E+00  0.16327019E+00  0.16271304E+00  0.16214313E+00  0.16156154E+00
+  0.16096948E+00  0.16036827E+00  0.15975933E+00  0.15914418E+00  0.15852437E+00
+  0.15790155E+00  0.15727738E+00  0.15665353E+00  0.15603169E+00  0.15541354E+00
+  0.15480073E+00  0.15419485E+00  0.15359745E+00  0.15300998E+00  0.15243381E+00
+  0.15187022E+00  0.15132035E+00  0.15078523E+00  0.15026574E+00  0.14976264E+00
+  0.14927652E+00  0.14880782E+00  0.14835684E+00  0.14792369E+00  0.14750835E+00
+  0.14711063E+00  0.14673020E+00  0.14636656E+00  0.14601907E+00  0.14568697E+00
+  0.14536935E+00  0.14506518E+00  0.14477334E+00  0.14449260E+00  0.14422166E+00
+  0.14395913E+00  0.14370359E+00  0.14345355E+00  0.14320753E+00  0.14296401E+00
+  0.14272149E+00  0.14247846E+00  0.14223347E+00  0.14198509E+00  0.14173199E+00
+  0.14147286E+00  0.14120650E+00  0.14093181E+00  0.14064779E+00  0.14035355E+00
+  0.14004833E+00  0.13973149E+00  0.13940254E+00  0.13906109E+00  0.13870694E+00
+  0.13833999E+00  0.13796029E+00  0.13756804E+00  0.13716357E+00  0.13674733E+00
+  0.13631991E+00  0.13588203E+00  0.13543449E+00  0.13497823E+00  0.13451425E+00
+  0.13404367E+00  0.13356764E+00  0.13308739E+00  0.13260420E+00  0.13211936E+00
+  0.13163422E+00  0.13115008E+00  0.13066829E+00  0.13019015E+00  0.12971693E+00
+  0.12924988E+00  0.12879016E+00  0.12833890E+00  0.12789711E+00  0.12746576E+00
+  0.12704568E+00  0.12663761E+00  0.12624221E+00  0.12585997E+00  0.12549131E+00
+  0.12513650E+00  0.12479568E+00  0.12446890E+00  0.12415605E+00  0.12385692E+00
+  0.12357117E+00  0.12329835E+00  0.12303789E+00  0.12278912E+00  0.12255128E+00
+  0.12232351E+00  0.12210488E+00  0.12189437E+00  0.12169094E+00  0.12149345E+00
+  0.12130077E+00  0.12111171E+00  0.12092509E+00  0.12073970E+00  0.12055436E+00
+  0.12036791E+00  0.12017920E+00  0.11998713E+00  0.11979067E+00  0.11958882E+00
+  0.11938067E+00  0.11916539E+00  0.11894223E+00  0.11871054E+00  0.11846977E+00
+  0.11821946E+00  0.11795928E+00  0.11768898E+00  0.11740846E+00  0.11711769E+00
+  0.11681676E+00  0.11650590E+00  0.11618540E+00  0.11585569E+00  0.11551727E+00
+  0.11517075E+00  0.11481682E+00  0.11445624E+00  0.11408986E+00  0.11371856E+00
+  0.11334329E+00  0.11296505E+00  0.11258484E+00  0.11220371E+00  0.11182270E+00
+  0.11144287E+00  0.11106526E+00  0.11069088E+00  0.11032073E+00  0.10995575E+00
+  0.10959686E+00  0.10924489E+00  0.10890064E+00  0.10856481E+00  0.10823802E+00
+  0.10792083E+00  0.10761369E+00  0.10731697E+00  0.10703093E+00  0.10675575E+00
+  0.10649150E+00  0.10623816E+00  0.10599560E+00  0.10576362E+00  0.10554191E+00
+  0.10533006E+00  0.10512760E+00  0.10493397E+00  0.10474853E+00  0.10457057E+00
+  0.10439934E+00  0.10423403E+00  0.10407377E+00  0.10391769E+00  0.10376486E+00
+  0.10361436E+00  0.10346525E+00  0.10331660E+00  0.10316749E+00  0.10301700E+00
+  0.10286427E+00  0.10270845E+00  0.10254875E+00  0.10238443E+00  0.10221481E+00
+  0.10203926E+00  0.10185725E+00  0.10166830E+00  0.10147204E+00  0.10126815E+00
+  0.10105642E+00  0.10083671E+00  0.10060898E+00  0.10037327E+00  0.10012971E+00
+  0.99878499E-01  0.99619941E-01  0.99354403E-01  0.99082329E-01  0.98804234E-01
+  0.98520694E-01  0.98232343E-01  0.97939865E-01  0.97643987E-01  0.97345468E-01
+  0.97045098E-01  0.96743682E-01  0.96442039E-01  0.96140988E-01  0.95841346E-01
+  0.95543917E-01  0.95249483E-01  0.94958801E-01  0.94672589E-01  0.94391526E-01
+  0.94116241E-01  0.93847307E-01  0.93585238E-01  0.93330481E-01  0.93083416E-01
+  0.92844349E-01  0.92613514E-01  0.92391067E-01  0.92177088E-01  0.91971582E-01
+  0.91774473E-01  0.91585615E-01  0.91404784E-01  0.91231686E-01  0.91065960E-01
+  0.90907179E-01  0.90754858E-01  0.90608455E-01  0.90467383E-01  0.90331010E-01
+  0.90198671E-01  0.90069670E-01  0.89943293E-01  0.89818810E-01  0.89695483E-01
+  0.89572578E-01  0.89449363E-01  0.89325125E-01  0.89199170E-01  0.89070830E-01
+  0.88939475E-01  0.88804513E-01  0.88665401E-01  0.88521645E-01  0.88372809E-01
+  0.88218518E-01  0.88058459E-01  0.87892386E-01  0.87720120E-01  0.87541552E-01
+  0.87356640E-01  0.87165411E-01  0.86967963E-01  0.86764459E-01  0.86555125E-01
+  0.86340254E-01  0.86120194E-01  0.85895352E-01  0.85666183E-01  0.85433191E-01
+  0.85196919E-01  0.84957943E-01  0.84716871E-01  0.84474330E-01  0.84230965E-01
+  0.83987427E-01  0.83744375E-01  0.83502460E-01  0.83262325E-01  0.83024599E-01
+  0.82789886E-01  0.82558766E-01  0.82331783E-01  0.82109442E-01  0.81892206E-01
+  0.81680487E-01  0.81474646E-01  0.81274989E-01  0.81081762E-01  0.80895153E-01
+  0.80715285E-01  0.80542223E-01  0.80375965E-01  0.80216452E-01  0.80063558E-01
+  0.79917102E-01  0.79776842E-01  0.79642482E-01  0.79513673E-01  0.79390016E-01
+  0.79271070E-01  0.79156353E-01  0.79045348E-01  0.78937510E-01  0.78832270E-01
+  0.78729044E-01  0.78627233E-01  0.78526236E-01  0.78425450E-01  0.78324279E-01
+  0.78222140E-01  0.78118466E-01  0.78012713E-01  0.77904366E-01  0.77792943E-01
+  0.77678000E-01  0.77559135E-01  0.77435994E-01  0.77308271E-01  0.77175713E-01
+  0.77038121E-01  0.76895353E-01  0.76747321E-01  0.76593998E-01  0.76435410E-01
+  0.76271640E-01  0.76102829E-01  0.75929167E-01  0.75750899E-01  0.75568317E-01
+ gradient corrections used for XC
+           5
+ core charge-density (partial)
+  0.13681949E+01  0.13676959E+01  0.13662000E+01  0.13637104E+01  0.13602324E+01
+  0.13557734E+01  0.13503428E+01  0.13439523E+01  0.13366153E+01  0.13283472E+01
+  0.13191654E+01  0.13090891E+01  0.12981392E+01  0.12863383E+01  0.12737106E+01
+  0.12602819E+01  0.12460793E+01  0.12311313E+01  0.12154677E+01  0.11991193E+01
+  0.11821181E+01  0.11644969E+01  0.11462894E+01  0.11275300E+01  0.11082538E+01
+  0.10884961E+01  0.10682931E+01  0.10476808E+01  0.10266956E+01  0.10053741E+01
+  0.98375262E+00  0.96186755E+00  0.93975498E+00  0.91745072E+00  0.89499016E+00
+  0.87240821E+00  0.84973922E+00  0.82701686E+00  0.80427411E+00  0.78154316E+00
+  0.75885532E+00  0.73624100E+00  0.71372964E+00  0.69134965E+00  0.66912839E+00
+  0.64709210E+00  0.62526589E+00  0.60367368E+00  0.58233822E+00  0.56128101E+00
+  0.54052235E+00  0.52008128E+00  0.49997557E+00  0.48022176E+00  0.46083511E+00
+  0.44182966E+00  0.42321818E+00  0.40501223E+00  0.38722214E+00  0.36985705E+00
+  0.35292494E+00  0.33643261E+00  0.32038576E+00  0.30478900E+00  0.28964586E+00
+  0.27495885E+00  0.26072948E+00  0.24695831E+00  0.23364497E+00  0.22078821E+00
+  0.20838595E+00  0.19643529E+00  0.18493257E+00  0.17387344E+00  0.16325283E+00
+  0.15306506E+00  0.14330386E+00  0.13396239E+00  0.12503331E+00  0.11650882E+00
+  0.10838067E+00  0.10064023E+00  0.93278518E-01  0.86286246E-01  0.79653843E-01
+  0.73371502E-01  0.67429213E-01  0.61816795E-01  0.56523931E-01  0.51540200E-01
+  0.46855106E-01  0.42458107E-01  0.38338646E-01  0.34486172E-01  0.30890172E-01
+  0.27540190E-01  0.24425849E-01  0.21536878E-01  0.18863124E-01  0.16394576E-01
+  0.14121382E-01  0.12033859E-01  0.10122515E-01  0.83780585E-02  0.67914089E-02
+  0.53537106E-02  0.40563407E-02  0.28909176E-02  0.18493085E-02  0.92363542E-03
+  0.10628041E-03 -0.61011040E-03 -0.12326236E-02 -0.17680763E-02 -0.22230145E-02
+ -0.26037132E-02 -0.29161761E-02 -0.31661366E-02 -0.33590602E-02 -0.35001461E-02
+ -0.35943308E-02 -0.36462914E-02 -0.36604499E-02 -0.36409778E-02 -0.35918010E-02
+ -0.35166057E-02 -0.34188437E-02 -0.33017394E-02 -0.31682955E-02 -0.30213003E-02
+ -0.28633343E-02 -0.26967779E-02 -0.25238181E-02 -0.23464567E-02 -0.21665170E-02
+ -0.19856524E-02 -0.18053531E-02 -0.16269545E-02 -0.14516446E-02 -0.12804716E-02
+ -0.11143515E-02 -0.95407586E-03 -0.80031865E-03 -0.65364404E-03 -0.51451333E-03
+ -0.38329200E-03 -0.26025655E-03 -0.14560117E-03 -0.39444206E-04  0.58165511E-04
+  0.14724262E-03  0.22785936E-03  0.30013988E-03  0.36425486E-03  0.42041628E-03
+  0.46887249E-03  0.50990345E-03  0.54381626E-03  0.57094089E-03  0.59162618E-03
+  0.60623606E-03  0.61514598E-03  0.61873965E-03  0.61740590E-03  0.61153586E-03
+  0.60152029E-03  0.58774720E-03  0.57059962E-03  0.55045360E-03  0.52767638E-03
+  0.50262483E-03  0.47564398E-03  0.44706578E-03  0.41720804E-03  0.38637349E-03
+  0.35484905E-03  0.32290520E-03  0.29079554E-03  0.25875640E-03  0.22700668E-03
+  0.19574774E-03  0.16516339E-03  0.13542003E-03  0.10666685E-03  0.79036085E-04
+  0.52643449E-04  0.27588516E-04  0.39552468E-05 -0.18187463E-04 -0.38785176E-04
+ -0.57797261E-04 -0.75196218E-04 -0.90966955E-04 -0.10510606E-03 -0.11762103E-03
+ -0.12852953E-03 -0.13785857E-03 -0.14564378E-03 -0.15192857E-03 -0.15676342E-03
+ -0.16020506E-03 -0.16231574E-03 -0.16316249E-03 -0.16281640E-03 -0.16135194E-03
+ -0.15884627E-03 -0.15537858E-03 -0.15102952E-03 -0.14588055E-03 -0.14001345E-03
+ -0.13350974E-03 -0.12645021E-03 -0.11891448E-03 -0.11098055E-03 -0.10272444E-03
+ -0.94219805E-04 -0.85537640E-04 -0.76745997E-04 -0.67909725E-04 -0.59090261E-04
+ -0.50345444E-04 -0.41729365E-04 -0.33292246E-04 -0.25080348E-04 -0.17135911E-04
+ -0.94971158E-05 -0.21980783E-05  0.47311370E-05  0.11264478E-04  0.17379845E-04
+  0.23059011E-04  0.28287520E-04  0.33054576E-04  0.37352909E-04  0.41178630E-04
+  0.44531077E-04  0.47412643E-04  0.49828603E-04  0.51786928E-04  0.53298092E-04
+  0.54374882E-04  0.55032192E-04  0.55286830E-04  0.55157307E-04  0.54663644E-04
+  0.53827164E-04  0.52670300E-04  0.51216400E-04  0.49489532E-04  0.47514308E-04
+  0.45315698E-04  0.42918862E-04  0.40348985E-04  0.37631122E-04  0.34790049E-04
+  0.31850125E-04  0.28835161E-04  0.25768302E-04  0.22671916E-04  0.19567494E-04
+  0.16475560E-04  0.13415592E-04  0.10405948E-04  0.74638125E-05  0.46051404E-05
+  0.18446199E-05 -0.80435987E-06 -0.33297298E-05 -0.57207546E-05 -0.79680364E-05
+ -0.10063512E-04 -0.12000439E-04 -0.13773380E-04 -0.15378176E-04 -0.16811912E-04
+ -0.18072879E-04 -0.19160535E-04 -0.20075450E-04 -0.20819257E-04 -0.21394592E-04
+ -0.21805037E-04 -0.22055053E-04 -0.22149916E-04 -0.22095648E-04 -0.21898950E-04
+ -0.21567127E-04 -0.21108021E-04 -0.20529939E-04 -0.19841581E-04 -0.19051971E-04
+ -0.18170386E-04 -0.17206292E-04 -0.16169276E-04 -0.15068979E-04 -0.13915042E-04
+ -0.12717039E-04 -0.11484427E-04 -0.10226489E-04 -0.89522885E-05 -0.76706185E-05
+ -0.63899616E-05 -0.51184500E-05 -0.38638298E-05 -0.26334298E-05 -0.14341327E-05
+ -0.27235182E-06  0.84599001E-06  0.19154766E-05  0.29312116E-05  0.38888274E-05
+  0.47844916E-05  0.56149086E-05  0.63773189E-05  0.70694951E-05  0.76897347E-05
+  0.82368496E-05  0.87101542E-05  0.91094492E-05  0.94350049E-05  0.96875409E-05
+  0.98682048E-05  0.99785487E-05  0.10020504E-04  0.99963566E-05  0.99087169E-05
+  0.97604941E-05  0.95548658E-05  0.92952492E-05  0.89852707E-05  0.86287363E-05
+  0.82296016E-05  0.77919421E-05  0.73199235E-05  0.68177737E-05  0.62897538E-05
+  0.57401314E-05  0.51731542E-05  0.45930246E-05  0.40038757E-05  0.34097487E-05
+  0.28145712E-05  0.22221377E-05  0.16360907E-05  0.10599042E-05  0.49686836E-06
+ -0.49924166E-07 -0.57759007E-06 -0.10834657E-05 -0.15651155E-05 -0.20203390E-05
+ -0.24471762E-05 -0.28439108E-05 -0.32090727E-05 -0.35414380E-05 -0.38400284E-05
+ -0.41041084E-05 -0.43331817E-05 -0.45269860E-05 -0.46854866E-05 -0.48088687E-05
+ -0.48975292E-05 -0.49520669E-05 -0.49732720E-05 -0.49621150E-05 -0.49197346E-05
+ -0.48474252E-05 -0.47466237E-05 -0.46188962E-05 -0.44659240E-05 -0.42894896E-05
+ -0.40914625E-05 -0.38737847E-05 -0.36384570E-05 -0.33875242E-05 -0.31230617E-05
+ -0.28471617E-05 -0.25619195E-05 -0.22694215E-05 -0.19717316E-05 -0.16708804E-05
+ -0.13688531E-05 -0.10675792E-05 -0.76892254E-06 -0.47467176E-06 -0.18653194E-06
+  0.93883212E-07  0.36505831E-06  0.62558247E-06  0.87415464E-06  0.11095881E-05
+  0.13308142E-05  0.15368850E-05  0.17269756E-05  0.19003853E-05  0.20565378E-05
+  0.21949812E-05  0.23153867E-05  0.24175470E-05  0.25013740E-05  0.25668951E-05
+  0.26142502E-05  0.26436873E-05  0.26555573E-05  0.26503092E-05  0.26284843E-05
+  0.25907101E-05  0.25376938E-05  0.24702157E-05  0.23891225E-05  0.22953196E-05
+  0.21897645E-05  0.20734587E-05  0.19474410E-05  0.18127797E-05  0.16705653E-05
+  0.15219029E-05  0.13679056E-05  0.12096872E-05  0.10483551E-05  0.88500424E-06
+  0.72071045E-06  0.55652455E-06  0.39346662E-06  0.23252070E-06  0.74629781E-07
+ -0.79308742E-07 -0.22844727E-06 -0.37199175E-06 -0.50920498E-06 -0.63940955E-06
+ -0.76199023E-06 -0.87639600E-06 -0.98214161E-06 -0.10788087E-05 -0.11660465E-05
+ -0.12435720E-05 -0.13111700E-05 -0.13686922E-05 -0.14160566E-05 -0.14532460E-05
+ -0.14803064E-05 -0.14973448E-05 -0.15045271E-05 -0.15020754E-05 -0.14902650E-05
+ -0.14694215E-05 -0.14399173E-05 -0.14021680E-05 -0.13566289E-05 -0.13037909E-05
+ -0.12441768E-05 -0.11783371E-05 -0.11068459E-05 -0.10302970E-05 -0.94929927E-06
+ -0.86447309E-06 -0.77644589E-06 -0.68584830E-06 -0.59331013E-06 -0.49945664E-06
+ -0.40490479E-06 -0.31025970E-06 -0.21611131E-06 -0.12303113E-06 -0.31569266E-07
+  0.57748381E-07  0.14442270E-06  0.22798371E-06  0.30799268E-06  0.38404401E-06
+  0.45576680E-06  0.52282629E-06  0.58492494E-06  0.64180328E-06  0.69324054E-06
+  0.73905501E-06  0.77910415E-06  0.81328446E-06  0.84153115E-06  0.86381754E-06
+  0.88015423E-06  0.89058818E-06  0.89520142E-06  0.89410976E-06  0.88746116E-06
+  0.87543409E-06  0.85823563E-06  0.83609957E-06  0.80928424E-06  0.77807038E-06
+  0.74275888E-06  0.70366841E-06  0.66113309E-06  0.61550005E-06  0.56712697E-06
+  0.51637969E-06  0.46362977E-06  0.40925206E-06  0.35362237E-06  0.29711511E-06
+  0.24010109E-06  0.18294534E-06  0.12600498E-06  0.69627290E-07  0.14147785E-07
+ -0.40111519E-07 -0.92843763E-07 -0.14375875E-06 -0.19258430E-06 -0.23906753E-06
+ -0.28297589E-06 -0.32409810E-06 -0.36224497E-06 -0.39725004E-06 -0.42896999E-06
+ -0.45728505E-06 -0.48209914E-06 -0.50333992E-06 -0.52095866E-06 -0.53492999E-06
+ -0.54525153E-06 -0.55194336E-06 -0.55504738E-06 -0.55462655E-06 -0.55076401E-06
+ -0.54356215E-06 -0.53314150E-06 -0.51963959E-06 -0.50320974E-06 -0.48401975E-06
+ -0.46225056E-06 -0.43809484E-06 -0.41175556E-06 -0.38344448E-06 -0.35338074E-06
+ -0.32178927E-06 -0.28889935E-06 -0.25494309E-06 -0.22015396E-06 -0.18476533E-06
+ -0.14900905E-06 -0.11311407E-06 -0.77305131E-07 -0.41801454E-07 -0.68155504E-08
+  0.27447935E-07  0.60793293E-07  0.93034747E-07  0.12399737E-06  0.15351790E-06
+  0.18144551E-06  0.20764241E-06  0.23198445E-06  0.25436152E-06  0.27467799E-06
+  0.29285292E-06  0.30882025E-06  0.32252891E-06  0.33394274E-06  0.34304047E-06
+  0.34981548E-06  0.35427553E-06  0.35644240E-06  0.35635150E-06  0.35405130E-06
+  0.34960280E-06  0.34307888E-06  0.33456360E-06  0.32415144E-06  0.31194653E-06
+  0.29806180E-06  0.28261810E-06  0.26574328E-06  0.24757132E-06  0.22824131E-06
+  0.20789656E-06  0.18668361E-06  0.16475126E-06  0.14224963E-06  0.11932923E-06
+  0.96139992E-07  0.72830423E-07  0.49546690E-07  0.26431790E-07  0.36247474E-08
+ -0.18740158E-07 -0.40534108E-07 -0.61634419E-07 -0.81925165E-07 -0.10129775E-06
+ -0.11965140E-06 -0.13689367E-06 -0.15294075E-06 -0.16771790E-06 -0.18115965E-06
+ -0.19321003E-06 -0.20382275E-06 -0.21296124E-06 -0.22059870E-06 -0.22671807E-06
+ -0.23131193E-06 -0.23438237E-06 -0.23594075E-06 -0.23600750E-06 -0.23461175E-06
+ -0.23179103E-06 -0.22759087E-06 -0.22206432E-06 -0.21527153E-06 -0.20727922E-06
+ -0.19816015E-06 -0.18799254E-06 -0.17685950E-06 -0.16484846E-06 -0.15205046E-06
+ -0.13855964E-06 -0.12447252E-06 -0.10988739E-06 -0.94903706E-07 -0.79621417E-07
+ -0.64140371E-07 -0.48559705E-07 -0.32977250E-07 -0.17488964E-07 -0.21883816E-08
+  0.12833908E-07  0.27490758E-07  0.41698930E-07  0.55379522E-07  0.68458371E-07
+  0.80866414E-07  0.92540008E-07  0.10342122E-06  0.11345806E-06  0.12260471E-06
+  0.13082166E-06  0.13807583E-06  0.14434068E-06  0.14959621E-06  0.15382899E-06
+  0.15703210E-06  0.15920506E-06  0.16035369E-06  0.16048999E-06  0.15963194E-06
+  0.15780326E-06  0.15503318E-06  0.15135615E-06  0.14681155E-06  0.14144332E-06
+  0.13529964E-06  0.12843256E-06  0.12089760E-06  0.11275334E-06  0.10406101E-06
+  0.94884097E-07  0.85287872E-07  0.75338992E-07  0.65105052E-07  0.54654166E-07
+  0.44054534E-07  0.33374031E-07  0.22679796E-07  0.12037835E-07  0.15126439E-08
+ -0.88331616E-08 -0.18939192E-07 -0.28747612E-07 -0.38203448E-07 -0.47254869E-07
+ -0.55853449E-07 -0.63954402E-07 -0.71516784E-07 -0.78503682E-07 -0.84882360E-07
+ -0.90624389E-07 -0.95705740E-07 -0.10010686E-06 -0.10381269E-06 -0.10681271E-06
+ -0.10910090E-06 -0.11067571E-06 -0.11153996E-06 -0.11170080E-06 -0.11116954E-06
+ -0.10996154E-06 -0.10809603E-06 -0.10559592E-06 -0.10248761E-06 -0.98800769E-07
+ -0.94568084E-07 -0.89825018E-07 -0.84609542E-07 -0.78961861E-07 -0.72924130E-07
+ -0.66540164E-07 -0.59855141E-07 -0.52915304E-07 -0.45767663E-07 -0.38459689E-07
+ -0.31039024E-07 -0.23553181E-07 -0.16049264E-07 -0.85736810E-08 -0.11718762E-08
+  0.61119303E-08  0.13234992E-07  0.20156272E-07  0.26836663E-07  0.33239193E-07
+  0.39329216E-07  0.45074582E-07  0.50445791E-07  0.55416131E-07  0.59961790E-07
+  0.64061954E-07  0.67698885E-07  0.70857975E-07  0.73527785E-07  0.75700059E-07
+  0.77369725E-07  0.78534868E-07  0.79196695E-07  0.79359470E-07  0.79030440E-07
+  0.78219744E-07  0.76940297E-07  0.75207672E-07  0.73039955E-07  0.70457599E-07
+  0.67483257E-07  0.64141608E-07  0.60459175E-07  0.56464132E-07  0.52186103E-07
+  0.47655963E-07  0.42905624E-07  0.37967827E-07  0.32875928E-07  0.27663683E-07
+  0.22365039E-07  0.17013921E-07  0.11644026E-07  0.62886240E-08  0.98035848E-09
+ -0.42489404E-08 -0.93684373E-08 -0.14348464E-07 -0.19160680E-07 -0.23778227E-07
+ -0.28175866E-07 -0.32330105E-07 -0.36219319E-07 -0.39823844E-07 -0.43126075E-07
+ -0.46110532E-07 -0.48763927E-07 -0.51075207E-07 -0.53035585E-07 -0.54638561E-07
+ -0.55879923E-07 -0.56757739E-07 -0.57272329E-07 -0.57426230E-07 -0.57224148E-07
+ -0.56672888E-07 -0.55781290E-07 -0.54560132E-07 -0.53022045E-07 -0.51181396E-07
+ -0.49054183E-07 -0.46657907E-07 -0.44011441E-07 -0.41134899E-07 -0.38049487E-07
+ -0.34777363E-07 -0.31341484E-07 -0.27765453E-07 -0.24073368E-07 -0.20289666E-07
+ -0.16438967E-07 -0.12545925E-07 -0.86350721E-08 -0.47306767E-08 -0.85659471E-09
+  0.29638671E-08  0.67080858E-08  0.10354249E-07  0.13881476E-07  0.17269932E-07
+  0.20500930E-07  0.23557030E-07  0.26422126E-07  0.29081523E-07  0.31522008E-07
+  0.33731903E-07  0.35701119E-07  0.37421188E-07  0.38885294E-07  0.40088290E-07
+  0.41026701E-07  0.41698723E-07  0.42104208E-07  0.42244641E-07  0.42123104E-07
+  0.41744237E-07  0.41114183E-07  0.40240531E-07  0.39132246E-07  0.37799597E-07
+  0.36254071E-07  0.34508287E-07  0.32575904E-07  0.30471520E-07  0.28210569E-07
+  0.25809215E-07  0.23284245E-07  0.20652955E-07  0.17933036E-07  0.15142464E-07
+  0.12299384E-07  0.94219950E-08  0.65284431E-08  0.36367075E-08  0.76449490E-09
+ -0.20708645E-08 -0.48525176E-08 -0.75641838E-08 -0.10190246E-07 -0.12715838E-07
+ -0.15126919E-07 -0.17410355E-07 -0.19553980E-07 -0.21546658E-07 -0.23378335E-07
+ -0.25040088E-07 -0.26524159E-07 -0.27823989E-07 -0.28934238E-07 -0.29850803E-07
+ -0.30570824E-07 -0.31092680E-07 -0.31415990E-07 -0.31541588E-07 -0.31471507E-07
+ -0.31208949E-07 -0.30758244E-07 -0.30124814E-07 -0.29315120E-07 -0.28336610E-07
+ -0.27197660E-07 -0.25907508E-07 -0.24476186E-07 -0.22914450E-07 -0.21233701E-07
+ -0.19445907E-07 -0.17563525E-07 -0.15599414E-07 -0.13566755E-07 -0.11478964E-07
+ -0.93496047E-08 -0.71923085E-08 -0.50206872E-08 -0.28482512E-08 -0.68832844E-09
+  0.14460143E-08  0.35420475E-08  0.55874520E-08  0.75703881E-08  0.94795614E-08
+  0.11304284E-07  0.13034532E-07  0.14660996E-07  0.16175129E-07  0.17569189E-07
+  0.18836272E-07  0.19970348E-07  0.20966280E-07  0.21819847E-07  0.22527754E-07
+  0.23087645E-07  0.23498096E-07  0.23758621E-07  0.23869653E-07  0.23832537E-07
+  0.23649502E-07  0.23323641E-07  0.22858877E-07  0.22259931E-07  0.21532279E-07
+  0.20682110E-07  0.19716280E-07  0.18642260E-07  0.17468081E-07  0.16202279E-07
+  0.14853837E-07  0.13432120E-07  0.11946819E-07  0.10407883E-07  0.88254569E-08
+  0.72098151E-08  0.55712995E-08  0.39202539E-08  0.22669616E-08  0.62158331E-09
+ -0.10059033E-08 -0.26057620E-08 -0.41685539E-08 -0.56851915E-08 -0.71469892E-08
+ -0.85457109E-08 -0.98736147E-08 -0.11123493E-07 -0.12288710E-07 -0.13363235E-07
+ -0.14341670E-07 -0.15219275E-07 -0.15991988E-07 -0.16656443E-07 -0.17209977E-07
+ -0.17650642E-07 -0.17977205E-07 -0.18189145E-07 -0.18286649E-07 -0.18270603E-07
+ -0.18142574E-07 -0.17904792E-07 -0.17560132E-07 -0.17112083E-07 -0.16564722E-07
+ -0.15922679E-07 -0.15191107E-07 -0.14375635E-07 -0.13482335E-07 -0.12517678E-07
+ -0.11488487E-07 -0.10401891E-07 -0.92652805E-08 -0.80862565E-08 -0.68725824E-08
+ -0.56321344E-08 -0.43728519E-08 -0.31026886E-08 -0.18295637E-08 -0.56131359E-09
+  0.69435411E-09  0.19299065E-08  0.31380291E-08  0.43116674E-08  0.54440667E-08
+  0.65288098E-08  0.75598516E-08  0.85315512E-08  0.94387016E-08  0.10276556E-07
+  0.11040849E-07  0.11727821E-07  0.12334231E-07  0.12857370E-07  0.13295073E-07
+  0.13645724E-07  0.13908258E-07  0.14082165E-07  0.14167479E-07  0.14164779E-07
+  0.14075171E-07  0.13900282E-07  0.13642238E-07  0.13303647E-07  0.12887578E-07
+  0.12397536E-07  0.11837432E-07  0.11211561E-07  0.10524565E-07  0.97814013E-08
+  0.89873121E-08  0.81477851E-08  0.72685186E-08  0.63553840E-08  0.54143881E-08
+  0.44516340E-08  0.34732838E-08  0.24855193E-08  0.14945047E-08  0.50634894E-09
+ -0.47293086E-09 -0.14374450E-08 -0.23814654E-08 -0.32994588E-08 -0.41861182E-08
+ -0.50363921E-08 -0.58455128E-08 -0.66090213E-08 -0.73227917E-08 -0.79830514E-08
+ -0.85864005E-08 -0.91298279E-08 -0.96107249E-08 -0.10026896E-07 -0.10376569E-07
+ kinetic energy density (partial)
+  0.20835504E+03  0.20828036E+03  0.20805646E+03  0.20768382E+03  0.20716321E+03
+  0.20649571E+03  0.20568271E+03  0.20472590E+03  0.20362725E+03  0.20238902E+03
+  0.20101375E+03  0.19950424E+03  0.19786357E+03  0.19609504E+03  0.19420220E+03
+  0.19218884E+03  0.19005893E+03  0.18781665E+03  0.18546639E+03  0.18301267E+03
+  0.18046020E+03  0.17781381E+03  0.17507846E+03  0.17225923E+03  0.16936128E+03
+  0.16638985E+03  0.16335026E+03  0.16024787E+03  0.15708805E+03  0.15387623E+03
+  0.15061780E+03  0.14731817E+03  0.14398270E+03  0.14061674E+03  0.13722555E+03
+  0.13381436E+03  0.13038829E+03  0.12695239E+03  0.12351160E+03  0.12007077E+03
+  0.11663459E+03  0.11320766E+03  0.10979442E+03  0.10639916E+03  0.10302604E+03
+  0.99679032E+02  0.96361963E+02  0.93078483E+02  0.89832071E+02  0.86626025E+02
+  0.83463466E+02  0.80347331E+02  0.77280372E+02  0.74265159E+02  0.71304074E+02
+  0.68399315E+02  0.65552897E+02  0.62766650E+02  0.60042224E+02  0.57381093E+02
+  0.54784551E+02  0.52253723E+02  0.49789562E+02  0.47392858E+02  0.45064240E+02
+  0.42804181E+02  0.40613001E+02  0.38490877E+02  0.36437844E+02  0.34453799E+02
+  0.32538514E+02  0.30691635E+02  0.28912689E+02  0.27201094E+02  0.25556161E+02
+  0.23977101E+02  0.22463033E+02  0.21012989E+02  0.19625917E+02  0.18300694E+02
+  0.17036125E+02  0.15830955E+02  0.14683869E+02  0.13593503E+02  0.12558445E+02
+  0.11577245E+02  0.10648418E+02  0.97704471E+01  0.89417938E+01  0.81608982E+01
+  0.74261859E+01  0.67360722E+01  0.60889662E+01  0.54832751E+01  0.49174080E+01
+  0.43897800E+01  0.38988154E+01  0.34429512E+01  0.30206401E+01  0.26303538E+01
+  0.22705855E+01  0.19398523E+01  0.16366980E+01  0.13596948E+01  0.11074456E+01
+  0.87858565E+00  0.67178422E+00  0.48574594E+00  0.31921212E+00  0.17096183E+00
+  0.39812801E-01 -0.75377769E-01 -0.17571264E+00 -0.26225402E+00 -0.33602329E+00
+ -0.39800073E+00 -0.44912553E+00 -0.49029577E+00 -0.52236862E+00 -0.54616060E+00
+ -0.56244795E+00 -0.57196711E+00 -0.57541524E+00 -0.57345089E+00 -0.56669468E+00
+ -0.55573011E+00 -0.54110437E+00 -0.52332928E+00 -0.50288217E+00 -0.48020696E+00
+ -0.45571513E+00 -0.42978682E+00 -0.40277192E+00 -0.37499119E+00 -0.34673741E+00
+ -0.31827653E+00 -0.28984883E+00 -0.26167011E+00 -0.23393286E+00 -0.20680741E+00
+ -0.18044314E+00 -0.15496957E+00 -0.13049761E+00 -0.10712057E+00 -0.84915366E-01
+ -0.63943573E-01 -0.44252494E-01 -0.25876215E-01 -0.88366140E-02  0.68556445E-02
+  0.21200154E-01  0.34205840E-01  0.45890064E-01  0.56277765E-01  0.65400637E-01
+  0.73296336E-01  0.80007729E-01  0.85582175E-01  0.90070849E-01  0.93528093E-01
+  0.96010816E-01  0.97577916E-01  0.98289755E-01  0.98207654E-01  0.97393432E-01
+  0.95908984E-01  0.93815878E-01  0.91175003E-01  0.88046237E-01  0.84488154E-01
+  0.80557756E-01  0.76310236E-01  0.71798777E-01  0.67074366E-01  0.62185643E-01
+  0.57178774E-01  0.52097343E-01  0.46982274E-01  0.41871767E-01  0.36801261E-01
+  0.31803411E-01  0.26908081E-01  0.22142365E-01  0.17530606E-01  0.13094442E-01
+  0.88528613E-02  0.48222665E-02  0.10165515E-02 -0.25528120E-02 -0.58766813E-02
+ -0.89481411E-02 -0.11762397E-01 -0.14316661E-01 -0.16610039E-01 -0.18643408E-01
+ -0.20419294E-01 -0.21941748E-01 -0.23216224E-01 -0.24249453E-01 -0.25049318E-01
+ -0.25624730E-01 -0.25985512E-01 -0.26142277E-01 -0.26106309E-01 -0.25889459E-01
+ -0.25504030E-01 -0.24962671E-01 -0.24278285E-01 -0.23463926E-01 -0.22532710E-01
+ -0.21497732E-01 -0.20371987E-01 -0.19168289E-01 -0.17899208E-01 -0.16577007E-01
+ -0.15213577E-01 -0.13820394E-01 -0.12408464E-01 -0.10988288E-01 -0.95698218E-02
+ -0.81624485E-02 -0.67749510E-02 -0.54154923E-02 -0.40916000E-02 -0.28101553E-02
+ -0.15773864E-02 -0.39886651E-03  0.72048473E-03  0.17763955E-02  0.27652328E-02
+  0.36839902E-02  0.45302720E-02  0.53022756E-02  0.59987705E-02  0.66190753E-02
+  0.71630325E-02  0.76309821E-02  0.80237328E-02  0.83425325E-02  0.85890380E-02
+  0.87652830E-02  0.88736459E-02  0.89168179E-02  0.88977699E-02  0.88197199E-02
+  0.86861005E-02  0.85005271E-02  0.82667658E-02  0.79887032E-02  0.76703160E-02
+  0.73156421E-02  0.69287525E-02  0.65137246E-02  0.60746169E-02  0.56154446E-02
+  0.51401571E-02  0.46526166E-02  0.41565790E-02  0.36556751E-02  0.31533950E-02
+  0.26530725E-02  0.21578727E-02  0.16707797E-02  0.11945875E-02  0.73189104E-03
+  0.28508001E-03 -0.14366669E-03 -0.55238445E-03 -0.93932519E-03 -0.13029582E-02
+ -0.16419696E-02 -0.19552605E-02 -0.22419442E-02 -0.25013417E-02 -0.27329770E-02
+ -0.29365704E-02 -0.31120318E-02 -0.32594528E-02 -0.33790979E-02 -0.34713953E-02
+ -0.35369271E-02 -0.35764189E-02 -0.35907293E-02 -0.35808384E-02 -0.35478369E-02
+ -0.34929144E-02 -0.34173477E-02 -0.33224897E-02 -0.32097572E-02 -0.30806201E-02
+ -0.29365895E-02 -0.27792070E-02 -0.26100340E-02 -0.24306410E-02 -0.22425978E-02
+ -0.20474638E-02 -0.18467788E-02 -0.16420544E-02 -0.14347657E-02 -0.12263441E-02
+ -0.10181700E-02 -0.81156627E-03 -0.60779290E-03 -0.40804141E-03 -0.21343046E-03
+ -0.25001852E-04  0.15628276E-03  0.32954460E-03  0.49398988E-03  0.64891127E-03
+  0.79368888E-03  0.92779059E-03  0.10507719E-02  0.11622751E-02  0.12620285E-02
+  0.13498441E-02  0.14256161E-02  0.14893180E-02  0.15410000E-02  0.15807856E-02
+  0.16088679E-02  0.16255060E-02  0.16310209E-02  0.16257910E-02  0.16102478E-02
+  0.15848710E-02  0.15501843E-02  0.15067498E-02  0.14551636E-02  0.13960508E-02
+  0.13300607E-02  0.12578615E-02  0.11801361E-02  0.10975768E-02  0.10108810E-02
+  0.92074700E-03  0.82786904E-03  0.73293373E-03  0.63661585E-03  0.53957475E-03
+  0.44245079E-03  0.34586214E-03  0.25040173E-03  0.15663455E-03  0.65095164E-04
+ -0.23714500E-04 -0.10932708E-03 -0.19131143E-03 -0.26927401E-03 -0.34285994E-03
+ -0.41175391E-03 -0.47568067E-03 -0.53440538E-03 -0.58773362E-03 -0.63551122E-03
+ -0.67762383E-03 -0.71399622E-03 -0.74459146E-03 -0.76940981E-03 -0.78848749E-03
+ -0.80189519E-03 -0.80973655E-03 -0.81214635E-03 -0.80928869E-03 -0.80135496E-03
+ -0.78856182E-03 -0.77114897E-03 -0.74937696E-03 -0.72352489E-03 -0.69388808E-03
+ -0.66077574E-03 -0.62450863E-03 -0.58541671E-03 -0.54383679E-03 -0.50011029E-03
+ -0.45458098E-03 -0.40759277E-03 -0.35948764E-03 -0.31060361E-03 -0.26127274E-03
+ -0.21181934E-03 -0.16255822E-03 -0.11379303E-03 -0.65814813E-04 -0.18900553E-04
+  0.26688029E-04  0.70705622E-04  0.11292430E-03  0.15313440E-03  0.19114521E-03
+  0.22678554E-03  0.25990422E-03  0.29037033E-03  0.31807346E-03  0.34292368E-03
+  0.36485151E-03  0.38380771E-03  0.39976294E-03  0.41270738E-03  0.42265015E-03
+  0.42961871E-03  0.43365814E-03  0.43483030E-03  0.43321299E-03  0.42889897E-03
+  0.42199495E-03  0.41262052E-03  0.40090704E-03  0.38699647E-03  0.37104021E-03
+  0.35319789E-03  0.33363614E-03  0.31252735E-03  0.29004850E-03  0.26637987E-03
+  0.24170389E-03  0.21620396E-03  0.19006328E-03  0.16346372E-03  0.13658478E-03
+  0.10960256E-03  0.82688740E-04  0.56009692E-04  0.29725598E-04  0.39896497E-05
+ -0.21052691E-04 -0.45264363E-04 -0.68517308E-04 -0.90692998E-04 -0.11168289E-03
+ -0.13138883E-03 -0.14972332E-03 -0.16660980E-03 -0.18198279E-03 -0.19578798E-03
+ -0.20798226E-03 -0.21853367E-03 -0.22742128E-03 -0.23463504E-03 -0.24017552E-03
+ -0.24405359E-03 -0.24629014E-03 -0.24691561E-03 -0.24596960E-03 -0.24350031E-03
+ -0.23956409E-03 -0.23422482E-03 -0.22755332E-03 -0.21962678E-03 -0.21052803E-03
+ -0.20034496E-03 -0.18916981E-03 -0.17709849E-03 -0.16422991E-03 -0.15066529E-03
+ -0.13650745E-03 -0.12186019E-03 -0.10682758E-03 -0.91513375E-04 -0.76020313E-04
+ -0.60449570E-04 -0.44900164E-04 -0.29468403E-04 -0.14247369E-04  0.67356873E-06
+  0.15209201E-04  0.29278898E-04  0.42806978E-04  0.55723047E-04  0.67962294E-04
+  0.79465741E-04  0.90180456E-04  0.10005972E-03  0.10906317E-03  0.11715685E-03
+  0.12431330E-03  0.13051151E-03  0.13573694E-03  0.13998141E-03  0.14324297E-03
+  0.14552583E-03  0.14684010E-03  0.14720163E-03  0.14663173E-03  0.14515697E-03
+  0.14280879E-03  0.13962329E-03  0.13564081E-03  0.13090564E-03  0.12546560E-03
+  0.11937169E-03  0.11267772E-03  0.10543985E-03  0.97716257E-04  0.89566681E-04
+  0.81052046E-04  0.72234052E-04  0.63174778E-04  0.53936293E-04  0.44580280E-04
+  0.35167664E-04  0.25758258E-04  0.16410425E-04  0.71807582E-05 -0.18762292E-05
+ -0.10708382E-04 -0.19266170E-04 -0.27502926E-04 -0.35375063E-04 -0.42842270E-04
+ -0.49867681E-04 -0.56418019E-04 -0.62463713E-04 -0.67978995E-04 -0.72941966E-04
+ -0.77334643E-04 -0.81142972E-04 -0.84356829E-04 -0.86969986E-04 -0.88980058E-04
+ -0.90388434E-04 -0.91200176E-04 -0.91423905E-04 -0.91071668E-04 -0.90158782E-04
+ -0.88703670E-04 -0.86727673E-04 -0.84254855E-04 -0.81311794E-04 -0.77927359E-04
+ -0.74132487E-04 -0.69959941E-04 -0.65444073E-04 -0.60620576E-04 -0.55526235E-04
+ -0.50198677E-04 -0.44676123E-04 -0.38997144E-04 -0.33200410E-04 -0.27324458E-04
+ -0.21407454E-04 -0.15486974E-04 -0.95997806E-05 -0.37816209E-05  0.19329717E-05
+  0.75108618E-05  0.12920483E-04  0.18131998E-04  0.23117441E-04  0.27850849E-04
+  0.32308378E-04  0.36468400E-04  0.40311588E-04  0.43820986E-04  0.46982057E-04
+  0.49782725E-04  0.52213390E-04  0.54266937E-04  0.55938726E-04  0.57226565E-04
+  0.58130670E-04  0.58653618E-04  0.58800272E-04  0.58577711E-04  0.57995133E-04
+  0.57063756E-04  0.55796708E-04  0.54208903E-04  0.52316916E-04  0.50138843E-04
+  0.47694158E-04  0.45003568E-04  0.42088860E-04  0.38972742E-04  0.35678686E-04
+  0.32230771E-04  0.28653522E-04  0.24971746E-04  0.21210383E-04  0.17394344E-04
+  0.13548360E-04  0.96968386E-05  0.58637166E-05  0.20723263E-05 -0.16547360E-05
+ -0.52957328E-05 -0.88299004E-05 -0.12237557E-04 -0.15500199E-04 -0.18600592E-04
+ -0.21522849E-04 -0.24252503E-04 -0.26776561E-04 -0.29083560E-04 -0.31163602E-04
+ -0.33008383E-04 -0.34611214E-04 -0.35967028E-04 -0.37072379E-04 -0.37925428E-04
+ -0.38525927E-04 -0.38875183E-04 -0.38976024E-04 -0.38832747E-04 -0.38451068E-04
+ -0.37838051E-04 -0.37002046E-04 -0.35952608E-04 -0.34700415E-04 -0.33257184E-04
+ -0.31635572E-04 -0.29849087E-04 -0.27911987E-04 -0.25839175E-04 -0.23646098E-04
+ -0.21348641E-04 -0.18963022E-04 -0.16505685E-04 -0.13993199E-04 -0.11442146E-04
+ -0.88690290E-05 -0.62901661E-05 -0.37215965E-05 -0.11789878E-05  0.13224529E-05
+  0.37680632E-05  0.61438045E-05  0.84363361E-05  0.10633083E-04  0.12722299E-04
+  0.14693121E-04  0.16535621E-04  0.18240847E-04  0.19800862E-04  0.21208768E-04
+  0.22458735E-04  0.23546012E-04  0.24466937E-04  0.25218940E-04  0.25800535E-04
+  0.26211314E-04  0.26451924E-04  0.26524047E-04  0.26430366E-04  0.26174537E-04
+  0.25761142E-04  0.25195645E-04  0.24484347E-04  0.23634324E-04  0.22653376E-04
+  0.21549965E-04  0.20333146E-04  0.19012507E-04  0.17598097E-04  0.16100357E-04
+  0.14530050E-04  0.12898186E-04  0.11215955E-04  0.94946498E-05  0.77456005E-05
+  0.59801006E-05  0.42093402E-05  0.24443392E-05  0.69588305E-06 -0.10255391E-05
+ -0.27097932E-05 -0.43471557E-05 -0.59283657E-05 -0.74446735E-05 -0.88878846E-05
+ -0.10250400E-04 -0.11525252E-04 -0.12706136E-04 -0.13787435E-04 -0.14764247E-04
+ -0.15632395E-04 -0.16388446E-04 -0.17029714E-04 -0.17554268E-04 -0.17960926E-04
+ -0.18249251E-04 -0.18419541E-04 -0.18472814E-04 -0.18410788E-04 -0.18235860E-04
+ -0.17951076E-04 -0.17560106E-04 -0.17067207E-04 -0.16477189E-04 -0.15795372E-04
+ -0.15027551E-04 -0.14179945E-04 -0.13259159E-04 -0.12272129E-04 -0.11226083E-04
+ -0.10128482E-04 -0.89869785E-05 -0.78093612E-05 -0.66035078E-05 -0.53773340E-05
+ -0.41387451E-05 -0.28955872E-05 -0.16556008E-05 -0.42637512E-06  0.78469609E-06
+  0.19704560E-05  0.31240246E-05  0.42388361E-05  0.53086738E-05  0.63277021E-05
+  0.72904958E-05  0.81920664E-05  0.90278850E-05  0.97939027E-05  0.10486567E-04
+  0.11102835E-04  0.11640184E-04  0.12096617E-04  0.12470670E-04  0.12761405E-04
+  0.12968414E-04  0.13091808E-04  0.13132211E-04  0.13090746E-04  0.12969018E-04
+  0.12769101E-04  0.12493512E-04  0.12145193E-04  0.11727484E-04  0.11244095E-04
+  0.10699079E-04  0.10096800E-04  0.94419040E-05  0.87392820E-05  0.79940391E-05
+  0.72114589E-05  0.63969681E-05  0.55561008E-05  0.46944635E-05  0.38176993E-05
+  0.29314527E-05  0.20413352E-05  0.11528915E-05  0.27156677E-06 -0.59732538E-06
+ -0.14486329E-05 -0.22773945E-05 -0.30788666E-05 -0.38485492E-05 -0.45822095E-05
+ -0.52759030E-05 -0.59259938E-05 -0.65291711E-05 -0.70824650E-05 -0.75832587E-05
+ -0.80292992E-05 -0.84187053E-05 -0.87499729E-05 -0.90219787E-05 -0.92339806E-05
+ -0.93856165E-05 -0.94769006E-05 -0.95082170E-05 -0.94803119E-05 -0.93942833E-05
+ -0.92515686E-05 -0.90539305E-05 -0.88034415E-05 -0.85024659E-05 -0.81536409E-05
+ -0.77598566E-05 -0.73242339E-05 -0.68501020E-05 -0.63409749E-05 -0.58005271E-05
+ -0.52325683E-05 -0.46410183E-05 -0.40298813E-05 -0.34032201E-05 -0.27651301E-05
+ -0.21197141E-05 -0.14710570E-05 -0.82320100E-06 -0.18012145E-06  0.45429620E-06
+  0.10762789E-05  0.16821875E-05  0.22685368E-05  0.28320144E-05  0.33694988E-05
+  0.38780750E-05  0.43550498E-05  0.47979643E-05  0.52046059E-05  0.55730178E-05
+  0.59015075E-05  0.61886525E-05  0.64333056E-05  0.66345974E-05  0.67919376E-05
+  0.69050145E-05  0.69737925E-05  0.69985083E-05  0.69796653E-05  0.69180270E-05
+  0.68146078E-05  0.66706633E-05  0.64876794E-05  0.62673592E-05  0.60116097E-05
+  0.57225273E-05  0.54023816E-05  0.50535996E-05  0.46787481E-05  0.42805159E-05
+  0.38616961E-05  0.34251668E-05  0.29738728E-05  0.25108063E-05  0.20389878E-05
+  0.15614475E-05  0.10812068E-05  0.60125910E-06  0.12455292E-06 -0.34602614E-06
+ -0.80767194E-06 -0.12576738E-05 -0.16934316E-05 -0.21124705E-05 -0.25124536E-05
+ -0.28911947E-05 -0.32466697E-05 -0.35770259E-05 -0.38805915E-05 -0.41558832E-05
+ -0.44016122E-05 -0.46166896E-05 -0.48002299E-05 -0.49515539E-05 -0.50701897E-05
+ -0.51558725E-05 -0.52085437E-05 -0.52283475E-05 -0.52156282E-05 -0.51709243E-05
+ -0.50949632E-05 -0.49886534E-05 -0.48530769E-05 -0.46894800E-05 -0.44992632E-05
+ -0.42839704E-05 -0.40452779E-05 -0.37849817E-05 -0.35049853E-05 -0.32072862E-05
+ -0.28939625E-05 -0.25671593E-05 -0.22290742E-05 -0.18819433E-05 -0.15280272E-05
+ -0.11695966E-05 -0.80891805E-06 -0.44824079E-06 -0.89782651E-07  0.26428284E-06
+  0.61183918E-06  0.95083906E-06  0.12793159E-05  0.15953948E-05  0.18973026E-05
+  0.21833778E-05  0.24520784E-05  0.27019904E-05  0.29318344E-05  0.31404715E-05
+  0.33269085E-05  0.34903020E-05  0.36299613E-05  0.37453508E-05  0.38360910E-05
+  0.39019586E-05  0.39428861E-05  0.39589597E-05  0.39504170E-05  0.39176432E-05
+  0.38611669E-05  0.37816552E-05  0.36799070E-05  0.35568472E-05  0.34135188E-05
+  0.32510750E-05  0.30707708E-05  0.28739539E-05  0.26620552E-05  0.24365789E-05
+  0.21990924E-05  0.19512158E-05  0.16946112E-05  0.14309721E-05  0.11620127E-05
+  0.88945703E-06  0.61502809E-06  0.34043765E-06  0.67375715E-07 -0.20249943E-06
+ -0.46757098E-06 -0.72627297E-06 -0.97709914E-06 -0.12186114E-05 -0.14494477E-05
+ -0.16683294E-05 -0.18740679E-05 -0.20655709E-05 -0.22418477E-05 -0.24020138E-05
+ -0.25452953E-05 -0.26710317E-05 -0.27786789E-05 -0.28678107E-05 -0.29381202E-05
+ -0.29894195E-05 -0.30216403E-05 -0.30348315E-05 -0.30291587E-05 -0.30049005E-05
+ -0.29624463E-05 -0.29022916E-05 -0.28250345E-05 -0.27313699E-05 -0.26220845E-05
+ -0.24980506E-05 -0.23602199E-05 -0.22096162E-05 -0.20473288E-05 -0.18745043E-05
+ -0.16923396E-05 -0.15020733E-05 -0.13049781E-05 -0.11023521E-05 -0.89551080E-06
+ -0.68577898E-06 -0.47448212E-06 -0.26293851E-06 -0.52451208E-07  0.15569972E-06
+  0.36026474E-06  0.56003214E-06  0.75383492E-06  0.94055739E-06  0.11191414E-05
+  0.12885918E-05  0.14479824E-05  0.15964599E-05  0.17332489E-05  0.18576553E-05
+  0.19690697E-05  0.20669698E-05  0.21509228E-05  0.22205870E-05  0.22757124E-05
+  0.23161411E-05  0.23418077E-05  0.23527377E-05  0.23490468E-05  0.23309391E-05
+  0.22987043E-05  0.22527152E-05  0.21934244E-05  0.21213603E-05  0.20371233E-05
+  0.19413808E-05  0.18348627E-05  0.17183559E-05  0.15926988E-05  0.14587758E-05
+  0.13175109E-05  0.11698619E-05  0.10168141E-05  0.85937351E-06  0.69856113E-06
+  0.53540601E-06  0.37093900E-06  0.20618646E-06  0.42164007E-07 -0.12012960E-06
+ -0.27971831E-06 -0.43565451E-06 -0.58702449E-06 -0.73295359E-06 -0.87261108E-06
+ -0.10052148E-05 -0.11300351E-05 -0.12463990E-05 -0.13536936E-05 -0.14513687E-05
+ -0.15389398E-05 -0.16159903E-05 -0.16821729E-05 -0.17372113E-05 -0.17809007E-05
+ atomic pseudo charge-density
+  0.40000000E+01  0.39865777E+01  0.39466377E+01  0.38811433E+01  0.37916420E+01
+  0.36801845E+01  0.35492225E+01  0.34014950E+01  0.32399100E+01  0.30674335E+01
+  0.28869885E+01  0.27013712E+01  0.25131849E+01  0.23247937E+01  0.21382919E+01
+  0.19554911E+01  0.17779180E+01  0.16068237E+01  0.14431992E+01  0.12877965E+01
+  0.11411517E+01  0.10036103E+01  0.87535141E+00  0.75641221E+00  0.64671002E+00
+  0.54606322E+00  0.45420995E+00  0.37082491E+00  0.29553413E+00  0.22792794E+00
+  0.16757211E+00  0.11401745E+00  0.66807917E-01  0.25487413E-01 -0.10394609E-01
+ -0.41278559E-01 -0.67591068E-01 -0.89742136E-01 -0.10812299E+00 -0.12310456E+00
+ -0.13503646E+00 -0.14424639E+00 -0.15104001E+00 -0.15570097E+00 -0.15849133E+00
+ -0.15965211E+00 -0.15940402E+00 -0.15794831E+00 -0.15546772E+00 -0.15212749E+00
+ -0.14807638E+00 -0.14344771E+00 -0.13836047E+00 -0.13292033E+00 -0.12722065E+00
+ -0.12134348E+00 -0.11536052E+00 -0.10933401E+00 -0.10331755E+00 -0.97357004E-01
+ -0.91491144E-01 -0.85752437E-01 -0.80167665E-01 -0.74758549E-01 -0.69542301E-01
+ -0.64532148E-01 -0.59737800E-01 -0.55165888E-01 -0.50820352E-01 -0.46702805E-01
+ -0.42812853E-01 -0.39148390E-01 -0.35705857E-01 -0.32480485E-01 -0.29466501E-01
+ -0.26657315E-01 -0.24045694E-01 -0.21623903E-01 -0.19383840E-01 -0.17317147E-01
+ -0.15415312E-01 -0.13669755E-01 -0.12071903E-01 -0.10613251E-01 -0.92854244E-02
+ -0.80802145E-02 -0.69896237E-02 -0.60058937E-02 -0.51215308E-02 -0.43293255E-02
+ -0.36223668E-02 -0.29940530E-02 -0.24380979E-02 -0.19485345E-02 -0.15197156E-02
+ -0.11463116E-02 -0.82330733E-03 -0.54599558E-03 -0.30997057E-03 -0.11111936E-03
+  0.54387372E-04  0.19010550E-03  0.29932812E-03  0.38509675E-03  0.45021276E-03
+  0.49724905E-03  0.52856181E-03  0.54630218E-03  0.55242796E-03  0.54871497E-03
+  0.53676838E-03  0.51803363E-03  0.49380709E-03  0.46524638E-03  0.43338033E-03
+  0.39911848E-03  0.36326026E-03  0.32650372E-03  0.28945381E-03  0.25263029E-03
+  0.21647518E-03  0.18135979E-03  0.14759134E-03  0.11541921E-03  0.85040745E-04
+  0.56606693E-04  0.30226281E-04  0.59719222E-05 -0.16116422E-04 -0.36027206E-04
+ -0.53773582E-04 -0.69389985E-04 -0.82929001E-04 -0.94458506E-04 -0.10405906E-03
+ -0.11182154E-03 -0.11784501E-03 -0.12223480E-03 -0.12510074E-03 -0.12655568E-03
+ -0.12671406E-03 -0.12569075E-03 -0.12359995E-03 -0.12055428E-03 -0.11666396E-03
+ -0.11203618E-03 -0.10677445E-03 -0.10097817E-03 -0.94742200E-04 -0.88156578E-04
+ -0.81306252E-04 -0.74270913E-04 -0.67124872E-04 -0.59936998E-04 -0.52770692E-04
+ -0.45683909E-04 -0.38729216E-04 -0.31953881E-04 -0.25399987E-04 -0.19104573E-04
+ -0.13099795E-04 -0.74131035E-05 -0.20674340E-05  0.29185877E-05  0.75304328E-05
+  0.11757450E-04  0.15592638E-04  0.19032418E-04  0.22076404E-04  0.24727164E-04
+  0.26989996E-04  0.28872695E-04  0.30385326E-04  0.31539999E-04  0.32350652E-04
+  0.32832837E-04  0.33003507E-04  0.32880817E-04  0.32483927E-04  0.31832814E-04
+  0.30948087E-04  0.29850816E-04  0.28562367E-04  0.27104239E-04  0.25497920E-04
+  0.23764744E-04  0.21925760E-04  0.20001608E-04  0.18012403E-04  0.15977634E-04
+  0.13916067E-04  0.11845655E-04  0.97834623E-05  0.77455969E-05  0.57471478E-05
+  0.38021359E-05  0.19234706E-05  0.12291697E-06 -0.15889304E-05 -0.32026639E-05
+ -0.47100721E-05 -0.61041411E-05 -0.73790486E-05 -0.85301498E-05 -0.95539581E-05
+ -0.10448118E-04 -0.11211371E-04 -0.11843520E-04 -0.12345381E-04 -0.12718740E-04
+ -0.12966293E-04 -0.13091593E-04 -0.13098990E-04 -0.12993562E-04 -0.12781054E-04
+ -0.12467805E-04 -0.12060682E-04 -0.11567004E-04 -0.10994473E-04 -0.10351102E-04
+ -0.96451441E-05 -0.88850170E-05 -0.80792383E-05 -0.72363555E-05 -0.63648798E-05
+ -0.54732233E-05 -0.45696380E-05 -0.36621584E-05 -0.27585476E-05 -0.18662470E-05
+ -0.99232994E-06 -0.14345991E-06  0.67414724E-06  0.14547563E-05  0.21931413E-05
+  0.28846089E-05  0.35250176E-05  0.41107917E-05  0.46389308E-05  0.51070144E-05
+  0.55132020E-05  0.58562288E-05  0.61353970E-05  0.63505627E-05  0.65021194E-05
+  0.65909775E-05  0.66185401E-05  0.65866761E-05  0.64976905E-05  0.63542912E-05
+  0.61595549E-05  0.59168901E-05  0.56299985E-05  0.53028363E-05  0.49395727E-05
+  0.45445501E-05  0.41222417E-05  0.36772115E-05  0.32140730E-05  0.27374494E-05
+  0.22519349E-05  0.17620572E-05  0.12722412E-05  0.78677566E-06  0.30978034E-06
+ -0.15482310E-06 -0.60333860E-06 -0.10323203E-05 -0.14385946E-05 -0.18192788E-05
+ -0.21717975E-05 -0.24938958E-05 -0.27836489E-05 -0.30394696E-05 -0.32601119E-05
+ -0.34446725E-05 -0.35925882E-05 -0.37036321E-05 -0.37779053E-05 -0.38158276E-05
+ -0.38181247E-05 -0.37858135E-05 -0.37201857E-05 -0.36227886E-05 -0.34954051E-05
+ -0.33400317E-05 -0.31588555E-05 -0.29542301E-05 -0.27286505E-05 -0.24847277E-05
+ -0.22251630E-05 -0.19527218E-05 -0.16702079E-05 -0.13804382E-05 -0.10862172E-05
+ -0.79031329E-06 -0.49543528E-06 -0.20421011E-06  0.80837975E-07  0.35730694E-06
+  0.62293496E-06  0.87561665E-06  0.11134176E-05  0.13345872E-05  0.15375689E-05
+  0.17210098E-05  0.18837666E-05  0.20249111E-05  0.21437323E-05  0.22397380E-05
+  0.23126529E-05  0.23624163E-05  0.23891767E-05  0.23932857E-05  0.23752896E-05
+  0.23359196E-05  0.22760813E-05  0.21968416E-05  0.20994157E-05  0.19851524E-05
+  0.18555189E-05  0.17120850E-05  0.15565060E-05  0.13905063E-05  0.12158623E-05
+  0.10343849E-05  0.84790272E-06  0.65824498E-06  0.46722542E-06  0.27662610E-06
+  0.88182235E-07 -0.96432316E-07 -0.27561869E-06 -0.44786563E-06 -0.61176105E-06
+ -0.76600248E-06 -0.90940617E-06 -0.10409151E-05 -0.11596055E-05 -0.12646923E-05
+ -0.13555325E-05 -0.14316286E-05 -0.14926287E-05 -0.15383273E-05 -0.15686631E-05
+ -0.15837168E-05 -0.15837066E-05 -0.15689836E-05 -0.15400253E-05 -0.14974285E-05
+ -0.14419012E-05 -0.13742537E-05 -0.12953888E-05 -0.12062916E-05 -0.11080189E-05
+ -0.10016876E-05 -0.88846338E-06 -0.76954920E-06 -0.64617321E-06 -0.51957713E-06
+ -0.39100463E-06 -0.26168993E-06 -0.13284673E-06 -0.56575985E-08  0.11873617E-06
+  0.23924409E-06  0.35483532E-06  0.46454683E-06  0.56749076E-06  0.66286088E-06
+  0.74993828E-06  0.82809602E-06  0.89680296E-06  0.95562658E-06  0.10042348E-05
+  0.10423970E-05  0.10699838E-05  0.10869664E-05  0.10934144E-05  0.10894933E-05
+  0.10754611E-05  0.10516635E-05  0.10185295E-05  0.97656513E-06  0.92634782E-06
+  0.86851908E-06  0.80377754E-06  0.73287127E-06  0.65658987E-06  0.57575636E-06
+  0.49121891E-06  0.40384252E-06  0.31450065E-06  0.22406708E-06  0.13340778E-06
+  0.43373085E-07 -0.45209802E-07 -0.13154400E-06 -0.21486970E-06 -0.29447041E-06
+ -0.36967874E-06 -0.43988155E-06 -0.50452456E-06 -0.56311628E-06 -0.61523130E-06
+ -0.66051294E-06 -0.69867516E-06 -0.72950384E-06 -0.75285729E-06 -0.76866619E-06
+ -0.77693279E-06 -0.77772948E-06 -0.77119677E-06 -0.75754063E-06 -0.73702932E-06
+ -0.70998970E-06 -0.67680308E-06 -0.63790058E-06 -0.59375822E-06 -0.54489163E-06
+ -0.49185048E-06 -0.43521276E-06 -0.37557887E-06 -0.31356558E-06 -0.24980003E-06
+ -0.18491372E-06 -0.11953651E-06 -0.54290839E-07  0.10213919E-07  0.73386891E-07
+  0.13466084E-06  0.19349698E-06  0.24938949E-06  0.30186957E-06  0.35050912E-06
+  0.39492396E-06  0.43477660E-06  0.46977849E-06  0.49969185E-06  0.52433087E-06
+  0.54356256E-06  0.55730693E-06  0.56553685E-06  0.56827727E-06  0.56560403E-06
+  0.55764226E-06  0.54456431E-06  0.52658722E-06  0.50396998E-06  0.47701026E-06
+  0.44604100E-06  0.41142663E-06  0.37355910E-06  0.33285375E-06  0.28974500E-06
+  0.24468193E-06  0.19812388E-06  0.15053591E-06  0.10238442E-06  0.54132716E-07
+  0.62367788E-08 -0.40858886E-07 -0.86725192E-07 -0.13095221E-06 -0.17315265E-06
+ -0.21296511E-06 -0.25005694E-06 -0.28412693E-06 -0.31490750E-06 -0.34216665E-06
+ -0.36570951E-06 -0.38537949E-06 -0.40105911E-06 -0.41267040E-06 -0.42017495E-06
+ -0.42357360E-06 -0.42290573E-06 -0.41824822E-06 -0.40971413E-06 -0.39745100E-06
+ -0.38163883E-06 -0.36248792E-06 -0.34023633E-06 -0.31514719E-06 -0.28750579E-06
+ -0.25761658E-06 -0.22579994E-06 -0.19238893E-06 -0.15772595E-06 -0.12215937E-06
+ -0.86040187E-07 -0.49718647E-07 -0.13541005E-07  0.22153667E-07  0.57036538E-07
+  0.90791928E-07  0.12312006E-06  0.15373959E-06  0.18238997E-06  0.20883351E-06
+  0.23285726E-06  0.25427458E-06  0.27292648E-06  0.28868261E-06  0.30144207E-06
+  0.31113384E-06  0.31771695E-06  0.32118039E-06  0.32154272E-06  0.31885140E-06
+  0.31318189E-06  0.30463646E-06  0.29334283E-06  0.27945252E-06  0.26313906E-06
+  0.24459602E-06  0.22403482E-06  0.20168251E-06  0.17777935E-06  0.15257633E-06
+  0.12633270E-06  0.99313318E-07  0.71786140E-07  0.44019613E-07  0.16280158E-07
+ -0.11170310E-07 -0.38076764E-07 -0.64193365E-07 -0.89285620E-07 -0.11313241E-06
+ -0.13552787E-06 -0.15628307E-06 -0.17522752E-06 -0.19221052E-06 -0.20710224E-06
+ -0.21979462E-06 -0.23020204E-06 -0.23826179E-06 -0.24393430E-06 -0.24720317E-06
+ -0.24807490E-06 -0.24657857E-06 -0.24276514E-06 -0.23670665E-06 -0.22849526E-06
+ -0.21824199E-06 -0.20607547E-06 -0.19214040E-06 -0.17659596E-06 -0.15961408E-06
+ -0.14137764E-06 -0.12207857E-06 -0.10191591E-06 -0.81093788E-07 -0.59819486E-07
+ -0.38301386E-07 -0.16747007E-07  0.46389382E-08  0.25656431E-07  0.46111962E-07
+  0.65820256E-07  0.84605894E-07  0.10230482E-06  0.11876572E-06  0.13385124E-06
+  0.14743910E-06  0.15942300E-06  0.16971338E-06  0.17823805E-06  0.18494256E-06
+  0.18979049E-06  0.19276351E-06  0.19386128E-06  0.19310120E-06  0.19051798E-06
+  0.18616304E-06  0.18010382E-06  0.17242285E-06  0.16321682E-06  0.15259538E-06
+  0.14067999E-06  0.12760255E-06  0.11350404E-06  0.98533033E-07  0.82844184E-07
+  0.66596694E-07  0.49952735E-07  0.33075874E-07  0.16129513E-07 -0.72465324E-09
+ -0.17328139E-07 -0.33527119E-07 -0.49173812E-07 -0.64127789E-07 -0.78257197E-07
+ -0.91439880E-07 -0.10356439E-06 -0.11453090E-06 -0.12425196E-06 -0.13265316E-06
+ -0.13967366E-06 -0.14526653E-06 -0.14939904E-06 -0.15205274E-06 -0.15322347E-06
+ -0.15292112E-06 -0.15116943E-06 -0.14800550E-06 -0.14347929E-06 -0.13765294E-06
+ -0.13060004E-06 -0.12240475E-06 -0.11316085E-06 -0.10297075E-06 -0.91944386E-07
+ -0.80198063E-07 -0.67853283E-07 -0.55035515E-07 -0.41872961E-07 -0.28495302E-07
+ -0.15032454E-07 -0.16133352E-08  0.11635336E-07  0.24590209E-07  0.37132420E-07
+  0.49148656E-07  0.60532143E-07  0.71183572E-07  0.81011928E-07  0.89935244E-07
+  0.97881244E-07  0.10478790E-06  0.11060388E-06  0.11528886E-06  0.11881382E-06
+  0.12116109E-06  0.12232439E-06  0.12230878E-06  0.12113038E-06  0.11881613E-06
+  0.11540336E-06  0.11093929E-06  0.10548050E-06  0.99092190E-07  0.91847517E-07
+  0.83826762E-07  0.75116481E-07  0.65808606E-07  0.55999498E-07  0.45788981E-07
+  0.35279347E-07  0.24574360E-07  0.13778250E-07  0.29947206E-08 -0.76740207E-08
+ -0.18128214E-07 -0.28271459E-07 -0.38011579E-07 -0.47261440E-07 -0.55939707E-07
+ -0.63971541E-07 -0.71289215E-07 -0.77832665E-07 -0.83549956E-07 -0.88397669E-07
+ -0.92341195E-07 -0.95354951E-07 -0.97422500E-07 -0.98536589E-07 -0.98699097E-07
+ -0.97920896E-07 -0.96221633E-07 -0.93629426E-07 -0.90180493E-07 -0.85918699E-07
+ -0.80895042E-07 -0.75167082E-07 -0.68798307E-07 -0.61857456E-07 -0.54417806E-07
+ -0.46556413E-07 -0.38353339E-07 -0.29890854E-07 -0.21252631E-07 -0.12522934E-07
+ -0.37858156E-08  0.48756775E-08  0.13380276E-07  0.21649236E-07  0.29607050E-07
+  0.37182121E-07  0.44307392E-07  0.50920920E-07  0.56966402E-07  0.62393631E-07
+  0.67158897E-07  0.71225322E-07  0.74563117E-07  0.77149777E-07  0.78970206E-07
+  0.80016760E-07  0.80289232E-07  0.79794755E-07  0.78547650E-07  0.76569190E-07
+  0.73887320E-07  0.70536305E-07  0.66556328E-07  0.61993032E-07  0.56897024E-07
+  0.51323331E-07  0.45330824E-07  0.38981613E-07  0.32340417E-07  0.25473921E-07
+  0.18450117E-07  0.11337647E-07  0.42051412E-08 -0.28794280E-08 -0.98493841E-08
+ -0.16639961E-07 -0.23188892E-07 -0.29436970E-07 -0.35328568E-07 -0.40812125E-07
+ -0.45840579E-07 -0.50371762E-07 -0.54368736E-07 -0.57800081E-07 -0.60640121E-07
+ -0.62869100E-07 -0.64473297E-07 -0.65445078E-07 -0.65782899E-07 -0.65491242E-07
+ -0.64580506E-07 -0.63066827E-07 -0.60971865E-07 -0.58322529E-07 -0.55150654E-07
+ -0.51492651E-07 -0.47389095E-07 -0.42884300E-07 -0.38025850E-07 -0.32864112E-07
+ -0.27451723E-07 -0.21843067E-07 -0.16093737E-07 -0.10259996E-07 -0.43982344E-08
+  0.14355627E-08  0.71863441E-08  0.12800501E-07  0.18226358E-07  0.23414641E-07
+  0.28318911E-07  0.32895976E-07  0.37106258E-07  0.40914127E-07  0.44288191E-07
+  0.47201541E-07  0.49631959E-07  0.51562064E-07  0.52979429E-07  0.53876634E-07
+  0.54251276E-07  0.54105940E-07  0.53448106E-07  0.52290030E-07  0.50648562E-07
+  0.48544941E-07  0.46004535E-07  0.43056558E-07  0.39733743E-07  0.36071996E-07
+  0.32110014E-07  0.27888888E-07  0.23451687E-07  0.18843027E-07  0.14108626E-07
+  0.92948675E-08  0.44483443E-08 -0.38457840E-09 -0.51582018E-08 -0.98279172E-08
+ -0.14350616E-07 -0.18685080E-07 -0.22792350E-07 -0.26636066E-07 -0.30182785E-07
+ -0.33402261E-07 -0.36267695E-07 -0.38755949E-07 -0.40847725E-07 -0.42527701E-07
+ -0.43784631E-07 -0.44611406E-07 -0.45005075E-07 -0.44966822E-07 -0.44501911E-07
+ -0.43619591E-07 -0.42332959E-07 -0.40658796E-07 -0.38617367E-07 -0.36232185E-07
+ -0.33529757E-07 -0.30539298E-07 -0.27292420E-07 -0.23822813E-07 -0.20165895E-07
+ -0.16358462E-07 -0.12438321E-07 -0.84439245E-08 -0.44139948E-08 -0.38715706E-09
+  0.35984264E-08  0.75054122E-08  0.11297620E-07  0.14940364E-07  0.18400759E-07
+  0.21648020E-07  0.24653721E-07  0.27392046E-07  0.29839999E-07  0.31977589E-07
+  0.33787991E-07  0.35257666E-07  0.36376450E-07  0.37137619E-07  0.37537909E-07
+  0.37577509E-07  0.37260025E-07  0.36592399E-07  0.35584817E-07  0.34250568E-07
+  0.32605889E-07  0.30669776E-07  0.28463775E-07  0.26011753E-07  0.23339640E-07
+  0.20475168E-07  0.17447585E-07  0.14287364E-07  0.11025901E-07  0.76952074E-08
+  0.43276014E-08  0.95539922E-09 -0.23893908E-08 -0.56753669E-08 -0.88720247E-08
+ -0.11950035E-07 -0.14881510E-07 -0.17640250E-07 -0.20201972E-07 -0.22544524E-07
+ -0.24648063E-07 -0.26495225E-07 -0.28071260E-07 -0.29364144E-07 -0.30364661E-07
+ -0.31066465E-07 -0.31466104E-07 -0.31563026E-07 -0.31359549E-07 -0.30860813E-07
+ -0.30074696E-07 -0.29011715E-07 -0.27684894E-07 -0.26109618E-07 -0.24303457E-07
+ -0.22285982E-07 -0.20078552E-07 -0.17704100E-07 -0.15186893E-07 -0.12552291E-07
+ -0.98264954E-08 -0.70362916E-08 -0.42087888E-08 -0.13711612E-08  0.14496101E-08
+  0.42269901E-08  0.69351355E-08  0.95491319E-08  0.12045220E-07  0.14401006E-07
+  0.16595662E-07  0.18610102E-07  0.20427146E-07  0.22031661E-07  0.23410684E-07
+  0.24553519E-07  0.25451815E-07  0.26099624E-07  0.26493423E-07  0.26632132E-07
+  0.26517089E-07  0.26152020E-07  0.25542974E-07  0.24698245E-07  0.23628266E-07
+  0.22345494E-07  0.20864267E-07  0.19200649E-07  0.17372264E-07  0.15398111E-07
+  0.13298372E-07  0.11094206E-07  0.88075432E-08  0.64608682E-08  0.40770010E-08
+  0.16788790E-08 -0.71066103E-09 -0.30690973E-08 -0.53744330E-08 -0.76053985E-08
+ -0.97416452E-08 -0.11763929E-07 -0.13654278E-07 -0.15396156E-07 -0.16974594E-07
+ -0.18376325E-07 -0.19589886E-07 -0.20605711E-07 -0.21416199E-07 -0.22015771E-07
+ -0.22400896E-07 -0.22570106E-07 -0.22523988E-07 -0.22265159E-07 -0.21798218E-07
+ -0.21129684E-07 -0.20267914E-07 -0.19223007E-07 -0.18006686E-07 -0.16632178E-07
+ -0.15114066E-07 -0.13468142E-07 -0.11711246E-07 -0.98610957E-08 -0.79361089E-08
+ -0.59552253E-08 -0.39377210E-08 -0.19030235E-08  0.12947253E-09  0.21405877E-08
+  0.41115363E-08  0.60240990E-08  0.78607894E-08  0.96050108E-08  0.11241205E-07
+  0.12754986E-07  0.14133267E-07  0.15364369E-07  0.16438116E-07  0.17345916E-07
+  0.18080829E-07  0.18637614E-07  0.19012761E-07  0.19204509E-07  0.19212846E-07
+  0.19039488E-07  0.18687849E-07  0.18162994E-07  0.17471570E-07  0.16621732E-07
+  0.15623051E-07  0.14486408E-07  0.13223881E-07  0.11848618E-07  0.10374701E-07
+  0.88170072E-08  0.71910591E-08  0.55128719E-08  0.37987983E-08  0.20653706E-08
+  0.32914233E-09 -0.13934677E-08 -0.30863295E-08 -0.47337509E-08 -0.63206208E-08
+ -0.78325462E-08 -0.92559808E-08 -0.10578344E-07 -0.11788132E-07 -0.12875014E-07
+ -0.13829917E-07 -0.14645103E-07 -0.15314224E-07 -0.15832370E-07 -0.16196103E-07
+ -0.16403471E-07 -0.16454014E-07 -0.16348755E-07 -0.16090177E-07 -0.15682179E-07
+ -0.15130034E-07 -0.14440317E-07 -0.13620840E-07 -0.12680557E-07 -0.11629478E-07
+   19.8421228800787      T
+ Non local Part
+           0           2   1.03170241276447     
+   8.48191517218165        11.7757836767903        11.7757836767903     
+   16.3515625171536     
+ Reciprocal Space Part
+  0.59618802E+02  0.58728804E+02  0.56074024E+02  0.51699804E+02  0.45680746E+02
+  0.38119274E+02  0.29143671E+02  0.18905623E+02  0.75773282E+01 -0.46517683E+01
+ -0.17578547E+02 -0.30990019E+02 -0.44667277E+02 -0.58389527E+02 -0.71938095E+02
+ -0.85100345E+02 -0.97673425E+02 -0.10946776E+03 -0.12031025E+03 -0.13004704E+03
+ -0.13854596E+03 -0.14569837E+03 -0.15142064E+03 -0.15565502E+03 -0.15837002E+03
+ -0.15956027E+03 -0.15924591E+03 -0.15747139E+03 -0.15430398E+03 -0.14983176E+03
+ -0.14416132E+03 -0.13741514E+03 -0.12972880E+03 -0.12124795E+03 -0.11212524E+03
+ -0.10251722E+03 -0.92581277E+02 -0.82472653E+02 -0.72341667E+02 -0.62331121E+02
+ -0.52573985E+02 -0.43191382E+02 -0.34290898E+02 -0.25965259E+02 -0.18291368E+02
+ -0.11329718E+02 -0.51241765E+01  0.29787571E+00  0.49250688E+01  0.87612564E+01
+  0.11824451E+02  0.14145521E+02  0.15766686E+02  0.16739863E+02  0.17124899E+02
+  0.16987748E+02  0.16398621E+02  0.15430172E+02  0.14155746E+02  0.12647730E+02
+  0.10976046E+02  0.92067952E+01  0.74011008E+01  0.56141435E+01  0.38944113E+01
+  0.22831646E+01  0.81411644E+00 -0.48667978E+00 -0.16007453E+01 -0.25169103E+01
+ -0.32308862E+01 -0.37446987E+01 -0.40660062E+01 -0.42073286E+01 -0.41852143E+01
+ -0.40193711E+01 -0.37317875E+01 -0.33458677E+01 -0.28856034E+01 -0.23748024E+01
+ -0.18363896E+01 -0.12917960E+01 -0.76044515E+00 -0.25934295E+00  0.19722322E+00
+  0.59787806E+00  0.93424642E+00  0.12009418E+01  0.13954638E+01  0.15180138E+01
+  0.15712429E+01  0.15599426E+01  0.14906942E+01  0.13714899E+01  0.12113407E+01
+  0.10198828E+01  0.80699697E+00  0.58245003E+00  0.35557023E+00  0.13496271E+00
+ Real Space Part
+ -0.87257185E+03 -0.87217325E+03 -0.87097758E+03 -0.86898535E+03 -0.86619740E+03
+ -0.86261493E+03 -0.85823952E+03 -0.85307319E+03 -0.84711839E+03 -0.84037811E+03
+ -0.83285587E+03 -0.82455582E+03 -0.81548281E+03 -0.80564241E+03 -0.79504105E+03
+ -0.78368604E+03 -0.77158570E+03 -0.75874942E+03 -0.74518776E+03 -0.73091251E+03
+ -0.71593685E+03 -0.70027535E+03 -0.68394415E+03 -0.66696100E+03 -0.64934533E+03
+ -0.63111840E+03 -0.61230331E+03 -0.59292512E+03 -0.57301089E+03 -0.55258976E+03
+ -0.53169298E+03 -0.51035396E+03 -0.48860832E+03 -0.46649386E+03 -0.44405060E+03
+ -0.42132076E+03 -0.39834870E+03 -0.37518093E+03 -0.35186599E+03 -0.32845440E+03
+ -0.30499855E+03 -0.28155254E+03 -0.25817210E+03 -0.23491433E+03 -0.21183758E+03
+ -0.18900121E+03 -0.16646531E+03 -0.14429049E+03 -0.12253758E+03 -0.10126731E+03
+ -0.80539962E+02 -0.60415079E+02 -0.40951054E+02 -0.22204768E+02 -0.42311995E+01
+  0.12916980E+02  0.29189809E+02  0.44540445E+02  0.58925573E+02  0.72305804E+02
+  0.84646067E+02  0.95915987E+02  0.10609024E+03  0.11514887E+03  0.12307763E+03
+  0.12986821E+03  0.13551849E+03  0.14003271E+03  0.14342163E+03  0.14570263E+03
+  0.14689971E+03  0.14704353E+03  0.14617130E+03  0.14432667E+03  0.14155957E+03
+  0.13792593E+03  0.13348743E+03  0.12831116E+03  0.12246922E+03  0.11603831E+03
+  0.10909924E+03  0.10173648E+03  0.94037578E+02  0.86092680E+02  0.77993902E+02
+  0.69834817E+02  0.61709839E+02  0.53713688E+02  0.45940793E+02  0.38484762E+02
+  0.31437841E+02  0.24890391E+02  0.18930406E+02  0.13643042E+02  0.91101706E+01
+  0.54100403E+01  0.26168332E+01  0.79835325E+00  0.23427012E-01  0.00000000E+00
+ Reciprocal Space Part
+ -0.36489549E+02 -0.35864156E+02 -0.33998755E+02 -0.30925471E+02 -0.26697153E+02
+ -0.21386360E+02 -0.15083959E+02 -0.78973858E+01  0.51413298E-01  0.86282977E+01
+  0.17689472E+02  0.27084188E+02  0.36657552E+02  0.46253383E+02  0.55717063E+02
+  0.64898313E+02  0.73653855E+02  0.81849887E+02  0.89364344E+02  0.96088881E+02
+  0.10193057E+03  0.10681323E+03  0.11067846E+03  0.11348624E+03  0.11521523E+03
+  0.11586261E+03  0.11544365E+03  0.11399089E+03  0.11155304E+03  0.10819353E+03
+  0.10398888E+03  0.99026864E+02  0.93404459E+02  0.87225735E+02  0.80599650E+02
+  0.73637846E+02  0.66452460E+02  0.59154022E+02  0.51849465E+02  0.44640290E+02
+  0.37620922E+02  0.30877278E+02  0.24485577E+02  0.18511398E+02  0.13009009E+02
+  0.80209530E+01  0.35779043E+01 -0.30122499E+00 -0.36089364E+01 -0.63485770E+01
+ -0.85335736E+01 -0.10186497E+02 -0.11337984E+02 -0.12025554E+02 -0.12292345E+02
+ -0.12185805E+02 -0.11756382E+02 -0.11056219E+02 -0.10137909E+02 -0.90533175E+01
+ -0.78525080E+01 -0.65827802E+01 -0.52878430E+01 -0.40071309E+01 -0.27752721E+01
+ -0.16217097E+01 -0.57047779E+00  0.35987548E+00  0.11562232E+01  0.18106666E+01
+  0.23202264E+01  0.26864349E+01  0.29148468E+01  0.30144856E+01  0.29972475E+01
+  0.28772789E+01  0.26703472E+01  0.23932227E+01  0.20630867E+01  0.16969795E+01
+  0.13113025E+01  0.92138094E+00  0.54109837E+00  0.18260423E+00 -0.14390035E+00
+ -0.43029978E+00 -0.67062595E+00 -0.86104898E+00 -0.99980292E+00 -0.10870535E+01
+ -0.11247164E+01 -0.11162365E+01 -0.10663359E+01 -0.98074332E+00 -0.86591280E+00
+ -0.72874294E+00 -0.57630417E+00 -0.41558297E+00 -0.25324963E+00 -0.95455204E-01
+ Real Space Part
+  0.63319797E+03  0.63291041E+03  0.63204781E+03  0.63061056E+03  0.62859924E+03
+  0.62601473E+03  0.62285817E+03  0.61913101E+03  0.61483503E+03  0.60997237E+03
+  0.60454559E+03  0.59855767E+03  0.59201211E+03  0.58491291E+03  0.57726472E+03
+  0.56907280E+03  0.56034314E+03  0.55108251E+03  0.54129849E+03  0.53099960E+03
+  0.52019530E+03  0.50889609E+03  0.49711358E+03  0.48486054E+03  0.47215095E+03
+  0.45900011E+03  0.44542463E+03  0.43144254E+03  0.41707331E+03  0.40233788E+03
+  0.38725874E+03  0.37185991E+03  0.35616701E+03  0.34020723E+03  0.32400934E+03
+  0.30760369E+03  0.29102220E+03  0.27429832E+03  0.25746694E+03  0.24056440E+03
+  0.22362837E+03  0.20669777E+03  0.18981266E+03  0.17301414E+03  0.15634416E+03
+  0.13984541E+03  0.12356113E+03  0.10753493E+03  0.91810566E+02  0.76431735E+02
+  0.61441833E+02  0.46883707E+02  0.32799393E+02  0.19229849E+02  0.62146659E+01
+ -0.62082134E+01 -0.18002788E+02 -0.29135292E+02 -0.39574487E+02 -0.49291950E+02
+ -0.58262356E+02 -0.66463744E+02 -0.73877778E+02 -0.80489982E+02 -0.86289957E+02
+ -0.91271581E+02 -0.95433167E+02 -0.98777602E+02 -0.10131245E+03 -0.10305002E+03
+ -0.10400739E+03 -0.10420642E+03 -0.10367366E+03 -0.10244030E+03 -0.10054203E+03
+ -0.98018889E+02 -0.94915012E+02 -0.91278431E+02 -0.87160797E+02 -0.82617056E+02
+ -0.77705128E+02 -0.72485556E+02 -0.67021113E+02 -0.61376433E+02 -0.55617588E+02
+ -0.49811699E+02 -0.44026502E+02 -0.38329965E+02 -0.32789855E+02 -0.27473361E+02
+ -0.22446704E+02 -0.17774762E+02 -0.13520724E+02 -0.97457493E+01 -0.65086493E+01
+ -0.38656440E+01 -0.18700414E+01 -0.57059033E+00 -0.16714955E-01  0.00000000E+00
+ Non local Part
+           1           2   1.03170241276447     
+   2.65859946877321        4.88238126795342        4.88238126795342     
+   8.98435195357541     
+ Reciprocal Space Part
+  0.00000000E+00  0.38861820E+01  0.76566506E+01  0.11198191E+02  0.14402530E+02
+  0.17168669E+02  0.19405054E+02  0.21031535E+02  0.21981079E+02  0.22201184E+02
+  0.21654974E+02  0.20321960E+02  0.18198431E+02  0.15297488E+02  0.11648712E+02
+  0.72974833E+01  0.23039596E+01 -0.32582469E+01 -0.93036735E+01 -0.15736848E+02
+ -0.22454324E+02 -0.29346862E+02 -0.36301710E+02 -0.43204929E+02 -0.49943706E+02
+ -0.56408622E+02 -0.62495800E+02 -0.68108907E+02 -0.73160964E+02 -0.77575922E+02
+ -0.81289979E+02 -0.84252614E+02 -0.86427318E+02 -0.87792019E+02 -0.88339191E+02
+ -0.88075654E+02 -0.87022084E+02 -0.85212244E+02 -0.82691957E+02 -0.79517866E+02
+ -0.75756000E+02 -0.71480183E+02 -0.66770345E+02 -0.61710747E+02 -0.56388189E+02
+ -0.50890222E+02 -0.45303418E+02 -0.39711722E+02 -0.34194931E+02 -0.28827322E+02
+ -0.23676453E+02 -0.18802168E+02 -0.14255806E+02 -0.10079632E+02 -0.63064936E+01
+ -0.29596904E+01 -0.53068427E-01  0.24086920E+01  0.44295991E+01  0.60217087E+01
+  0.72043400E+01  0.80031754E+01  0.84492707E+01  0.85780039E+01  0.84279913E+01
+  0.80399981E+01  0.74558696E+01  0.67175093E+01  0.58659233E+01  0.49403528E+01
+  0.39775094E+01  0.30109262E+01  0.20704331E+01  0.11817624E+01  0.36628567E+00
+ -0.35911990E+00 -0.98208097E+00 -0.14946211E+01 -0.18929483E+01 -0.21771504E+01
+ -0.23508116E+01 -0.24205674E+01 -0.23956133E+01 -0.22871843E+01 -0.21080214E+01
+ -0.18718417E+01 -0.15928247E+01 -0.12851305E+01 -0.96245910E+00 -0.63766179E+00
+ -0.32241090E+00 -0.26933951E-01  0.24018535E+00  0.47213831E+00  0.66395584E+00
+  0.81250966E+00  0.91645487E+00  0.97612004E+00  0.99335246E+00  0.97132649E+00
+ Real Space Part
+  0.00000000E+00 -0.22186814E+02 -0.44301839E+02 -0.66273522E+02 -0.88030777E+02
+ -0.10950322E+03 -0.13062140E+03 -0.15131703E+03 -0.17152321E+03 -0.19117468E+03
+ -0.21020799E+03 -0.22856176E+03 -0.24617690E+03 -0.26299679E+03 -0.27896751E+03
+ -0.29403802E+03 -0.30816039E+03 -0.32128994E+03 -0.33338548E+03 -0.34440943E+03
+ -0.35432799E+03 -0.36311136E+03 -0.37073379E+03 -0.37717380E+03 -0.38241426E+03
+ -0.38644250E+03 -0.38925046E+03 -0.39083470E+03 -0.39119654E+03 -0.39034209E+03
+ -0.38828229E+03 -0.38503293E+03 -0.38061467E+03 -0.37505301E+03 -0.36837826E+03
+ -0.36062551E+03 -0.35183450E+03 -0.34204958E+03 -0.33131954E+03 -0.31969747E+03
+ -0.30724063E+03 -0.29401017E+03 -0.28007097E+03 -0.26549136E+03 -0.25034283E+03
+ -0.23469974E+03 -0.21863898E+03 -0.20223959E+03 -0.18558239E+03 -0.16874958E+03
+ -0.15182426E+03 -0.13489000E+03 -0.11803038E+03 -0.10132845E+03 -0.84866250E+02
+ -0.68724282E+02 -0.52980979E+02 -0.37712173E+02 -0.22990566E+02 -0.88851973E+01
+  0.45390663E+01  0.17222034E+02  0.29108671E+02  0.40149550E+02  0.50301273E+02
+  0.59526856E+02  0.67796071E+02  0.75085739E+02  0.81379975E+02  0.86670373E+02
+  0.90956134E+02  0.94244139E+02  0.96548944E+02  0.97892719E+02  0.98305121E+02
+  0.97823113E+02  0.96490698E+02  0.94358601E+02  0.91483927E+02  0.87929701E+02
+  0.83764422E+02  0.79061549E+02  0.73898935E+02  0.68358280E+02  0.62524490E+02
+  0.56485105E+02  0.50329625E+02  0.44148922E+02  0.38034576E+02  0.32078283E+02
+  0.26371234E+02  0.21003526E+02  0.16063609E+02  0.11637728E+02  0.78094126E+01
+  0.46590409E+01  0.22633368E+01  0.69369210E+00  0.17747648E-01  0.00000000E+00
+ Reciprocal Space Part
+  0.00000000E+00 -0.17868362E+01 -0.35144269E+01 -0.51248277E+01 -0.65626676E+01
+ -0.77763629E+01 -0.87192468E+01 -0.93505888E+01 -0.96364809E+01 -0.95505728E+01
+ -0.90746384E+01 -0.81989629E+01 -0.69225426E+01 -0.52530936E+01 -0.32068705E+01
+ -0.80830207E+00  0.19105496E+01  0.49106895E+01  0.81470351E+01  0.11569385E+02
+  0.15123488E+02  0.18752190E+02  0.22396628E+02  0.25997448E+02  0.29496018E+02
+  0.32835608E+02  0.35962514E+02  0.38827099E+02  0.41384736E+02  0.43596618E+02
+  0.45430445E+02  0.46860950E+02  0.47870266E+02  0.48448142E+02  0.48591976E+02
+  0.48306705E+02  0.47604523E+02  0.46504469E+02  0.45031872E+02  0.43217686E+02
+  0.41097721E+02  0.38711805E+02  0.36102874E+02  0.33316045E+02  0.30397658E+02
+  0.27394336E+02  0.24352070E+02  0.21315355E+02  0.18326389E+02  0.15424354E+02
+  0.12644790E+02  0.10019079E+02  0.75740326E+01  0.53316035E+01  0.33087123E+01
+  0.15171909E+01 -0.36159418E-01 -0.13494048E+01 -0.24252171E+01 -0.32705252E+01
+ -0.38960921E+01 -0.43160309E+01 -0.45472742E+01 -0.46090120E+01 -0.45221135E+01
+ -0.43085463E+01 -0.39908088E+01 -0.35913863E+01 -0.31322454E+01 -0.26343746E+01
+ -0.21173800E+01 -0.15991441E+01 -0.10955499E+01 -0.62027500E+00 -0.18465580E+00
+  0.20237976E+00  0.53431322E+00  0.80697500E+00  0.10184279E+01  0.11688016E+01
+  0.12600861E+01  0.12958921E+01  0.12811875E+01  0.12220191E+01  0.11252269E+01
+  0.99816176E+00  0.84841124E+00  0.68354309E+00  0.51087098E+00  0.33724795E+00
+  0.16889148E+00  0.11242749E-01 -0.13113830E+00 -0.25464171E+00 -0.35664077E+00
+ -0.43549155E+00 -0.49050126E+00 -0.52186870E+00 -0.53060095E+00 -0.51841055E+00
+ Real Space Part
+  0.00000000E+00  0.12161252E+02  0.24283469E+02  0.36327742E+02  0.48255417E+02
+  0.60028220E+02  0.71608383E+02  0.82958767E+02  0.94042991E+02  0.10482555E+03
+  0.11527193E+03  0.12534873E+03  0.13502381E+03  0.14426635E+03  0.15304699E+03
+  0.16133795E+03  0.16911311E+03  0.17634814E+03  0.18302057E+03  0.18910990E+03
+  0.19459770E+03  0.19946767E+03  0.20370573E+03  0.20730009E+03  0.21024135E+03
+  0.21252251E+03  0.21413905E+03  0.21508898E+03  0.21537287E+03  0.21499392E+03
+  0.21395789E+03  0.21227322E+03  0.20995096E+03  0.20700481E+03  0.20345105E+03
+  0.19930856E+03  0.19459875E+03  0.18934552E+03  0.18357519E+03  0.17731641E+03
+  0.17060007E+03  0.16345921E+03  0.15592887E+03  0.14804598E+03  0.13984918E+03
+  0.13137868E+03  0.12267606E+03  0.11378408E+03  0.10474648E+03  0.95607747E+02
+  0.86412883E+02  0.77207157E+02  0.68035844E+02  0.58943963E+02  0.49976000E+02
+  0.41175622E+02  0.32585400E+02  0.24246514E+02  0.16198468E+02  0.84788075E+01
+  0.11228377E+01 -0.58366451E+01 -0.12369614E+02 -0.18449055E+02 -0.24051197E+02
+ -0.29155721E+02 -0.33745943E+02 -0.37808973E+02 -0.41335852E+02 -0.44321651E+02
+ -0.46765541E+02 -0.48670833E+02 -0.50044982E+02 -0.50899549E+02 -0.51250136E+02
+ -0.51116295E+02 -0.50521380E+02 -0.49492378E+02 -0.48059729E+02 -0.46257077E+02
+ -0.44121031E+02 -0.41690892E+02 -0.39008342E+02 -0.36117160E+02 -0.33062867E+02
+ -0.29892426E+02 -0.26653874E+02 -0.23396010E+02 -0.20168034E+02 -0.17019231E+02
+ -0.13998631E+02 -0.11154698E+02 -0.85350264E+01 -0.61860453E+01 -0.41527388E+01
+ -0.24784108E+01 -0.12044157E+01 -0.36926989E+00 -0.93979993E-02  0.00000000E+00
+ PAW radial sets
+         351  0.989218471734280     
+(5E20.12)                                
+ augmentation charges (non sperical)
+ -0.118612820244E+00 -0.166184190184E+00 -0.532145144881E-01 -0.101222164724E+00 -0.166184190184E+00
+ -0.232848406670E+00 -0.743582353105E-01 -0.141431561143E+00 -0.532145144881E-01 -0.743582353105E-01
+ -0.179689550405E-01 -0.343505440708E-01 -0.101222164724E+00 -0.141431561143E+00 -0.343505440708E-01
+ -0.655142723317E-01
+ uccopancies in atom
+  0.200000000235E+01  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.666666668254E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00
+ grid
+  0.353278105438E-04  0.364765828105E-04  0.376627102856E-04  0.388874076671E-04  0.401519291522E-04
+  0.414575697215E-04  0.428056664648E-04  0.441975999512E-04  0.456347956421E-04  0.471187253514E-04
+  0.486509087530E-04  0.502329149365E-04  0.518663640144E-04  0.535529287814E-04  0.552943364272E-04
+  0.570923703053E-04  0.589488717596E-04  0.608657420098E-04  0.628449440985E-04  0.648885049016E-04
+  0.669985172040E-04  0.691771418426E-04  0.714266099194E-04  0.737492250864E-04  0.761473659044E-04
+  0.786234882792E-04  0.811801279764E-04  0.838199032186E-04  0.865455173661E-04  0.893597616862E-04
+  0.922655182109E-04  0.952657626888E-04  0.983635676325E-04  0.101562105465E-03  0.104864651768E-03
+  0.108274588638E-03  0.111795408149E-03  0.115430715926E-03  0.119184234844E-03  0.123059808833E-03
+  0.127061406819E-03  0.131193126789E-03  0.135459199986E-03  0.139863995240E-03  0.144412023447E-03
+  0.149107942186E-03  0.153956560487E-03  0.158962843759E-03  0.164131918874E-03  0.169469079417E-03
+  0.174979791106E-03  0.180669697392E-03  0.186544625235E-03  0.192610591076E-03  0.198873806993E-03
+  0.205340687067E-03  0.212017853948E-03  0.218912145639E-03  0.226030622496E-03  0.233380574462E-03
+  0.240969528530E-03  0.248805256452E-03  0.256895782699E-03  0.265249392676E-03  0.273874641209E-03
+  0.282780361308E-03  0.291975673207E-03  0.301469993709E-03  0.311273045829E-03  0.321394868748E-03
+  0.331845828098E-03  0.342636626573E-03  0.353778314896E-03  0.365282303127E-03  0.377160372357E-03
+  0.389424686766E-03  0.402087806084E-03  0.415162698451E-03  0.428662753701E-03  0.442601797068E-03
+  0.456994103352E-03  0.471854411533E-03  0.487197939863E-03  0.503040401457E-03  0.519398020380E-03
+  0.536287548263E-03  0.553726281459E-03  0.571732078754E-03  0.590323379658E-03  0.609519223288E-03
+  0.629339267864E-03  0.649803810846E-03  0.670933809712E-03  0.692750903429E-03  0.715277434606E-03
+  0.738536472381E-03  0.762551836040E-03  0.787348119413E-03  0.812950716063E-03  0.839385845286E-03
+  0.866680578963E-03  0.894862869287E-03  0.923961577387E-03  0.954006502881E-03  0.985028414399E-03
+  0.101705908109E-02  0.105013130516E-02  0.108427895544E-02  0.111953700213E-02  0.115594155253E-02
+  0.119352988810E-02  0.123234050257E-02  0.127241314140E-02  0.131378884247E-02  0.135650997813E-02
+  0.140062029854E-02  0.144616497653E-02  0.149319065382E-02  0.154174548883E-02  0.159187920594E-02
+  0.164364314647E-02  0.169709032120E-02  0.175227546473E-02  0.180925509145E-02  0.186808755348E-02
+  0.192883310041E-02  0.199155394099E-02  0.205631430683E-02  0.212318051821E-02  0.219222105197E-02
+  0.226350661166E-02  0.233711019991E-02  0.241310719324E-02  0.249157541920E-02  0.257259523611E-02
+  0.265624961535E-02  0.274262422631E-02  0.283180752413E-02  0.292389084032E-02  0.301896847624E-02
+  0.311713779968E-02  0.321849934462E-02  0.332315691413E-02  0.343121768671E-02  0.354279232604E-02
+  0.365799509430E-02  0.377694396919E-02  0.389976076474E-02  0.402657125610E-02  0.415750530828E-02
+  0.429269700920E-02  0.443228480697E-02  0.457641165169E-02  0.472522514185E-02  0.487887767547E-02
+  0.503752660617E-02  0.520133440431E-02  0.537046882339E-02  0.554510307185E-02  0.572541599040E-02
+  0.591159223525E-02  0.610382246712E-02  0.630230354657E-02  0.650723873558E-02  0.671883790569E-02
+  0.693731775293E-02  0.716290201977E-02  0.739582172419E-02  0.763631539635E-02  0.788462932276E-02
+  0.814101779859E-02  0.840574338805E-02  0.867907719326E-02  0.896129913194E-02  0.925269822400E-02
+  0.955357288758E-02  0.986423124464E-02  0.101849914365E-01  0.105161819495E-01  0.108581419519E-01
+  0.112112216404E-01  0.115757825996E-01  0.119521981717E-01  0.123408538391E-01  0.127421476193E-01
+  0.131564904721E-01  0.135843067208E-01  0.140260344867E-01  0.144821261375E-01  0.149530487510E-01
+  0.154392845931E-01  0.159413316118E-01  0.164597039470E-01  0.169949324574E-01  0.175475652638E-01
+  0.181181683104E-01  0.187073259445E-01  0.193156415151E-01  0.199437379906E-01  0.205922585965E-01
+  0.212618674747E-01  0.219532503631E-01  0.226671152982E-01  0.234041933402E-01  0.241652393213E-01
+  0.249510326191E-01  0.257623779547E-01  0.266001062165E-01  0.274650753115E-01  0.283581710436E-01
+  0.292803080210E-01  0.302324305924E-01  0.312155138146E-01  0.322305644506E-01  0.332786220011E-01
+  0.343607597686E-01  0.354780859567E-01  0.366317448050E-01  0.378229177610E-01  0.390528246900E-01
+  0.403227251240E-01  0.416339195521E-01  0.429877507520E-01  0.443856051652E-01  0.458289143166E-01
+  0.473191562810E-01  0.488578571964E-01  0.504465928270E-01  0.520869901769E-01  0.537807291563E-01
+  0.555295443019E-01  0.573352265534E-01  0.591996250870E-01  0.611246492098E-01  0.631122703148E-01
+  0.651645238996E-01  0.672835116512E-01  0.694714035982E-01  0.717304403333E-01  0.740629353074E-01
+  0.764712771991E-01  0.789579323611E-01  0.815254473456E-01  0.841764515121E-01  0.869136597208E-01
+  0.897398751118E-01  0.926579919768E-01  0.956709987225E-01  0.987819809310E-01  0.101994124520E+00
+  0.105310719005E+00  0.108735160869E+00  0.112270957040E+00  0.115921728481E+00  0.119691213902E+00
+  0.123583273585E+00  0.127601893339E+00  0.131751188583E+00  0.136035408556E+00  0.140458940676E+00
+  0.145026315024E+00  0.149742208992E+00  0.154611452068E+00  0.159639030781E+00  0.164830093811E+00
+  0.170189957261E+00  0.175724110099E+00  0.181438219781E+00  0.187338138056E+00  0.193429906954E+00
+  0.199719764979E+00  0.206214153496E+00  0.212919723327E+00  0.219843341560E+00  0.226992098585E+00
+  0.234373315355E+00  0.241994550880E+00  0.249863609972E+00  0.257988551235E+00  0.266377695319E+00
+  0.275039633439E+00  0.283983236179E+00  0.293217662568E+00  0.302752369466E+00  0.312597121246E+00
+  0.322761999795E+00  0.333257414835E+00  0.344094114590E+00  0.355283196787E+00  0.366836120023E+00
+  0.378764715502E+00  0.391081199148E+00  0.403798184116E+00  0.416928693710E+00  0.430486174720E+00
+  0.444484511190E+00  0.458938038641E+00  0.473861558747E+00  0.489270354497E+00  0.505180205845E+00
+  0.521607405869E+00  0.538568777456E+00  0.556081690535E+00  0.574164079857E+00  0.592834463369E+00
+  0.612111961177E+00  0.632016315122E+00  0.652567909002E+00  0.673787789445E+00  0.695697687463E+00
+  0.718320040705E+00  0.741678016440E+00  0.765795535274E+00  0.790697295655E+00  0.816408799161E+00
+  0.842956376619E+00  0.870367215068E+00  0.898669385601E+00  0.927891872115E+00  0.958064600989E+00
+  0.989218471734E+00  0.102138538864E+01  0.105459829343E+01  0.108889119903E+01  0.112429922437E+01
+  0.116085863037E+01  0.119860685704E+01  0.123758256187E+01  0.127782565939E+01  0.131937736205E+01
+  0.136228022242E+01  0.140657817678E+01  0.145231659010E+01  0.149954230253E+01  0.154830367731E+01
+  0.159865065035E+01  0.165063478135E+01  0.170430930661E+01  0.175972919353E+01  0.181695119691E+01
+  0.187603391710E+01  0.193703785995E+01  0.200002549884E+01  0.206506133861E+01  0.213221198164E+01
+  0.220154619607E+01  0.227313498618E+01  0.234705166515E+01  0.242337193012E+01  0.250217393971E+01
+  0.258353839407E+01
+ aepotential
+  0.249296947974E+05  0.247076561026E+05  0.244443313547E+05  0.241414253640E+05  0.238012309740E+05
+  0.234259813678E+05  0.230181043480E+05  0.225809961616E+05  0.221166800594E+05  0.216286109490E+05
+  0.211196171324E+05  0.205927134571E+05  0.200508445329E+05  0.194969963033E+05  0.189339771311E+05
+  0.183645026186E+05  0.177912890443E+05  0.172167064663E+05  0.166431270260E+05  0.160726862779E+05
+  0.155073402250E+05  0.149488848247E+05  0.143989117768E+05  0.138588393857E+05  0.133298963598E+05
+  0.128131392341E+05  0.123094542557E+05  0.118195679465E+05  0.113440551010E+05  0.108833506728E+05
+  0.104377601662E+05  0.100074714858E+05  0.959256622382E+04  0.919303113611E+04  0.880876923400E+04
+  0.843961046952E+04  0.808532192877E+04  0.774561726178E+04  0.742016531312E+04  0.710859980992E+04
+  0.681052312014E+04  0.652551855157E+04  0.625315022209E+04  0.599297269034E+04  0.574453507071E+04
+  0.550738155297E+04  0.528105943435E+04  0.506512283908E+04  0.485912669119E+04  0.466263692016E+04
+  0.447523241993E+04  0.429649920031E+04  0.412604217009E+04  0.396347085357E+04  0.380841736718E+04
+  0.366052059215E+04  0.351943998366E+04  0.338484550824E+04  0.325642075114E+04  0.313386784458E+04
+  0.301689601724E+04  0.290523717951E+04  0.279862371984E+04  0.269681383135E+04  0.259956791482E+04
+  0.250666289932E+04  0.241788601403E+04  0.233303530109E+04  0.225191811134E+04  0.217435346238E+04
+  0.210016749107E+04  0.202919681943E+04  0.196128648905E+04  0.189628781912E+04  0.183406428064E+04
+  0.177447815378E+04  0.171741030060E+04  0.166273352875E+04  0.161034457319E+04  0.156012716492E+04
+  0.151198483922E+04  0.146582052759E+04  0.142154086395E+04  0.137906097148E+04  0.133829797002E+04
+  0.129917207490E+04  0.126161128619E+04  0.122554324807E+04  0.119090137554E+04  0.115762273768E+04
+  0.112564519634E+04  0.109491260230E+04  0.106536958529E+04  0.103696376209E+04  0.100964626874E+04
+  0.983369386517E+03  0.958088259270E+03  0.933760491469E+03  0.910344918809E+03  0.887802999165E+03
+  0.866097688492E+03  0.845193722659E+03  0.825057486722E+03  0.805656949235E+03  0.786961460988E+03
+  0.768941860254E+03  0.751570280175E+03  0.734820058649E+03  0.718665839953E+03  0.703083242035E+03
+  0.688049142095E+03  0.673541285748E+03  0.659538404365E+03  0.646020181485E+03  0.632967306499E+03
+  0.620361030724E+03  0.608183507242E+03  0.596417880177E+03  0.585047538181E+03  0.574057005309E+03
+  0.563431167138E+03  0.553155596176E+03  0.543216472219E+03  0.533600577089E+03  0.524295096628E+03
+  0.515287864004E+03  0.506567108698E+03  0.498121462758E+03  0.489940202519E+03  0.482012792804E+03
+  0.474329218497E+03  0.466879807157E+03  0.459655277491E+03  0.452646665244E+03  0.445845326919E+03
+  0.439242971301E+03  0.432831556708E+03  0.426603373307E+03  0.420550954576E+03  0.414667100840E+03
+  0.408944864593E+03  0.403377536754E+03  0.397958629585E+03  0.392681872509E+03  0.387541205851E+03
+  0.382530758167E+03  0.377644862756E+03  0.372878015893E+03  0.368224898594E+03  0.363680350460E+03
+  0.359239371823E+03  0.354897097109E+03  0.350648847402E+03  0.346490028292E+03  0.342416224923E+03
+  0.338423107351E+03  0.334506504401E+03  0.330662319969E+03  0.326886614027E+03  0.323175521883E+03
+  0.319525291137E+03  0.315932256738E+03  0.312392876939E+03  0.308903660561E+03  0.305461237806E+03
+  0.302062300261E+03  0.298703633981E+03  0.295382095296E+03  0.292094620152E+03  0.288838215885E+03
+  0.285609957558E+03  0.282406996490E+03  0.279226542503E+03  0.276065876855E+03  0.272922339966E+03
+  0.269793336953E+03  0.266676334707E+03  0.263568857552E+03  0.260468492389E+03  0.257372882929E+03
+  0.254279731763E+03  0.251186799954E+03  0.248091907223E+03  0.244992930370E+03  0.241887805727E+03
+  0.238774528474E+03  0.235651153907E+03  0.232515797559E+03  0.229366637373E+03  0.226201914200E+03
+  0.223019933142E+03  0.219819066345E+03  0.216597753942E+03  0.213354506528E+03  0.210087907601E+03
+  0.206796615859E+03  0.203479368741E+03  0.200134985511E+03  0.196762369494E+03  0.193360514156E+03
+  0.189928504953E+03  0.186465523853E+03  0.182970859195E+03  0.179443901362E+03  0.175884158862E+03
+  0.172291258360E+03  0.168664954571E+03  0.165005135639E+03  0.161311835637E+03  0.157585240450E+03
+  0.153825700617E+03  0.150033742009E+03  0.146210080614E+03  0.142355636015E+03  0.138471547517E+03
+  0.134559194204E+03  0.130620213523E+03  0.126656524279E+03  0.122670351092E+03  0.118664249894E+03
+  0.114641136764E+03  0.110604316344E+03  0.106557510777E+03  0.102504888129E+03  0.984510866673E+02
+  0.944012339330E+02  0.903609560496E+02  0.863363727654E+02  0.823340720461E+02  0.783610582152E+02
+  0.744246635302E+02  0.705324163825E+02  0.666918556889E+02  0.629102857223E+02  0.591944670209E+02
+  0.555502478406E+02  0.519821533052E+02  0.484929672889E+02  0.450833747727E+02  0.417517679667E+02
+  0.384943736779E+02  0.353058990617E+02  0.321809409707E+02  0.291163273793E+02  0.261144332192E+02
+  0.231871490568E+02  0.203596536608E+02  0.176726023843E+02  0.151810750610E+02  0.129490421852E+02
+  0.110393419844E+02  0.950085960920E+01  0.835601618665E+01  0.759220066468E+01  0.716026999428E+01
+  0.698171626746E+01  0.696337605625E+01  0.701521103097E+01  0.706481640894E+01  0.706399982574E+01
+  0.698712687429E+01  0.682461396109E+01  0.657568919727E+01  0.624298320013E+01  0.582958771078E+01
+  0.533805431630E+01  0.477041539462E+01  0.412860168459E+01  0.341481102932E+01  0.263171179070E+01
+  0.178246356837E+01  0.870634857094E+00 -0.999435655628E-01 -0.112531912148E+01 -0.220152950825E+01
+ -0.332469240511E+01 -0.449104627091E+01 -0.569696900609E+01 -0.693897492393E+01 -0.821369212013E+01
+ -0.951782569431E+01 -0.108481106853E+02 -0.122012544483E+02 -0.135738672328E+02 -0.149623731041E+02
+ -0.163629117637E+02 -0.177712183098E+02 -0.191824857852E+02 -0.205912204531E+02 -0.219910948777E+02
+ -0.233748286767E+02 -0.247341319073E+02 -0.260597523206E+02 -0.273417023275E+02 -0.285696934068E+02
+ -0.297338412853E+02 -0.308256304858E+02 -0.318391158428E+02 -0.327722938273E+02 -0.336286100568E+02
+ -0.344184456425E+02 -0.351602597585E+02 -0.358801414497E+02 -0.366068311139E+02 -0.373574865876E+02
+ -0.381118852062E+02 -0.387867275622E+02 -0.392441858557E+02 -0.393634905455E+02 -0.391349287148E+02
+ -0.386756213346E+02 -0.381417405135E+02 -0.376357899161E+02 -0.371876084550E+02 -0.367857306580E+02
+ -0.364089018964E+02 -0.360404071207E+02 -0.356705439437E+02 -0.352947736228E+02 -0.349113814513E+02
+ -0.345198082255E+02 -0.341197553652E+02 -0.337108267652E+02 -0.332925072698E+02 -0.328642387355E+02
+ -0.324255741088E+02 -0.319762374262E+02 -0.315162189773E+02 -0.310457677673E+02 -0.305653859428E+02
+ -0.300757994671E+02 -0.295778859655E+02 -0.290726427811E+02 -0.285611001088E+02 -0.280442533230E+02
+ -0.275230192225E+02 -0.269981679715E+02 -0.264702980396E+02 -0.259398216884E+02 -0.254069826533E+02
+ -0.248718994035E+02 -0.243346314120E+02 -0.237952586509E+02 -0.232539624826E+02 -0.227110955590E+02
+ -0.221672327097E+02 -0.216231877485E+02 -0.210800244667E+02 -0.205390174919E+02 -0.200016158604E+02
+ -0.194693867508E+02
+ core charge-density
+  0.566100408154E-04  0.603274793074E-04  0.642889044283E-04  0.685103166568E-04  0.730087644875E-04
+  0.778024129493E-04  0.829106165872E-04  0.883539971990E-04  0.941545266560E-04  0.100335615085E-03
+  0.106922204822E-03  0.113940870473E-03  0.121419925474E-03  0.129389535603E-03  0.137881839861E-03
+  0.146931079213E-03  0.156573733698E-03  0.166848668447E-03  0.177797289174E-03  0.189463707768E-03
+  0.201894918628E-03  0.215140986428E-03  0.229255246056E-03  0.244294515512E-03  0.260319322588E-03
+  0.277394146221E-03  0.295587673465E-03  0.314973073077E-03  0.335628286780E-03  0.357636339348E-03
+  0.381085668699E-03  0.406070477287E-03  0.432691106152E-03  0.461054433064E-03  0.491274296314E-03
+  0.523471945761E-03  0.557776522887E-03  0.594325571702E-03  0.633265582435E-03  0.674752570119E-03
+  0.718952690251E-03  0.766042893893E-03  0.816211624674E-03  0.869659560374E-03  0.926600401855E-03
+  0.987261712339E-03  0.105188581019E-02  0.112073071853E-02  0.119407117529E-02  0.127219970739E-02
+  0.135542777315E-02  0.144408697705E-02  0.153853036146E-02  0.163913378001E-02  0.174629735768E-02
+  0.186044704296E-02  0.198203625776E-02  0.211154765105E-02  0.224949496259E-02  0.239642500343E-02
+  0.255291976042E-02  0.271959863213E-02  0.289712080418E-02  0.308618777247E-02  0.328754602307E-02
+  0.350198987838E-02  0.373036451926E-02  0.397356919385E-02  0.423256062398E-02  0.450835662100E-02
+  0.480203992329E-02  0.511476226845E-02  0.544774871395E-02  0.580230222061E-02  0.617980851421E-02
+  0.658174124108E-02  0.700966743491E-02  0.746525331166E-02  0.795027041269E-02  0.846660211345E-02
+  0.901625052094E-02  0.960134377894E-02  0.102241438053E-01  0.108870544842E-01  0.115926303386E-01
+  0.123435857075E-01  0.131428044576E-01  0.139933502544E-01  0.148984774251E-01  0.158616424421E-01
+  0.168865160593E-01  0.179769961364E-01  0.191372211820E-01  0.203715846550E-01  0.216847500588E-01
+  0.230816668678E-01  0.245675873256E-01  0.261480841549E-01  0.278290692218E-01  0.296168131969E-01
+  0.315179662576E-01  0.335395798759E-01  0.356891297379E-01  0.379745398409E-01  0.404042078155E-01
+  0.429870315194E-01  0.457324369501E-01  0.486504075246E-01  0.517515147717E-01  0.550469504838E-01
+  0.585485603728E-01  0.622688792735E-01  0.662211679360E-01  0.704194514465E-01  0.748785593126E-01
+  0.796141672432E-01  0.846428406544E-01  0.899820799218E-01  0.956503673943E-01  0.101667216183E+00
+  0.108053220723E+00  0.114830109098E+00  0.122020797119E+00  0.129649444112E+00  0.137741510382E+00
+  0.146323816290E+00  0.155424602864E+00  0.165073593849E+00  0.175302059090E+00  0.186142879083E+00
+  0.197630610560E+00  0.209801552888E+00  0.222693815062E+00  0.236347383047E+00  0.250804187144E+00
+  0.266108169064E+00  0.282305348315E+00  0.299443887476E+00  0.317574155859E+00  0.336748791043E+00
+  0.357022757646E+00  0.378453402702E+00  0.401100506871E+00  0.425026330694E+00  0.450295654993E+00
+  0.476975814429E+00  0.505136723178E+00  0.534850891530E+00  0.566193432183E+00  0.599242054859E+00
+  0.634077047765E+00  0.670781244335E+00  0.709439973560E+00  0.750140992075E+00  0.792974396116E+00
+  0.838032511244E+00  0.885409757763E+00  0.935202489441E+00  0.987508803254E+00  0.104242831757E+01
+  0.110006191624E+01  0.116051145584E+01  0.122387943346E+01  0.129026861193E+01  0.135978160000E+01
+  0.143252038425E+01  0.150858581009E+01  0.158807700896E+01  0.167109076893E+01  0.175772084621E+01
+  0.184805721494E+01  0.194218525332E+01  0.204018486382E+01  0.214212952620E+01  0.224808528199E+01
+  0.235810964998E+01  0.247225047259E+01  0.259054469391E+01  0.271301707089E+01  0.283967882006E+01
+  0.297052620347E+01  0.310553905827E+01  0.324467927606E+01  0.338788923929E+01  0.353509022378E+01
+  0.368618077801E+01  0.384103509149E+01  0.399950136699E+01  0.416140021288E+01  0.432652307442E+01
+  0.449463072490E+01  0.466545184006E+01  0.483868168119E+01  0.501398091525E+01  0.519097460207E+01
+  0.536925138135E+01  0.554836289419E+01  0.572782347558E+01  0.590711015619E+01  0.608566301289E+01
+  0.626288590845E+01  0.643814766086E+01  0.661078368325E+01  0.678009813289E+01  0.694536660815E+01
+  0.710583942709E+01  0.726074551989E+01  0.740929696058E+01  0.755069415923E+01  0.768413172658E+01
+  0.780880501609E+01  0.792391733716E+01  0.802868782233E+01  0.812235991814E+01  0.820421045514E+01
+  0.827355923749E+01  0.832977907498E+01  0.837230616406E+01  0.840065070529E+01  0.841440762640E+01
+  0.841326726196E+01  0.839702582182E+01  0.836559546387E+01  0.831901377096E+01  0.825745241774E+01
+  0.818122480318E+01  0.809079241634E+01  0.798676970036E+01  0.786992718088E+01  0.774119263277E+01
+  0.760165007160E+01  0.745253637713E+01  0.729523538244E+01  0.713126929714E+01  0.696228737445E+01
+  0.679005178084E+01  0.661642068236E+01  0.644332862226E+01  0.627276433103E+01  0.610674617685E+01
+  0.594729553438E+01  0.579640841756E+01  0.565602577058E+01  0.552800288253E+01  0.541407841905E+01
+  0.531584356652E+01  0.523471181475E+01  0.517188988547E+01  0.512835031200E+01  0.510480618875E+01
+  0.510168864942E+01  0.511912769994E+01  0.515693711116E+01  0.521460413879E+01  0.529128484590E+01
+  0.538580571386E+01  0.549667199677E+01  0.562208291152E+01  0.575995334559E+01  0.590794145701E+01
+  0.606348143532E+01  0.622382075557E+01  0.638606135679E+01  0.654720421042E+01  0.670419668250E+01
+  0.685398197262E+01  0.699354974359E+01  0.711998698134E+01  0.723052801287E+01  0.732260261476E+01
+  0.739388115435E+01  0.744231577198E+01  0.746617668668E+01  0.746408283670E+01  0.743502617611E+01
+  0.737838909120E+01  0.729395456103E+01  0.718190882688E+01  0.704283651135E+01  0.687770827554E+01
+  0.668786127413E+01  0.647497281612E+01  0.624102777379E+01  0.598828043165E+01  0.571921157955E+01
+  0.543648173800E+01  0.514288151879E+01  0.484128016393E+01  0.453457335746E+01  0.422563144517E+01
+  0.391724918675E+01  0.361209817668E+01  0.331268302840E+01  0.302130238260E+01  0.274001574527E+01
+  0.247061699977E+01  0.221461533156E+01  0.197322403846E+01  0.174735751206E+01  0.153763599448E+01
+  0.134439801278E+01  0.116771925944E+01  0.100743683521E+01  0.863177139249E+00  0.734385165797E+00
+  0.620352459116E+00  0.520241286779E+00  0.433104991178E+00  0.357908936157E+00  0.293558957004E+00
+  0.238939321053E+00  0.192952592630E+00  0.154550553295E+00  0.122752018839E+00  0.966509407173E-01
+  0.754197350591E-01  0.583105682925E-01  0.446553131657E-01  0.338641471811E-01  0.254227490621E-01
+  0.188882113068E-01  0.138839137385E-01  0.100936590292E-01  0.725537509450E-02  0.515466309716E-02
+  0.361842930266E-02  0.250879268147E-02  0.171741309607E-02  0.116033964584E-02  0.773437417305E-03
+  0.508414784907E-03  0.329443540380E-03  0.210340978410E-03  0.132266603092E-03  0.818759218551E-04
+  0.498690344207E-04  0.298714443437E-04  0.175875916060E-04  0.101729842592E-04  0.577752330293E-05
+  0.321986957660E-05  0.175987680434E-05  0.942778890139E-06  0.494707936977E-06  0.254108048780E-06
+  0.127681574306E-06  0.627159654587E-07  0.300924318689E-07  0.140943050873E-07  0.643877401768E-08
+  0.286674509825E-08
+ kinetic energy-density
+  0.667225310700E+01  0.673712425060E+01  0.680446712075E+01  0.687435266836E+01  0.694687887984E+01
+  0.702214082218E+01  0.710025487509E+01  0.718131997169E+01  0.726545491156E+01  0.735279351610E+01
+  0.744345621126E+01  0.753759398662E+01  0.763534237524E+01  0.773686628737E+01  0.784232168333E+01
+  0.795188785384E+01  0.806574492238E+01  0.818408265740E+01  0.830710733444E+01  0.843502925423E+01
+  0.856807463323E+01  0.870648022710E+01  0.885049499152E+01  0.900038141274E+01  0.915641556867E+01
+  0.931888763846E+01  0.948810409274E+01  0.966438660997E+01  0.984807420966E+01  0.100395236808E+02
+  0.102391106259E+02  0.104472306217E+02  0.106643002129E+02  0.108907581658E+02  0.111270667128E+02
+  0.113737129173E+02  0.116312100590E+02  0.119000995563E+02  0.121809512045E+02  0.124743676751E+02
+  0.127809824020E+02  0.131014661587E+02  0.134365246352E+02  0.137869037259E+02  0.141533910827E+02
+  0.145368181700E+02  0.149380606607E+02  0.153580481103E+02  0.157977592006E+02  0.162582301660E+02
+  0.167405536651E+02  0.172458849260E+02  0.177754489910E+02  0.183305360512E+02  0.189125147524E+02
+  0.195228293783E+02  0.201630086713E+02  0.208346731063E+02  0.215395302738E+02  0.222793960940E+02
+  0.230561817871E+02  0.238719218157E+02  0.247287599035E+02  0.256289715181E+02  0.265749638623E+02
+  0.275692850611E+02  0.286146340209E+02  0.297138695051E+02  0.308700182642E+02  0.320862867047E+02
+  0.333660717388E+02  0.347129698754E+02  0.361307926843E+02  0.376235764044E+02  0.391956004794E+02
+  0.408513960801E+02  0.425957666062E+02  0.444337942387E+02  0.463708781148E+02  0.484127240612E+02
+  0.505653883328E+02  0.528352819288E+02  0.552292043731E+02  0.577543512402E+02  0.604183612533E+02
+  0.632293138540E+02  0.661957773286E+02  0.693268340532E+02  0.726320939962E+02  0.761217542966E+02
+  0.798066090433E+02  0.836980910427E+02  0.878083249418E+02  0.921501355979E+02  0.967371238079E+02
+  0.101583684198E+03  0.106705064907E+03  0.112117414382E+03  0.117837828166E+03  0.123884409252E+03
+  0.130276320038E+03  0.137033846315E+03  0.144178456681E+03  0.151732871301E+03  0.159721130996E+03
+  0.168168668145E+03  0.177102387622E+03  0.186550741797E+03  0.196543819667E+03  0.207113432275E+03
+  0.218293201433E+03  0.230118672341E+03  0.242627385569E+03  0.255859010707E+03  0.269855440106E+03
+  0.284660908978E+03  0.300322108546E+03  0.316888318424E+03  0.334411529406E+03  0.352946573140E+03
+  0.372551274533E+03  0.393286576958E+03  0.415216695313E+03  0.438409280187E+03  0.462935557123E+03
+  0.488870494758E+03  0.516292978425E+03  0.545285959475E+03  0.575936645981E+03  0.608336673183E+03
+  0.642582272764E+03  0.678774465893E+03  0.717019234895E+03  0.757427713585E+03  0.800116365041E+03
+  0.845207163513E+03  0.892827774214E+03  0.943111730250E+03  0.996198604607E+03  0.105223417127E+04
+  0.111137056935E+04  0.117376644321E+04  0.123958708989E+04  0.130900456745E+04  0.138219781473E+04
+  0.145935272609E+04  0.154066222765E+04  0.162632630841E+04  0.171655203448E+04  0.181155353272E+04
+  0.191155192916E+04  0.201677522893E+04  0.212745822677E+04  0.224384225326E+04  0.236617496487E+04
+  0.249470999554E+04  0.262970664059E+04  0.277142932316E+04  0.292014710882E+04  0.307613311454E+04
+  0.323966371690E+04  0.341101780179E+04  0.359047581918E+04  0.377831874540E+04  0.397482689787E+04
+  0.418027868224E+04  0.439494910623E+04  0.461910823060E+04  0.485301940433E+04  0.509693739042E+04
+  0.535110624785E+04  0.561575714459E+04  0.589110587709E+04  0.617735029231E+04  0.647466747894E+04
+  0.678321077715E+04  0.710310660594E+04  0.743445110603E+04  0.777730657840E+04  0.813169778138E+04
+  0.849760803098E+04  0.887497515215E+04  0.926368732206E+04  0.966357873788E+04  0.100744252544E+05
+  0.104959398994E+05  0.109277683923E+05  0.113694846547E+05  0.118205863594E+05  0.122804905999E+05
+  0.127485296775E+05  0.132239471319E+05  0.137058940235E+05  0.141934255844E+05  0.146854982713E+05
+  0.151809673402E+05  0.156785850245E+05  0.161769993384E+05  0.166747537999E+05  0.171702877851E+05
+  0.176619381795E+05  0.181479417092E+05  0.186264388693E+05  0.190954787135E+05  0.195530252077E+05
+  0.199969649781E+05  0.204251165206E+05  0.208352408440E+05  0.212250539761E+05  0.215922406971E+05
+  0.219344702466E+05  0.222494132725E+05  0.225347605700E+05  0.227882431008E+05  0.230076533887E+05
+  0.231908681093E+05  0.233358716618E+05  0.234407805422E+05  0.235038681649E+05  0.235235900533E+05
+  0.234986087273E+05  0.234278183452E+05  0.233103682573E+05  0.231456854657E+05  0.229334951930E+05
+  0.226738393464E+05  0.223670922687E+05  0.220139733481E+05  0.216155560262E+05  0.211732727643E+05
+  0.206889155309E+05  0.201646315262E+05  0.196029137234E+05  0.190065861750E+05  0.183787838063E+05
+  0.177229268159E+05  0.170426897439E+05  0.163419655306E+05  0.156248249789E+05  0.148954722996E+05
+  0.141581974366E+05  0.134173260145E+05  0.126771691922E+05  0.119419712654E+05  0.112158605109E+05
+  0.105028006708E+05  0.980654494715E+04  0.913059233055E+04  0.847814609089E+04  0.785207437181E+04
+  0.725487344241E+04  0.668863511465E+04  0.615502070274E+04  0.565524418908E+04  0.519006674861E+04
+  0.475980360345E+04  0.436434269355E+04  0.400317323797E+04  0.367542134980E+04  0.337988976738E+04
+  0.311509951930E+04  0.287933230868E+04  0.267067322820E+04  0.248705367813E+04  0.232629416860E+04
+  0.218614663490E+04  0.206433550064E+04  0.195859682514E+04  0.186671473352E+04  0.178655448544E+04
+  0.171609162157E+04  0.165343661643E+04  0.159685503183E+04  0.154478263373E+04  0.149583588863E+04
+  0.144881771439E+04  0.140271881257E+04  0.135671510542E+04  0.131016154370E+04  0.126258277404E+04
+  0.121366142449E+04  0.116322423992E+04  0.111122677010E+04  0.105773711321E+04  0.100291904396E+04
+  0.947015115197E+03  0.890329984746E+03  0.833214293651E+03  0.776049439334E+03  0.719233318915E+03
+  0.663167296841E+03  0.608244410857E+03  0.554838974842E+03  0.503297365412E+03  0.453930342998E+03
+  0.407006607762E+03  0.362747812430E+03  0.321325009274E+03  0.282856892955E+03  0.247409239962E+03
+  0.214996579478E+03  0.185585236387E+03  0.159098170048E+03  0.135421626809E+03  0.114413852193E+03
+  0.959157052909E+02  0.797613940556E+02  0.657850483488E+02  0.538188496239E+02  0.436847852099E+02
+  0.351899899383E+02  0.281331189963E+02  0.223174718914E+02  0.175614959268E+02  0.137029350510E+02
+  0.105987314150E+02  0.812353702200E+01  0.616817828814E+01  0.463832179287E+01  0.345324799301E+01
+  0.254463529365E+01  0.185531917238E+01  0.133803581425E+01  0.954179117826E+00  0.672602600260E+00
+  0.468493246228E+00  0.322336920783E+00  0.218987948819E+00  0.146848889647E+00  0.971612490355E-01
+  0.634035384763E-01  0.407898120808E-01  0.258595430908E-01  0.161483043720E-01  0.992815188083E-02
+  0.600670032098E-02  0.357447468542E-02  0.209108518893E-02  0.120193474515E-02  0.678419162901E-03
+  0.375814762046E-03  0.204197625257E-03  0.108758556747E-03  0.567464770105E-04  0.289864948733E-04
+  0.144858436153E-04  0.707756608346E-05  0.337836787752E-05  0.157431967128E-05  0.715666075556E-06
+  0.317114132527E-06
+ mkinetic energy-density pseudized
+  0.246124888537E-05  0.262391872705E-05  0.279733980862E-05  0.298222270529E-05  0.317932495590E-05
+  0.338945416684E-05  0.361347132112E-05  0.385229430620E-05  0.410690167493E-05  0.437833665502E-05
+  0.466771142364E-05  0.497621166438E-05  0.530510142550E-05  0.565572829925E-05  0.602952894345E-05
+  0.642803496809E-05  0.685287921091E-05  0.730580242782E-05  0.778866042541E-05  0.830343166499E-05
+  0.885222536910E-05  0.943729016382E-05  0.100610232923E-04  0.107259804372E-04  0.114348861924E-04
+  0.121906452265E-04  0.129963541849E-04  0.138553143773E-04  0.147710453050E-04  0.157472990816E-04
+  0.167880758067E-04  0.178976399559E-04  0.190805378543E-04  0.203416163043E-04  0.216860424450E-04
+  0.231193249240E-04  0.246473364685E-04  0.262763379479E-04  0.280130040275E-04  0.298644505170E-04
+  0.318382635266E-04  0.339425305504E-04  0.361858736043E-04  0.385774845531E-04  0.411271627738E-04
+  0.438453553070E-04  0.467431996630E-04  0.498325694557E-04  0.531261230543E-04  0.566373554487E-04
+  0.603806535444E-04  0.643713551105E-04  0.686258116250E-04  0.731614552728E-04  0.779968703717E-04
+  0.831518695202E-04  0.886475747764E-04  0.945065042035E-04  0.100752664135E-03  0.107411647536E-03
+  0.114510738871E-03  0.122079025894E-03  0.130147518834E-03  0.138749277455E-03  0.147919546515E-03
+  0.157695900175E-03  0.168118395953E-03  0.179229738859E-03  0.191075456367E-03  0.203704084960E-03
+  0.217167368999E-03  0.231520472741E-03  0.246822206364E-03  0.263135266932E-03  0.280526495285E-03
+  0.299067149912E-03  0.318833198917E-03  0.339905631285E-03  0.362370788723E-03  0.386320719425E-03
+  0.411853555224E-03  0.439073913670E-03  0.468093326673E-03  0.499030697487E-03  0.532012787889E-03
+  0.567174737555E-03  0.604660617766E-03  0.644624021702E-03  0.687228693756E-03  0.732649200428E-03
+  0.781071645568E-03  0.832694432884E-03  0.887729078840E-03  0.946401079282E-03  0.100895083333E-02
+  0.107563462835E-02  0.114672568997E-02  0.122251530154E-02  0.130331399757E-02  0.138945283600E-02
+  0.148128475454E-02  0.157918601675E-02  0.168355775354E-02  0.179482760663E-02  0.191345148057E-02
+  0.203991541061E-02  0.217473755390E-02  0.231847031234E-02  0.247170259569E-02  0.263506223425E-02
+  0.280921855092E-02  0.299488510327E-02  0.319282260676E-02  0.340384205113E-02  0.362880802269E-02
+  0.386864224621E-02  0.412432736067E-02  0.439691094468E-02  0.468750980769E-02  0.499731456482E-02
+  0.532759451388E-02  0.567970283464E-02  0.605508213156E-02  0.645527034270E-02  0.688190703890E-02
+  0.733674013923E-02  0.782163306985E-02  0.833857239587E-02  0.888967595726E-02  0.947720154207E-02
+  0.101035561326E-01  0.107713057620E-01  0.114831860220E-01  0.122421132645E-01  0.130511965425E-01
+  0.139137503401E-01  0.148333081420E-01  0.158136368999E-01  0.168587524534E-01  0.179729359683E-01
+  0.191607514608E-01  0.204270644777E-01  0.217770620094E-01  0.232162737168E-01  0.247505945587E-01
+  0.263863089121E-01  0.281301162830E-01  0.299891587134E-01  0.319710499956E-01  0.340839068117E-01
+  0.363363819276E-01  0.387376995728E-01  0.412976931539E-01  0.440268454506E-01  0.469363314614E-01
+  0.500380640699E-01  0.533447427184E-01  0.568699052850E-01  0.606279833752E-01  0.646343612502E-01
+  0.689054386321E-01  0.734586976370E-01  0.783127741083E-01  0.834875336360E-01  0.890041525683E-01
+  0.948852043423E-01  0.101154751478E+00  0.107838443608E+00  0.114963621928E+00  0.122559430498E+00
+  0.130656934825E+00  0.139289248207E+00  0.148491666340E+00  0.158301810719E+00  0.168759781404E+00
+  0.179908319753E+00  0.191792981758E+00  0.204462322680E+00  0.217968093682E+00  0.232365451255E+00
+  0.247713180229E+00  0.264073931251E+00  0.281514473635E+00  0.300105964567E+00  0.319924235688E+00
+  0.341050098153E+00  0.363569667326E+00  0.387574708325E+00  0.413163003732E+00  0.440438744815E+00
+  0.469512947739E+00  0.500503896272E+00  0.533537612614E+00  0.568748358052E+00  0.606279165231E+00
+  0.646282403941E+00  0.688920382391E+00  0.734365986076E+00  0.782803356419E+00  0.834428611485E+00
+  0.889450611177E+00  0.948091769412E+00  0.101058891592E+01  0.107719421035E+01  0.114817611159E+01
+  0.122382040517E+01  0.130443129174E+01  0.139033253996E+01  0.148186870671E+01  0.157940642816E+01
+  0.168333578488E+01  0.179407174448E+01  0.191205568510E+01  0.203775700321E+01  0.217167480907E+01
+  0.231433971309E+01  0.246631570642E+01  0.262820213858E+01  0.280063579506E+01  0.298429307738E+01
+  0.317989228767E+01  0.338819601939E+01  0.361001365538E+01  0.384620397342E+01  0.409767785897E+01
+  0.436540112340E+01  0.465039742506E+01  0.495375128900E+01  0.527661121944E+01  0.562019289718E+01
+  0.598578245173E+01  0.637473979546E+01  0.678850200382E+01  0.722858672211E+01  0.769659557535E+01
+  0.819421755303E+01  0.872323233508E+01  0.928551351943E+01  0.988303170455E+01  0.105178573724E+02
+  0.111921635088E+02  0.119082278868E+02  0.126684349296E+02  0.134752770548E+02  0.143313553888E+02
+  0.152393797229E+02  0.162021675676E+02  0.172226421397E+02  0.183038290954E+02  0.194488518008E+02
+  0.206609249026E+02  0.219433459362E+02  0.232994846736E+02  0.247327698867E+02  0.262466731579E+02
+  0.278446893409E+02  0.295303132271E+02  0.313070119380E+02  0.331781925189E+02  0.351471641660E+02
+  0.372170944806E+02  0.393909591027E+02  0.416714840392E+02  0.440610799768E+02  0.465617678440E+02
+  0.491750948813E+02  0.519020404840E+02  0.547429111112E+02  0.576972236099E+02  0.607635763904E+02
+  0.639395080244E+02  0.672213430148E+02  0.706040247369E+02  0.740809358673E+02  0.776437070298E+02
+  0.812820149008E+02  0.849833716541E+02  0.887329083984E+02  0.925131561972E+02  0.963038293663E+02
+  0.100081617042E+03  0.103819990523E+03  0.107489035592E+03  0.111055320957E+03  0.114481816082E+03
+  0.117727873934E+03  0.120749296619E+03  0.123498504282E+03  0.125924830007E+03  0.127974965523E+03
+  0.129593584125E+03  0.130724168028E+03  0.131310066960E+03  0.131295812806E+03  0.130628710801E+03
+  0.129260720552E+03  0.127150629186E+03  0.124266503311E+03  0.120588385239E+03  0.116111171158E+03
+  0.110847573781E+03  0.104831028760E+03  0.981183527514E+02  0.907919018702E+02  0.829609139133E+02
+  0.747616492584E+02  0.663558786143E+02  0.579272084376E+02  0.496746974883E+02  0.418032150738E+02
+  0.345100415462E+02  0.279673372239E+02  0.223003334013E+02  0.175614569257E+02  0.137029350510E+02
+  0.105987314150E+02  0.812353702200E+01  0.616817828814E+01  0.463832179287E+01  0.345324799301E+01
+  0.254463529365E+01  0.185531917238E+01  0.133803581425E+01  0.954179117826E+00  0.672602600260E+00
+  0.468493246228E+00  0.322336920783E+00  0.218987948819E+00  0.146848889647E+00  0.971612490355E-01
+  0.634035384763E-01  0.407898120808E-01  0.258595430908E-01  0.161483043720E-01  0.992815188083E-02
+  0.600670032098E-02  0.357447468542E-02  0.209108518893E-02  0.120193474515E-02  0.678419162901E-03
+  0.375814762046E-03  0.204197625257E-03  0.108758556747E-03  0.567464770105E-04  0.289864948733E-04
+  0.144858436153E-04  0.707756608346E-05  0.337836787752E-05  0.157431967128E-05  0.715666075556E-06
+  0.317114132527E-06
+ local pseudopotential core
+ -0.170419537102E+03 -0.170420949717E+03 -0.170422317842E+03 -0.170423642879E+03 -0.170424926184E+03
+ -0.170426169071E+03 -0.170427372814E+03 -0.170428538644E+03 -0.170429667756E+03 -0.170430761305E+03
+ -0.170431820413E+03 -0.170432846163E+03 -0.170433839605E+03 -0.170434801757E+03 -0.170435733605E+03
+ -0.170436636101E+03 -0.170437510171E+03 -0.170438356709E+03 -0.170439176583E+03 -0.170439970631E+03
+ -0.170440739667E+03 -0.170441484477E+03 -0.170442205825E+03 -0.170442904450E+03 -0.170443581066E+03
+ -0.170444236365E+03 -0.170444871020E+03 -0.170445485679E+03 -0.170446080973E+03 -0.170446657509E+03
+ -0.170447215878E+03 -0.170447756653E+03 -0.170448280385E+03 -0.170448787612E+03 -0.170449278852E+03
+ -0.170449754608E+03 -0.170450215366E+03 -0.170450661599E+03 -0.170451093762E+03 -0.170451512298E+03
+ -0.170451917634E+03 -0.170452310186E+03 -0.170452690353E+03 -0.170453058526E+03 -0.170453415081E+03
+ -0.170453760381E+03 -0.170454094779E+03 -0.170454418618E+03 -0.170454732227E+03 -0.170455035927E+03
+ -0.170455330028E+03 -0.170455614830E+03 -0.170455890623E+03 -0.170456157689E+03 -0.170456416298E+03
+ -0.170456666716E+03 -0.170456909196E+03 -0.170457143986E+03 -0.170457371323E+03 -0.170457591439E+03
+ -0.170457804557E+03 -0.170458010893E+03 -0.170458210657E+03 -0.170458404049E+03 -0.170458591266E+03
+ -0.170458772496E+03 -0.170458947923E+03 -0.170459117722E+03 -0.170459282063E+03 -0.170459441112E+03
+ -0.170459595027E+03 -0.170459743963E+03 -0.170459888066E+03 -0.170460027479E+03 -0.170460162341E+03
+ -0.170460292785E+03 -0.170460418937E+03 -0.170460540921E+03 -0.170460658856E+03 -0.170460772854E+03
+ -0.170460883026E+03 -0.170460989477E+03 -0.170461092306E+03 -0.170461191611E+03 -0.170461287482E+03
+ -0.170461380009E+03 -0.170461469275E+03 -0.170461555360E+03 -0.170461638339E+03 -0.170461718285E+03
+ -0.170461795264E+03 -0.170461869342E+03 -0.170461940576E+03 -0.170462009025E+03 -0.170462074739E+03
+ -0.170462137766E+03 -0.170462198149E+03 -0.170462255930E+03 -0.170462311143E+03 -0.170462363820E+03
+ -0.170462413988E+03 -0.170462461669E+03 -0.170462506883E+03 -0.170462549643E+03 -0.170462589958E+03
+ -0.170462627833E+03 -0.170462663267E+03 -0.170462696254E+03 -0.170462726785E+03 -0.170462754841E+03
+ -0.170462780402E+03 -0.170462803439E+03 -0.170462823919E+03 -0.170462841800E+03 -0.170462857035E+03
+ -0.170462869571E+03 -0.170462879345E+03 -0.170462886288E+03 -0.170462890322E+03 -0.170462891361E+03
+ -0.170462889311E+03 -0.170462884065E+03 -0.170462875510E+03 -0.170462863519E+03 -0.170462847957E+03
+ -0.170462828675E+03 -0.170462805511E+03 -0.170462778292E+03 -0.170462746828E+03 -0.170462710916E+03
+ -0.170462670337E+03 -0.170462624855E+03 -0.170462574215E+03 -0.170462518144E+03 -0.170462456350E+03
+ -0.170462388516E+03 -0.170462314306E+03 -0.170462233358E+03 -0.170462145285E+03 -0.170462049670E+03
+ -0.170461946071E+03 -0.170461834011E+03 -0.170461712983E+03 -0.170461582443E+03 -0.170461441809E+03
+ -0.170461290461E+03 -0.170461127736E+03 -0.170460952924E+03 -0.170460765269E+03 -0.170460563963E+03
+ -0.170460348143E+03 -0.170460116887E+03 -0.170459869212E+03 -0.170459604070E+03 -0.170459320339E+03
+ -0.170459016825E+03 -0.170458692253E+03 -0.170458345262E+03 -0.170457974402E+03 -0.170457578124E+03
+ -0.170457154777E+03 -0.170456702599E+03 -0.170456219712E+03 -0.170455704112E+03 -0.170455153662E+03
+ -0.170454566083E+03 -0.170453938945E+03 -0.170453269655E+03 -0.170452555451E+03 -0.170451793386E+03
+ -0.170450980315E+03 -0.170450112890E+03 -0.170449187536E+03 -0.170448200444E+03 -0.170447147552E+03
+ -0.170446024529E+03 -0.170444826756E+03 -0.170443549310E+03 -0.170442186941E+03 -0.170440734052E+03
+ -0.170439184675E+03 -0.170437532448E+03 -0.170435770588E+03 -0.170433891862E+03 -0.170431888560E+03
+ -0.170429752461E+03 -0.170427474801E+03 -0.170425046235E+03 -0.170422456803E+03 -0.170419695882E+03
+ -0.170416752151E+03 -0.170413613538E+03 -0.170410267173E+03 -0.170406699335E+03 -0.170402895397E+03
+ -0.170398839763E+03 -0.170394515809E+03 -0.170389905809E+03 -0.170384990867E+03 -0.170379750838E+03
+ -0.170374164243E+03 -0.170368208187E+03 -0.170361858259E+03 -0.170355088435E+03 -0.170347870972E+03
+ -0.170340176292E+03 -0.170331972863E+03 -0.170323227069E+03 -0.170313903070E+03 -0.170303962662E+03
+ -0.170293365112E+03 -0.170282066997E+03 -0.170270022024E+03 -0.170257180840E+03 -0.170243490832E+03
+ -0.170228895910E+03 -0.170213336276E+03 -0.170196748182E+03 -0.170179063668E+03 -0.170160210283E+03
+ -0.170140110788E+03 -0.170118682843E+03 -0.170095838665E+03 -0.170071484675E+03 -0.170045521109E+03
+ -0.170017841614E+03 -0.169988332811E+03 -0.169956873833E+03 -0.169923335828E+03 -0.169887581435E+03
+ -0.169849464223E+03 -0.169808828091E+03 -0.169765506630E+03 -0.169719322446E+03 -0.169670086435E+03
+ -0.169617597009E+03 -0.169561639280E+03 -0.169501984178E+03 -0.169438387525E+03 -0.169370589035E+03
+ -0.169298311258E+03 -0.169221258457E+03 -0.169139115401E+03 -0.169051546092E+03 -0.168958192406E+03
+ -0.168858672641E+03 -0.168752579981E+03 -0.168639480855E+03 -0.168518913198E+03 -0.168390384594E+03
+ -0.168253370309E+03 -0.168107311204E+03 -0.167951611505E+03 -0.167785636454E+03 -0.167608709804E+03
+ -0.167420111171E+03 -0.167219073226E+03 -0.167004778724E+03 -0.166776357364E+03 -0.166532882470E+03
+ -0.166273367495E+03 -0.165996762340E+03 -0.165701949473E+03 -0.165387739872E+03 -0.165052868771E+03
+ -0.164695991214E+03 -0.164315677437E+03 -0.163910408071E+03 -0.163478569188E+03 -0.163018447220E+03
+ -0.162528223759E+03 -0.162005970291E+03 -0.161449642903E+03 -0.160857077032E+03 -0.160225982313E+03
+ -0.159553937637E+03 -0.158838386520E+03 -0.158076632925E+03 -0.157265837697E+03 -0.156403015813E+03
+ -0.155485034673E+03 -0.154508613712E+03 -0.153470325644E+03 -0.152366599705E+03 -0.151193727316E+03
+ -0.149947870610E+03 -0.148625074366E+03 -0.147221281861E+03 -0.145732355265E+03 -0.144154101132E+03
+ -0.142482301607E+03 -0.140712751934E+03 -0.138841304820E+03 -0.136863922328E+03 -0.134776736105E+03
+ -0.132576117318E+03 -0.130258758637E+03 -0.127821772487E+03 -0.125262812538E+03 -0.122580229059E+03
+ -0.119773271760E+03 -0.116842352862E+03 -0.113789370936E+03 -0.110618060917E+03 -0.107334264143E+03
+ -0.103945902820E+03 -0.100462343388E+03 -0.968929062687E+02 -0.932448542294E+02 -0.895225733479E+02
+ -0.857313037065E+02 -0.818880617199E+02 -0.780358333759E+02 -0.742473243088E+02 -0.706440350099E+02
+ -0.673676290197E+02 -0.644619319781E+02 -0.619683360442E+02 -0.599284345816E+02 -0.583796623680E+02
+ -0.573483530309E+02 -0.564049902626E+02 -0.546210802335E+02 -0.528996689676E+02 -0.512328440922E+02
+ -0.496187824367E+02 -0.480557353139E+02 -0.465420447751E+02 -0.450761138085E+02 -0.436564113209E+02
+ -0.422814579106E+02 -0.409498296230E+02 -0.396601648757E+02 -0.384111132984E+02 -0.372014105719E+02
+ -0.360298090009E+02 -0.348951073700E+02 -0.337961428427E+02 -0.327317889712E+02 -0.317009553098E+02
+ -0.307025861793E+02 -0.297356589850E+02 -0.287991834979E+02 -0.278922006685E+02 -0.270137815368E+02
+ -0.261630366058E+02 -0.253390651934E+02 -0.245410526913E+02 -0.237681721638E+02 -0.230196321567E+02
+ -0.222946661137E+02
+ pspotential valence only
+ -0.284683254939E+02 -0.284697381271E+02 -0.284711062722E+02 -0.284724313301E+02 -0.284737146577E+02
+ -0.284749575687E+02 -0.284761613369E+02 -0.284773271946E+02 -0.284784563356E+02 -0.284795499162E+02
+ -0.284806090569E+02 -0.284816348417E+02 -0.284826283219E+02 -0.284835905140E+02 -0.284845224041E+02
+ -0.284854249463E+02 -0.284862990646E+02 -0.284871456545E+02 -0.284879655834E+02 -0.284887596902E+02
+ -0.284895287887E+02 -0.284902736661E+02 -0.284909950857E+02 -0.284916937861E+02 -0.284923704830E+02
+ -0.284930258689E+02 -0.284936606159E+02 -0.284942753734E+02 -0.284948707712E+02 -0.284954474190E+02
+ -0.284960059074E+02 -0.284965468085E+02 -0.284970706761E+02 -0.284975780470E+02 -0.284980694407E+02
+ -0.284985453605E+02 -0.284990062936E+02 -0.284994527124E+02 -0.284998850740E+02 -0.285003038213E+02
+ -0.285007093833E+02 -0.285011021753E+02 -0.285014825995E+02 -0.285018510457E+02 -0.285022078914E+02
+ -0.285025535021E+02 -0.285028882318E+02 -0.285032124235E+02 -0.285035264093E+02 -0.285038305108E+02
+ -0.285041250397E+02 -0.285044102975E+02 -0.285046865768E+02 -0.285049541606E+02 -0.285052133230E+02
+ -0.285054643298E+02 -0.285057074382E+02 -0.285059428973E+02 -0.285061709484E+02 -0.285063918256E+02
+ -0.285066057551E+02 -0.285068129563E+02 -0.285070136418E+02 -0.285072080174E+02 -0.285073962824E+02
+ -0.285075786302E+02 -0.285077552478E+02 -0.285079263164E+02 -0.285080920118E+02 -0.285082525042E+02
+ -0.285084079583E+02 -0.285085585338E+02 -0.285087043857E+02 -0.285088456639E+02 -0.285089825138E+02
+ -0.285091150761E+02 -0.285092434873E+02 -0.285093678798E+02 -0.285094883820E+02 -0.285096051179E+02
+ -0.285097182082E+02 -0.285098277696E+02 -0.285099339157E+02 -0.285100367561E+02 -0.285101363974E+02
+ -0.285102329431E+02 -0.285103264934E+02 -0.285104171457E+02 -0.285105049943E+02 -0.285105901311E+02
+ -0.285106726449E+02 -0.285107526223E+02 -0.285108301473E+02 -0.285109053014E+02 -0.285109781641E+02
+ -0.285110488125E+02 -0.285111173215E+02 -0.285111837644E+02 -0.285112482121E+02 -0.285113107339E+02
+ -0.285113713974E+02 -0.285114302684E+02 -0.285114874111E+02 -0.285115428883E+02 -0.285115967613E+02
+ -0.285116490901E+02 -0.285116999333E+02 -0.285117493486E+02 -0.285117973923E+02 -0.285118441197E+02
+ -0.285118895855E+02 -0.285119338432E+02 -0.285119769456E+02 -0.285120189449E+02 -0.285120598926E+02
+ -0.285120998398E+02 -0.285121388371E+02 -0.285121769347E+02 -0.285122141827E+02 -0.285122506311E+02
+ -0.285122863296E+02 -0.285123213283E+02 -0.285123556771E+02 -0.285123894265E+02 -0.285124226271E+02
+ -0.285124553304E+02 -0.285124875881E+02 -0.285125194530E+02 -0.285125509785E+02 -0.285125822193E+02
+ -0.285126132311E+02 -0.285126440711E+02 -0.285126747978E+02 -0.285127054715E+02 -0.285127361543E+02
+ -0.285127669105E+02 -0.285127978063E+02 -0.285128289107E+02 -0.285128602951E+02 -0.285128920341E+02
+ -0.285129242051E+02 -0.285129568892E+02 -0.285129901712E+02 -0.285130241396E+02 -0.285130588877E+02
+ -0.285130945129E+02 -0.285131311181E+02 -0.285131688112E+02 -0.285132077060E+02 -0.285132479227E+02
+ -0.285132895879E+02 -0.285133328354E+02 -0.285133778067E+02 -0.285134246515E+02 -0.285134735280E+02
+ -0.285135246042E+02 -0.285135780579E+02 -0.285136340776E+02 -0.285136928634E+02 -0.285137546275E+02
+ -0.285138195953E+02 -0.285138880062E+02 -0.285139601145E+02 -0.285140361905E+02 -0.285141165216E+02
+ -0.285142014133E+02 -0.285142911905E+02 -0.285143861989E+02 -0.285144868063E+02 -0.285145934040E+02
+ -0.285147064088E+02 -0.285148262640E+02 -0.285149534418E+02 -0.285150884449E+02 -0.285152318086E+02
+ -0.285153841030E+02 -0.285155459353E+02 -0.285157179524E+02 -0.285159008433E+02 -0.285160953418E+02
+ -0.285163022301E+02 -0.285165223414E+02 -0.285167565633E+02 -0.285170058417E+02 -0.285172711848E+02
+ -0.285175536665E+02 -0.285178544315E+02 -0.285181746997E+02 -0.285185157709E+02 -0.285188790308E+02
+ -0.285192659558E+02 -0.285196781195E+02 -0.285201171993E+02 -0.285205849827E+02 -0.285210833750E+02
+ -0.285216144068E+02 -0.285221802425E+02 -0.285227831889E+02 -0.285234257049E+02 -0.285241104112E+02
+ -0.285248401009E+02 -0.285256177512E+02 -0.285264465355E+02 -0.285273298358E+02 -0.285282712570E+02
+ -0.285292746413E+02 -0.285303440839E+02 -0.285314839493E+02 -0.285326988895E+02 -0.285339938624E+02
+ -0.285353741521E+02 -0.285368453903E+02 -0.285384135789E+02 -0.285400851146E+02 -0.285418668143E+02
+ -0.285437659428E+02 -0.285457902421E+02 -0.285479479626E+02 -0.285502478960E+02 -0.285526994109E+02
+ -0.285553124903E+02 -0.285580977715E+02 -0.285610665889E+02 -0.285642310189E+02 -0.285676039282E+02
+ -0.285711990254E+02 -0.285750309147E+02 -0.285791151548E+02 -0.285834683196E+02 -0.285881080644E+02
+ -0.285930531950E+02 -0.285983237421E+02 -0.286039410397E+02 -0.286099278085E+02 -0.286163082449E+02
+ -0.286231081153E+02 -0.286303548557E+02 -0.286380776784E+02 -0.286463076848E+02 -0.286550779846E+02
+ -0.286644238234E+02 -0.286743827172E+02 -0.286849945954E+02 -0.286963019524E+02 -0.287083500084E+02
+ -0.287211868802E+02 -0.287348637617E+02 -0.287494351160E+02 -0.287649588782E+02 -0.287814966715E+02
+ -0.287991140354E+02 -0.288178806686E+02 -0.288378706855E+02 -0.288591628897E+02 -0.288818410637E+02
+ -0.289059942762E+02 -0.289317172092E+02 -0.289591105063E+02 -0.289882811421E+02 -0.290193428172E+02
+ -0.290524163789E+02 -0.290876302704E+02 -0.291251210119E+02 -0.291650337155E+02 -0.292075226382E+02
+ -0.292527517763E+02 -0.293008955057E+02 -0.293521392725E+02 -0.294066803402E+02 -0.294647285981E+02
+ -0.295265074381E+02 -0.295922547054E+02 -0.296622237316E+02 -0.297366844547E+02 -0.298159246331E+02
+ -0.299002511574E+02 -0.299899914619E+02 -0.300854950331E+02 -0.301871350062E+02 -0.302953098315E+02
+ -0.304104449766E+02 -0.305329946137E+02 -0.306634432095E+02 -0.308023068980E+02 -0.309501344631E+02
+ -0.311075076831E+02 -0.312750406914E+02 -0.314533778800E+02 -0.316431897005E+02 -0.318451655059E+02
+ -0.320600023150E+02 -0.322883880770E+02 -0.325309776931E+02 -0.327883597634E+02 -0.330610118773E+02
+ -0.333492424278E+02 -0.336531176630E+02 -0.339723743103E+02 -0.343063208921E+02 -0.346537346687E+02
+ -0.350127648590E+02 -0.353808530483E+02 -0.357546715064E+02 -0.361300480027E+02 -0.365017784125E+02
+ -0.368631247339E+02 -0.372047035859E+02 -0.375125522453E+02 -0.377657441997E+02 -0.379353184151E+02
+ -0.379879389853E+02 -0.378969925173E+02 -0.376572676136E+02 -0.372895576797E+02 -0.368609888139E+02
+ -0.364580391316E+02 -0.360705398812E+02 -0.356893344048E+02 -0.353112759769E+02 -0.349371692593E+02
+ -0.345669009289E+02 -0.341257389052E+02 -0.337108267652E+02 -0.332925072698E+02 -0.328642387355E+02
+ -0.324255741088E+02 -0.319762374261E+02 -0.315162189773E+02 -0.310457677673E+02 -0.305653859428E+02
+ -0.300757994671E+02 -0.295778859655E+02 -0.290726427811E+02 -0.285611001088E+02 -0.280442533230E+02
+ -0.275230192225E+02 -0.269981679715E+02 -0.264702980396E+02 -0.259398216884E+02 -0.254069826533E+02
+ -0.248718994035E+02 -0.243346314120E+02 -0.237952586509E+02 -0.232539624826E+02 -0.227110955590E+02
+ -0.221672327097E+02 -0.216231877485E+02 -0.210800244667E+02 -0.205390174919E+02 -0.200016158604E+02
+ -0.194693867508E+02
+ core charge-density (pseudized)
+  0.158850899689E-07  0.169349736624E-07  0.180542466866E-07  0.192474951488E-07  0.205196082630E-07
+  0.218757983829E-07  0.233216223594E-07  0.248630043089E-07  0.265062598867E-07  0.282581221651E-07
+  0.301257692211E-07  0.321168535480E-07  0.342395334107E-07  0.365025062734E-07  0.389150444365E-07
+  0.414870330287E-07  0.442290105108E-07  0.471522118554E-07  0.502686145814E-07  0.535909878306E-07
+  0.571329446878E-07  0.609089979589E-07  0.649346196361E-07  0.692263042922E-07  0.738016366658E-07
+  0.786793637127E-07  0.838794714198E-07  0.894232666954E-07  0.953334646720E-07  0.101634281779E-06
+  0.108351534969E-06  0.115512747495E-06  0.123147261690E-06  0.131286359191E-06  0.139963389111E-06
+  0.149213904686E-06  0.159075808951E-06  0.169589510039E-06  0.180798086755E-06  0.192747465083E-06
+  0.205486606363E-06  0.219067707906E-06  0.233546416867E-06  0.248982058249E-06  0.265437877988E-06
+  0.282981302089E-06  0.301684212902E-06  0.321623243648E-06  0.342880092415E-06  0.365541856912E-06
+  0.389701391334E-06  0.415457686827E-06  0.442916277090E-06  0.472189670789E-06  0.503397812546E-06
+  0.536668574398E-06  0.572138279738E-06  0.609952261885E-06  0.650265459564E-06  0.693243051754E-06
+  0.739061134484E-06  0.787907442368E-06  0.839982117817E-06  0.895498531103E-06  0.954684154611E-06
+  0.101778149488E-05  0.108504908622E-05  0.115676255007E-05  0.123321572426E-05  0.131472186699E-05
+  0.140161494038E-05  0.149425097881E-05  0.159300954771E-05  0.169829529876E-05  0.181053962793E-05
+  0.193020244302E-05  0.205777404804E-05  0.219377715217E-05  0.233876901146E-05  0.249334371211E-05
+  0.265813460454E-05  0.283381689853E-05  0.302111042968E-05  0.322078260881E-05  0.343365156625E-05
+  0.366058950397E-05  0.390252626918E-05  0.416045316422E-05  0.443542700810E-05  0.472857446660E-05
+  0.504109666844E-05  0.537427412660E-05  0.572947198482E-05  0.610814561085E-05  0.651184655941E-05
+  0.694222892908E-05  0.740105613948E-05  0.789020815618E-05  0.841168919314E-05  0.896763592422E-05
+  0.956032623723E-05  0.101921885666E-04  0.108658118429E-04  0.115839560993E-04  0.123495637799E-04
+  0.131657717945E-04  0.140359243703E-04  0.149635867530E-04  0.159525598129E-04  0.170068956168E-04
+  0.181309140281E-04  0.193292204042E-04  0.206067244636E-04  0.219686603991E-04  0.234206083207E-04
+  0.249685171141E-04  0.266187288110E-04  0.283780045687E-04  0.302535523666E-04  0.322530565318E-04
+  0.343847092167E-04  0.366572439552E-04  0.390799714357E-04  0.416628176384E-04  0.444163644905E-04
+  0.473518932085E-04  0.504814305022E-04  0.538177978316E-04  0.573746639168E-04  0.611666007161E-04
+  0.652091431015E-04  0.695188524752E-04  0.741133845867E-04  0.790115618292E-04  0.842334503093E-04
+  0.898004420053E-04  0.957353423503E-04  0.102062463597E-03  0.108807724347E-03  0.115998755648E-03
+  0.123665014094E-03  0.131837902394E-03  0.140550897889E-03  0.149839689558E-03  0.159742324059E-03
+  0.170299361400E-03  0.181554040889E-03  0.193552458017E-03  0.206343753015E-03  0.219980311839E-03
+  0.234517980402E-03  0.250016292931E-03  0.266538715372E-03  0.284152904832E-03  0.302930986106E-03
+  0.322949846427E-03  0.344291449616E-03  0.367043170908E-03  0.391298153825E-03  0.417155690514E-03
+  0.444721627115E-03  0.474108795766E-03  0.505437475018E-03  0.538835880487E-03  0.574440687740E-03
+  0.612397589507E-03  0.652861889451E-03  0.695999134887E-03  0.741985790982E-03  0.791009959124E-03
+  0.843272142330E-03  0.898986060746E-03  0.958379520474E-03  0.102169533918E-02  0.108919233216E-02
+  0.116114636271E-02  0.123785146100E-02  0.131962101582E-02  0.140678904387E-02  0.149971154154E-02
+  0.159876792447E-02  0.170436256045E-02  0.181692640162E-02  0.193691872220E-02  0.206482896848E-02
+  0.220117872808E-02  0.234652382591E-02  0.250145655494E-02  0.266660804989E-02  0.284265081290E-02
+  0.303030140045E-02  0.323032328145E-02  0.344352987696E-02  0.367078779245E-02  0.391302025435E-02
+  0.417121076298E-02  0.444640697483E-02  0.473972482752E-02  0.505235292185E-02  0.538555717557E-02
+  0.574068576454E-02  0.611917436752E-02  0.652255173154E-02  0.695244557544E-02  0.741058885008E-02
+  0.789882637401E-02  0.841912186447E-02  0.897356538393E-02  0.956438122282E-02  0.101939362401E-01
+  0.108647486828E-01  0.115794975075E-01  0.123410322246E-01  0.131523832881E-01  0.140167730542E-01
+  0.149376273269E-01  0.159185875152E-01  0.169635234187E-01  0.180765466621E-01  0.192620247931E-01
+  0.205245960596E-01  0.218691848759E-01  0.233010179867E-01  0.248256413302E-01  0.264489375990E-01
+  0.281771444893E-01  0.300168736216E-01  0.319751301066E-01  0.340593327208E-01  0.362773346404E-01
+  0.386374446716E-01  0.411484488953E-01  0.438196326246E-01  0.466608025533E-01  0.496823089450E-01
+  0.528950676826E-01  0.563105819652E-01  0.599409633995E-01  0.637989521880E-01  0.678979360665E-01
+  0.722519675861E-01  0.768757792715E-01  0.817847961130E-01  0.869951447703E-01  0.925236587738E-01
+  0.983878789095E-01  0.104606047856E+00  0.111197098026E+00  0.118180631410E+00  0.125576890089E+00
+  0.133406715896E+00  0.141691497534E+00  0.150453103263E+00  0.159713797041E+00  0.169496135792E+00
+  0.179822845227E+00  0.190716671374E+00  0.202200204726E+00  0.214295673644E+00  0.227024703349E+00
+  0.240408036607E+00  0.254465211927E+00  0.269214194858E+00  0.284670957798E+00  0.300849003557E+00
+  0.317758827869E+00  0.335407316081E+00  0.353797069410E+00  0.372925656495E+00  0.392784786538E+00
+  0.413359401140E+00  0.434626683071E+00  0.456554981802E+00  0.479102657604E+00  0.502216848651E+00
+  0.525832168810E+00  0.549869347839E+00  0.574233830650E+00  0.598814358233E+00  0.623481559867E+00
+  0.648086594575E+00  0.672459889336E+00  0.696410032536E+00  0.719722893489E+00  0.742161052417E+00
+  0.763463640029E+00  0.783346701288E+00  0.801504213699E+00  0.817609905660E+00  0.831320034071E+00
+  0.842277290994E+00  0.850116014825E+00  0.854468879722E+00  0.854975224885E+00  0.851291158898E+00
+  0.843101529429E+00  0.830133779791E+00  0.812173615663E+00  0.789082271343E+00  0.760814989247E+00
+  0.727440103218E+00  0.689157841522E+00  0.646317637620E+00  0.599432358703E+00  0.549187442962E+00
+  0.496442495144E+00  0.442222457189E+00  0.387695093883E+00  0.334131279817E+00  0.282844534494E+00
+  0.235106544671E+00  0.192036181160E+00  0.154460929685E+00  0.122751894914E+00  0.966509407173E-01
+  0.754197350591E-01  0.583105682925E-01  0.446553131657E-01  0.338641471811E-01  0.254227490621E-01
+  0.188882113068E-01  0.138839137385E-01  0.100936590292E-01  0.725537509450E-02  0.515466309716E-02
+  0.361842930266E-02  0.250879268147E-02  0.171741309607E-02  0.116033964584E-02  0.773437417305E-03
+  0.508414784907E-03  0.329443540380E-03  0.210340978410E-03  0.132266603092E-03  0.818759218551E-04
+  0.498690344207E-04  0.298714443437E-04  0.175875916060E-04  0.101729842592E-04  0.577752330293E-05
+  0.321986957660E-05  0.175987680434E-05  0.942778890139E-06  0.494707936977E-06  0.254108048780E-06
+  0.127681574306E-06  0.627159654587E-07  0.300924318689E-07  0.140943050873E-07  0.643877401768E-08
+  0.286674509825E-08
+ pseudo wavefunction
+  0.575355347414E-04  0.594064467959E-04  0.613381962429E-04  0.633327613625E-04  0.653921847638E-04
+  0.675185754763E-04  0.697141111098E-04  0.719810400846E-04  0.743216839340E-04  0.767384396819E-04
+  0.792337822973E-04  0.818102672291E-04  0.844705330228E-04  0.872173040230E-04  0.900533931633E-04
+  0.929817048467E-04  0.960052379201E-04  0.991270887455E-04  0.102350454371E-03  0.105678635804E-03
+  0.109115041394E-03  0.112663190320E-03  0.116326716196E-03  0.120109370793E-03  0.124015027879E-03
+  0.128047687189E-03  0.132211478517E-03  0.136510665951E-03  0.140949652232E-03  0.145532983271E-03
+  0.150265352799E-03  0.155151607175E-03  0.160196750351E-03  0.165405948993E-03  0.170784537776E-03
+  0.176338024845E-03  0.182072097454E-03  0.187992627794E-03  0.194105679006E-03  0.200417511387E-03
+  0.206934588804E-03  0.213663585314E-03  0.220611391995E-03  0.227785124008E-03  0.235192127880E-03
+  0.242839989029E-03  0.250736539531E-03  0.258889866144E-03  0.267308318583E-03  0.276000518079E-03
+  0.284975366201E-03  0.294242053974E-03  0.303810071296E-03  0.313689216649E-03  0.323889607138E-03
+  0.334421688850E-03  0.345296247555E-03  0.356524419746E-03  0.368117704048E-03  0.380087972993E-03
+  0.392447485177E-03  0.405208897814E-03  0.418385279700E-03  0.431990124593E-03  0.446037365035E-03
+  0.460541386620E-03  0.475517042723E-03  0.490979669714E-03  0.506945102664E-03  0.523429691556E-03
+  0.540450318037E-03  0.558024412700E-03  0.576169972936E-03  0.594905581365E-03  0.614250424868E-03
+  0.634224314231E-03  0.654847704436E-03  0.676141715611E-03  0.698128154653E-03  0.720829537562E-03
+  0.744269112502E-03  0.768470883604E-03  0.793459635553E-03  0.819260958964E-03  0.845901276593E-03
+  0.873407870393E-03  0.901808909454E-03  0.931133478849E-03  0.961411609419E-03  0.992674308528E-03
+  0.102495359182E-02  0.105828251598E-02  0.109269521264E-02  0.112822692327E-02  0.116491403530E-02
+  0.120279411939E-02  0.124190596788E-02  0.128228963454E-02  0.132398647555E-02  0.136703919190E-02
+  0.141149187307E-02  0.145739004223E-02  0.150478070279E-02  0.155371238660E-02  0.160423520360E-02
+  0.165640089318E-02  0.171026287709E-02  0.176587631424E-02  0.182329815708E-02  0.188258721000E-02
+  0.194380418952E-02  0.200701178645E-02  0.207227473008E-02  0.213965985449E-02  0.220923616697E-02
+  0.228107491867E-02  0.235524967759E-02  0.243183640385E-02  0.251091352754E-02  0.259256202897E-02
+  0.267686552162E-02  0.276391033773E-02  0.285378561671E-02  0.294658339640E-02  0.304239870730E-02
+  0.314132966987E-02  0.324347759500E-02  0.334894708771E-02  0.345784615425E-02  0.357028631269E-02
+  0.368638270708E-02  0.380625422530E-02  0.393002362081E-02  0.405781763827E-02  0.418976714331E-02
+  0.432600725647E-02  0.446667749152E-02  0.461192189824E-02  0.476188920988E-02  0.491673299540E-02
+  0.507661181657E-02  0.524168939035E-02  0.541213475631E-02  0.558812244973E-02  0.576983268009E-02
+  0.595745151554E-02  0.615117107322E-02  0.635118971583E-02  0.655771225459E-02  0.677095015869E-02
+  0.699112177165E-02  0.721845253461E-02  0.745317521688E-02  0.769553015401E-02  0.794576549352E-02
+  0.820413744857E-02  0.847091055996E-02  0.874635796647E-02  0.903076168407E-02  0.932441289409E-02
+  0.962761224075E-02  0.994067013832E-02  0.102639070882E-01  0.105976540061E-01  0.109422525603E-01
+  0.112980555200E-01  0.116654271158E-01  0.120447434111E-01  0.124363926859E-01  0.128407758327E-01
+  0.132583067657E-01  0.136894128422E-01  0.141345352983E-01  0.145941296989E-01  0.150686664009E-01
+  0.155586310324E-01  0.160645249872E-01  0.165868659342E-01  0.171261883444E-01  0.176830440334E-01
+  0.182580027226E-01  0.188516526171E-01  0.194646010028E-01  0.200974748619E-01  0.207509215086E-01
+  0.214256092443E-01  0.221222280340E-01  0.228414902039E-01  0.235841311607E-01  0.243509101343E-01
+  0.251426109430E-01  0.259600427831E-01  0.268040410429E-01  0.276754681426E-01  0.285752143996E-01
+  0.295041989207E-01  0.304633705225E-01  0.314537086791E-01  0.324762244998E-01  0.335319617355E-01
+  0.346219978170E-01  0.357474449230E-01  0.369094510819E-01  0.381092013054E-01  0.393479187556E-01
+  0.406268659478E-01  0.419473459869E-01  0.433107038408E-01  0.447183276504E-01  0.461716500761E-01
+  0.476721496838E-01  0.492213523683E-01  0.508208328170E-01  0.524722160129E-01  0.541771787786E-01
+  0.559374513607E-01  0.577548190562E-01  0.596311238795E-01  0.615682662727E-01  0.635682068564E-01
+  0.656329682232E-01  0.677646367731E-01  0.699653645899E-01  0.722373713589E-01  0.745829463247E-01
+  0.770044502882E-01  0.795043176423E-01  0.820850584435E-01  0.847492605189E-01  0.874995916053E-01
+  0.903388015194E-01  0.932697243532E-01  0.962952806953E-01  0.994184798691E-01  0.102642422187E+00
+  0.105970301215E+00  0.109405406033E+00  0.112951123506E+00  0.116610940521E+00  0.120388446224E+00
+  0.124287334210E+00  0.128311404677E+00  0.132464566515E+00  0.136750839334E+00  0.141174355391E+00
+  0.145739361417E+00  0.150450220313E+00  0.155311412692E+00  0.160327538239E+00  0.165503316871E+00
+  0.170843589644E+00  0.176353319387E+00  0.182037591014E+00  0.187901611466E+00  0.193950709243E+00
+  0.200190333447E+00  0.206626052301E+00  0.213263551044E+00  0.220108629141E+00  0.227167196717E+00
+  0.234445270112E+00  0.241948966447E+00  0.249684497087E+00  0.257658159858E+00  0.265876329868E+00
+  0.274345448775E+00  0.283072012294E+00  0.292062555759E+00  0.301323637496E+00  0.310861819756E+00
+  0.320683646913E+00  0.330795620636E+00  0.341204171652E+00  0.351915627735E+00  0.362936177473E+00
+  0.374271829350E+00  0.385928365590E+00  0.397911290193E+00  0.410225770506E+00  0.422876571603E+00
+  0.435867982691E+00  0.449203734658E+00  0.462886907800E+00  0.476919828678E+00  0.491303954927E+00
+  0.506039746769E+00  0.521126523834E+00  0.536562305798E+00  0.552343635204E+00  0.568465380740E+00
+  0.584920519078E+00  0.601699893320E+00  0.618791945934E+00  0.636182424019E+00  0.653854054636E+00
+  0.671786187949E+00  0.689954405900E+00  0.708330094256E+00  0.726879976015E+00  0.745565604418E+00
+  0.764342814255E+00  0.783161130667E+00  0.801963135452E+00  0.820683791893E+00  0.839249730401E+00
+  0.857578498949E+00  0.875577784285E+00  0.893144612430E+00  0.910164539979E+00  0.926510851286E+00
+  0.942043780836E+00  0.956609784897E+00  0.970040892017E+00  0.982154168004E+00  0.992751337569E+00
+  0.100161861173E+01  0.100852677707E+01  0.101323160973E+01  0.101547468295E+01  0.101498464155E+01
+  0.101147901924E+01  0.100466111497E+01  0.994375950448E+00  0.980707901591E+00  0.963803639329E+00
+  0.943836461172E+00  0.921004116597E+00  0.895526241359E+00  0.867641520215E+00  0.837604615000E+00
+  0.805682938619E+00  0.772153342384E+00  0.737298744582E+00  0.701404760904E+00  0.664756390336E+00
+  0.627634741711E+00  0.590313873286E+00  0.553057756365E+00  0.516117401327E+00  0.479728188657E+00
+  0.444107456577E+00  0.409452404308E+00  0.375938372688E+00  0.343717559055E+00  0.312918210115E+00
+  0.283644316716E+00  0.255975805584E+00  0.229969207138E+00  0.205658740221E+00  0.183057753088E+00
+  0.162160440109E+00
+ ae wavefunction
+  0.723210491956E-03  0.746578583770E-03  0.770700951993E-03  0.795601892227E-03  0.821306479369E-03
+  0.847840592488E-03  0.875230940375E-03  0.903505087772E-03  0.932691482807E-03  0.962819484716E-03
+  0.993919392949E-03  0.102602247680E-02  0.105916100625E-02  0.109336828344E-02  0.112867867548E-02
+  0.116512764795E-02  0.120275179956E-02  0.124158889799E-02  0.128167791659E-02  0.132305907237E-02
+  0.136577386512E-02  0.140986511768E-02  0.145537701746E-02  0.150235515925E-02  0.155084658925E-02
+  0.160089985052E-02  0.165256502971E-02  0.170589380529E-02  0.176093949712E-02  0.181775711760E-02
+  0.187640342429E-02  0.193693697409E-02  0.199941817908E-02  0.206390936390E-02  0.213047482499E-02
+  0.219918089139E-02  0.227009598742E-02  0.234329069717E-02  0.241883783086E-02  0.249681249307E-02
+  0.257729215303E-02  0.266035671683E-02  0.274608860172E-02  0.283457281255E-02  0.292589702034E-02
+  0.302015164303E-02  0.311742992854E-02  0.321782804011E-02  0.332144514397E-02  0.342838349946E-02
+  0.353874855160E-02  0.365264902612E-02  0.377019702712E-02  0.389150813722E-02  0.401670152049E-02
+  0.414590002798E-02  0.427923030608E-02  0.441682290755E-02  0.455881240553E-02  0.470533751028E-02
+  0.485654118900E-02  0.501257078845E-02  0.517357816061E-02  0.533971979149E-02  0.551115693279E-02
+  0.568805573680E-02  0.587058739433E-02  0.605892827584E-02  0.625326007563E-02  0.645376995923E-02
+  0.666065071397E-02  0.687410090265E-02  0.709432502044E-02  0.732153365478E-02  0.755594364866E-02
+  0.779777826652E-02  0.804726736390E-02  0.830464755909E-02  0.857016240900E-02  0.884406258640E-02
+  0.912660606132E-02  0.941805828423E-02  0.971869237195E-02  0.100287892964E-01  0.103486380750E-01
+  0.106785359635E-01  0.110187886512E-01  0.113697104566E-01  0.117316245259E-01  0.121048630323E-01
+  0.124897673751E-01  0.128866883819E-01  0.132959865080E-01  0.137180320384E-01  0.141532052878E-01
+  0.146018967997E-01  0.150645075448E-01  0.155414491166E-01  0.160331439246E-01  0.165400253848E-01
+  0.170625381058E-01  0.176011380701E-01  0.181562928105E-01  0.187284815799E-01  0.193181955137E-01
+  0.199259377844E-01  0.205522237464E-01  0.211975810705E-01  0.218625498668E-01  0.225476827944E-01
+  0.232535451563E-01  0.239807149791E-01  0.247297830737E-01  0.255013530778E-01  0.262960414763E-01
+  0.271144775983E-01  0.279573035892E-01  0.288251743544E-01  0.297187574729E-01  0.306387330781E-01
+  0.315857937031E-01  0.325606440870E-01  0.335640009402E-01  0.345965926640E-01  0.356591590220E-01
+  0.367524507593E-01  0.378772291652E-01  0.390342655757E-01  0.402243408110E-01  0.414482445436E-01
+  0.427067745919E-01  0.440007361337E-01  0.453309408352E-01  0.466982058883E-01  0.481033529513E-01
+  0.495472069857E-01  0.510305949826E-01  0.525543445725E-01  0.541192825097E-01  0.557262330238E-01
+  0.573760160317E-01  0.590694451993E-01  0.608073258461E-01  0.625904526816E-01  0.644196073662E-01
+  0.662955558838E-01  0.682190457186E-01  0.701908028232E-01  0.722115283678E-01  0.742818952600E-01
+  0.764025444212E-01  0.785740808093E-01  0.807970691759E-01  0.830720295419E-01  0.853994323839E-01
+  0.877796935126E-01  0.902131686350E-01  0.927001475833E-01  0.952408481994E-01  0.978354098603E-01
+  0.100483886632E+00  0.103186240036E+00  0.105942331426E+00  0.108751913939E+00  0.111614624041E+00
+  0.114529972627E+00  0.117497335686E+00  0.120515944498E+00  0.123584875391E+00  0.126703039005E+00
+  0.129869169099E+00  0.133081810868E+00  0.136339308790E+00  0.139639793985E+00  0.142981171101E+00
+  0.146361104728E+00  0.149777005361E+00  0.153226014901E+00  0.156704991737E+00  0.160210495417E+00
+  0.163738770941E+00  0.167285732697E+00  0.170846948100E+00  0.174417620953E+00  0.177992574602E+00
+  0.181566234937E+00  0.185132613303E+00  0.188685289405E+00  0.192217394292E+00  0.195721593504E+00
+  0.199190070517E+00  0.202614510568E+00  0.205986085027E+00  0.209295436430E+00  0.212532664351E+00
+  0.215687312275E+00  0.218748355654E+00  0.221704191362E+00  0.224542628748E+00  0.227250882534E+00
+  0.229815567796E+00  0.232222697309E+00  0.234457681522E+00  0.236505331475E+00  0.238349864969E+00
+  0.239974916327E+00  0.241363550084E+00  0.242498278978E+00  0.243361086622E+00  0.243933455227E+00
+  0.244196398801E+00  0.244130502213E+00  0.243715966544E+00  0.242932661134E+00  0.241760182755E+00
+  0.240177922301E+00  0.238165139411E+00  0.235701045406E+00  0.232764894903E+00  0.229336086443E+00
+  0.225394272444E+00  0.220919478726E+00  0.215892233821E+00  0.210293708226E+00  0.204105863651E+00
+  0.197311612280E+00  0.189894985941E+00  0.181841314980E+00  0.173137416545E+00  0.163771791829E+00
+  0.153734831728E+00  0.143019030191E+00  0.131619204408E+00  0.119532720834E+00  0.106759725824E+00
+  0.933033795277E-01  0.791700914244E-01  0.643697556857E-01  0.489159842511E-01  0.328263352024E-01
+  0.161225336665E-01 -0.116931789868E-02 -0.190185435298E-01 -0.373897154028E-01 -0.562424969619E-01
+ -0.755315106483E-01 -0.952062321565E-01 -0.115210911281E+00 -0.135484517197E+00 -0.155960704264E+00
+ -0.176567794242E+00 -0.197228773280E+00 -0.217861307379E+00 -0.238377787431E+00 -0.258685422148E+00
+ -0.278686401205E+00 -0.298278148790E+00 -0.317353678585E+00 -0.335802047802E+00 -0.353508896551E+00
+ -0.370357054796E+00 -0.386227202908E+00 -0.400998578759E+00 -0.414549729935E+00 -0.426759311736E+00
+ -0.437506930652E+00 -0.446674029444E+00 -0.454144808540E+00 -0.459807175066E+00 -0.463553710585E+00
+ -0.465282647871E+00 -0.464898847424E+00 -0.462314764450E+00 -0.457451398192E+00 -0.450239215408E+00
+ -0.440619040450E+00 -0.428542905017E+00 -0.413974850508E+00 -0.396891676564E+00 -0.377283628995E+00
+ -0.355155020605E+00 -0.330524777997E+00 -0.303426906672E+00 -0.273910866599E+00 -0.242041849499E+00
+ -0.207900947753E+00 -0.171585205060E+00 -0.133207537940E+00 -0.928965176587E-01 -0.507960038343E-01
+ -0.706462318874E-02  0.381249082892E-01  0.845866157243E-01  0.132122236961E+00  0.180522317286E+00
+  0.229567404370E+00  0.279029321687E+00  0.328672508685E+00  0.378255438406E+00  0.427532163428E+00
+  0.476254096171E+00  0.524172207141E+00  0.571039903275E+00  0.616616865042E+00  0.660673900196E+00
+  0.702998097735E+00  0.743396073735E+00  0.781691755158E+00  0.817716506082E+00  0.851295262156E+00
+  0.882238303138E+00  0.910345746539E+00  0.935421494478E+00  0.957287301571E+00  0.975791215624E+00
+  0.990810703323E+00  0.100225314176E+01  0.101005569110E+01  0.101418535318E+01  0.101463927790E+01
+  0.101144510801E+01  0.100466111497E+01  0.994375950448E+00  0.980707901591E+00  0.963803639329E+00
+  0.943836461172E+00  0.921004116597E+00  0.895526241359E+00  0.867641520215E+00  0.837604615000E+00
+  0.805682938619E+00  0.772153342384E+00  0.737298744582E+00  0.701404760904E+00  0.664756390336E+00
+  0.627634741711E+00  0.590313873286E+00  0.553057756365E+00  0.516117401327E+00  0.479728188657E+00
+  0.444107456577E+00  0.409452404308E+00  0.375938372688E+00  0.343717559055E+00  0.312918210115E+00
+  0.283644316716E+00  0.255975805584E+00  0.229969207138E+00  0.205658740221E+00  0.183057753088E+00
+  0.162160440109E+00
+ pseudo wavefunction
+  0.815477257113E-04  0.841994543121E-04  0.869374105116E-04  0.897643982160E-04  0.926833125078E-04
+  0.956971426101E-04  0.988089749485E-04  0.102021996311E-03  0.105339497112E-03  0.108764874763E-03
+  0.112301637149E-03  0.115953406224E-03  0.119723921719E-03  0.123617044970E-03  0.127636762877E-03
+  0.131787191981E-03  0.136072582684E-03  0.140497323602E-03  0.145065946054E-03  0.149783128710E-03
+  0.154653702376E-03  0.159682654946E-03  0.164875136506E-03  0.170236464611E-03  0.175772129729E-03
+  0.181487800864E-03  0.187389331363E-03  0.193482764908E-03  0.199774341708E-03  0.206270504887E-03
+  0.212977907082E-03  0.219903417260E-03  0.227054127747E-03  0.234437361494E-03  0.242060679579E-03
+  0.249931888944E-03  0.258059050395E-03  0.266450486854E-03  0.275114791884E-03  0.284060838489E-03
+  0.293297788203E-03  0.302835100467E-03  0.312682542321E-03  0.322850198405E-03  0.333348481284E-03
+  0.344188142117E-03  0.355380281661E-03  0.366936361642E-03  0.378868216494E-03  0.391188065475E-03
+  0.403908525185E-03  0.417042622483E-03  0.430603807827E-03  0.444605969054E-03  0.459063445594E-03
+  0.473991043162E-03  0.489404048917E-03  0.505318247117E-03  0.521749935286E-03  0.538715940900E-03
+  0.556233638623E-03  0.574320968101E-03  0.592996452329E-03  0.612279216623E-03  0.632189008208E-03
+  0.652746216436E-03  0.673971893671E-03  0.695887776845E-03  0.718516309720E-03  0.741880665872E-03
+  0.766004772421E-03  0.790913334538E-03  0.816631860740E-03  0.843186689018E-03  0.870605013804E-03
+  0.898914913826E-03  0.928145380856E-03  0.958326349405E-03  0.989488727376E-03  0.102166442772E-02
+  0.105488640110E-02  0.108918866967E-02  0.112460636188E-02  0.116117574846E-02  0.119893427959E-02
+  0.123792062320E-02  0.127817470463E-02  0.131973774745E-02  0.136265231574E-02  0.140696235763E-02
+  0.145271325033E-02  0.149995184660E-02  0.154872652270E-02  0.159908722798E-02  0.165108553598E-02
+  0.170477469728E-02  0.176020969402E-02  0.181744729618E-02  0.187654611977E-02  0.193756668679E-02
+  0.200057148727E-02  0.206562504320E-02  0.213279397464E-02  0.220214706796E-02  0.227375534621E-02
+  0.234769214192E-02  0.242403317215E-02  0.250285661605E-02  0.258424319488E-02  0.266827625473E-02
+  0.275504185178E-02  0.284462884051E-02  0.293712896461E-02  0.303263695098E-02  0.313125060667E-02
+  0.323307091910E-02  0.333820215938E-02  0.344675198915E-02  0.355883157079E-02  0.367455568123E-02
+  0.379404282948E-02  0.391741537797E-02  0.404479966782E-02  0.417632614823E-02  0.431212951000E-02
+  0.445234882345E-02  0.459712768080E-02  0.474661434319E-02  0.490096189243E-02  0.506032838775E-02
+  0.522487702760E-02  0.539477631671E-02  0.557020023861E-02  0.575132843370E-02  0.593834638314E-02
+  0.613144559871E-02  0.633082381885E-02  0.653668521102E-02  0.674924058070E-02  0.696870758709E-02
+  0.719531096592E-02  0.742928275939E-02  0.767086255365E-02  0.792029772395E-02  0.817784368774E-02
+  0.844376416603E-02  0.871833145320E-02  0.900182669552E-02  0.929454017879E-02  0.959677162528E-02
+  0.990883050022E-02  0.102310363284E-01  0.105637190207E-01  0.109072192118E-01  0.112618886081E-01
+  0.116280903475E-01  0.120061993704E-01  0.123966028031E-01  0.127997003533E-01  0.132159047187E-01
+  0.136456420083E-01  0.140893521779E-01  0.145474894794E-01  0.150205229247E-01  0.155089367643E-01
+  0.160132309818E-01  0.165339218041E-01  0.170715422280E-01  0.176266425639E-01  0.181997909971E-01
+  0.187915741665E-01  0.194025977634E-01  0.200334871477E-01  0.206848879853E-01  0.213574669051E-01
+  0.220519121780E-01  0.227689344162E-01  0.235092672965E-01  0.242736683058E-01  0.250629195101E-01
+  0.258778283492E-01  0.267192284556E-01  0.275879804997E-01  0.284849730625E-01  0.294111235351E-01
+  0.303673790471E-01  0.313547174243E-01  0.323741481766E-01  0.334267135170E-01  0.345134894124E-01
+  0.356355866676E-01  0.367941520430E-01  0.379903694070E-01  0.392254609246E-01  0.405006882824E-01
+  0.418173539515E-01  0.431768024894E-01  0.445804218815E-01  0.460296449237E-01  0.475259506471E-01
+  0.490708657851E-01  0.506659662856E-01  0.523128788672E-01  0.540132826228E-01  0.557689106695E-01
+  0.575815518475E-01  0.594530524680E-01  0.613853181118E-01  0.633803154786E-01  0.654400742896E-01
+  0.675666892425E-01  0.697623220209E-01  0.720292033587E-01  0.743696351597E-01  0.767859926737E-01
+  0.792807267296E-01  0.818563660248E-01  0.845155194735E-01  0.872608786111E-01  0.900952200573E-01
+  0.930214080363E-01  0.960423969533E-01  0.991612340281E-01  0.102381061984E+00  0.105705121788E+00
+  0.109136755450E+00  0.112679408862E+00  0.116336634695E+00  0.120112095333E+00  0.124009565855E+00
+  0.128032937043E+00  0.132186218436E+00  0.136473541398E+00  0.140899162210E+00  0.145467465175E+00
+  0.150182965720E+00  0.155050313498E+00  0.160074295467E+00  0.165259838936E+00  0.170612014565E+00
+  0.176136039306E+00  0.181837279254E+00  0.187721252402E+00  0.193793631261E+00  0.200060245332E+00
+  0.206527083389E+00  0.213200295545E+00  0.220086195059E+00  0.227191259846E+00  0.234522133635E+00
+  0.242085626730E+00  0.249888716306E+00  0.257938546178E+00  0.266242425963E+00  0.274807829557E+00
+  0.283642392830E+00  0.292753910429E+00  0.302150331579E+00  0.311839754749E+00  0.321830421030E+00
+  0.332130706074E+00  0.342749110390E+00  0.353694247819E+00  0.364974831931E+00  0.376599660114E+00
+  0.388577595046E+00  0.400917543253E+00  0.413628430375E+00  0.426719172761E+00  0.440198644933E+00
+  0.454075642432E+00  0.468358839485E+00  0.483056740881E+00  0.498177627359E+00  0.513729493745E+00
+  0.529719978972E+00  0.546156287045E+00  0.563045097863E+00  0.580392466756E+00  0.598203711387E+00
+  0.616483284604E+00  0.635234631621E+00  0.654460029761E+00  0.674160408817E+00  0.694335149890E+00
+  0.714981860357E+00  0.736096122431E+00  0.757671212527E+00  0.779697788452E+00  0.802163541211E+00
+  0.825052808008E+00  0.848346142836E+00  0.872019840898E+00  0.896045412985E+00  0.920389005890E+00
+  0.945010765014E+00  0.969864135460E+00  0.994895098271E+00  0.102004133900E+01  0.104523134664E+01
+  0.107038344193E+01  0.109540473587E+01  0.112019002089E+01  0.114462060011E+01  0.116856306300E+01
+  0.119186802024E+01  0.121436881520E+01  0.123588023556E+01  0.125619725611E+01  0.127509385139E+01
+  0.129232192750E+01  0.130761043238E+01  0.132066471690E+01  0.133116623170E+01  0.133877265895E+01
+  0.134311859223E+01  0.134381689101E+01  0.134046084846E+01  0.133262731962E+01  0.131988096144E+01
+  0.130177973302E+01  0.127788310298E+01  0.124791979347E+01  0.121195594119E+01  0.117012955700E+01
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00
+ ae wavefunction
+  0.100411206031E-02  0.103655653257E-02  0.107004824907E-02  0.110462094206E-02  0.114030942574E-02
+  0.117714963085E-02  0.121517864012E-02  0.125443472469E-02  0.129495738219E-02  0.133678737526E-02
+  0.137996677192E-02  0.142453898676E-02  0.147054882368E-02  0.151804251972E-02  0.156706779045E-02
+  0.161767387661E-02  0.166991159220E-02  0.172383337419E-02  0.177949333353E-02  0.183694730789E-02
+  0.189625291594E-02  0.195746961331E-02  0.202065875021E-02  0.208588363083E-02  0.215320957455E-02
+  0.222270397899E-02  0.229443638492E-02  0.236847854317E-02  0.244490448353E-02  0.252379058570E-02
+  0.260521565239E-02  0.268926098453E-02  0.277601045878E-02  0.286555060725E-02  0.295797069967E-02
+  0.305336282787E-02  0.315182199281E-02  0.325344619405E-02  0.335833652195E-02  0.346659725239E-02
+  0.357833594433E-02  0.369366354008E-02  0.381269446850E-02  0.393554675108E-02  0.406234211102E-02
+  0.419320608539E-02  0.432826814042E-02  0.446766179001E-02  0.461152471742E-02  0.475999890040E-02
+  0.491323073976E-02  0.507137119125E-02  0.523457590114E-02  0.540300534538E-02  0.557682497239E-02
+  0.575620534963E-02  0.594132231403E-02  0.613235712617E-02  0.632949662853E-02  0.653293340765E-02
+  0.674286596037E-02  0.695949886420E-02  0.718304295172E-02  0.741371548940E-02  0.765174036045E-02
+  0.789734825209E-02  0.815077684708E-02  0.841227101959E-02  0.868208303549E-02  0.896047275693E-02
+  0.924770785137E-02  0.954406400502E-02  0.984982514059E-02  0.101652836394E-01  0.104907405678E-01
+  0.108265059081E-01  0.111728987934E-01  0.115302477462E-01  0.118988909230E-01  0.122791763595E-01
+  0.126714622234E-01  0.130761170679E-01  0.134935200904E-01  0.139240613943E-01  0.143681422534E-01
+  0.148261753797E-01  0.152985851939E-01  0.157858080982E-01  0.162882927509E-01  0.168065003429E-01
+  0.173409048755E-01  0.178919934394E-01  0.184602664931E-01  0.190462381422E-01  0.196504364175E-01
+  0.202734035517E-01  0.209156962543E-01  0.215778859835E-01  0.222605592145E-01  0.229643177037E-01
+  0.236897787473E-01  0.244375754327E-01  0.252083568839E-01  0.260027884966E-01  0.268215521644E-01
+  0.276653464924E-01  0.285348869993E-01  0.294309063035E-01  0.303541542937E-01  0.313053982813E-01
+  0.322854231324E-01  0.332950313775E-01  0.343350432971E-01  0.354062969793E-01  0.365096483489E-01
+  0.376459711628E-01  0.388161569716E-01  0.400211150407E-01  0.412617722306E-01  0.425390728318E-01
+  0.438539783489E-01  0.452074672324E-01  0.466005345522E-01  0.480341916085E-01  0.495094654752E-01
+  0.510273984710E-01  0.525890475524E-01  0.541954836221E-01  0.558477907490E-01  0.575470652892E-01
+  0.592944149057E-01  0.610909574763E-01  0.629378198839E-01  0.648361366790E-01  0.667870486093E-01
+  0.687917010039E-01  0.708512420048E-01  0.729668206361E-01  0.751395846992E-01  0.773706784836E-01
+  0.796612402836E-01  0.820123997070E-01  0.844252747640E-01  0.869009687250E-01  0.894405667320E-01
+  0.920451321506E-01  0.947157026489E-01  0.974532859865E-01  0.100258855501E+00  0.103133345273E+00
+  0.106077644955E+00  0.109092594252E+00  0.112178977021E+00  0.115337514994E+00  0.118568861090E+00
+  0.121873592304E+00  0.125252202151E+00  0.128705092655E+00  0.132232565851E+00  0.135834814797E+00
+  0.139511914062E+00  0.143263809684E+00  0.147090308573E+00  0.150991067341E+00  0.154965580557E+00
+  0.159013168383E+00  0.163132963604E+00  0.167323898026E+00  0.171584688232E+00  0.175913820679E+00
+  0.180309536147E+00  0.184769813516E+00  0.189292352876E+00  0.193874557970E+00  0.198513517983E+00
+  0.203205988665E+00  0.207948372826E+00  0.212736700201E+00  0.217566606727E+00  0.222433313240E+00
+  0.227331603655E+00  0.232255802656E+00  0.237199752953E+00  0.242156792174E+00  0.247119729454E+00
+  0.252080821818E+00  0.257031750433E+00  0.261963596859E+00  0.266866819394E+00  0.271731229666E+00
+  0.276545969613E+00  0.281299489013E+00  0.285979523755E+00  0.290573075042E+00  0.295066389746E+00
+  0.299444942160E+00  0.303693417394E+00  0.307795696707E+00  0.311734845064E+00  0.315493101250E+00
+  0.319051870893E+00  0.322391722743E+00  0.325492388640E+00  0.328332767535E+00  0.330890934065E+00
+  0.333144152089E+00  0.335068893704E+00  0.336640864237E+00  0.337835033734E+00  0.338625675483E+00
+  0.338986412149E+00  0.338890270056E+00  0.338309742224E+00  0.337216860715E+00  0.335583278886E+00
+  0.333380364113E+00  0.330579301540E+00  0.327151209410E+00  0.323067266460E+00  0.318298851881E+00
+  0.312817698250E+00  0.306596057794E+00  0.299606882299E+00  0.291824016847E+00  0.283222407513E+00
+  0.273778323006E+00  0.263469590136E+00  0.252275842824E+00  0.240178784252E+00  0.227162461529E+00
+  0.213213552127E+00  0.198321661083E+00  0.182479627800E+00  0.165683841030E+00  0.147934560383E+00
+  0.129236242450E+00  0.109597869328E+00  0.890332769980E-01  0.675614806516E-01  0.452069935885E-01
+  0.220001358488E-01 -0.202267179947E-02 -0.268186333727E-01 -0.523383278445E-01 -0.785254890752E-01
+ -0.105316819838E+00 -0.132641842628E+00 -0.160422787359E+00 -0.188574512968E+00 -0.217004457521E+00
+ -0.245612611158E+00 -0.274291509649E+00 -0.302926253778E+00 -0.331394570066E+00 -0.359566938358E+00
+ -0.387306817382E+00 -0.414470996398E+00 -0.440910088322E+00 -0.466469161094E+00 -0.490988488296E+00
+ -0.514304394485E+00 -0.536250175925E+00 -0.556657087061E+00 -0.575355390912E+00 -0.592175474576E+00
+ -0.606949029250E+00 -0.619510290028E+00 -0.629697327922E+00 -0.637353382408E+00 -0.642328222232E+00
+ -0.644479521263E+00 -0.643674236664E+00 -0.639789976727E+00 -0.632716347271E+00 -0.622356265451E+00
+ -0.608627230644E+00 -0.591462542992E+00 -0.570812459931E+00 -0.546645281908E+00 -0.518948357967E+00
+ -0.487729002212E+00 -0.453015311567E+00 -0.414856874075E+00 -0.373325356806E+00 -0.328514960967E+00
+ -0.280542730002E+00 -0.229548696640E+00 -0.175695853364E+00 -0.119169931471E+00 -0.601789761144E-01
+  0.104729211497E-02  0.642583319031E-01  0.129183846977E+00  0.195535047578E+00  0.263006083041E+00
+  0.331275614340E+00  0.400008497553E+00  0.468857563600E+00  0.537465511386E+00  0.605466987922E+00
+  0.672491005793E+00  0.738163955532E+00  0.802113577363E+00  0.863974274314E+00  0.923393832698E+00
+  0.980040530008E+00  0.103360754150E+01  0.108380973017E+01  0.113036987200E+01  0.117299954389E+01
+  0.121138806437E+01  0.124520914300E+01  0.127414049534E+01  0.129788344230E+01  0.131617463165E+01
+  0.132879041294E+01  0.133554760128E+01  0.133630339312E+01  0.133095550857E+01  0.131944261315E+01
+  0.130174470424E+01  0.127788310298E+01  0.124791979347E+01  0.121195594119E+01  0.117012955700E+01
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00
+ pseudo wavefunction
+  0.291401325933E-08  0.310660738532E-08  0.331193051905E-08  0.353082395115E-08  0.376418457520E-08
+  0.401296856259E-08  0.427819528042E-08  0.456095146815E-08  0.486239569049E-08  0.518376308447E-08
+  0.552637042028E-08  0.589162149659E-08  0.628101289253E-08  0.669614009969E-08  0.713870405956E-08
+  0.761051813289E-08  0.811351552983E-08  0.864975723099E-08  0.922144043214E-08  0.983090754699E-08
+  0.104806558050E-07  0.111733474834E-07  0.119118208158E-07  0.126991016216E-07  0.135384157035E-07
+  0.144332020655E-07  0.153871270036E-07  0.164040991280E-07  0.174882853783E-07  0.186441280971E-07
+  0.198763632322E-07  0.211900397413E-07  0.225905402799E-07  0.240836032562E-07  0.256753463434E-07
+  0.273722915463E-07  0.291813919246E-07  0.311100600826E-07  0.331661985409E-07  0.353582321169E-07
+  0.376951424442E-07  0.401865047739E-07  0.428425272086E-07  0.456740925285E-07  0.486928027827E-07
+  0.519110268276E-07  0.553419510066E-07  0.589996331800E-07  0.628990603257E-07  0.670562099465E-07
+  0.714881155364E-07  0.762129363737E-07  0.812500319263E-07  0.866200411755E-07  0.923449671818E-07
+  0.984482672403E-07  0.104954948994E-06  0.111891672901E-06  0.119286861471E-06  0.127170815725E-06
+  0.135575839351E-06  0.144536371063E-06  0.154089125712E-06  0.164273244717E-06  0.175130456449E-06
+  0.186705247203E-06  0.199045043477E-06  0.212200406300E-06  0.226225238396E-06  0.241177005044E-06
+  0.257116969541E-06  0.274110444214E-06  0.292227058035E-06  0.311541041917E-06  0.332131532864E-06
+  0.354082898227E-06  0.377485081388E-06  0.402433970297E-06  0.429031790352E-06  0.457387523265E-06
+  0.487617353594E-06  0.519845144797E-06  0.554202946748E-06  0.590831536791E-06  0.629880996560E-06
+  0.671511326916E-06  0.715893103531E-06  0.763208175796E-06  0.813650411926E-06  0.867426493305E-06
+  0.924756761334E-06  0.985876120248E-06  0.105103499960E-05  0.112050038036E-05  0.119455688881E-05
+  0.127350796280E-05  0.135767709497E-05  0.144740915825E-05  0.154307181892E-05  0.164505704302E-05
+  0.175378270241E-05  0.186969428687E-05  0.199326672943E-05  0.212500635232E-05  0.226545294151E-05
+  0.241518195837E-05  0.257480689749E-05  0.274498180033E-05  0.292640393503E-05  0.311981665323E-05
+  0.332601243583E-05  0.354583613993E-05  0.378018846037E-05  0.403002962015E-05  0.429638330457E-05
+  0.458034085547E-05  0.488306574269E-05  0.520579833094E-05  0.554986096174E-05  0.591666337125E-05
+  0.630770846606E-05  0.672459848077E-05  0.716904154238E-05  0.764285866862E-05  0.814799122864E-05
+  0.868650889678E-05  0.926061813200E-05  0.987267121753E-05  0.105251758980E-04  0.112208056533E-04
+  0.119624106514E-04  0.127530294250E-04  0.135959013195E-04  0.144944797639E-04  0.154524464180E-04
+  0.164737262553E-04  0.175625036414E-04  0.187232394758E-04  0.199606894654E-04  0.212799236061E-04
+  0.226863469507E-04  0.241857217502E-04  0.257841910562E-04  0.274883038842E-04  0.293050420377E-04
+  0.312418487062E-04  0.333066589503E-04  0.355079322021E-04  0.378546869117E-04  0.403565374822E-04
+  0.430237336441E-04  0.458672024310E-04  0.488985929263E-04  0.521303239658E-04  0.555756349902E-04
+  0.592486402555E-04  0.631643866225E-04  0.673389151628E-04  0.717893268303E-04  0.765338524702E-04
+  0.815919274473E-04  0.869842712009E-04  0.927329720510E-04  0.988615775995E-04  0.105395191097E-03
+  0.112360574171E-03  0.119786256323E-03  0.127702651659E-03  0.136142183310E-03  0.145139416064E-03
+  0.154731197738E-03  0.164956809872E-03  0.175858128359E-03  0.187479794654E-03  0.199869398273E-03
+  0.213077671305E-03  0.227158695740E-03  0.242170124453E-03  0.258173416722E-03  0.275234089266E-03
+  0.293421983779E-03  0.312811552079E-03  0.333482159993E-03  0.355518411228E-03  0.379010492513E-03
+  0.404054541419E-03  0.430753038322E-03  0.459215224092E-03  0.489557545183E-03  0.521904127897E-03
+  0.556387283727E-03  0.593148047805E-03  0.632336752571E-03  0.674113638984E-03  0.718649507668E-03
+  0.766126412590E-03  0.816738400009E-03  0.870692295607E-03  0.928208542896E-03  0.989522096188E-03
+  0.105488337163E-02  0.112455925999E-02  0.119883420516E-02  0.127801135246E-02  0.136241377136E-02
+  0.145238575706E-02  0.154829421610E-02  0.165053014116E-02  0.175951018072E-02  0.187567830934E-02
+  0.199950760496E-02  0.213150213972E-02  0.227219899132E-02  0.242217038221E-02  0.258202595451E-02
+  0.275241518875E-02  0.293402997498E-02  0.312760734560E-02  0.333393237906E-02  0.355384128481E-02
+  0.378822467978E-02  0.403803106746E-02  0.430427053110E-02  0.458801865300E-02  0.489042067249E-02
+  0.521269589551E-02  0.555614236937E-02  0.592214183672E-02  0.631216498309E-02  0.672777699290E-02
+  0.717064342923E-02  0.764253645283E-02  0.814534139630E-02  0.868106370932E-02  0.925183629115E-02
+  0.985992722626E-02  0.105077479391E-01  0.111978617832E-01  0.119329930798E-01  0.127160366201E-01
+  0.135500676430E-01  0.144383523024E-01  0.153843586304E-01  0.163917680069E-01  0.174644871387E-01
+  0.186066605500E-01  0.198226835816E-01  0.211172158919E-01  0.224951954467E-01  0.239618529776E-01
+  0.255227268840E-01  0.271836785399E-01  0.289509079627E-01  0.308309697832E-01  0.328307894472E-01
+  0.349576795609E-01  0.372193562769E-01  0.396239555947E-01  0.421800494316E-01  0.448966612888E-01
+  0.477832813164E-01  0.508498805412E-01  0.541069239936E-01  0.575653824260E-01  0.612367422726E-01
+  0.651330134572E-01  0.692667345974E-01  0.736509751040E-01  0.782993336099E-01  0.832259320992E-01
+  0.884454050389E-01  0.939728827426E-01  0.998239681194E-01  0.106014705886E+00  0.112561543240E+00
+  0.119481280915E+00  0.126791013465E+00  0.134508057562E+00  0.142649867018E+00  0.151233933217E+00
+  0.160277669592E+00  0.169798278812E+00  0.179812601329E+00  0.190336944040E+00  0.201386887920E+00
+  0.212977073642E+00  0.225120964474E+00  0.237830586025E+00  0.251116242866E+00  0.264986212540E+00
+  0.279446418120E+00  0.294500081243E+00  0.310147358389E+00  0.326384964240E+00  0.343205787016E+00
+  0.360598501964E+00  0.378547190403E+00  0.397030973061E+00  0.416023667596E+00  0.435493481275E+00
+  0.455402750406E+00  0.475707738325E+00  0.496358503092E+00  0.517298844394E+00  0.538466336048E+00
+  0.559792445588E+00  0.581202735249E+00  0.602617128756E+00  0.623950215269E+00  0.645111545175E+00
+  0.666005852012E+00  0.686533110574E+00  0.706588313742E+00  0.726060820598E+00  0.744833097986E+00
+  0.762778649522E+00  0.779758904490E+00  0.795618829863E+00  0.810181039602E+00  0.823238215978E+00
+  0.834543739524E+00  0.843795380124E+00  0.850759109567E+00  0.855372161004E+00  0.857616014165E+00
+  0.857488659294E+00  0.855004671928E+00  0.850195047582E+00  0.843106865393E+00  0.833802777701E+00
+  0.822360362211E+00  0.808871363829E+00  0.793440811751E+00  0.776186049690E+00  0.757235651501E+00
+  0.736728220047E+00  0.714811061352E+00  0.691638711026E+00  0.667371314245E+00  0.642172855225E+00
+  0.616209261527E+00  0.589646422683E+00  0.562648185013E+00  0.535374398390E+00  0.507979097643E+00
+  0.480608903449E+00  0.453401664511E+00  0.426485488588E+00  0.399978037834E+00  0.373986187145E+00
+  0.348605971935E+00
+ ae wavefunction
+ -0.227640005255E-06 -0.241553109009E-06 -0.256238555862E-06 -0.271743807437E-06 -0.288119059293E-06
+ -0.305417409476E-06 -0.323695040919E-06 -0.343011420299E-06 -0.363429495424E-06 -0.385015922933E-06
+ -0.407841293332E-06 -0.431980383418E-06 -0.457512411824E-06 -0.484521323890E-06 -0.513096081958E-06
+ -0.543330981917E-06 -0.575325988290E-06 -0.609187085051E-06 -0.645026656992E-06 -0.682963888178E-06
+ -0.723125189070E-06 -0.765644650027E-06 -0.810664522779E-06 -0.858335733716E-06 -0.908818428675E-06
+ -0.962282552862E-06 -0.101890846811E-05 -0.107888760881E-05 -0.114242318028E-05 -0.120973090157E-05
+ -0.128103979581E-05 -0.135659303138E-05 -0.143664881687E-05 -0.152148135361E-05 -0.161138184934E-05
+ -0.170665959719E-05 -0.180764312397E-05 -0.191468141270E-05 -0.202814520350E-05 -0.214842837891E-05
+ -0.227594943811E-05 -0.241115306706E-05 -0.255451180887E-05 -0.270652784384E-05 -0.286773488278E-05
+ -0.303870018477E-05 -0.322002670283E-05 -0.341235537132E-05 -0.361636753939E-05 -0.383278756495E-05
+ -0.406238557063E-05 -0.430598038508E-05 -0.456444267121E-05 -0.483869825746E-05 -0.512973168541E-05
+ -0.543858998763E-05 -0.576638670788E-05 -0.611430618730E-05 -0.648360812039E-05 -0.687563241512E-05
+ -0.729180435834E-05 -0.773364012362E-05 -0.820275263428E-05 -0.870085779960E-05 -0.922978116481E-05
+ -0.979146498304E-05 -0.103879757491E-04 -0.110215122190E-04 -0.116944139499E-04 -0.124091703881E-04
+ -0.131684305501E-04 -0.139750133231E-04 -0.148319184326E-04 -0.157423381229E-04 -0.167096695752E-04
+ -0.177375281589E-04 -0.188297614847E-04 -0.199904644287E-04 -0.212239950522E-04 -0.225349916140E-04
+ -0.239283906270E-04 -0.254094460867E-04 -0.269837499631E-04 -0.286572539548E-04 -0.304362926902E-04
+ -0.323276083849E-04 -0.343383770722E-04 -0.364762365488E-04 -0.387493160542E-04 -0.411662678874E-04
+ -0.437363010297E-04 -0.464692168819E-04 -0.493754473295E-04 -0.524660951748E-04 -0.557529771750E-04
+ -0.592486697906E-04 -0.629665578455E-04 -0.669208862560E-04 -0.711268150389E-04 -0.756004777882E-04
+ -0.803590438379E-04 -0.854207843420E-04 -0.908051425042E-04 -0.965328082167E-04 -0.102625797380E-03
+ -0.109107536177E-03 -0.116002950618E-03 -0.123338561665E-03 -0.131142586270E-03 -0.139445044700E-03
+ -0.148277874493E-03 -0.157675051496E-03 -0.167672718328E-03 -0.178309320794E-03 -0.189625752649E-03
+ -0.201665509253E-03 -0.214474850611E-03 -0.228102974334E-03 -0.242602199160E-03 -0.258028159541E-03
+ -0.274440012047E-03 -0.291900654171E-03 -0.310476956278E-03 -0.330240007458E-03 -0.351265376027E-03
+ -0.373633385506E-03 -0.397429406962E-03 -0.422744168568E-03 -0.449674083345E-03 -0.478321596087E-03
+ -0.508795550462E-03 -0.541211577400E-03 -0.575692505860E-03 -0.612368797176E-03 -0.651379004183E-03
+ -0.692870256384E-03 -0.736998772502E-03 -0.783930401758E-03 -0.833841195310E-03 -0.886918009300E-03
+ -0.943359141058E-03 -0.100337499998E-02 -0.106718881472E-02 -0.113503737838E-02 -0.120717183327E-02
+ -0.128385849716E-02 -0.136537973262E-02 -0.145203486135E-02 -0.154414112528E-02 -0.164203469631E-02
+ -0.174607173654E-02 -0.185662951080E-02 -0.197410755347E-02 -0.209892889124E-02 -0.223154132379E-02
+ -0.237241876400E-02 -0.252206263958E-02 -0.268100335757E-02 -0.284980183333E-02 -0.302905108546E-02
+ -0.321937789790E-02 -0.342144455020E-02 -0.363595061718E-02 -0.386363483818E-02 -0.410527705682E-02
+ -0.436170023094E-02 -0.463377251275E-02 -0.492240939836E-02 -0.522857594571E-02 -0.555328905920E-02
+ -0.589761983893E-02 -0.626269599168E-02 -0.664970430008E-02 -0.705989314585E-02 -0.749457508176E-02
+ -0.795512944634E-02 -0.844300501417E-02 -0.895972267341E-02 -0.950687812113E-02 -0.100861445655E-01
+ -0.106992754225E-01 -0.113481069932E-01 -0.120345611055E-01 -0.127606477039E-01 -0.135284673660E-01
+ -0.143402137256E-01 -0.151981757772E-01 -0.161047400361E-01 -0.170623925242E-01 -0.180737205506E-01
+ -0.191414142506E-01 -0.202682678463E-01 -0.214571805872E-01 -0.227111573254E-01 -0.240333086777E-01
+ -0.254268507220E-01 -0.268951041730E-01 -0.284414929755E-01 -0.300695422528E-01 -0.317828755418E-01
+ -0.335852112415E-01 -0.354803581988E-01 -0.374722103520E-01 -0.395647403441E-01 -0.417619920209E-01
+ -0.440680717173E-01 -0.464871382391E-01 -0.490233914373E-01 -0.516810592766E-01 -0.544643832889E-01
+ -0.573776023104E-01 -0.604249343909E-01 -0.636105567713E-01 -0.669385838208E-01 -0.704130428314E-01
+ -0.740378475674E-01 -0.778167694752E-01 -0.817534064637E-01 -0.858511491736E-01 -0.901131446652E-01
+ -0.945422574669E-01 -0.991410279388E-01 -0.103911627924E+00 -0.108855813683E+00 -0.113974876119E+00
+ -0.119269588339E+00 -0.124740150612E+00 -0.130386132824E+00 -0.136206414546E+00 -0.142199122910E+00
+ -0.148361568461E+00 -0.154690179275E+00 -0.161180433629E+00 -0.167826791604E+00 -0.174622626074E+00
+ -0.181560153598E+00 -0.188630365898E+00 -0.195822962666E+00 -0.203126286646E+00 -0.210527262067E+00
+ -0.218011337617E+00 -0.225562435281E+00 -0.233162906153E+00 -0.240793494317E+00 -0.248433308678E+00
+ -0.256059802119E+00 -0.263648755337E+00 -0.271174261340E+00 -0.278608705431E+00 -0.285922735843E+00
+ -0.293085222680E+00 -0.300063207642E+00 -0.306821853310E+00 -0.313324406907E+00 -0.319532197048E+00
+ -0.325404681082E+00 -0.330899553728E+00 -0.335972916269E+00 -0.340579493605E+00 -0.344672879916E+00
+ -0.348205795435E+00 -0.351130344647E+00 -0.353398274582E+00 -0.354961236968E+00 -0.355771059088E+00
+ -0.355780026627E+00 -0.354941178528E+00 -0.353208612936E+00 -0.350537800929E+00 -0.346885905093E+00
+ -0.342212099803E+00 -0.336477890709E+00 -0.329647431117E+00 -0.321687833920E+00 -0.312569477680E+00
+ -0.302266305867E+00 -0.290756118642E+00 -0.278020856318E+00 -0.264046873976E+00 -0.248825206279E+00
+ -0.232351821598E+00 -0.214627864069E+00 -0.195659881552E+00 -0.175460037164E+00 -0.154046301204E+00
+ -0.131442619230E+00 -0.107679051851E+00 -0.827918807912E-01 -0.568236757344E-01 -0.298233169267E-01
+ -0.184596946076E-02  0.270469925154E-01  0.567881103967E-01  0.873040093439E-01  0.118515601298E+00
+  0.150338311437E+00  0.182682317934E+00  0.215452801690E+00  0.248550217585E+00  0.281870625756E+00
+  0.315306159094E+00  0.348745757632E+00  0.382076358511E+00  0.415184751019E+00  0.447960169991E+00
+  0.480297184335E+00  0.512097402331E+00  0.543267514780E+00  0.573711997895E+00  0.603322786216E+00
+  0.631972550728E+00  0.659516794793E+00  0.685802869564E+00  0.710679507526E+00  0.734002706130E+00
+  0.755638016764E+00  0.775461068324E+00  0.793357768618E+00  0.809224794004E+00  0.822970440992E+00
+  0.834515701559E+00  0.843795380124E+00  0.850759109567E+00  0.855372161004E+00  0.857616014165E+00
+  0.857488659294E+00  0.855004671928E+00  0.850195047582E+00  0.843106865393E+00  0.833802777701E+00
+  0.822360362211E+00  0.808871363829E+00  0.793440811751E+00  0.776186049690E+00  0.757235651501E+00
+  0.736728220047E+00  0.714811061352E+00  0.691638711026E+00  0.667371314245E+00  0.642172855225E+00
+  0.616209261527E+00  0.589646422683E+00  0.562648185013E+00  0.535374398390E+00  0.507979097643E+00
+  0.480608903449E+00  0.453401664511E+00  0.426485488588E+00  0.399978037834E+00  0.373986187145E+00
+  0.348605971935E+00
+ pseudo wavefunction
+  0.571859011433E-08  0.609654545181E-08  0.649948076408E-08  0.692904703757E-08  0.738700437639E-08
+  0.787522921411E-08  0.839572200233E-08  0.895061540728E-08  0.954218304822E-08  0.101728488133E-07
+  0.108451967914E-07  0.115619818599E-07  0.123261409726E-07  0.131408051936E-07  0.140093125268E-07
+  0.149352215925E-07  0.159223262088E-07  0.169746709363E-07  0.180965676505E-07  0.192926132088E-07
+  0.205677082861E-07  0.219270774547E-07  0.233762905912E-07  0.249212856987E-07  0.265683932374E-07
+  0.283243620625E-07  0.301963870773E-07  0.321921387136E-07  0.343197943601E-07  0.365880718690E-07
+  0.390062652761E-07  0.415842828822E-07  0.443326878514E-07  0.472627414928E-07  0.503864494020E-07
+  0.537166106534E-07  0.572668702427E-07  0.610517749960E-07  0.650868331739E-07  0.693885780150E-07
+  0.739746354790E-07  0.788637964676E-07  0.840760938177E-07  0.896328843845E-07  0.955569365484E-07
+  0.101872523507E-06  0.108605522730E-06  0.115783521992E-06  0.123435932409E-06  0.131594108947E-06
+  0.140291478898E-06  0.149563678840E-06  0.159448700661E-06  0.169987047220E-06  0.181221898307E-06
+  0.193199287567E-06  0.205968291118E-06  0.219581228634E-06  0.234093877719E-06  0.249565702454E-06
+  0.266060097037E-06  0.283644645541E-06  0.302391398829E-06  0.322377169775E-06  0.343683847994E-06
+  0.366398735382E-06  0.390614903817E-06  0.416431576518E-06  0.443954534597E-06  0.473296550488E-06
+  0.504577850014E-06  0.537926605003E-06  0.573479458457E-06  0.611382084429E-06  0.651789784903E-06
+  0.694868126132E-06  0.740793617018E-06  0.789754432343E-06  0.841951183784E-06  0.897597741903E-06
+  0.956922112447E-06  0.102016737058E-05  0.108759265684E-05  0.115947423894E-05  0.123610664376E-05
+  0.131780386409E-05  0.140490064518E-05  0.149775385636E-05  0.159674395320E-05  0.170227653640E-05
+  0.181478401368E-05  0.193472737149E-05  0.206259806386E-05  0.219892002601E-05  0.234425182114E-05
+  0.249918892902E-05  0.266436618586E-05  0.284046038547E-05  0.302819305228E-05  0.322833339765E-05
+  0.344170147158E-05  0.366917152271E-05  0.391167558034E-05  0.417020727329E-05  0.444582590101E-05
+  0.473966077387E-05  0.505291584021E-05  0.538687461930E-05  0.574290546014E-05  0.612246714800E-05
+  0.652711488135E-05  0.695850664388E-05  0.741840999759E-05  0.790870932483E-05  0.843141354897E-05
+  0.898866436529E-05  0.958274501585E-05  0.102160896442E-04  0.108912932684E-04  0.116111224130E-04
+  0.123785264438E-04  0.131966496516E-04  0.140688441343E-04  0.149986835308E-04  0.159899776617E-04
+  0.170467881383E-04  0.181734450030E-04  0.193745644683E-04  0.206550678297E-04  0.220202016265E-04
+  0.234755591366E-04  0.250271032906E-04  0.266811910997E-04  0.284445996990E-04  0.303245541103E-04
+  0.323287568402E-04  0.344654194334E-04  0.367432961109E-04  0.391717196309E-04  0.417606395186E-04
+  0.445206628220E-04  0.474630975606E-04  0.505999990437E-04  0.539442192495E-04  0.575094594655E-04
+  0.613103264068E-04  0.653623920412E-04  0.696822573653E-04  0.742876203945E-04  0.791973486423E-04
+  0.844315563875E-04  0.900116870435E-04  0.959606009681E-04  0.102302669071E-03  0.109063872604E-03
+  0.116271909536E-03  0.123956307960E-03  0.132148546974E-03  0.140882185556E-03  0.150192999936E-03
+  0.160119130038E-03  0.170701235589E-03  0.181982662526E-03  0.194009620390E-03  0.206831371412E-03
+  0.220500432088E-03  0.235072788041E-03  0.250608123054E-03  0.267170063210E-03  0.284826437132E-03
+  0.303649553366E-03  0.323716496065E-03  0.345109440149E-03  0.367915987228E-03  0.392229523661E-03
+  0.418149602194E-03  0.445782348728E-03  0.475240895864E-03  0.506645844977E-03  0.540125758697E-03
+  0.575817685783E-03  0.613867720498E-03  0.654431598766E-03  0.697675333489E-03  0.743775891598E-03
+  0.792921915550E-03  0.845314492176E-03  0.901167971957E-03  0.960710842010E-03  0.102418665628E-02
+  0.109185502664E-02  0.116399267887E-02  0.124089457767E-02  0.132287512520E-02  0.141026943799E-02
+  0.150343470699E-02  0.160275164648E-02  0.170862603724E-02  0.182149037022E-02  0.194180559698E-02
+  0.207006299390E-02  0.220678614720E-02  0.235253306661E-02  0.250789843574E-02  0.267351600781E-02
+  0.285006115589E-02  0.303825358734E-02  0.323886023271E-02  0.345269831994E-02  0.368063864538E-02
+  0.392360905372E-02  0.418259813975E-02  0.445865918532E-02  0.475291434595E-02  0.506655910210E-02
+  0.540086699085E-02  0.575719463481E-02  0.613698708574E-02  0.654178350122E-02  0.697322317377E-02
+  0.743305193259E-02  0.792312893904E-02  0.844543389789E-02  0.900207470735E-02  0.959529557187E-02
+  0.102274856023E-01  0.109011879290E-01  0.116191093550E-01  0.123841305757E-01  0.131993169929E-01
+  0.140679301526E-01  0.149934398347E-01  0.159795368236E-01  0.170301463902E-01  0.181494425124E-01
+  0.193418628649E-01  0.206121246052E-01  0.219652409824E-01  0.234065387949E-01  0.249416767187E-01
+  0.265766645285E-01  0.283178832261E-01  0.301721060910E-01  0.321465206585E-01  0.342487516267E-01
+  0.364868846862E-01  0.388694912556E-01  0.414056540969E-01  0.441049937706E-01  0.469776958777E-01
+  0.500345390167E-01  0.532869233644E-01  0.567468997676E-01  0.604271992062E-01  0.643412624556E-01
+  0.685032697477E-01  0.729281701846E-01  0.776317106202E-01  0.826304636723E-01  0.879418544734E-01
+  0.935841857035E-01  0.995766603828E-01  0.105939401817E+00  0.112693470009E+00  0.119860873746E+00
+  0.127464577480E+00  0.135528501980E+00  0.144077517640E+00  0.153137429157E+00  0.162734950176E+00
+  0.172897666316E+00  0.183653984845E+00  0.195033069077E+00  0.207064755401E+00  0.219779450647E+00
+  0.233208007313E+00  0.247381573997E+00  0.262331418175E+00  0.278088718331E+00  0.294684322281E+00
+  0.312148468415E+00  0.330510466534E+00  0.349798334922E+00  0.370038390351E+00  0.391254787886E+00
+  0.413469007585E+00  0.436699285593E+00  0.460959987670E+00  0.486260923917E+00  0.512606604396E+00
+  0.539995436506E+00  0.568418866379E+00  0.597860468269E+00  0.628294987815E+00  0.659687347350E+00
+  0.691991623811E+00  0.725150012533E+00  0.759091792928E+00  0.793732314786E+00  0.828972026523E+00
+  0.864695568746E+00  0.900770957920E+00  0.937048885087E+00  0.973362153233E+00  0.100952527329E+01
+  0.104533423238E+01  0.108056643801E+01  0.111498082794E+01  0.114831811634E+01  0.118030112315E+01
+  0.121063510361E+01  0.123900796074E+01  0.126509018530E+01  0.128853432805E+01  0.130897377168E+01
+  0.132602054064E+01  0.133926187406E+01  0.134825530053E+01  0.135252200835E+01  0.135153841669E+01
+  0.134472604132E+01  0.133144140608E+01  0.131113985918E+01  0.128359157702E+01  0.124863807676E+01
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00
+ ae wavefunction
+ -0.419591673479E-06 -0.445236660954E-06 -0.472305250687E-06 -0.500884925173E-06 -0.531068206171E-06
+ -0.562952965377E-06 -0.596642760627E-06 -0.632247202450E-06 -0.669882317876E-06 -0.709670970157E-06
+ -0.751743273549E-06 -0.796237058589E-06 -0.843298343123E-06 -0.893081857389E-06 -0.945751579095E-06
+ -0.100148131688E-05 -0.106045532797E-05 -0.112286896479E-05 -0.118892937793E-05 -0.125885625057E-05
+ -0.133288258579E-05 -0.141125554245E-05 -0.149423732267E-05 -0.158210611794E-05 -0.167515711327E-05
+ -0.177370355614E-05 -0.187807789421E-05 -0.198863298444E-05 -0.210574338018E-05 -0.222980670049E-05
+ -0.236124508686E-05 -0.250050675369E-05 -0.264806763788E-05 -0.280443315455E-05 -0.297014006557E-05
+ -0.314575846823E-05 -0.333189391186E-05 -0.352918965126E-05 -0.373832904445E-05 -0.396003810621E-05
+ -0.419508822539E-05 -0.444429905901E-05 -0.470854161112E-05 -0.498874151386E-05 -0.528588251725E-05
+ -0.560101020839E-05 -0.593523596640E-05 -0.628974117866E-05 -0.666578172614E-05 -0.706469276477E-05
+ -0.748789380520E-05 -0.793689413439E-05 -0.841329858154E-05 -0.891881365848E-05 -0.945525409868E-05
+ -0.100245498207E-04 -0.106287533383E-04 -0.112700476609E-04 -0.119507546913E-04 -0.126733441838E-04
+ -0.134404432655E-04 -0.142548465883E-04 -0.151195271357E-04 -0.160376477180E-04 -0.170125732291E-04
+ -0.180478836822E-04 -0.191473880961E-04 -0.203151392770E-04 -0.215554495594E-04 -0.228729075576E-04
+ -0.242723960099E-04 -0.257591107648E-04 -0.273385809967E-04 -0.290166907359E-04 -0.307997017578E-04
+ -0.326942780077E-04 -0.347075115045E-04 -0.368469500336E-04 -0.391206264891E-04 -0.415370902338E-04
+ -0.441054403792E-04 -0.468353612296E-04 -0.497371600521E-04 -0.528218071755E-04 -0.561009787541E-04
+ -0.595871022176E-04 -0.632934046196E-04 -0.672339641473E-04 -0.714237648284E-04 -0.758787548062E-04
+ -0.806159083152E-04 -0.856532915520E-04 -0.910101328385E-04 -0.967068971463E-04 -0.102765365426E-03
+ -0.109208718933E-03 -0.116061628915E-03 -0.123350351965E-03 -0.131102831408E-03 -0.139348805092E-03
+ -0.148119919962E-03 -0.157449853863E-03 -0.167374444991E-03 -0.177931829462E-03 -0.189162587521E-03
+ -0.201109898875E-03 -0.213819707747E-03 -0.227340898203E-03 -0.241725480395E-03 -0.257028788379E-03
+ -0.273309690165E-03 -0.290630810807E-03 -0.309058769194E-03 -0.328664429493E-03 -0.349523167966E-03
+ -0.371715156200E-03 -0.395325661615E-03 -0.420445366275E-03 -0.447170705143E-03 -0.475604224753E-03
+ -0.505854963647E-03 -0.538038855679E-03 -0.572279157541E-03 -0.608706901916E-03 -0.647461377632E-03
+ -0.688690638341E-03 -0.732552041357E-03 -0.779212818233E-03 -0.828850678842E-03 -0.881654450829E-03
+ -0.937824756232E-03 -0.997574727349E-03 -0.106113076385E-02 -0.112873333333E-02 -0.120063781758E-02
+ -0.127711540679E-02 -0.135845404425E-02 -0.144495942405E-02 -0.153695604425E-02 -0.163478831840E-02
+ -0.173882174815E-02 -0.184944415970E-02 -0.196706700731E-02 -0.209212674663E-02 -0.222508628119E-02
+ -0.236643648517E-02 -0.251669780565E-02 -0.267642194774E-02 -0.284619364598E-02 -0.302663252522E-02
+ -0.321839505467E-02 -0.342217659827E-02 -0.363871356504E-02 -0.386878566260E-02 -0.411321825733E-02
+ -0.437288484423E-02 -0.464870962994E-02 -0.494167023156E-02 -0.525280049427E-02 -0.558319343043E-02
+ -0.593400428227E-02 -0.630645371041E-02 -0.670183110977E-02 -0.712149805405E-02 -0.756689186960E-02
+ -0.803952933881E-02 -0.854101053252E-02 -0.907302277019E-02 -0.963734470585E-02 -0.102358505368E-01
+ -0.108705143308E-01 -0.115434144674E-01 -0.122567381851E-01 -0.130127862287E-01 -0.138139775855E-01
+ -0.146628542996E-01 -0.155620863515E-01 -0.165144765871E-01 -0.175229656786E-01 -0.185906370974E-01
+ -0.197207220752E-01 -0.209166045292E-01 -0.221818259204E-01 -0.235200900133E-01 -0.249352675010E-01
+ -0.264314004551E-01 -0.280127065554E-01 -0.296835830510E-01 -0.314486103986E-01 -0.333125555181E-01
+ -0.352803746019E-01 -0.373572154063E-01 -0.395484189494E-01 -0.418595205316E-01 -0.442962499902E-01
+ -0.468645310902E-01 -0.495704799483E-01 -0.524204023797E-01 -0.554207900464E-01 -0.585783152843E-01
+ -0.618998244709E-01 -0.653923297941E-01 -0.690629992720E-01 -0.729191448635E-01 -0.769682085087E-01
+ -0.812177459231E-01 -0.856754079688E-01 -0.903489194169E-01 -0.952460549124E-01 -0.100374611944E+00
+ -0.105742380623E+00 -0.111357110073E+00 -0.117226471226E+00 -0.123358015834E+00 -0.129759131487E+00
+ -0.136436992474E+00 -0.143398506273E+00 -0.150650255536E+00 -0.158198435396E+00 -0.166048785958E+00
+ -0.174206519886E+00 -0.182676244971E+00 -0.191461881646E+00 -0.200566575426E+00 -0.209992604279E+00
+ -0.219741281025E+00 -0.229812850838E+00 -0.240206384069E+00 -0.250919664576E+00 -0.261949073908E+00
+ -0.273289471686E+00 -0.284934072667E+00 -0.296874321046E+00 -0.309099762684E+00 -0.321597916090E+00
+ -0.334354143130E+00 -0.347351520683E+00 -0.360570714663E+00 -0.373989858114E+00 -0.387584435372E+00
+ -0.401327174519E+00 -0.415187950525E+00 -0.429133701186E+00 -0.443128357849E+00 -0.457132790725E+00
+ -0.471104767691E+00 -0.484998921703E+00 -0.498766719483E+00 -0.512356422012E+00 -0.525713027989E+00
+ -0.538778196066E+00 -0.551490150480E+00 -0.563783586393E+00 -0.575589602443E+00 -0.586835694684E+00
+ -0.597445844316E+00 -0.607340718942E+00 -0.616437986018E+00 -0.624652715226E+00 -0.631897834510E+00
+ -0.638084607775E+00 -0.643123116697E+00 -0.646922744393E+00 -0.649392668142E+00 -0.650442370237E+00
+ -0.649982173269E+00 -0.647923800099E+00 -0.644180957099E+00 -0.638669934919E+00 -0.631310221677E+00
+ -0.622025123195E+00 -0.610742386067E+00 -0.597394819740E+00 -0.581920915553E+00 -0.564265460645E+00
+ -0.544380145344E+00 -0.522224163384E+00 -0.497764803837E+00 -0.470978034224E+00 -0.441849073512E+00
+ -0.410372953728E+00 -0.376555068042E+00 -0.340411701856E+00 -0.301970542890E+00 -0.261271164549E+00
+ -0.218365474934E+00 -0.173318123362E+00 -0.126206854463E+00 -0.771227997739E-01 -0.261706977118E-01
+  0.265309653866E-01  0.808498960908E-01  0.136640013874E+00  0.193741540297E+00  0.251981141124E+00
+  0.311172100787E+00  0.371114512072E+00  0.431595477829E+00  0.492389350851E+00  0.553258089799E+00
+  0.613951880087E+00  0.674210269543E+00  0.733764172796E+00  0.792339126527E+00  0.849659904580E+00
+  0.905455616556E+00  0.959462488428E+00  0.101141974424E+01  0.106105567211E+01  0.110806847980E+01
+  0.115211437455E+01  0.119281223958E+01  0.122976095463E+01  0.126255737984E+01  0.129080748835E+01
+  0.131413097418E+01  0.133216280306E+01  0.134455435589E+01  0.135097524786E+01  0.135111592592E+01
+  0.134469077582E+01  0.133144140608E+01  0.131113985918E+01  0.128359157702E+01  0.124863807676E+01
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00  0.000000000000E+00
+  0.000000000000E+00
+ End of Dataset
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..8dbf6d276685a7f2275a97e568bc18014c1a31c8
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/at_download/file
@@ -0,0 +1,23 @@
+#!/bin/bash
+#PBS -A OPEN-6-23
+#PBS -N Si-test1
+#PBS -q qfree 
+#PBS -l select=1:ncpus=24:mpiprocs=24:ompthreads=1
+#PBS -l walltime=01:59:59
+##PBS-l mem=6gb
+#PBS -j oe
+#PBS -S /bin/bash
+module purge
+module load phono3py/0.9.14-ictce-7.3.5-Python-2.7.9
+export OMP_NUM_THREADS=1
+export I_MPI_COMPATIBILITY=4
+##export OMP_STACKSIZE=10gb
+##0	1	2	3	4	10	11	12	13	20	21	22	30	31	40	91	92	93	94	101	102	103	111	112	121	182	183	184	192	193	202	273	274	283	364
+cd $PBS_O_WORKDIR
+phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="0 1 3 4 10" 
+#phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="11 12 13 20 21" 
+#phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="21 22 30 31 40"
+#phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="91 92 93 94 101"
+#phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="102 103 111 112 121"
+#phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="182 183 184 192 193"
+#phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write_gamma --gp="202 273 274 283 364"
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..f72a61b992f3348c4260097c12b9bbb2bed40bc3
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/at_download/file
@@ -0,0 +1,16 @@
+ Si
+   1.0
+     5.4335600309153529    0.0000000000000000    0.0000000000000000
+     0.0000000000000000    5.4335600309153529    0.0000000000000000
+     0.0000000000000000    0.0000000000000000    5.4335600309153529
+ Si
+   8
+Direct
+   0.8750000000000000  0.8750000000000000  0.8750000000000000
+   0.8750000000000000  0.3750000000000000  0.3750000000000000
+   0.3750000000000000  0.8750000000000000  0.3750000000000000
+   0.3750000000000000  0.3750000000000000  0.8750000000000000
+   0.1250000000000000  0.1250000000000000  0.1250000000000000
+   0.1250000000000000  0.6250000000000000  0.6250000000000000
+   0.6250000000000000  0.1250000000000000  0.6250000000000000
+   0.6250000000000000  0.6250000000000000  0.1250000000000000
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..a057dbbadd94d0298e7a4ba19244cb753bea7a9f
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/at_download/file
@@ -0,0 +1,44 @@
+#!/bin/bash
+P=`pwd`
+
+# number of displacements
+poc=9
+
+        for i in `seq 1 $poc `;
+        do
+        cd $P
+        mkdir disp-0000"$i"
+        cd disp-0000"$i"   
+        cp ../KPOINTS .
+        cp ../INCAR .
+        cp ../POTCAR .
+        cp ../POSCAR-0000"$i" POSCAR
+                echo $i
+        done 
+
+poc=99
+
+        for i in `seq 10 $poc `;
+        do
+        cd $P
+        mkdir disp-000"$i"
+        cd disp-000"$i"
+        cp ../KPOINTS .
+        cp ../INCAR .
+        cp ../POTCAR .
+        cp ../POSCAR-000"$i" POSCAR
+                echo $i
+        done
+poc=111
+
+        for i in `seq 100 $poc `;
+        do
+        cd $P
+        mkdir disp-00"$i"
+        cd disp-00"$i"
+        cp ../KPOINTS .
+        cp ../INCAR .
+        cp ../POTCAR .
+        cp ../POSCAR-00"$i" POSCAR
+                echo $i
+        done
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..63faf63ba41f0f6846c8b59030a64ae9c1415a55
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/at_download/file
@@ -0,0 +1,31 @@
+#!/bin/bash
+#PBS -A IT4I-9-11
+#PBS -N Si-test
+#PBS -q qprod 
+#PBS -l select=8:ncpus=16:mpiprocs=16:ompthreads=1
+#PBS -l walltime=23:59:59
+##PBS-l mem=6gb
+#PBS -j oe
+#PBS -S /bin/bash
+module load impi/4.1.1.036 intel/13.5.192 fftw3-mpi/3.3.3-icc
+export OMP_NUM_THREADS=1
+export I_MPI_COMPATIBILITY=4
+##export OMP_STACKSIZE=10gb
+b=`basename $PBS_O_WORKDIR`
+echo $b >log.vasp
+SCRDIR=/scratch/$USER/$b
+mkdir -p $SCRDIR
+cd $SCRDIR || exit
+
+# copy input file to scratch 
+cp $PBS_O_WORKDIR/* .
+
+mpirun ~/bin/vasp5.4.1 > log.exc
+
+# copy output file to home
+cp * $PBS_O_WORKDIR/. && cd ..
+
+rm -rf "$SCRDIR"
+
+#exit
+exit
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/at_download/file b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/at_download/file
new file mode 100644
index 0000000000000000000000000000000000000000..12fa02ecc489a10df486cfd2fc55065c02d4eea4
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/at_download/file
@@ -0,0 +1,35 @@
+#!/bin/bash
+P=`pwd`
+
+# number of displacements
+poc=9
+
+        for i in `seq 1 $poc `;
+        do
+        cd $P
+        cd disp-0000"$i"   
+        cp ../run.sh .
+        qsub run.sh
+                echo $i
+        done 
+
+poc=99
+
+        for i in `seq 10 $poc `;
+        do
+        cd $P
+        cd disp-000"$i"
+        cp ../run.sh .
+        qsub run.sh
+                echo $i
+        done
+poc=111
+
+        for i in `seq 100 $poc `;
+        do
+        cd $P
+        cd disp-00"$i"
+        cp ../run.sh .
+        qsub run.sh
+                echo $i
+        done
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view.md b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh/view.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/salomon/software/chemistry/phono3py.md b/docs.it4i.cz/salomon/software/chemistry/phono3py.md
new file mode 100644
index 0000000000000000000000000000000000000000..9b68d14ac2e00276650c9af62b854da7e07b48b9
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/chemistry/phono3py.md
@@ -0,0 +1,208 @@
+Phono3py 
+========
+
+
+  
+
+ Introduction
+-------------
+
+This GPL software calculates phonon-phonon interactions via the third
+order force constants. It allows to obtain lattice thermal conductivity,
+phonon lifetime/linewidth, imaginary part of self energy at the lowest
+order, joint density of states (JDOS) and weighted-JDOS. For details see
+Phys. Rev. B 91, 094306 (2015) and
+http://atztogo.github.io/phono3py/index.html
+
+
+Load the phono3py/0.9.14-ictce-7.3.5-Python-2.7.9 module
+
+``` 
+$ module load phono3py/0.9.14-ictce-7.3.5-Python-2.7.9
+```
+
+Example of calculating thermal conductivity of Si using VASP code.
+------------------------------------------------------------------
+
+### Calculating force constants
+
+One needs to calculate second order and third order force constants
+using the diamond structure of silicon stored in
+[POSCAR](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/poscar-si) 
+(the same form as in VASP) using single displacement calculations within
+supercell.
+
+``` 
+$ cat POSCAR
+ Si
+   1.0
+     5.4335600309153529    0.0000000000000000    0.0000000000000000
+     0.0000000000000000    5.4335600309153529    0.0000000000000000
+     0.0000000000000000    0.0000000000000000    5.4335600309153529
+ Si
+   8
+Direct
+   0.8750000000000000  0.8750000000000000  0.8750000000000000
+   0.8750000000000000  0.3750000000000000  0.3750000000000000
+   0.3750000000000000  0.8750000000000000  0.3750000000000000
+   0.3750000000000000  0.3750000000000000  0.8750000000000000
+   0.1250000000000000  0.1250000000000000  0.1250000000000000
+   0.1250000000000000  0.6250000000000000  0.6250000000000000
+   0.6250000000000000  0.1250000000000000  0.6250000000000000
+   0.6250000000000000  0.6250000000000000  0.1250000000000000
+```
+
+### Generating displacement using 2x2x2 supercell for both second and third order force constants
+
+``` 
+$ phono3py -d --dim="2 2 2" -c POSCAR
+```
+
+<span class="n">111 displacements is created stored in <span
+class="n">disp_fc3.yaml</span>, and the structure input files with this
+displacements are POSCAR-00XXX, where the XXX=111.
+</span>
+
+``` 
+disp_fc3.yaml  POSCAR-00008  POSCAR-00017  POSCAR-00026  POSCAR-00035  POSCAR-00044  POSCAR-00053  POSCAR-00062  POSCAR-00071  POSCAR-00080  POSCAR-00089  POSCAR-00098  POSCAR-00107
+POSCAR         POSCAR-00009  POSCAR-00018  POSCAR-00027  POSCAR-00036  POSCAR-00045  POSCAR-00054  POSCAR-00063  POSCAR-00072  POSCAR-00081  POSCAR-00090  POSCAR-00099  POSCAR-00108
+POSCAR-00001   POSCAR-00010  POSCAR-00019  POSCAR-00028  POSCAR-00037  POSCAR-00046  POSCAR-00055  POSCAR-00064  POSCAR-00073  POSCAR-00082  POSCAR-00091  POSCAR-00100  POSCAR-00109
+POSCAR-00002   POSCAR-00011  POSCAR-00020  POSCAR-00029  POSCAR-00038  POSCAR-00047  POSCAR-00056  POSCAR-00065  POSCAR-00074  POSCAR-00083  POSCAR-00092  POSCAR-00101  POSCAR-00110
+POSCAR-00003   POSCAR-00012  POSCAR-00021  POSCAR-00030  POSCAR-00039  POSCAR-00048  POSCAR-00057  POSCAR-00066  POSCAR-00075  POSCAR-00084  POSCAR-00093  POSCAR-00102  POSCAR-00111
+POSCAR-00004   POSCAR-00013  POSCAR-00022  POSCAR-00031  POSCAR-00040  POSCAR-00049  POSCAR-00058  POSCAR-00067  POSCAR-00076  POSCAR-00085  POSCAR-00094  POSCAR-00103
+POSCAR-00005   POSCAR-00014  POSCAR-00023  POSCAR-00032  POSCAR-00041  POSCAR-00050  POSCAR-00059  POSCAR-00068  POSCAR-00077  POSCAR-00086  POSCAR-00095  POSCAR-00104
+POSCAR-00006   POSCAR-00015  POSCAR-00024  POSCAR-00033  POSCAR-00042  POSCAR-00051  POSCAR-00060  POSCAR-00069  POSCAR-00078  POSCAR-00087  POSCAR-00096  POSCAR-00105
+POSCAR-00007   POSCAR-00016  POSCAR-00025  POSCAR-00034  POSCAR-00043  POSCAR-00052  POSCAR-00061  POSCAR-00070  POSCAR-00079  POSCAR-00088  POSCAR-00097  POSCAR-00106
+```
+
+<span class="n"> For each displacement the forces needs to be
+calculated, i.e. in form of the output file of VASP (vasprun.xml). For a
+single VASP calculations one needs
+[KPOINTS](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/KPOINTS),
+[POTCAR](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/POTCAR),
+[INCAR](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/INCAR)
+in your case directory (where you have POSCARS) and those 111
+displacements calculations can be generated by
+[prepare.sh](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/prepare.sh)
+script. Then each of the single 111 calculations is submitted
+[run.sh](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/run.sh)
+by
+[submit.sh](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/submit.sh).</span>
+
+``` 
+$./prepare.sh
+$ls
+disp-00001  disp-00009  disp-00017  disp-00025  disp-00033  disp-00041  disp-00049  disp-00057  disp-00065  disp-00073  disp-00081  disp-00089  disp-00097  disp-00105     INCAR
+disp-00002  disp-00010  disp-00018  disp-00026  disp-00034  disp-00042  disp-00050  disp-00058  disp-00066  disp-00074  disp-00082  disp-00090  disp-00098  disp-00106     KPOINTS
+disp-00003  disp-00011  disp-00019  disp-00027  disp-00035  disp-00043  disp-00051  disp-00059  disp-00067  disp-00075  disp-00083  disp-00091  disp-00099  disp-00107     POSCAR
+disp-00004  disp-00012  disp-00020  disp-00028  disp-00036  disp-00044  disp-00052  disp-00060  disp-00068  disp-00076  disp-00084  disp-00092  disp-00100  disp-00108     POTCAR
+disp-00005  disp-00013  disp-00021  disp-00029  disp-00037  disp-00045  disp-00053  disp-00061  disp-00069  disp-00077  disp-00085  disp-00093  disp-00101  disp-00109     prepare.sh
+disp-00006  disp-00014  disp-00022  disp-00030  disp-00038  disp-00046  disp-00054  disp-00062  disp-00070  disp-00078  disp-00086  disp-00094  disp-00102  disp-00110     run.sh
+disp-00007  disp-00015  disp-00023  disp-00031  disp-00039  disp-00047  disp-00055  disp-00063  disp-00071  disp-00079  disp-00087  disp-00095  disp-00103  disp-00111     submit.sh
+disp-00008  disp-00016  disp-00024  disp-00032  disp-00040  disp-00048  disp-00056  disp-00064  disp-00072  disp-00080  disp-00088  disp-00096  disp-00104  disp_fc3.yaml
+```
+
+<span class="n">Taylor your run.sh script to fit into your project and
+other needs and submit all 111 calculations using submit.sh
+script</span>
+
+``` 
+$ ./submit.sh
+```
+
+<span class="n">Collecting results and post-processing with phono3py</span>
+---------------------------------------------------------------------------
+
+<span class="n">Once all jobs are finished and vasprun.xml is created in
+each disp-XXXXX directory the collection is done by </span>
+
+``` 
+$ phono3py --cf3 disp-{00001..00111}/vasprun.xml
+```
+
+<span class="n"><span class="n">and
+`disp_fc2.yaml, FORCES_FC2`, `FORCES_FC3`{.docutils
+.literal}</span> and disp_fc3.yaml should appear and put into the hdf
+format by </span>
+
+``` 
+$ phono3py --dim="2 2 2" -c POSCAR
+```
+
+resulting in `fc2.hdf5` and `fc3.hdf5`{.docutils
+.literal}
+
+### Thermal conductivity
+
+<span class="pre">The phonon lifetime calculations takes some time,
+however is independent on grid points, so could be splitted:
+</span>
+
+``` 
+$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --sigma 0.1 --wgp
+```
+
+### <span class="n">Inspecting ir_grid_points.yaml</span>
+
+``` 
+$ grep grid_point ir_grid_points.yaml
+num_reduced_ir_grid_points35
+ir_grid_points:  # [address, weight]
+- grid_point0
+- grid_point1
+- grid_point2
+- grid_point3
+- grid_point4
+- grid_point10
+- grid_point11
+- grid_point12
+- grid_point13
+- grid_point20
+- grid_point21
+- grid_point22
+- grid_point30
+- grid_point31
+- grid_point40
+- grid_point91
+- grid_point92
+- grid_point93
+- grid_point94
+- grid_point101
+- grid_point102
+- grid_point103
+- grid_point111
+- grid_point112
+- grid_point121
+- grid_point182
+- grid_point183
+- grid_point184
+- grid_point192
+- grid_point193
+- grid_point202
+- grid_point273
+- grid_point274
+- grid_point283
+- grid_point364
+```
+
+one finds which grid points needed to be calculated, for instance using
+following
+
+``` 
+$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" -c POSCAR  --sigma 0.1 --br --write-gamma --gp="0 1 2
+```
+
+<span class="n">one calculates grid points 0, 1, 2. To automize one can
+use for instance scripts to submit 5 points in series, see
+[gofree-cond1.sh](https://docs.it4i.cz/salomon/software/chemistry/phono3py-input/gofree-cond1.sh)</span>
+
+``` 
+$ qsub gofree-cond1.sh
+```
+
+<span class="n">Finally the thermal conductivity result is produced by
+grouping single conductivity per grid calculations using  </span>
+
+``` 
+$ phono3py --fc3 --fc2 --dim="2 2 2" --mesh="9 9 9" --br --read_gamma
+```
diff --git a/docs.it4i.cz/salomon/software/compilers.md b/docs.it4i.cz/salomon/software/compilers.md
new file mode 100644
index 0000000000000000000000000000000000000000..b1a6212a9736751522a2b0c913071970636b1e6d
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/compilers.md
@@ -0,0 +1,200 @@
+Compilers 
+=========
+
+Available compilers, including GNU, INTEL and UPC compilers
+
+
+  
+
+There are several compilers for different programming languages
+available on the cluster:
+
+-   C/C++
+-   Fortran 77/90/95/HPF
+-   Unified Parallel C
+-   Java
+
+The C/C++ and Fortran compilers are provided by:
+
+Opensource:
+
+-   GNU GCC
+-   Clang/LLVM
+
+Commercial licenses:
+
+-   Intel
+-   PGI
+
+Intel Compilers
+---------------
+
+For information about the usage of Intel Compilers and other Intel
+products, please read the [Intel Parallel
+studio](https://docs.it4i.cz/salomon/software/intel-suite)
+page.
+
+PGI Compilers
+-------------
+
+The Portland Group Cluster Development Kit (PGI CDK) is available.
+
+    $ module load PGI
+    $ pgcc -v
+    $ pgc++ -v
+    $ pgf77 -v
+    $ pgf90 -v
+    $ pgf95 -v
+    $ pghpf -v
+
+The PGI CDK also incudes tools for debugging and profiling.
+
+PGDBG OpenMP/MPI debugger and PGPROF OpenMP/MPI profiler are available
+
+    $ module load PGI
+    $ module load Java
+    $ pgdbg &
+    $ pgprof &
+
+For more information, see the [PGI
+page](http://www.pgroup.com/products/pgicdk.htm).
+
+GNU
+---
+
+For compatibility reasons there are still available the original (old
+4.4.7-11) versions of GNU compilers as part of the OS. These are
+accessible in the search path by default.
+
+It is strongly recommended to use the up to date version which comes
+with the module GCC:
+
+    $ module load GCC
+    $ gcc -v
+    $ g++ -v
+    $ gfortran -v
+
+With the module loaded two environment variables are predefined. One for
+maximum optimizations on the cluster's architecture, and the other for
+debugging purposes:
+
+    $ echo $OPTFLAGS
+    -O3 -march=native
+
+    $ echo $DEBUGFLAGS
+    -O0 -g
+
+For more information about the possibilities of the compilers, please
+see the man pages.
+
+Unified Parallel C
+------------------
+
+UPC is supported by two compiler/runtime implementations:
+
+-   GNU - SMP/multi-threading support only
+-   Berkley - multi-node support as well as SMP/multi-threading support
+
+### GNU UPC Compiler
+
+To use the GNU UPC compiler and run the compiled binaries use the module
+gupc
+
+    $ module add gupc
+    $ gupc -v
+    $ g++ -v
+
+Simple program to test the compiler
+
+    $ cat count.upc 
+
+    /* hello.upc - a simple UPC example */
+    #include <upc.h>
+    #include <stdio.h>
+
+    int main() {
+      if (MYTHREAD == 0) {
+        printf("Welcome to GNU UPC!!!n");
+      }
+      upc_barrier;
+      printf(" - Hello from thread %in", MYTHREAD);
+      return 0;
+    } 
+
+To compile the example use
+
+    $ gupc -o count.upc.x count.upc
+
+To run the example with 5 threads issue
+
+    $ ./count.upc.x -fupc-threads-5
+
+For more informations see the man pages.
+
+### Berkley UPC Compiler
+
+To use the Berkley UPC compiler and runtime environment to run the
+binaries use the module bupc
+
+    $ module add bupc
+    $ upcc -version
+
+As default UPC network the "smp" is used. This is very quick and easy
+way for testing/debugging, but limited to one node only.
+
+For production runs, it is recommended to use the native Infiband
+implementation of UPC network "ibv". For testing/debugging using
+multiple nodes, the "mpi" UPC network is recommended. Please note, that
+**the selection of the network is done at the compile time** and not at
+runtime (as expected)!
+
+Example UPC code:
+
+    $ cat hello.upc 
+
+    /* hello.upc - a simple UPC example */
+    #include <upc.h>
+    #include <stdio.h>
+
+    int main() {
+      if (MYTHREAD == 0) {
+        printf("Welcome to Berkeley UPC!!!n");
+      }
+      upc_barrier;
+      printf(" - Hello from thread %in", MYTHREAD);
+      return 0;
+    } 
+
+To compile the example with the "ibv" UPC network use
+
+    $ upcc -network=ibv -o hello.upc.x hello.upc 
+
+To run the example with 5 threads issue
+
+    $ upcrun -n 5 ./hello.upc.x
+
+To run the example on two compute nodes using all 48 cores, with 48
+threads, issue
+
+    $ qsub -I -q qprod -A PROJECT_ID -l select=2:ncpus=24 
+    $ module add bupc
+    $ upcrun -n 48 ./hello.upc.x
+
+ For more informations see the man pages.
+
+Java
+----
+
+For information how to use Java (runtime and/or compiler), please read
+the [Java
+page](https://docs.it4i.cz/salomon/software/java).
+
+nVidia CUDA
+
+For information how to work with nVidia CUDA, please read the [nVidia
+CUDA
+page](https://docs.it4i.cz/anselm-cluster-documentation/software/nvidia-cuda).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/comsol.md b/docs.it4i.cz/salomon/software/comsol.md
new file mode 100644
index 0000000000000000000000000000000000000000..5b58ab0f5d4c71fdc38ceaeb2890e5708ddb79de
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/comsol.md
@@ -0,0 +1,208 @@
+COMSOL Multiphysics® 
+====================
+
+
+
+  
+
+<span><span>Introduction
+</span></span>
+-------------------------
+
+<span><span>[COMSOL](http://www.comsol.com)</span></span><span><span>
+is a powerful environment for modelling and solving various engineering
+and scientific problems based on partial differential equations. COMSOL
+is designed to solve coupled or multiphysics phenomena. For many
+standard engineering problems COMSOL provides add-on products such as
+electrical, mechanical, fluid flow, and chemical
+applications.</span></span>
+
+-   <span><span>[Structural Mechanics
+    Module](http://www.comsol.com/structural-mechanics-module),
+    </span></span>
+
+-   <span><span>[Heat Transfer
+    Module](http://www.comsol.com/heat-transfer-module),
+    </span></span>
+
+-   <span><span>[CFD
+    Module](http://www.comsol.com/cfd-module),
+    </span></span>
+
+-   <span><span>[Acoustics
+    Module](http://www.comsol.com/acoustics-module),
+    </span></span>
+
+-   <span><span>and [many
+    others](http://www.comsol.com/products)</span></span>
+
+<span><span>COMSOL also allows an
+</span></span><span><span><span><span>interface support for
+equation-based modelling of
+</span></span></span></span><span><span>partial differential
+equations.</span></span>
+
+<span><span>Execution
+</span></span>
+----------------------
+
+<span><span>On the clusters COMSOL is available in the latest stable
+version. There are two variants of the release:</span></span>
+
+-   <span><span>**Non commercial**</span></span><span><span> or so
+    called </span></span><span><span>**EDU
+    variant**</span></span><span><span>, which can be used for research
+    and educational purposes.</span></span>
+
+-   <span><span>**Commercial**</span></span><span><span> or so called
+    </span></span><span><span>**COM variant**</span></span><span><span>,
+    which can used also for commercial activities.
+    </span></span><span><span>**COM variant**</span></span><span><span>
+    has only subset of features compared to the
+    </span></span><span><span>**EDU
+    variant**</span></span><span><span> available. <span
+    class="internal-link"><span id="result_box" class="short_text"><span
+    class="hps">More</span> <span class="hps">about
+    licensing</span> will be posted <span class="hps">here
+    soon</span>.</span></span>
+    </span></span>
+
+<span><span>To load the of COMSOL load the module</span></span>
+
+``` 
+$ module load COMSOL/51-EDU
+```
+
+<span><span>By default the </span></span><span><span>**EDU
+variant**</span></span><span><span> will be loaded. If user needs other
+version or variant, load the particular version. To obtain the list of
+available versions use</span></span>
+
+``` 
+$ module avail COMSOL
+```
+
+<span><span>If user needs to prepare COMSOL jobs in the interactive mode
+it is recommend to use COMSOL on the compute nodes via PBS Pro
+scheduler. In order run the COMSOL Desktop GUI on Windows is recommended
+to use the [Virtual Network Computing
+(VNC)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qprod -l select=1:ppn=24
+$ module load COMSOL
+$ comsol
+```
+
+<span><span>To run COMSOL in batch mode, without the COMSOL Desktop GUI
+environment, user can utilized the default (comsol.pbs) job script and
+execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ppn=24
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A PROJECT_ID
+
+cd /scratch/work/user/$USER/ || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load COMSOL
+# module load COMSOL/51-EDU
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log
+```
+
+<span><span>Working directory has to be created before sending the
+(comsol.pbs) job script into the queue. Input file (name_input_f.mph)
+has to be in working directory or full path to input file has to be
+specified. The appropriate path to the temp directory of the job has to
+be set by command option (-tmpdir).</span></span>
+
+LiveLink™* *for MATLAB^®^
+-------------------------
+
+<span><span>COMSOL is the software package for the numerical solution of
+the partial differential equations. LiveLink for MATLAB allows
+connection to the
+COMSOL</span></span><span><span>^<span><span><span><span><span><span><span>**®**</span></span></span></span></span></span></span>^</span></span><span><span>
+API (Application Programming Interface) with the benefits of the
+programming language and computing environment of the MATLAB.
+</span></span>
+
+<span><span>LiveLink for MATLAB is available in both
+</span></span><span><span>**EDU**</span></span><span><span> and
+</span></span><span><span>**COM**</span></span><span><span>
+</span></span><span><span>**variant**</span></span><span><span> of the
+COMSOL release. On the clusters 1 commercial
+(</span></span><span><span>**COM**</span></span><span><span>) license
+and the 5 educational
+(</span></span><span><span>**EDU**</span></span><span><span>) licenses
+of LiveLink for MATLAB (please see the [ISV
+Licenses](https://docs.it4i.cz/salomon/software/isv_licenses))
+are available. Following example shows how to start COMSOL model from
+MATLAB via LiveLink in the interactive mode.</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qexp -l select=1:ppn=24
+$ module load MATLAB
+$ module load COMSOL
+$ comsol server MATLAB
+```
+
+<span><span>At the first time to launch the LiveLink for MATLAB
+(client-MATLAB/server-COMSOL connection) the login and password is
+requested and this information is not requested again.</span></span>
+
+<span><span>To run LiveLink for MATLAB in batch mode with
+(comsol_matlab.pbs) job script you can utilize/modify the following
+script and execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ppn=24
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A PROJECT_ID
+
+cd /scratch/work/user/$USER || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load MATLAB
+module load COMSOL/51-EDU
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/work/user/$USER/work &
+cd /apps/cae/COMSOL/51/mli
+matlab -nodesktop -nosplash -r "mphstart; addpath /scratch/work/user/$USER/work; test_job"
+```
+
+This example shows how to run Livelink for MATLAB with following
+configuration3 nodes and 16 cores per node. Working directory has to
+be created before submitting (comsol_matlab.pbs) job script into the
+queue. Input file (test_job.m) has to be in working directory or full
+path to input file has to be specified. The Matlab command option (-r
+”mphstart”) created a connection with a COMSOL server using the default
+port number.
+
+
diff --git a/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md b/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md
new file mode 100644
index 0000000000000000000000000000000000000000..5b58ab0f5d4c71fdc38ceaeb2890e5708ddb79de
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/comsol/comsol-multiphysics.md
@@ -0,0 +1,208 @@
+COMSOL Multiphysics® 
+====================
+
+
+
+  
+
+<span><span>Introduction
+</span></span>
+-------------------------
+
+<span><span>[COMSOL](http://www.comsol.com)</span></span><span><span>
+is a powerful environment for modelling and solving various engineering
+and scientific problems based on partial differential equations. COMSOL
+is designed to solve coupled or multiphysics phenomena. For many
+standard engineering problems COMSOL provides add-on products such as
+electrical, mechanical, fluid flow, and chemical
+applications.</span></span>
+
+-   <span><span>[Structural Mechanics
+    Module](http://www.comsol.com/structural-mechanics-module),
+    </span></span>
+
+-   <span><span>[Heat Transfer
+    Module](http://www.comsol.com/heat-transfer-module),
+    </span></span>
+
+-   <span><span>[CFD
+    Module](http://www.comsol.com/cfd-module),
+    </span></span>
+
+-   <span><span>[Acoustics
+    Module](http://www.comsol.com/acoustics-module),
+    </span></span>
+
+-   <span><span>and [many
+    others](http://www.comsol.com/products)</span></span>
+
+<span><span>COMSOL also allows an
+</span></span><span><span><span><span>interface support for
+equation-based modelling of
+</span></span></span></span><span><span>partial differential
+equations.</span></span>
+
+<span><span>Execution
+</span></span>
+----------------------
+
+<span><span>On the clusters COMSOL is available in the latest stable
+version. There are two variants of the release:</span></span>
+
+-   <span><span>**Non commercial**</span></span><span><span> or so
+    called </span></span><span><span>**EDU
+    variant**</span></span><span><span>, which can be used for research
+    and educational purposes.</span></span>
+
+-   <span><span>**Commercial**</span></span><span><span> or so called
+    </span></span><span><span>**COM variant**</span></span><span><span>,
+    which can used also for commercial activities.
+    </span></span><span><span>**COM variant**</span></span><span><span>
+    has only subset of features compared to the
+    </span></span><span><span>**EDU
+    variant**</span></span><span><span> available. <span
+    class="internal-link"><span id="result_box" class="short_text"><span
+    class="hps">More</span> <span class="hps">about
+    licensing</span> will be posted <span class="hps">here
+    soon</span>.</span></span>
+    </span></span>
+
+<span><span>To load the of COMSOL load the module</span></span>
+
+``` 
+$ module load COMSOL/51-EDU
+```
+
+<span><span>By default the </span></span><span><span>**EDU
+variant**</span></span><span><span> will be loaded. If user needs other
+version or variant, load the particular version. To obtain the list of
+available versions use</span></span>
+
+``` 
+$ module avail COMSOL
+```
+
+<span><span>If user needs to prepare COMSOL jobs in the interactive mode
+it is recommend to use COMSOL on the compute nodes via PBS Pro
+scheduler. In order run the COMSOL Desktop GUI on Windows is recommended
+to use the [Virtual Network Computing
+(VNC)](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qprod -l select=1:ppn=24
+$ module load COMSOL
+$ comsol
+```
+
+<span><span>To run COMSOL in batch mode, without the COMSOL Desktop GUI
+environment, user can utilized the default (comsol.pbs) job script and
+execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ppn=24
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A PROJECT_ID
+
+cd /scratch/work/user/$USER/ || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load COMSOL
+# module load COMSOL/51-EDU
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ batch -configuration /tmp –mpiarg –rmk –mpiarg pbs -tmpdir /scratch/$USER/ -inputfile name_input_f.mph -outputfile name_output_f.mph -batchlog name_log_f.log
+```
+
+<span><span>Working directory has to be created before sending the
+(comsol.pbs) job script into the queue. Input file (name_input_f.mph)
+has to be in working directory or full path to input file has to be
+specified. The appropriate path to the temp directory of the job has to
+be set by command option (-tmpdir).</span></span>
+
+LiveLink™* *for MATLAB^®^
+-------------------------
+
+<span><span>COMSOL is the software package for the numerical solution of
+the partial differential equations. LiveLink for MATLAB allows
+connection to the
+COMSOL</span></span><span><span>^<span><span><span><span><span><span><span>**®**</span></span></span></span></span></span></span>^</span></span><span><span>
+API (Application Programming Interface) with the benefits of the
+programming language and computing environment of the MATLAB.
+</span></span>
+
+<span><span>LiveLink for MATLAB is available in both
+</span></span><span><span>**EDU**</span></span><span><span> and
+</span></span><span><span>**COM**</span></span><span><span>
+</span></span><span><span>**variant**</span></span><span><span> of the
+COMSOL release. On the clusters 1 commercial
+(</span></span><span><span>**COM**</span></span><span><span>) license
+and the 5 educational
+(</span></span><span><span>**EDU**</span></span><span><span>) licenses
+of LiveLink for MATLAB (please see the [ISV
+Licenses](https://docs.it4i.cz/salomon/software/isv_licenses))
+are available. Following example shows how to start COMSOL model from
+MATLAB via LiveLink in the interactive mode.</span></span>
+
+``` 
+$ xhost +
+$ qsub -I -X -A PROJECT_ID -q qexp -l select=1:ppn=24
+$ module load MATLAB
+$ module load COMSOL
+$ comsol server MATLAB
+```
+
+<span><span>At the first time to launch the LiveLink for MATLAB
+(client-MATLAB/server-COMSOL connection) the login and password is
+requested and this information is not requested again.</span></span>
+
+<span><span>To run LiveLink for MATLAB in batch mode with
+(comsol_matlab.pbs) job script you can utilize/modify the following
+script and execute it via the qsub command.</span></span>
+
+``` 
+#!/bin/bash
+#PBS -l select=3:ppn=24
+#PBS -q qprod
+#PBS -N JOB_NAME
+#PBS -A PROJECT_ID
+
+cd /scratch/work/user/$USER || exit
+
+echo Time is `date`
+echo Directory is `pwd`
+echo '***PBS_NODEFILE***START*******'
+cat $PBS_NODEFILE
+echo '***PBS_NODEFILE***END*********'
+
+text_nodes < cat $PBS_NODEFILE
+
+module load MATLAB
+module load COMSOL/51-EDU
+
+ntask=$(wc -l $PBS_NODEFILE)
+
+comsol -nn $ server -configuration /tmp -mpiarg -rmk -mpiarg pbs -tmpdir /scratch/work/user/$USER/work &
+cd /apps/cae/COMSOL/51/mli
+matlab -nodesktop -nosplash -r "mphstart; addpath /scratch/work/user/$USER/work; test_job"
+```
+
+This example shows how to run Livelink for MATLAB with following
+configuration3 nodes and 16 cores per node. Working directory has to
+be created before submitting (comsol_matlab.pbs) job script into the
+queue. Input file (test_job.m) has to be in working directory or full
+path to input file has to be specified. The Matlab command option (-r
+”mphstart”) created a connection with a COMSOL server using the default
+port number.
+
+
diff --git a/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md b/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5b4951999864f907738cab5b8ec3556f598c650
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/comsol/licensing-and-available-versions.md
@@ -0,0 +1,39 @@
+Licensing and Available Versions 
+================================
+
+Comsol licence can be used by:
+------------------------------
+
+-   all persons in the carrying out of the CE IT4Innovations Project (In
+    addition to the primary licensee, which is VSB - Technical
+    University of Ostrava, users are CE IT4Innovations third parties -
+    CE IT4Innovations project partners, particularly the University of
+    Ostrava, the Brno University of Technology - Faculty of Informatics,
+    the Silesian University in Opava, Institute of Geonics AS CR.)
+-   <span id="result_box" class="short_text"><span class="hps">all
+    persons</span> <span class="hps">who have a valid</span> <span
+    class="hps">license</span></span>
+-   <span id="result_box" class="short_text"><span class="hps">students
+    of</span> <span class="hps">the Technical University</span></span>
+
+Comsol EDU Network Licence
+--------------------------
+
+The licence intended to be used for science and research, publications,
+students’ projects, teaching (academic licence).
+
+Comsol COM Network Licence
+--------------------------
+
+The licence intended to be used for science and research, publications,
+students’ projects, commercial research with no commercial use
+restrictions. <span id="result_box"><span class="hps">E</span><span
+class="hps">nables</span> <span class="hps">the solution</span> <span
+class="hps">of at least</span> <span class="hps">one job</span> <span
+class="hps">by one user</span> <span class="hps">in one</span> <span
+class="hps">program start.</span></span>
+
+Available Versions
+------------------
+
+-   ver. 51
diff --git a/docs.it4i.cz/salomon/software/debuggers.1.md b/docs.it4i.cz/salomon/software/debuggers.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..b53979353c5de1757b4bd0f53ae4855d4beab8d4
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers.1.md
@@ -0,0 +1,99 @@
+Debuggers and profilers summary 
+===============================
+
+
+
+  
+
+Introduction
+------------
+
+We provide state of the art programms and tools to develop, profile and
+debug HPC codes at IT4Innovations.
+On these pages, we provide an overview of the profiling and debugging
+tools available on Anslem at IT4I.
+
+Intel debugger
+--------------
+
+Intel debugger is no longer available since Parallel Studio version 2015
+
+The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger)
+page.
+
+Allinea Forge (DDT/MAP)
+-----------------------
+
+Allinea DDT, is a commercial debugger primarily for debugging parallel
+MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel
+Xeon Phi accelerators. DDT provides all the standard debugging features
+(stack trace, breakpoints, watches, view variables, threads etc.) for
+every thread running as part of your program, or for every process -
+even if these processes are distributed across a cluster using an MPI
+implementation.
+
+    $ module load Forge
+    $ forge
+
+Read more at the [Allinea
+DDT](https://docs.it4i.cz/salomon/software/debuggers/allinea-ddt)
+page.
+
+Allinea Performance Reports
+---------------------------
+
+Allinea Performance Reports characterize the performance of HPC
+application runs. After executing your application through the tool, a
+synthetic HTML report is generated automatically, containing information
+about several metrics along with clear behavior statements and hints to
+help you improve the efficiency of your runs. Our license is limited to
+64 MPI processes.
+
+    $ module load PerformanceReports/6.0  
+    $ perf-report mpirun -n 64 ./my_application argument01 argument02
+
+Read more at the [Allinea Performance
+Reports](https://docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports)
+page.
+
+RougeWave Totalview
+-------------------
+
+TotalView is a source- and machine-level debugger for multi-process,
+multi-threaded programs. Its wide range of tools provides ways to
+analyze, organize, and test programs, making it easy to isolate and
+identify problems in individual threads and processes in programs of
+great complexity.
+
+    $ module load TotalView/8.15.4-6-linux-x86-64
+    $ totalview
+
+Read more at the
+[Totalview](https://docs.it4i.cz/salomon/software/debuggers/total-view)
+page.
+
+Vampir trace analyzer
+---------------------
+
+Vampir is a GUI trace analyzer for traces in OTF format.
+
+    $ module load Vampir/8.5.0
+    $ vampir
+
+Read more at the
+[Vampir](https://docs.it4i.cz/salomon/software/debuggers/vampir)
+page.
+
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160211v14.27.45.png/@@images/3550e4ae-2eab-4571-8387-11a112dd6ca8.png b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160211v14.27.45.png/@@images/3550e4ae-2eab-4571-8387-11a112dd6ca8.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c56805d7a0a69f2c7b90d1c3c6ee1d8d84fc85a
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160211v14.27.45.png/@@images/3550e4ae-2eab-4571-8387-11a112dd6ca8.png differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png.1 b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png.1
new file mode 100644
index 0000000000000000000000000000000000000000..2a94ee3ce562d4292736438894cdc47fb2b38815
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png.1 differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8ea15508f0714eeacfadff6d85fe8cafe5c406b
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/download b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/download
new file mode 100644
index 0000000000000000000000000000000000000000..2a94ee3ce562d4292736438894cdc47fb2b38815
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/download differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image
new file mode 100644
index 0000000000000000000000000000000000000000..2a94ee3ce562d4292736438894cdc47fb2b38815
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image_preview b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image_preview
new file mode 100644
index 0000000000000000000000000000000000000000..645ae4f1dba33e3875e0cdaf0cbc432b43baee76
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image_preview differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image_view_fullscreen.md b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image_view_fullscreen.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/image_view_fullscreen.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/view.md b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/view.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/view.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/aislinn.md b/docs.it4i.cz/salomon/software/debuggers/aislinn.md
new file mode 100644
index 0000000000000000000000000000000000000000..04eee31b4240b18e3a0dd378a1208167338bec96
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/aislinn.md
@@ -0,0 +1,150 @@
+Aislinn 
+=======
+
+-   Aislinn is a dynamic verifier for MPI programs. For a fixed input it
+    covers all possible runs with respect to nondeterminism introduced
+    by MPI. It allows to detect bugs (for sure) that occurs very rare in
+    normal runs.
+-   Aislinn detects problems like invalid memory accesses, deadlocks,
+    misuse of MPI, and resource leaks.
+-   Aislinn is open-source software; you can use it without any
+    licensing limitations.
+-   Web page of the project<http://verif.cs.vsb.cz/aislinn/>
+
+
+Note
+
+Aislinn is software developed at IT4Innovations and some parts are still
+considered experimental. If you have any questions or experienced any
+problems, please contact the author<stanislav.bohm@vsb.cz>.
+### Usage
+
+Let us have the following program that contains a bug that is not
+manifested in all runs:
+
+``` 
+#include <mpi.h>
+#include <stdlib.h>
+
+int main(int argc, char **argv) {
+      int rank;
+
+      MPI_Init(&argc, &argv);
+      MPI_Comm_rank(MPI_COMM_WORLD, &rank);
+
+      if (rank == 0) {
+              int *mem1 = (int*) malloc(sizeof(int) * 2);
+              int *mem2 = (int*) malloc(sizeof(int) * 3);
+              int data;
+              MPI_Recv(&data, 1, MPI_INT, MPI_ANY_SOURCE, 1,
+                      MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+              mem1[data] = 10; //                <---------- Possible invalid memory write
+              MPI_Recv(&data, 1, MPI_INT, MPI_ANY_SOURCE, 1,
+                      MPI_COMM_WORLD, MPI_STATUS_IGNORE);
+              mem2[data] = 10;
+              free(mem1);
+              free(mem2);
+      }
+
+      if (rank == 1 || rank == 2) {
+              MPI_Send(&rank, 1, MPI_INT, 0, 1, MPI_COMM_WORLD);
+      }
+
+      MPI_Finalize();
+      return 0;
+}
+```
+
+The program does the followingprocess 0 receives two messages from
+anyone and processes 1 and 2 send a message to process 0. If a message
+from process 1 is received first, then the run does not expose the
+error. If a message from process 2 is received first, then invalid
+memory write occurs at line 16.
+
+To verify this program by Aislinn, we first load Aislinn itself:
+
+``` 
+$ module load aislinn
+```
+
+Now we compile the program by Aislinn implementation of MPI. There are
+`mpicc` for C programs and `mpicxx`{.docutils
+.literal} for C++ programs. Only MPI parts of the verified application
+has to be recompiled; non-MPI parts may remain untouched. Let us assume
+that our program is in `test.cpp`.
+
+``` 
+$ mpicc -g test.cpp -o test
+```
+
+The `-g` flag is not necessary, but it puts more
+debugging information into the program, hence Aislinn may provide more
+detailed report. The command produces executable file `test`{.docutils
+.literal}.
+
+Now we run the Aislinn itself. The argument `-p 3`
+specifies that we want to verify our program for the case of three MPI
+processes
+
+``` 
+$ aislinn -p 3 ./test
+==AN== INFOAislinn v0.3.0
+==AN== INFOFound error 'Invalid write'
+==AN== INFO1 error(s) found
+==AN== INFOReport written into 'report.html'
+```
+
+Aislinn found an error and produced HTML report. To view it, we can use
+any browser, e.g.:
+
+> $ firefox report.html
+
+At the beginning of the report there are some basic summaries of the
+verification. In the second part (depicted in the following picture),
+the error is described.
+
+![Part of report.html](http://verif.cs.vsb.cz/aislinn/doc/report.png)
+It shows us:
+
+> -   Error occurs in process 0 in test.cpp on line 16.
+> -   Stdout and stderr streams are empty. (The program does not
+>     write anything).
+> -   The last part shows MPI calls for each process that occurs in the
+>     invalid run. The more detailed information about each call can be
+>     obtained by mouse cursor.
+### Limitations
+
+Since the verification is a non-trivial process there are some of
+limitations.
+
+-   The verified process has to terminate in all runs, i.e. we cannot
+    answer the halting problem.
+-   The verification is a computationally and memory demanding process.
+    We put an effort to make it efficient and it is an important point
+    for further research. However covering all runs will be always more
+    demanding than techniques that examines only a single run. The good
+    practise is to start with small instances and when it is feasible,
+    make them bigger. The Aislinn is good to find bugs that are hard to
+    find because they occur very rarely (only in a rare scheduling).
+    Such bugs often do not need big instances.
+-   Aislinn expects that your program is a "standard MPI" program, i.e.
+    processes communicate only through MPI, the verified program does
+    not interacts with the system in some unusual ways (e.g.
+    opening sockets).
+
+There are also some limitations bounded to the current version and they
+will be removed in the future:
+
+-   All files containing MPI calls have to be recompiled by MPI
+    implementation provided by Aislinn. The files that does not contain
+    MPI calls, they do not have to recompiled. Aislinn MPI
+    implementation supports many commonly used calls from MPI-2 and
+    MPI-3 related to point-to-point communication, collective
+    communication, and communicator management. Unfortunately, MPI-IO
+    and one-side communication is not implemented yet.
+-   Each MPI can use only one thread (if you use OpenMP, set
+    `OMP_NUM_THREADS` to 1).
+-   There are some limitations for using files, but if the program just
+    reads inputs and writes results, it is ok.
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md b/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md
new file mode 100644
index 0000000000000000000000000000000000000000..93f4c5a85c764a5b67471dc44713676d532f5482
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports.md
@@ -0,0 +1,79 @@
+Allinea Performance Reports 
+===========================
+
+quick application profiling
+
+
+  
+
+Introduction
+------------
+
+Allinea Performance Reports characterize the performance of HPC
+application runs. After executing your application through the tool, a
+synthetic HTML report is generated automatically, containing information
+about several metrics along with clear behavior statements and hints to
+help you improve the efficiency of your runs.
+
+The Allinea Performance Reports is most useful in profiling MPI
+programs.
+
+Our license is limited to 64 MPI processes.
+
+Modules
+-------
+
+Allinea Performance Reports version 6.0 is available
+
+    $ module load PerformanceReports/6.0
+
+The module sets up environment variables, required for using the Allinea
+Performance Reports. 
+
+Usage
+-----
+
+Use the the perf-report wrapper on your (MPI) program.
+
+Instead of [running your MPI program the usual
+way](https://docs.it4i.cz/salomon/software/mpi-1), use
+the the perf report wrapper:
+
+    $ perf-report mpirun ./mympiprog.x
+
+The mpi program will run as usual. The perf-report creates two
+additional files, in *.txt and *.html format, containing the
+performance report. Note that <span class="internal-link">demanding MPI
+codes should be run within </span>[<span class="internal-link">the queue
+system</span>](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+
+Example
+-------
+
+In this example, we will be profiling the mympiprog.x MPI program, using
+Allinea performance reports. Assume that the code is compiled with intel
+compilers and linked against intel MPI library:
+
+First, we allocate some nodes via the express queue:
+
+    $ qsub -q qexp -l select=2:ppn=24:mpiprocs=24:ompthreads=1 -I
+    qsubwaiting for job 262197.dm2 to start
+    qsubjob 262197.dm2 ready
+
+Then we load the modules and run the program the usual way:
+
+    $ module load intel impi PerfReports/6.0
+    $ mpirun ./mympiprog.x
+
+Now lets profile the code:
+
+    $ perf-report mpirun ./mympiprog.x
+
+Performance report files
+[mympiprog_32p*.txt](https://docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt)
+and
+[mympiprog_32p*.html](https://docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.html)
+were created. We can see that the code is very efficient on MPI and is
+CPU bounded.
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/ddt1.png b/docs.it4i.cz/salomon/software/debuggers/ddt1.png
new file mode 100644
index 0000000000000000000000000000000000000000..57a18f48908f0b8a4857bc14a820b450fcdd9652
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/ddt1.png differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md b/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md
new file mode 100644
index 0000000000000000000000000000000000000000..85e1d845483963657ed952dc0ea5e3a1f1d491ce
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/intel-vtune-amplifier.md
@@ -0,0 +1,142 @@
+Intel VTune Amplifier XE 
+========================
+
+
+
+  
+
+Introduction
+------------
+
+Intel*® *VTune™ <span>Amplifier, part of Intel Parallel studio, is a GUI
+profiling tool designed for Intel processors. It offers a graphical
+performance analysis of single core and multithreaded applications. A
+highlight of the features:</span>
+
+-   Hotspot analysis
+-   Locks and waits analysis
+-   Low level specific counters, such as branch analysis and memory
+    bandwidth
+-   Power usage analysis - frequency and sleep states.
+
+[![screenshot](https://docs.it4i.cz/salomon/software/debuggers/vtune-amplifier/@@images/7ca8748b-69ad-4b53-9667-29c2fdaa8913.png "VTune Amplifier")](https://docs.it4i.cz/salomon/software/debuggers/vtune-amplifier)
+
+
+
+Usage
+-----
+
+<span>To profile an application with VTune Amplifier, special kernel
+modules need to be loaded. The modules are not loaded on the login
+nodes, thus direct profiling on login nodes is not possible. By default,
+the kernel modules ale not loaded on compute nodes neither. In order to
+have the modules loaded, you need to specify vtune=version PBS resource
+at job submit. The version is the same as for *environment module*. For
+example to use <span
+class="monospace">VTune/2016_update1</span>:</span>
+
+    $ qsub -q qexp -A OPEN-0-0 -I -l select=1,vtune=2016_update1
+
+After that, you can verify the modules sep*, pax and vtsspp are present
+in the kernel :
+
+    $ lsmod | grep -e sep -e pax -e vtsspp
+    vtsspp 362000 0
+    sep3_15 546657 0
+    pax 4312 0
+
+To launch the GUI, first load the module:
+
+    $ module add VTune/2016_update1
+
+<span class="s1">and launch the GUI :</span>
+
+    $ amplxe-gui
+
+<span>The GUI will open in new window. Click on "*New Project...*" to
+create a new project. After clicking *OK*, a new window with project
+properties will appear.  At "*Application:*", select the bath to your
+binary you want to profile (the binary should be compiled with -g flag).
+Some additional options such as command line arguments can be selected.
+At "*Managed code profiling mode:*" select "*Native*" (unless you want
+to profile managed mode .NET/Mono applications). After clicking *OK*,
+your project is created.</span>
+
+To run a new analysis, click "*New analysis...*". You will see a list of
+possible analysis. Some of them will not be possible on the current CPU
+(eg. Intel Atom analysis is not possible on Sandy bridge CPU), the GUI
+will show an error box if you select the wrong analysis. For example,
+select "*Advanced Hotspots*". Clicking on *Start *will start profiling
+of the application.
+
+Remote Analysis
+---------------
+
+VTune Amplifier also allows a form of remote analysis. In this mode,
+data for analysis is collected from the command line without GUI, and
+the results are then loaded to GUI on another machine. This allows
+profiling without interactive graphical jobs. To perform a remote
+analysis, launch a GUI somewhere, open the new analysis window and then
+click the button "*Command line*" in bottom right corner. It will show
+the command line needed to perform the selected analysis.
+
+The command line will look like this:
+
+    /apps/all/VTune/2016_update1/vtune_amplifier_xe_2016.1.1.434111/bin64/amplxe-cl -collect advanced-hotspots -app-working-dir /home/sta545/tmp -- /home/sta545/tmp/sgemm
+
+Copy the line to clipboard and then you can paste it in your jobscript
+or in command line. After the collection is run, open the GUI once
+again, click the menu button in the upper right corner, and select
+"*Open &gt; Result...*". The GUI will load the results from the run.
+
+Xeon Phi
+--------
+
+It is possible to analyze both native and offloaded Xeon Phi
+applications. 
+
+### Native mode
+
+This mode is useful for native Xeon Phi applications launched directly
+on the card. In *Analysis Target* window, select *Intel Xeon Phi
+coprocessor (native), *choose path to the binary and MIC card to run on.
+
+### Offload mode
+
+This mode is useful for applications that are launched from the host and
+use offload, OpenCL or mpirun. In *Analysis Target* window,
+select *Intel Xeon Phi coprocessor (native), *choose path to the binary
+and MIC card to run on.
+
+ 
+
+If the analysis is interrupted or aborted, further analysis on the card
+might be impossible and you will get errors like "ERROR connecting to
+MIC card". In this case please contact our support to reboot the MIC
+card.
+
+You may also use remote analysis to collect data from the MIC and then
+analyze it in the GUI later :
+
+Native launch:
+
+    $ /apps/all/VTune/2016_update1/vtune_amplifier_xe_2016.1.1.434111/bin64/amplxe-cl -target-system mic-native:0 -collect advanced-hotspots -- /home/sta545/tmp/vect-add-mic
+
+Host launch:
+
+    $ /apps/all/VTune/2016_update1/vtune_amplifier_xe_2016.1.1.434111/bin64/amplxe-cl -target-system mic-host-launch:0 -collect advanced-hotspots -- /home/sta545/tmp/sgemm
+
+You can obtain this command line by pressing the "Command line..."
+button on Analysis Type screen. 
+
+References
+----------
+
+1.  <span><https://www.rcac.purdue.edu/tutorials/phi/PerformanceTuningXeonPhi-Tullos.pdf> Performance
+    Tuning for Intel® Xeon Phi™ Coprocessors</span>
+2.  <span><https://software.intel.com/en-us/intel-vtune-amplifier-xe-support/documentation> <span>Intel®
+    VTune™ Amplifier Support</span></span>
+3.  <span><span><https://software.intel.com/en-us/amplifier_help_linux> Linux
+    user guide</span></span>
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.md b/docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt b/docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt
new file mode 100644
index 0000000000000000000000000000000000000000..de8449179640fd943a9f007f9eda084b11f2a455
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/mympiprog_32p_2014-10-15_16-56.txt
@@ -0,0 +1,50 @@
+Executable:	mympiprog.x
+Resources:	32 processes, 2 nodes
+Machine:	cn182
+Started on:	Wed Oct 15 16:56:23 2014
+Total time:	7 seconds (0 minutes)
+Full path:	/home/user
+Notes:		
+
+Summary: mympiprog.x is CPU-bound in this configuration
+CPU:				  88.6% |========|
+MPI:				  11.4% ||
+I/O:				   0.0% |
+This application run was CPU-bound. A breakdown of this time and advice for investigating further is found in the CPU section below.
+As very little time is spent in MPI calls, this code may also benefit from running at larger scales.
+
+CPU:
+A breakdown of how the 88.6% total CPU time was spent:
+Scalar numeric ops:		   50.0% |====|
+Vector numeric ops:		   50.0% |====|
+Memory accesses:		    0.0% |
+Other:				    0.0% |
+The per-core performance is arithmetic-bound. Try to increase the amount of time spent in vectorized instructions by analyzing the compiler's vectorization reports.
+
+
+MPI:
+A breakdown of how the 11.4% total MPI time was spent:
+Time in collective calls:	  100.0% |=========|
+Time in point-to-point calls:	    0.0% |
+Effective collective rate:	1.65e+02 bytes/s
+Effective point-to-point rate:	0.00e+00 bytes/s
+Most of the time is spent in collective calls with a very low transfer rate. This suggests load imbalance is causing synchonization overhead; use an MPI profiler to investigate further.
+
+
+I/O:
+A breakdown of how the 0.0% total I/O time was spent:
+Time in reads:			    0.0% |
+Time in writes:			    0.0% |
+Effective read rate:		0.00e+00 bytes/s
+Effective write rate:		0.00e+00 bytes/s
+No time is spent in I/O operations. There's nothing to optimize here!
+
+
+Memory:
+Per-process memory usage may also affect scaling:
+Mean process memory usage:	2.33e+07 bytes
+Peak process memory usage:	2.35e+07 bytes
+Peak node memory usage:		    2.8% |
+The peak node memory usage is very low. You may be able to reduce the amount of allocation time used by running with fewer MPI processes and more data on each process.
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/score-p.md b/docs.it4i.cz/salomon/software/debuggers/score-p.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/score-p.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/summary.md b/docs.it4i.cz/salomon/software/debuggers/summary.md
new file mode 100644
index 0000000000000000000000000000000000000000..71f564135c5045cd3cb54fd03c19c88aa46750aa
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/summary.md
@@ -0,0 +1,96 @@
+Debuggers and profilers summary 
+===============================
+
+
+
+  
+
+Introduction
+------------
+
+We provide state of the art programms and tools to develop, profile and
+debug HPC codes at IT4Innovations.
+On these pages, we provide an overview of the profiling and debugging
+tools available on Anslem at IT4I.
+
+Intel debugger
+--------------
+
+Intel debugger is no longer available since Parallel Studio version 2015
+
+The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger)
+page.
+
+Allinea Forge (DDT/MAP)
+-----------------------
+
+Allinea DDT, is a commercial debugger primarily for debugging parallel
+MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel
+Xeon Phi accelerators. DDT provides all the standard debugging features
+(stack trace, breakpoints, watches, view variables, threads etc.) for
+every thread running as part of your program, or for every process -
+even if these processes are distributed across a cluster using an MPI
+implementation.
+
+    $ module load Forge
+    $ forge
+
+Read more at the [Allinea
+DDT](https://docs.it4i.cz/salomon/software/debuggers/allinea-ddt)
+page.
+
+Allinea Performance Reports
+---------------------------
+
+Allinea Performance Reports characterize the performance of HPC
+application runs. After executing your application through the tool, a
+synthetic HTML report is generated automatically, containing information
+about several metrics along with clear behavior statements and hints to
+help you improve the efficiency of your runs. Our license is limited to
+64 MPI processes.
+
+    $ module load PerformanceReports/6.0  
+    $ perf-report mpirun -n 64 ./my_application argument01 argument02
+
+Read more at the [Allinea Performance
+Reports](https://docs.it4i.cz/salomon/software/debuggers/allinea-performance-reports)
+page.
+
+RougeWave Totalview
+-------------------
+
+TotalView is a source- and machine-level debugger for multi-process,
+multi-threaded programs. Its wide range of tools provides ways to
+analyze, organize, and test programs, making it easy to isolate and
+identify problems in individual threads and processes in programs of
+great complexity.
+
+    $ module load TotalView/8.15.4-6-linux-x86-64
+    $ totalview
+
+Read more at the
+[Totalview](https://docs.it4i.cz/salomon/software/debuggers/total-view)
+page.
+
+Vampir trace analyzer
+---------------------
+
+Vampir is a GUI trace analyzer for traces in OTF format.
+
+    $ module load Vampir/8.5.0
+    $ vampir
+
+Read more at the
+[Vampir](https://docs.it4i.cz/salomon/software/debuggers/vampir)
+page.
diff --git a/docs.it4i.cz/salomon/software/debuggers/total-view.md b/docs.it4i.cz/salomon/software/debuggers/total-view.md
new file mode 100644
index 0000000000000000000000000000000000000000..d98ff5acb01eaf1050863686c8ab06228136ff41
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/total-view.md
@@ -0,0 +1,157 @@
+Total View 
+==========
+
+TotalView is a GUI-based source code multi-process, multi-thread
+debugger.
+License and Limitations for cluster Users
+-----------------------------------------
+
+On the cluster users can debug OpenMP or MPI code that runs up to 64
+parallel processes. These limitation means that:
+
+    1 user can debug up 64 processes, or
+    32 users can debug 2 processes, etc.
+
+Debugging of GPU accelerated codes is also supported.
+
+You can check the status of the licenses
+[here](https://extranet.it4i.cz/rsweb/anselm/license/totalview).
+
+Compiling Code to run with TotalView
+------------------------------------
+
+### Modules
+
+Load all necessary modules to compile the code. For example:
+
+    module load intel
+
+    module load impi   ... or ... module load OpenMPI/X.X.X-icc
+
+Load the TotalView module:
+
+    module load TotalView/8.15.4-6-linux-x86-64
+
+Compile the code:
+
+    mpicc -g -O0 -o test_debug test.c
+
+    mpif90 -g -O0 -o test_debug test.f
+
+### Compiler flags
+
+Before debugging, you need to compile your code with theses flags:
+
+**-g** Generates extra debugging information usable by GDB. -g3
+includes even more debugging information. This option is available for
+GNU and INTEL C/C++ and Fortran compilers.
+
+**-O0** Suppress all optimizations.
+
+Starting a Job with TotalView
+-----------------------------
+
+Be sure to log in with an X window forwarding enabled. This could mean
+using the -X in the ssh: 
+
+    ssh -X username@salomon.it4i.cz 
+
+Other options is to access login node using VNC. Please see the detailed
+information on how to use graphic user interface on Anselm
+[here](resolveuid/11e53ad0d2fd4c5187537f4baeedff33#VNC).
+
+From the login node an interactive session with X windows forwarding (-X
+option) can be started by following command:
+
+    qsub -I -X -A NONE-0-0 -q qexp -lselect=1:ncpus=24:mpiprocs=24,walltime=01:00:00 
+
+Then launch the debugger with the totalview command followed by the name
+of the executable to debug.
+
+### Debugging a serial code
+
+To debug a serial code use:
+
+    totalview test_debug
+
+### Debugging a parallel code - option 1
+
+To debug a parallel code compiled with <span>**OpenMPI**</span> you need
+to setup your TotalView environment: 
+
+**Please note:** To be able to run parallel debugging procedure from the
+command line without stopping the debugger in the mpiexec source code
+you have to add the following function to your **~/.tvdrc** file:
+
+    proc mpi_auto_run_starter  {
+        set starter_programs 
+        set executable_name [TV::symbol get $loaded_id full_pathname]
+        set file_component [file tail $executable_name]
+
+        if {[lsearch -exact $starter_programs $file_component] != -1} {
+            puts "**************************************"
+            puts "Automatically starting $file_component"
+            puts "**************************************"
+            dgo
+        }
+    }
+
+    # Append this function to TotalView's image load callbacks so that
+    # TotalView run this program automatically.
+
+    dlappend TV::image_load_callbacks mpi_auto_run_starter
+
+The source code of this function can be also found in
+
+    /apps/all/OpenMPI/1.10.1-GNU-4.9.3-2.25/etc/openmpi-totalview.tcl
+
+You can also add only following line to you ~/.tvdrc file instead of
+the entire function:
+
+**source /apps/all/OpenMPI/1.10.1-GNU-4.9.3-2.25/etc/openmpi-totalview.tcl**
+
+You need to do this step only once. See also [OpenMPI FAQ
+entry](https://www.open-mpi.org/faq/?category=running#run-with-tv)
+
+Now you can run the parallel debugger using:
+
+    mpirun -tv -n 5 ./test_debug
+
+When following dialog appears click on "Yes"
+
+[![](https://docs.it4i.cz/salomon/software/debuggers/totalview1.png/@@images/45a91b6e-7f4d-4084-a5ba-d1ee703adaa1.png)](https://docs.it4i.cz/salomon/software/debuggers/totalview1.png)
+
+At this point the main TotalView GUI window will appear and you can
+insert the breakpoints and start debugging:
+
+[![](https://docs.it4i.cz/salomon/software/debuggers/totalview2.png)](https://docs.it4i.cz/salomon/software/debuggers/totalview2.png)
+
+### Debugging a parallel code - option 2
+
+Other option to start new parallel debugging session from a command line
+is to let TotalView to execute mpirun by itself. In this case user has
+to specify a MPI implementation used to compile the source code. 
+
+The following example shows how to start debugging session with Intel
+MPI:
+
+    module load intel/2015b-intel-2015b impi/5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25 TotalView/8.15.4-6-linux-x86-64
+
+    totalview -mpi "Intel MPI-Hydra" -np 8 ./hello_debug_impi
+
+After running previous command you will see the same window as shown in
+the screenshot above.
+
+More information regarding the command line parameters of the TotalView
+can be found TotalView Reference Guide, Chapter 7TotalView Command
+Syntax.   
+
+Documentation
+-------------
+
+[1] The [TotalView
+documentation](http://www.roguewave.com/support/product-documentation/totalview-family.aspx#totalview)
+web page is a good resource for learning more about some of the advanced
+TotalView features.
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/totalview1.png b/docs.it4i.cz/salomon/software/debuggers/totalview1.png
new file mode 100644
index 0000000000000000000000000000000000000000..09678f174b4f5d05ccda08cc11de059ee53e7e09
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/totalview1.png differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/totalview2.png b/docs.it4i.cz/salomon/software/debuggers/totalview2.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d26ffd97db190a6b8161dd6358fc759ad2cb2ca
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/totalview2.png differ
diff --git a/docs.it4i.cz/salomon/software/debuggers/valgrind.md b/docs.it4i.cz/salomon/software/debuggers/valgrind.md
new file mode 100644
index 0000000000000000000000000000000000000000..2bc726df83cbb4d1486f87816a39836563fe5e16
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/valgrind.md
@@ -0,0 +1,298 @@
+Valgrind 
+========
+
+Valgrind is a tool for memory debugging and profiling.
+About Valgrind
+--------------
+
+Valgrind is an open-source tool, used mainly for debuggig memory-related
+problems, such as memory leaks, use of uninitalized memory etc. in C/C++
+applications. The toolchain was however extended over time with more
+functionality, such as debugging of threaded applications, cache
+profiling, not limited only to C/C++.
+
+Valgind is an extremely useful tool for debugging memory errors such as
+[off-by-one](http://en.wikipedia.org/wiki/Off-by-one_error).
+Valgrind uses a virtual machine and dynamic recompilation of binary
+code, because of that, you can expect that programs being debugged by
+Valgrind run 5-100 times slower.
+
+The main tools available in Valgrind are :
+
+-   **Memcheck**, the original, must used and default tool. Verifies
+    memory access in you program and can detect use of unitialized
+    memory, out of bounds memory access, memory leaks, double free, etc.
+-   **Massif**, a heap profiler.
+-   **Hellgrind** and **DRD** can detect race conditions in
+    multi-threaded applications.
+-   **Cachegrind**, a cache profiler.
+-   **Callgrind**, a callgraph analyzer.
+-   For a full list and detailed documentation, please refer to the
+    [official Valgrind
+    documentation](http://valgrind.org/docs/).
+
+Installed versions
+------------------
+
+There are two versions of Valgrind available on the cluster.
+
+-   <span>Version 3.8.1, installed by operating system vendor
+    in </span><span class="monospace">/usr/bin/valgrind.
+    </span><span>This version is available by default, without the need
+    to load any module. This version however does not provide additional
+    MPI support. Also, it does not support AVX2 instructions,
+    **debugging of an AVX2-enabled executable with this version will
+    fail**</span>
+-   <span><span>Version 3.11.0 built by ICC with support for Intel MPI,
+    available in
+    [module](https://docs.it4i.cz/salomon/environment-and-modules) </span></span><span
+    class="monospace">Valgrind/3.11.0-intel-2015b. </span>After loading
+    the module, this version replaces the default valgrind.
+-   Version 3.11.0 built by GCC with support for Open MPI, module <span
+    class="monospace">Valgrind/3.11.0-foss-2015b</span>
+
+Usage
+-----
+
+Compile the application which you want to debug as usual. It is
+advisable to add compilation flags <span class="monospace">-g </span>(to
+add debugging information to the binary so that you will see original
+source code lines in the output) and <span class="monospace">-O0</span>
+(to disable compiler optimizations). 
+
+For example, lets look at this C code, which has two problems :
+
+    #include <stdlib.h>
+
+    void f(void) 
+    {
+       int* x = malloc(10 * sizeof(int));
+       x[10] = 0; // problem 1heap block overrun
+    }             // problem 2memory leak -- x not freed
+
+    int main(void)
+    {
+       f();
+       return 0;
+    }
+
+Now, compile it with Intel compiler :
+
+    $ module add intel
+    $ icc -g valgrind-example.c -o valgrind-example 
+
+Now, lets run it with Valgrind. The syntax is :
+
+<span class="monospace">valgrind [valgrind options] &lt;your program
+binary&gt; [your program options]</span>
+
+If no Valgrind options are specified, Valgrind defaults to running
+Memcheck tool. Please refer to the Valgrind documentation for a full
+description of command line options.
+
+    $ valgrind ./valgrind-example
+    ==12652== Memcheck, a memory error detector
+    ==12652== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
+    ==12652== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
+    ==12652== Command./valgrind-example
+    ==12652== 
+    ==12652== Invalid write of size 4
+    ==12652== at 0x40053Ef (valgrind-example.c:6)
+    ==12652== by 0x40054Emain (valgrind-example.c:11)
+    ==12652== Address 0x5861068 is 0 bytes after a block of size 40 alloc'd
+    ==12652== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==12652== by 0x400528f (valgrind-example.c:5)
+    ==12652== by 0x40054Emain (valgrind-example.c:11)
+    ==12652== 
+    ==12652== 
+    ==12652== HEAP SUMMARY:
+    ==12652== in use at exit40 bytes in 1 blocks
+    ==12652== total heap usage1 allocs, 0 frees, 40 bytes allocated
+    ==12652== 
+    ==12652== LEAK SUMMARY:
+    ==12652== definitely lost40 bytes in 1 blocks
+    ==12652== indirectly lost0 bytes in 0 blocks
+    ==12652== possibly lost0 bytes in 0 blocks
+    ==12652== still reachable0 bytes in 0 blocks
+    ==12652== suppressed0 bytes in 0 blocks
+    ==12652== Rerun with --leak-check=full to see details of leaked memory
+    ==12652== 
+    ==12652== For counts of detected and suppressed errors, rerun with-v
+    ==12652== ERROR SUMMARY1 errors from 1 contexts (suppressed6 from 6)
+
+In the output we can see that Valgrind has detected both errors - the
+off-by-one memory access at line 5 and a memory leak of 40 bytes. If we
+want a detailed analysis of the memory leak, we need to run Valgrind
+with <span class="monospace">--leak-check=full</span> option :
+
+    $ valgrind --leak-check=full ./valgrind-example
+    ==23856== Memcheck, a memory error detector
+    ==23856== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
+    ==23856== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
+    ==23856== Command./valgrind-example
+    ==23856== 
+    ==23856== Invalid write of size 4
+    ==23856== at 0x40067Ef (valgrind-example.c:6)
+    ==23856== by 0x40068Emain (valgrind-example.c:11)
+    ==23856== Address 0x66e7068 is 0 bytes after a block of size 40 alloc'd
+    ==23856== at 0x4C26FDEmalloc (vg_replace_malloc.c:236)
+    ==23856== by 0x400668f (valgrind-example.c:5)
+    ==23856== by 0x40068Emain (valgrind-example.c:11)
+    ==23856== 
+    ==23856== 
+    ==23856== HEAP SUMMARY:
+    ==23856== in use at exit40 bytes in 1 blocks
+    ==23856== total heap usage1 allocs, 0 frees, 40 bytes allocated
+    ==23856== 
+    ==23856== 40 bytes in 1 blocks are definitely lost in loss record 1 of 1
+    ==23856== at 0x4C26FDEmalloc (vg_replace_malloc.c:236)
+    ==23856== by 0x400668f (valgrind-example.c:5)
+    ==23856== by 0x40068Emain (valgrind-example.c:11)
+    ==23856== 
+    ==23856== LEAK SUMMARY:
+    ==23856== definitely lost40 bytes in 1 blocks
+    ==23856== indirectly lost0 bytes in 0 blocks
+    ==23856== possibly lost0 bytes in 0 blocks
+    ==23856== still reachable0 bytes in 0 blocks
+    ==23856== suppressed0 bytes in 0 blocks
+    ==23856== 
+    ==23856== For counts of detected and suppressed errors, rerun with-v
+    ==23856== ERROR SUMMARY2 errors from 2 contexts (suppressed6 from 6)
+
+Now we can see that the memory leak is due to the <span
+class="monospace">malloc()</span> at line 6.
+
+<span>Usage with MPI</span>
+---------------------------
+
+Although Valgrind is not primarily a parallel debugger, it can be used
+to debug parallel applications as well. When launching your parallel
+applications, prepend the valgrind command. For example :
+
+    $ mpirun -np 4 valgrind myapplication
+
+The default version without MPI support will however report a large
+number of false errors in the MPI library, such as :
+
+    ==30166== Conditional jump or move depends on uninitialised value(s)
+    ==30166== at 0x4C287E8strlen (mc_replace_strmem.c:282)
+    ==30166== by 0x55443BDI_MPI_Processor_model_number (init_interface.c:427)
+    ==30166== by 0x55439E0I_MPI_Processor_arch_code (init_interface.c:171)
+    ==30166== by 0x558D5AEMPID_nem_impi_init_shm_configuration (mpid_nem_impi_extensions.c:1091)
+    ==30166== by 0x5598F4CMPID_nem_init_ckpt (mpid_nem_init.c:566)
+    ==30166== by 0x5598B65MPID_nem_init (mpid_nem_init.c:489)
+    ==30166== by 0x539BD75MPIDI_CH3_Init (ch3_init.c:64)
+    ==30166== by 0x5578743MPID_Init (mpid_init.c:193)
+    ==30166== by 0x554650AMPIR_Init_thread (initthread.c:539)
+    ==30166== by 0x553369FPMPI_Init (init.c:195)
+    ==30166== by 0x4008BDmain (valgrind-example-mpi.c:18)
+
+so it is better to use the MPI-enabled valgrind from module. The MPI
+versions requires library : 
+
+<span
+class="monospace">$EBROOTVALGRIND/lib/valgrind/libmpiwrap-amd64-linux.so</span>
+
+which must be included in the<span class="monospace"> LD_PRELOAD
+</span>environment variable.
+
+Lets look at this MPI example :
+
+    #include <stdlib.h>
+    #include <mpi.h> 
+
+    int main(int argc, char *argv[])
+    {
+            int *data = malloc(sizeof(int)*99);
+
+            MPI_Init(&argc, &argv);
+            MPI_Bcast(data, 100, MPI_INT, 0, MPI_COMM_WORLD);
+            MPI_Finalize(); 
+
+            return 0;
+    }
+
+There are two errors - use of uninitialized memory and invalid length of
+the buffer. Lets debug it with valgrind :
+
+    $ module add intel impi
+    $ mpiicc -g valgrind-example-mpi.c -o valgrind-example-mpi
+    $ module add Valgrind/3.11.0-intel-2015b
+    $ mpirun -np 2 -env LD_PRELOAD $EBROOTVALGRIND/lib/valgrind/libmpiwrap-amd64-linux.so valgrind ./valgrind-example-mpi
+
+Prints this output (note that there is output printed for every
+launched MPI process)
+
+    ==31318== Memcheck, a memory error detector
+    ==31318== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
+    ==31318== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
+    ==31318== Command./valgrind-example-mpi
+    ==31318== 
+    ==31319== Memcheck, a memory error detector
+    ==31319== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
+    ==31319== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
+    ==31319== Command./valgrind-example-mpi
+    ==31319== 
+    valgrind MPI wrappers 31319Active for pid 31319
+    valgrind MPI wrappers 31319Try MPIWRAP_DEBUG=help for possible options
+    valgrind MPI wrappers 31318Active for pid 31318
+    valgrind MPI wrappers 31318Try MPIWRAP_DEBUG=help for possible options
+    ==31319== Unaddressable byte(s) found during client check request
+    ==31319== at 0x4E35974check_mem_is_addressable_untyped (libmpiwrap.c:960)
+    ==31319== by 0x4E5D0FEPMPI_Bcast (libmpiwrap.c:908)
+    ==31319== by 0x400911main (valgrind-example-mpi.c:20)
+    ==31319== Address 0x69291cc is 0 bytes after a block of size 396 alloc'd
+    ==31319== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==31319== by 0x4007BCmain (valgrind-example-mpi.c:8)
+    ==31319== 
+    ==31318== Uninitialised byte(s) found during client check request
+    ==31318== at 0x4E3591Dcheck_mem_is_defined_untyped (libmpiwrap.c:952)
+    ==31318== by 0x4E5D06DPMPI_Bcast (libmpiwrap.c:908)
+    ==31318== by 0x400911main (valgrind-example-mpi.c:20)
+    ==31318== Address 0x6929040 is 0 bytes inside a block of size 396 alloc'd
+    ==31318== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==31318== by 0x4007BCmain (valgrind-example-mpi.c:8)
+    ==31318== 
+    ==31318== Unaddressable byte(s) found during client check request
+    ==31318== at 0x4E3591Dcheck_mem_is_defined_untyped (libmpiwrap.c:952)
+    ==31318== by 0x4E5D06DPMPI_Bcast (libmpiwrap.c:908)
+    ==31318== by 0x400911main (valgrind-example-mpi.c:20)
+    ==31318== Address 0x69291cc is 0 bytes after a block of size 396 alloc'd
+    ==31318== at 0x4C27AAAmalloc (vg_replace_malloc.c:291)
+    ==31318== by 0x4007BCmain (valgrind-example-mpi.c:8)
+    ==31318== 
+    ==31318== 
+    ==31318== HEAP SUMMARY:
+    ==31318== in use at exit3,172 bytes in 67 blocks
+    ==31318== total heap usage191 allocs, 124 frees, 81,203 bytes allocated
+    ==31318== 
+    ==31319== 
+    ==31319== HEAP SUMMARY:
+    ==31319== in use at exit3,172 bytes in 67 blocks
+    ==31319== total heap usage175 allocs, 108 frees, 48,435 bytes allocated
+    ==31319== 
+    ==31318== LEAK SUMMARY:
+    ==31318== definitely lost408 bytes in 3 blocks
+    ==31318== indirectly lost256 bytes in 1 blocks
+    ==31318== possibly lost0 bytes in 0 blocks
+    ==31318== still reachable2,508 bytes in 63 blocks
+    ==31318== suppressed0 bytes in 0 blocks
+    ==31318== Rerun with --leak-check=full to see details of leaked memory
+    ==31318== 
+    ==31318== For counts of detected and suppressed errors, rerun with-v
+    ==31318== Use --track-origins=yes to see where uninitialised values come from
+    ==31318== ERROR SUMMARY2 errors from 2 contexts (suppressed4 from 4)
+    ==31319== LEAK SUMMARY:
+    ==31319== definitely lost408 bytes in 3 blocks
+    ==31319== indirectly lost256 bytes in 1 blocks
+    ==31319== possibly lost0 bytes in 0 blocks
+    ==31319== still reachable2,508 bytes in 63 blocks
+    ==31319== suppressed0 bytes in 0 blocks
+    ==31319== Rerun with --leak-check=full to see details of leaked memory
+    ==31319== 
+    ==31319== For counts of detected and suppressed errors, rerun with-v
+    ==31319== ERROR SUMMARY1 errors from 1 contexts (suppressed4 from 4)
+
+We can see that Valgrind has reported use of unitialised memory on the
+master process (which reads the array to be broadcasted) and use of
+unaddresable memory on both processes.
diff --git a/docs.it4i.cz/salomon/software/debuggers/vampir.md b/docs.it4i.cz/salomon/software/debuggers/vampir.md
new file mode 100644
index 0000000000000000000000000000000000000000..e174db184223faad0bcd5246af03ac651f8b022a
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/debuggers/vampir.md
@@ -0,0 +1,36 @@
+Vampir 
+======
+
+Vampir is a commercial trace analysis and visualisation tool. It can
+work with traces in OTF and OTF2 formats. It does not have the
+functionality to collect traces, you need to use a trace collection tool
+(such as
+[Score-P](https://docs.it4i.cz/salomon/software/debuggers/score-p))
+first to collect the traces.
+
+![Vampir screenshot](https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160708v12.33.35.png/@@images/42d90ce5-8468-4edb-94bb-4009853d9f65.png "Vampir screenshot")
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+Installed versions
+------------------
+
+Version 8.5.0 is currently installed as module <span
+class="monospace">Vampir/8.5.0</span> :
+
+    $ module load Vampir/8.5.0
+    $ vampir &
+
+User manual
+-----------
+
+You can find the detailed user manual in PDF format in <span
+class="monospace">$EBROOTVAMPIR/doc/vampir-manual.pdf</span>
+
+References
+----------
+
+1.  <https://www.vampir.eu>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/debuggers/vtune-amplifier b/docs.it4i.cz/salomon/software/debuggers/vtune-amplifier
new file mode 100644
index 0000000000000000000000000000000000000000..aba6bc7a77f135a6dc899c5de25189c0879eaf3d
Binary files /dev/null and b/docs.it4i.cz/salomon/software/debuggers/vtune-amplifier differ
diff --git a/docs.it4i.cz/salomon/software/intel-suite.md b/docs.it4i.cz/salomon/software/intel-suite.md
new file mode 100644
index 0000000000000000000000000000000000000000..5757fc5a8fbe90e0814564f3be5754f7f60baa19
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite.md
@@ -0,0 +1,107 @@
+Intel Parallel Studio 
+=====================
+
+
+
+  
+
+The Salomon cluster provides following elements of the Intel Parallel
+Studio XE
+
+  Intel Parallel Studio XE
+  -------------------------------------------------
+  Intel Compilers
+  Intel Debugger
+  Intel MKL Library
+  Intel Integrated Performance Primitives Library
+  Intel Threading Building Blocks Library
+  Intel Trace Analyzer and Collector
+  Intel Advisor
+  Intel Inspector
+
+Intel compilers
+---------------
+
+The Intel compilers version 131.3 are available, via module
+iccifort/2013.5.192-GCC-4.8.3. The compilers include the icc C and C++
+compiler and the ifort fortran 77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+Read more at the [Intel
+Compilers](https://docs.it4i.cz/salomon/software/intel-suite/intel-compilers)
+page.
+
+Intel debugger
+--------------
+
+IDB is no longer available since Parallel Studio 2015.
+
+ The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger)
+page.
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL unites and provides these basic componentsBLAS, LAPACK,
+ScaLapack, PARDISO, FFT, VML, VSL, Data fitting, Feast Eigensolver and
+many more.
+
+    $ module load imkl
+
+Read more at the [Intel
+MKL](https://docs.it4i.cz/salomon/software/intel-suite/intel-mkl)
+page.
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+is available, via module ipp. The IPP is a library of highly optimized
+algorithmic building blocks for media and data applications. This
+includes signal, image and frame processing algorithms, such as FFT,
+FIR, Convolution, Optical Flow, Hough transform, Sum, MinMax and many
+more.
+
+    $ module load ipp
+
+Read more at the [Intel
+IPP](https://docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives)
+page.
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers. It is designed to promote
+scalable data parallel programming. Additionally, it fully supports
+nested parallelism, so you can build larger parallel components from
+smaller parallel components. To use the library, you specify tasks, not
+threads, and let the library map tasks onto threads in an efficient
+manner.
+
+    $ module load tbb
+
+Read more at the [Intel
+TBB](https://docs.it4i.cz/salomon/software/intel-suite/intel-tbb)
+page.
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/Snmekobrazovky20151204v15.35.12.png/@@images/fb3b3ac2-a88f-4e55-a25e-23f1da2200cb.png b/docs.it4i.cz/salomon/software/intel-suite/Snmekobrazovky20151204v15.35.12.png/@@images/fb3b3ac2-a88f-4e55-a25e-23f1da2200cb.png
new file mode 100644
index 0000000000000000000000000000000000000000..53c93b0687dabea5a6ae6a3e298d584d512133f4
Binary files /dev/null and b/docs.it4i.cz/salomon/software/intel-suite/Snmekobrazovky20151204v15.35.12.png/@@images/fb3b3ac2-a88f-4e55-a25e-23f1da2200cb.png differ
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md b/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md
new file mode 100644
index 0000000000000000000000000000000000000000..7e173873cbabf6f15d663abc843f6b42d47c4e8c
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-advisor.md
@@ -0,0 +1,57 @@
+Intel Advisor 
+=============
+
+is tool aiming to assist you in vectorization and threading of your
+code. You can use it to profile your application and identify
+loops, that could benefit from vectorization and/or threading
+parallelism.
+
+Installed versions
+------------------
+
+The following versions are currently available on Salomon as modules:
+
+  --------------- -----------------------
+  **Version**     **Module**
+  2016 Update 2   Advisor/2016_update2
+  --------------- -----------------------
+
+Usage
+-----
+
+Your program should be compiled with -g switch to include symbol names.
+You should compile with -O2 or higher to see code that is already
+vectorized by the compiler.
+
+Profiling is possible either directly from the GUI, or from command
+line.
+
+To profile from GUI, launch Advisor:
+
+    $ advixe-gui
+
+Then select menu File -&gt; New -&gt; Project. Choose a directory to
+save project data to. After clicking OK, Project properties window will
+appear, where you can configure path to your binary, launch arguments,
+working directory etc. After clicking OK, the project is ready.
+
+In the left pane, you can switch between Vectorization and Threading
+workflows. Each has several possible steps which you can execute by
+clicking Collect button. Alternatively, you can click on Command Line,
+to see the command line required to run the analysis directly from
+command line.
+
+References
+----------
+
+1.  [Intel® Advisor 2015 TutorialFind Where to Add Parallelism - C++
+    Sample](https://software.intel.com/en-us/advisorxe_2015_tut_lin_c)
+2.  [Product
+    page](https://software.intel.com/en-us/intel-advisor-xe)
+3.  [Documentation](https://software.intel.com/en-us/intel-advisor-2016-user-guide-linux)
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md b/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md
new file mode 100644
index 0000000000000000000000000000000000000000..5ffa75328694df769320b7945f6285d89f5feb0e
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-compilers.md
@@ -0,0 +1,76 @@
+Intel Compilers 
+===============
+
+
+
+  
+
+The Intel compilers in multiple versions are available, via module
+intel. The compilers include the icc C and C++ compiler and the ifort
+fortran 77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+The intel compilers provide for vectorization of the code, via the AVX2
+instructions and support threading parallelization via OpenMP
+
+For maximum performance on the Salomon cluster compute nodes, compile
+your programs using the AVX2 instructions, with reporting where the
+vectorization was used. We recommend following compilation options for
+high performance
+
+    $ icc   -ipo -O3 -xCORE-AVX2 -qopt-report1 -qopt-report-phase=vec myprog.c mysubroutines.c -o myprog.x
+    $ ifort -ipo -O3 -xCORE-AVX2 -qopt-report1 -qopt-report-phase=vec myprog.f mysubroutines.f -o myprog.x
+
+In this example, we compile the program enabling interprocedural
+optimizations between source files (-ipo), aggresive loop optimizations
+(-O3) and vectorization (-xCORE-AVX2)
+
+The compiler recognizes the omp, simd, vector and ivdep pragmas for
+OpenMP parallelization and AVX2 vectorization. Enable the OpenMP
+parallelization by the **-openmp** compiler switch.
+
+    $ icc -ipo -O3 -xCORE-AVX2 -qopt-report1 -qopt-report-phase=vec -openmp myprog.c mysubroutines.c -o myprog.x
+    $ ifort -ipo -O3 -xCORE-AVX2 -qopt-report1 -qopt-report-phase=vec -openmp myprog.f mysubroutines.f -o myprog.x
+
+Read more
+at <https://software.intel.com/en-us/intel-cplusplus-compiler-16.0-user-and-reference-guide>
+
+Sandy Bridge/Ivy Bridge/Haswell binary compatibility
+----------------------------------------------------
+
+Anselm nodes are currently equipped with Sandy Bridge CPUs, while
+Salomon compute nodes are equipped with Haswell based architecture. The
+UV1 SMP compute server has Ivy Bridge CPUs, which are equivalent to
+Sandy Bridge (only smaller manufacturing technology). <span>The new
+processors are backward compatible with the Sandy Bridge nodes, so all
+programs that ran on the Sandy Bridge processors, should also run on the
+new Haswell nodes. </span><span>To get optimal performance out of the
+Haswell processors a program should make use of the
+special </span><span>AVX2 instructions for this processor. One can do
+this by recompiling codes with the compiler
+flags </span><span>designated to invoke these instructions. For the
+Intel compiler suite, there are two ways of
+doing </span><span>this:</span>
+
+-   <span>Using compiler flag (both for Fortran and C)<span
+    class="monospace">-xCORE-AVX2</span>. This will create a
+    binary </span><span class="s1">with AVX2 instructions, specifically
+    for the Haswell processors. Note that the
+    executable </span><span>will not run on Sandy Bridge/Ivy
+    Bridge nodes.</span>
+-   <span>Using compiler flags (both for Fortran and C)<span
+    class="monospace">-xAVX -axCORE-AVX2</span>. This
+    will </span><span>generate multiple, feature specific auto-dispatch
+    code paths for Intel® processors, if there is </span><span>a
+    performance benefit. So this binary will run both on Sandy
+    Bridge/Ivy Bridge and Haswell </span><span>processors. During
+    runtime it will be decided which path to follow, dependent on
+    which </span><span>processor you are running on. In general this
+    will result in larger binaries.</span>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md b/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md
new file mode 100644
index 0000000000000000000000000000000000000000..9d33bdb347fc8e75c18432e27d098a18776e40f2
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-debugger.md
@@ -0,0 +1,105 @@
+Intel Debugger 
+==============
+
+
+
+  
+
+IDB is no longer available since Intel Parallel Studio 2015
+
+Debugging serial applications
+-----------------------------
+
+The intel debugger version  13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+for running the GUI.
+
+    $ module load intel/2014.06
+    $ module load Java
+    $ idb
+
+The debugger may run in text mode. To debug in text mode, use
+
+    $ idbc
+
+To debug on the compute nodes, module intel must be loaded.
+The GUI on compute nodes may be accessed using the same way as in [the
+GUI
+section](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+
+Example:
+
+    $ qsub -q qexp -l select=1:ncpus=24 -X -I
+    qsubwaiting for job 19654.srv11 to start
+    qsubjob 19654.srv11 ready
+
+    $ module load intel
+    $ module load Java
+    $ icc -O0 -g myprog.c -o myprog.x
+    $ idb ./myprog.x
+
+In this example, we allocate 1 full compute node, compile program
+myprog.c with debugging options -O0 -g and run the idb debugger
+interactively on the myprog.x executable. The GUI access is via X11 port
+forwarding provided by the PBS workload manager.
+
+Debugging parallel applications
+-------------------------------
+
+Intel debugger is capable of debugging multithreaded and MPI parallel
+programs as well.
+
+### Small number of MPI ranks
+
+For debugging small number of MPI ranks, you may execute and debug each
+rank in separate xterm terminal (do not forget the [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)).
+Using Intel MPI, this may be done in following way:
+
+    $ qsub -q qexp -l select=2:ncpus=24 -X -I
+    qsubwaiting for job 19654.srv11 to start
+    qsubjob 19655.srv11 ready
+
+    $ module load intel impi
+    $ mpirun -ppn 1 -hostfile $PBS_NODEFILE --enable-x xterm -e idbc ./mympiprog.x
+
+In this example, we allocate 2 full compute node, run xterm on each node
+and start idb debugger in command line mode, debugging two ranks of
+mympiprog.x application. The xterm will pop up for each rank, with idb
+prompt ready. The example is not limited to use of Intel MPI
+
+### Large number of MPI ranks
+
+Run the idb debugger from within the MPI debug option. This will cause
+the debugger to bind to all ranks and provide aggregated outputs across
+the ranks, pausing execution automatically just after startup. You may
+then set break points and step the execution manually. Using Intel MPI:
+
+    $ qsub -q qexp -l select=2:ncpus=24 -X -I
+    qsubwaiting for job 19654.srv11 to start
+    qsubjob 19655.srv11 ready
+
+    $ module load intel impi
+    $ mpirun -n 48 -idb ./mympiprog.x
+
+### Debugging multithreaded application
+
+Run the idb debugger in GUI mode. The menu Parallel contains number of
+tools for debugging multiple threads. One of the most useful tools is
+the **Serialize Execution** tool, which serializes execution of
+concurrent threads for easy orientation and identification of
+concurrency related bugs.
+
+Further information
+-------------------
+
+Exhaustive manual on idb features and usage is published at Intel
+website,
+<https://software.intel.com/sites/products/documentation/doclib/iss/2013/compiler/cpp-lin/>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md b/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md
new file mode 100644
index 0000000000000000000000000000000000000000..3bb46a5401e36b9777229277828e7cfa5c6bebf0
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-inspector.md
@@ -0,0 +1,66 @@
+Intel Inspector 
+===============
+
+Intel Inspector is a dynamic memory and threading error checking tool
+for C/C++/Fortran applications. It can detect issues such as memory
+leaks, invalid memory references, uninitalized variables, race
+conditions, deadlocks etc.
+
+Installed versions
+------------------
+
+The following versions are currently available on Salomon as modules:
+
+  --------------- -------------------------
+  **Version**     **Module**
+  2016 Update 1   Inspector/2016_update1
+  --------------- -------------------------
+
+Usage
+-----
+
+Your program should be compiled with -g switch to include symbol names.
+Optimizations can be turned on.
+
+Debugging is possible either directly from the GUI, or from command
+line.
+
+### GUI mode
+
+To debug from GUI, launch Inspector:
+
+    $ inspxe-gui &
+
+Then select menu File -&gt; New -&gt; Project. Choose a directory to
+save project data to. After clicking OK, Project properties window will
+appear, where you can configure path to your binary, launch arguments,
+working directory etc. After clicking OK, the project is ready.
+
+In the main pane, you can start a predefined analysis type or define
+your own. Click Start to start the analysis. Alternatively, you can
+click on Command Line, to see the command line required to run the
+analysis directly from command line.
+
+### Batch mode
+
+Analysis can be also run from command line in batch mode. Batch mode
+analysis is run with command <span class="monospace">inspxe-cl</span>.
+To obtain the required parameters, either consult the documentation or
+you can configure the analysis in the GUI and then click "Command Line"
+button in the lower right corner to the respective command line.
+
+Results obtained from batch mode can be then viewed in the GUI by
+selecting File -&gt; Open -&gt; Result...
+
+References
+----------
+
+1.  [Product
+    page](https://software.intel.com/en-us/intel-inspector-xe)
+2.  [Documentation and Release
+    Notes](https://software.intel.com/en-us/intel-inspector-xe-support/documentation)
+3.  [Tutorials](https://software.intel.com/en-us/articles/inspectorxe-tutorials)
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md b/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md
new file mode 100644
index 0000000000000000000000000000000000000000..f3d26a63be5327ea7774d65733e04c7069a782bd
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives.md
@@ -0,0 +1,99 @@
+Intel IPP 
+=========
+
+
+
+  
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 9.0.1, compiled for
+AVX2 vector instructions is available, via module ipp. The IPP is a very
+rich library of highly optimized algorithmic building blocks for media
+and data applications. This includes signal, image and frame processing
+algorithms, such as FFT, FIR, Convolution, Optical Flow, Hough
+transform, Sum, MinMax, as well as cryptographic functions, linear
+algebra functions and many more.
+
+Check out IPP before implementing own math functions for data
+processing, it is likely already there.
+
+    $ module load ipp
+
+The module sets up environment variables, required for linking and
+running ipp enabled applications.
+
+IPP example
+-----------
+
+    #include "ipp.h"
+    #include <stdio.h>
+    int main(int argc, char* argv[])
+    {
+            const IppLibraryVersion *lib;
+            Ipp64u fm;
+            IppStatus status;
+
+            status= ippInit();            //IPP initialization with the best optimization layer
+            if( status != ippStsNoErr ) {
+                    printf("IppInit() Error:n");
+                    printf("%sn", ippGetStatusString(status) );
+                    return -1;
+            }
+
+            //Get version info
+            lib = ippiGetLibVersion();
+            printf("%s %sn", lib->Name, lib->Version);
+
+            //Get CPU features enabled with selected library level
+            fm=ippGetEnabledCpuFeatures();
+            printf("SSE    :%cn",(fm>>1)&1?'Y':'N');
+            printf("SSE2   :%cn",(fm>>2)&1?'Y':'N');
+            printf("SSE3   :%cn",(fm>>3)&1?'Y':'N');
+            printf("SSSE3  :%cn",(fm>>4)&1?'Y':'N');
+            printf("SSE41  :%cn",(fm>>6)&1?'Y':'N');
+            printf("SSE42  :%cn",(fm>>7)&1?'Y':'N');
+            printf("AVX    :%cn",(fm>>8)&1 ?'Y':'N');
+            printf("AVX2   :%cn", (fm>>15)&1 ?'Y':'N' );
+            printf("----------n");
+            printf("OS Enabled AVX :%cn", (fm>>9)&1 ?'Y':'N');
+            printf("AES            :%cn", (fm>>10)&1?'Y':'N');
+            printf("CLMUL          :%cn", (fm>>11)&1?'Y':'N');
+            printf("RDRAND         :%cn", (fm>>13)&1?'Y':'N');
+            printf("F16C           :%cn", (fm>>14)&1?'Y':'N');
+
+            return 0;
+    }
+
+ Compile above example, using any compiler and the ipp module.
+
+    $ module load intel
+    $ module load ipp
+
+    $ icc testipp.c -o testipp.x -lippi -lipps -lippcore
+
+You will need the ipp module loaded to run the ipp enabled executable.
+This may be avoided, by compiling library search paths into the
+executable
+
+    $ module load intel
+    $ module load ipp
+
+    $ icc testipp.c -o testipp.x -Wl,-rpath=$LIBRARY_PATH -lippi -lipps -lippcore
+
+Code samples and documentation
+------------------------------
+
+Intel provides number of [Code Samples for
+IPP](https://software.intel.com/en-us/articles/code-samples-for-intel-integrated-performance-primitives-library),
+illustrating use of IPP.
+
+Read full documentation on IPP [on Intel
+website,](http://software.intel.com/sites/products/search/search.php?q=&x=15&y=6&product=ipp&version=7.1&docos=lin)
+in particular the [IPP Reference
+manual.](http://software.intel.com/sites/products/documentation/doclib/ipp_sa/71/ipp_manual/index.htm)
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md b/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md
new file mode 100644
index 0000000000000000000000000000000000000000..5aab5f7803d6338746909966ca5de24f11778b40
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-mkl.md
@@ -0,0 +1,210 @@
+Intel MKL 
+=========
+
+
+
+  
+
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL provides these basic math kernels:
+
+[]()
+-   <div id="d4841e18">
+
+    
+
+    []()BLAS (level 1, 2, and 3) and LAPACK linear algebra routines,
+    offering vector, vector-matrix, and matrix-matrix operations.
+-   <div id="d4841e21">
+
+    
+
+    []()The PARDISO direct sparse solver, an iterative sparse solver,
+    and supporting sparse BLAS (level 1, 2, and 3) routines for solving
+    sparse systems of equations.
+-   <div id="d4841e24">
+
+    
+
+    []()ScaLAPACK distributed processing linear algebra routines for
+    Linux* and Windows* operating systems, as well as the Basic Linear
+    Algebra Communications Subprograms (BLACS) and the Parallel Basic
+    Linear Algebra Subprograms (PBLAS).
+-   <div id="d4841e27">
+
+    
+
+    []()Fast Fourier transform (FFT) functions in one, two, or three
+    dimensions with support for mixed radices (not limited to sizes that
+    are powers of 2), as well as distributed versions of
+    these functions.
+-   <div id="d4841e30">
+
+    
+
+    []()Vector Math Library (VML) routines for optimized mathematical
+    operations on vectors.
+-   <div id="d4841e34">
+
+    
+
+    []()Vector Statistical Library (VSL) routines, which offer
+    high-performance vectorized random number generators (RNG) for
+    several probability distributions, convolution and correlation
+    routines, and summary statistics functions.
+-   <div id="d4841e37">
+
+    
+
+    []()Data Fitting Library, which provides capabilities for
+    spline-based approximation of functions, derivatives and integrals
+    of functions, and search.
+-   Extended Eigensolver, a shared memory  version of an eigensolver
+    based on the Feast Eigenvalue Solver.
+
+
+
+For details see the [Intel MKL Reference
+Manual](http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mklman/index.htm).
+
+Intel MKL version 11.2.3.187 is available on the cluster
+
+    $ module load imkl
+
+The module sets up environment variables, required for linking and
+running mkl enabled applications. The most important variables are the
+$MKLROOT, $CPATH, $LD_LIBRARY_PATH and $MKL_EXAMPLES
+
+Intel MKL library may be linked using any compiler.
+With intel compiler use -mkl option to link default threaded MKL.
+
+### Interfaces
+
+Intel MKL library provides number of interfaces. The fundamental once
+are the LP64 and ILP64. The Intel MKL ILP64 libraries use the 64-bit
+integer type (necessary for indexing large arrays, with more than
+2^31^-1 elements), whereas the LP64 libraries index arrays with the
+32-bit integer type.
+
+  Interface   Integer type
+  ----------- -----------------------------------------------
+  LP64        32-bit, int, integer(kind=4), MPI_INT
+  ILP64       64-bit, long int, integer(kind=8), MPI_INT64
+
+### Linking
+
+Linking Intel MKL libraries may be complex. Intel [mkl link line
+advisor](http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor)
+helps. See also [examples](#examples) below.
+
+You will need the mkl module loaded to run the mkl enabled executable.
+This may be avoided, by compiling library search paths into the
+executable. Include  rpath on the compile line:
+
+    $ icc .... -Wl,-rpath=$LIBRARY_PATH ...
+
+### Threading
+
+Advantage in using Intel MKL library is that it brings threaded
+parallelization to applications that are otherwise not parallel.
+
+For this to work, the application must link the threaded MKL library
+(default). Number and behaviour of MKL threads may be controlled via the
+OpenMP environment variables, such as OMP_NUM_THREADS and
+KMP_AFFINITY. MKL_NUM_THREADS takes precedence over OMP_NUM_THREADS
+
+    $ export OMP_NUM_THREADS=24
+    $ export KMP_AFFINITY=granularity=fine,compact,1,0
+
+The application will run with 24 threads with affinity optimized for
+fine grain parallelization.
+
+[]()Examples
+------------
+
+Number of examples, demonstrating use of the Intel MKL library and its
+linking is available on clusters, in the $MKL_EXAMPLES directory. In
+the examples below, we demonstrate linking Intel MKL to Intel and GNU
+compiled program for multi-threaded matrix multiplication.
+
+### Working with examples
+
+    $ module load intel
+    $ module load imkl
+    $ cp -a $MKL_EXAMPLES/cblas /tmp/
+    $ cd /tmp/cblas
+
+    $ make sointel64 function=cblas_dgemm
+
+In this example, we compile, link and run the cblas_dgemm  example,
+demonstrating use of MKL example suite installed on clusters.
+
+### ExampleMKL and Intel compiler
+
+    $ module load intel
+    $ module load imkl
+    $ cp -a $MKL_EXAMPLES/cblas /tmp/
+    $ cd /tmp/cblas
+    $ 
+    $ icc -w source/cblas_dgemmx.c source/common_func.c -mkl -o cblas_dgemmx.x
+    $ ./cblas_dgemmx.x data/cblas_dgemmx.d
+
+In this example, we compile, link and run the cblas_dgemm  example,
+demonstrating use of MKL with icc -mkl option. Using the -mkl option is
+equivalent to:
+
+    $ icc -w source/cblas_dgemmx.c source/common_func.c -o cblas_dgemmx.x 
+    -I$MKL_INC_DIR -L$MKL_LIB_DIR -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5
+
+In this example, we compile and link the cblas_dgemm  example, using
+LP64 interface to threaded MKL and Intel OMP threads implementation.
+
+### ExampleIntel MKL and GNU compiler
+
+    $ module load GCC
+    $ module load imkl
+    $ cp -a $MKL_EXAMPLES/cblas /tmp/
+    $ cd /tmp/cblas
+     
+    $ gcc -w source/cblas_dgemmx.c source/common_func.c -o cblas_dgemmx.x 
+    -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lm
+
+    $ ./cblas_dgemmx.x data/cblas_dgemmx.d
+
+In this example, we compile, link and run the cblas_dgemm  example,
+using LP64 interface to threaded MKL and gnu OMP threads implementation.
+
+MKL and MIC accelerators
+------------------------
+
+The Intel MKL is capable to automatically offload the computations o the
+MIC accelerator. See section [Intel Xeon
+Phi](https://docs.it4i.cz/salomon/software/intel-xeon-phi)
+for details.
+
+LAPACKE C Interface
+-------------------
+
+MKL includes LAPACKE C Interface to LAPACK. For some reason, although
+Intel is the author of LAPACKE, the LAPACKE header files are not present
+in MKL. For this reason, we have prepared <span
+class="monospace">LAPACKE</span> module, which includes Intel's LAPACKE
+headers from official LAPACK, which you can use to compile code using
+LAPACKE interface against MKL.
+
+Further reading
+---------------
+
+Read more on [Intel
+website](http://software.intel.com/en-us/intel-mkl), in
+particular the [MKL users
+guide](https://software.intel.com/en-us/intel-mkl/documentation/linux).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md b/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..5757fc5a8fbe90e0814564f3be5754f7f60baa19
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-parallel-studio-introduction.md
@@ -0,0 +1,107 @@
+Intel Parallel Studio 
+=====================
+
+
+
+  
+
+The Salomon cluster provides following elements of the Intel Parallel
+Studio XE
+
+  Intel Parallel Studio XE
+  -------------------------------------------------
+  Intel Compilers
+  Intel Debugger
+  Intel MKL Library
+  Intel Integrated Performance Primitives Library
+  Intel Threading Building Blocks Library
+  Intel Trace Analyzer and Collector
+  Intel Advisor
+  Intel Inspector
+
+Intel compilers
+---------------
+
+The Intel compilers version 131.3 are available, via module
+iccifort/2013.5.192-GCC-4.8.3. The compilers include the icc C and C++
+compiler and the ifort fortran 77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+Read more at the [Intel
+Compilers](https://docs.it4i.cz/salomon/software/intel-suite/intel-compilers)
+page.
+
+Intel debugger
+--------------
+
+IDB is no longer available since Parallel Studio 2015.
+
+ The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger)
+page.
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL unites and provides these basic componentsBLAS, LAPACK,
+ScaLapack, PARDISO, FFT, VML, VSL, Data fitting, Feast Eigensolver and
+many more.
+
+    $ module load imkl
+
+Read more at the [Intel
+MKL](https://docs.it4i.cz/salomon/software/intel-suite/intel-mkl)
+page.
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+is available, via module ipp. The IPP is a library of highly optimized
+algorithmic building blocks for media and data applications. This
+includes signal, image and frame processing algorithms, such as FFT,
+FIR, Convolution, Optical Flow, Hough transform, Sum, MinMax and many
+more.
+
+    $ module load ipp
+
+Read more at the [Intel
+IPP](https://docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives)
+page.
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers. It is designed to promote
+scalable data parallel programming. Additionally, it fully supports
+nested parallelism, so you can build larger parallel components from
+smaller parallel components. To use the library, you specify tasks, not
+threads, and let the library map tasks onto threads in an efficient
+manner.
+
+    $ module load tbb
+
+Read more at the [Intel
+TBB](https://docs.it4i.cz/salomon/software/intel-suite/intel-tbb)
+page.
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md b/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md
new file mode 100644
index 0000000000000000000000000000000000000000..9b953e7d665c2095201479c92e7bdc266fd2ad1c
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-tbb.md
@@ -0,0 +1,59 @@
+Intel TBB 
+=========
+
+
+
+  
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers.  To use the library, you specify
+tasks, not threads, and let the library map tasks onto threads in an
+efficient manner. The tasks are executed by a runtime scheduler and may
+be offloaded to [MIC
+accelerator](https://docs.it4i.cz/salomon/software/intel-xeon-phi).
+
+Intel TBB version 4.3.5.187 is available on the cluster.
+
+    $ module load tbb
+
+The module sets up environment variables, required for linking and
+running tbb enabled applications.
+
+Link the tbb library, using -ltbb
+
+Examples
+--------
+
+Number of examples, demonstrating use of TBB and its built-in scheduler 
+is available on Anselm, in the $TBB_EXAMPLES directory.
+
+    $ module load intel
+    $ module load tbb
+    $ cp -a $TBB_EXAMPLES/common $TBB_EXAMPLES/parallel_reduce /tmp/
+    $ cd /tmp/parallel_reduce/primes
+    $ icc -O2 -DNDEBUG -o primes.x main.cpp primes.cpp -ltbb
+    $ ./primes.x
+
+In this example, we compile, link and run the primes example,
+demonstrating use of parallel task-based reduce in computation of prime
+numbers.
+
+You will need the tbb module loaded to run the tbb enabled executable.
+This may be avoided, by compiling library search paths into the
+executable.
+
+    $ icc -O2 -o primes.x main.cpp primes.cpp -Wl,-rpath=$LIBRARY_PATH -ltbb
+
+Further reading
+---------------
+
+Read more on Intel website,
+<http://software.intel.com/sites/products/documentation/doclib/tbb_sa/help/index.htm>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md b/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md
new file mode 100644
index 0000000000000000000000000000000000000000..e1057e9462be21e3cdb6509e9b7e2913927a2c4b
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-suite/intel-trace-analyzer-and-collector.md
@@ -0,0 +1,58 @@
+Intel Trace Analyzer and Collector 
+==================================
+
+Intel Trace Analyzer and Collector (ITAC) is a tool to collect and
+graphicaly analyze behaviour of MPI applications. It helps you to
+analyze communication patterns of your application, identify hotspots,
+perform correctnes checking (identify deadlocks, data corruption etc),
+simulate how your application would run on a different interconnect. 
+
+ITAC is a offline analysis tool - first you run your application to
+collect a trace file, then you can open the trace in a GUI analyzer to
+view it.
+
+Installed version
+-----------------
+
+Currently on Salomon is version 9.1.2.024 available as module <span
+class="monospace">itac/9.1.2.024</span>
+
+Collecting traces
+-----------------
+
+ITAC can collect traces from applications that are using Intel MPI. To
+generate a trace, simply add -trace option to your mpirun command :
+
+    $ module load itac/9.1.2.024
+    $ mpirun -trace myapp
+
+The trace will be saved in file myapp.stf in the current directory.
+
+Viewing traces
+--------------
+
+To view and analyze the trace, open ITAC GUI in a [graphical
+environment](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+:
+
+    $ module load itac/9.1.2.024
+    $ traceanalyzer
+
+The GUI will launch and you can open the produced *.stf file.
+
+![Intel Trace
+Analyzer](https://docs.it4i.cz/salomon/software/intel-suite/Snmekobrazovky20151204v15.35.12.png/@@images/fb3b3ac2-a88f-4e55-a25e-23f1da2200cb.png "Intel Trace Analyzer")
+
+Please refer to Intel documenation about usage of the GUI tool.
+
+References
+----------
+
+1.  [Getting Started with Intel® Trace Analyzer and
+    Collector](https://software.intel.com/en-us/get-started-with-itac-for-linux)
+2.  [Intel® Trace Analyzer and Collector -
+    Documentation](http://Intel®%20Trace%20Analyzer%20and%20Collector%20-%20Documentation)
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/intel-xeon-phi.md b/docs.it4i.cz/salomon/software/intel-xeon-phi.md
new file mode 100644
index 0000000000000000000000000000000000000000..a33edb224a037c36b3495f0d8e977e09e2cdea15
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/intel-xeon-phi.md
@@ -0,0 +1,1086 @@
+Intel Xeon Phi 
+==============
+
+A guide to Intel Xeon Phi usage
+
+
+  
+
+Intel Xeon Phi accelerator can be programmed in several modes. The
+default mode on the cluster is offload mode, but all modes described in
+this document are supported.
+
+Intel Utilities for Xeon Phi
+----------------------------
+
+To get access to a compute node with Intel Xeon Phi accelerator, use the
+PBS interactive session
+
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+
+To set up the environment module "intel" has to be loaded, without
+specifying the version, default version is loaded (at time of writing
+this, it's 2015b)
+
+    $ module load intel
+
+Information about the hardware can be obtained by running
+the micinfo program on the host.
+
+    $ /usr/bin/micinfo
+
+The output of the "micinfo" utility executed on one of the cluster node
+is as follows. (noteto get PCIe related details the command has to be
+run with root privileges)
+
+    MicInfo Utility Log
+    Created Mon Aug 17 13:55:59 2015
+
+
+        System Info
+            HOST OS         Linux
+            OS Version      2.6.32-504.16.2.el6.x86_64
+            Driver Version      3.4.1-1
+            MPSS Version        3.4.1
+            Host Physical Memory    131930 MB
+
+    Device No0, Device Namemic0
+
+        Version
+            Flash Version        2.1.02.0390
+            SMC Firmware Version     1.16.5078
+            SMC Boot Loader Version  1.8.4326
+            uOS Version          2.6.38.8+mpss3.4.1
+            Device Serial Number     ADKC44601414
+
+        Board
+            Vendor ID        0x8086
+            Device ID        0x225c
+            Subsystem ID         0x7d95
+            Coprocessor Stepping ID  2
+            PCIe Width       x16
+            PCIe Speed       5 GT/s
+            PCIe Max payload size    256 bytes
+            PCIe Max read req size   512 bytes
+            Coprocessor Model    0x01
+            Coprocessor Model Ext    0x00
+            Coprocessor Type     0x00
+            Coprocessor Family   0x0b
+            Coprocessor Family Ext   0x00
+            Coprocessor Stepping     C0
+            Board SKU        C0PRQ-7120 P/A/X/D
+            ECC Mode         Enabled
+            SMC HW Revision      Product 300W Passive CS
+
+        Cores
+            Total No of Active Cores 61
+            Voltage          1007000 uV
+            Frequency        1238095 kHz
+
+        Thermal
+            Fan Speed Control    N/A
+            Fan RPM          N/A
+            Fan PWM          N/A
+            Die Temp         60 C
+
+        GDDR
+            GDDR Vendor      Samsung
+            GDDR Version         0x6
+            GDDR Density         4096 Mb
+            GDDR Size        15872 MB
+            GDDR Technology      GDDR5 
+            GDDR Speed       5.500000 GT/s 
+            GDDR Frequency       2750000 kHz
+            GDDR Voltage         1501000 uV
+
+    Device No1, Device Namemic1
+
+        Version
+            Flash Version        2.1.02.0390
+            SMC Firmware Version     1.16.5078
+            SMC Boot Loader Version  1.8.4326
+            uOS Version          2.6.38.8+mpss3.4.1
+            Device Serial Number     ADKC44500454
+
+        Board
+            Vendor ID        0x8086
+            Device ID        0x225c
+            Subsystem ID         0x7d95
+            Coprocessor Stepping ID  2
+            PCIe Width       x16
+            PCIe Speed       5 GT/s
+            PCIe Max payload size    256 bytes
+            PCIe Max read req size   512 bytes
+            Coprocessor Model    0x01
+            Coprocessor Model Ext    0x00
+            Coprocessor Type     0x00
+            Coprocessor Family   0x0b
+            Coprocessor Family Ext   0x00
+            Coprocessor Stepping     C0
+            Board SKU        C0PRQ-7120 P/A/X/D
+            ECC Mode         Enabled
+            SMC HW Revision      Product 300W Passive CS
+
+        Cores
+            Total No of Active Cores 61
+            Voltage          998000 uV
+            Frequency        1238095 kHz
+
+        Thermal
+            Fan Speed Control    N/A
+            Fan RPM          N/A
+            Fan PWM          N/A
+            Die Temp         59 C
+
+        GDDR
+            GDDR Vendor      Samsung
+            GDDR Version         0x6
+            GDDR Density         4096 Mb
+            GDDR Size        15872 MB
+            GDDR Technology      GDDR5 
+            GDDR Speed       5.500000 GT/s 
+            GDDR Frequency       2750000 kHz
+            GDDR Voltage         1501000 uV
+
+Offload Mode
+------------
+
+To compile a code for Intel Xeon Phi a MPSS stack has to be installed on
+the machine where compilation is executed. Currently the MPSS stack is
+only installed on compute nodes equipped with accelerators.
+
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+    $ module load intel
+
+For debugging purposes it is also recommended to set environment
+variable "OFFLOAD_REPORT". Value can be set from 0 to 3, where higher
+number means more debugging information.
+
+    export OFFLOAD_REPORT=3
+
+A very basic example of code that employs offload programming technique
+is shown in the next listing. Please note that this code is sequential
+and utilizes only single core of the accelerator.
+
+    $ vim source-offload.cpp
+
+    #include <iostream>
+
+    int main(int argc, char* argv[])
+    {
+        const int niter = 100000;
+        double result = 0;
+
+     #pragma offload target(mic)
+        for (int i = 0; i < niter; ++i) {
+            const double t = (i + 0.5) / niter;
+            result += 4.0 / (t * t + 1.0);
+        }
+        result /= niter;
+        std::cout << "Pi ~ " << result << 'n';
+    }
+
+To compile a code using Intel compiler run
+
+    $ icc source-offload.cpp -o bin-offload
+
+To execute the code, run the following command on the host
+
+    ./bin-offload
+
+### Parallelization in Offload Mode Using OpenMP
+
+One way of paralelization a code for Xeon Phi is using OpenMP
+directives. The following example shows code for parallel vector
+addition. 
+
+    $ vim ./vect-add 
+
+    #include <stdio.h>
+
+    typedef int T;
+
+    #define SIZE 1000
+
+    #pragma offload_attribute(push, target(mic))
+    T in1[SIZE];
+    T in2[SIZE];
+    T res[SIZE];
+    #pragma offload_attribute(pop)
+
+    // MIC function to add two vectors
+    __attribute__((target(mic))) add_mic(T *a, T *b, T *c, int size) {
+      int i = 0;
+      #pragma omp parallel for
+        for (i = 0; i < size; i++)
+          c[i] = a[i] + b[i];
+    }
+
+    // CPU function to add two vectors
+    void add_cpu (T *a, T *b, T *c, int size) {
+      int i;
+      for (i = 0; i < size; i++)
+        c[i] = a[i] + b[i];
+    }
+
+    // CPU function to generate a vector of random numbers
+    void random_T (T *a, int size) {
+      int i;
+      for (i = 0; i < size; i++)
+        a[i] = rand() % 10000; // random number between 0 and 9999
+    }
+
+    // CPU function to compare two vectors
+    int compare(T *a, T *b, T size ){
+      int pass = 0;
+      int i;
+      for (i = 0; i < size; i++){
+        if (a[i] != b[i]) {
+          printf("Value mismatch at location %d, values %d and %dn",i, a[i], b[i]);
+          pass = 1;
+        }
+      }
+      if (pass == 0) printf ("Test passedn"); else printf ("Test Failedn");
+      return pass;
+    }
+
+
+    int main()
+    {
+      int i;
+      random_T(in1, SIZE);
+      random_T(in2, SIZE);
+
+      #pragma offload target(mic) in(in1,in2)  inout(res)
+      {
+
+        // Parallel loop from main function
+        #pragma omp parallel for
+        for (i=0; i<SIZE; i++)
+          res[i] = in1[i] + in2[i];
+
+        // or parallel loop is called inside the function
+        add_mic(in1, in2, res, SIZE);
+
+      }
+
+
+      //Check the results with CPU implementation
+      T res_cpu[SIZE];
+      add_cpu(in1, in2, res_cpu, SIZE);
+      compare(res, res_cpu, SIZE);
+
+    }
+
+During the compilation Intel compiler shows which loops have been
+vectorized in both host and accelerator. This can be enabled with
+compiler option "-vec-report2". To compile and execute the code run
+
+    $ icc vect-add.c -openmp_report2 -vec-report2 -o vect-add
+
+    $ ./vect-add 
+
+Some interesting compiler flags useful not only for code debugging are:
+
+Debugging
+  openmp_report[0|1|2] - controls the compiler based vectorization
+diagnostic level
+  vec-report[0|1|2] - controls the OpenMP parallelizer diagnostic
+level
+
+Performance ooptimization
+  xhost - FOR HOST ONLY - to generate AVX (Advanced Vector Extensions)
+instructions.
+
+Automatic Offload using Intel MKL Library
+-----------------------------------------
+
+Intel MKL includes an Automatic Offload (AO) feature that enables
+computationally intensive MKL functions called in user code to benefit
+from attached Intel Xeon Phi coprocessors automatically and
+transparently.
+
+Behavioural of automatic offload mode is controlled by functions called
+within the program or by environmental variables. Complete list of
+controls is listed [<span
+class="external-link">here</span>](http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/GUID-3DC4FC7D-A1E4-423D-9C0C-06AB265FFA86.htm).
+
+The Automatic Offload may be enabled by either an MKL function call
+within the code:
+
+    mkl_mic_enable();
+
+or by setting environment variable
+
+    $ export MKL_MIC_ENABLE=1
+
+To get more information about automatic offload please refer to "[Using
+Intel® MKL Automatic Offload on Intel ® Xeon Phi™
+Coprocessors](http://software.intel.com/sites/default/files/11MIC42_How_to_Use_MKL_Automatic_Offload_0.pdf)"
+white paper or [<span class="external-link">Intel MKL
+documentation</span>](https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation).
+
+### Automatic offload example #1
+
+Following example show how to automatically offload an SGEMM (single
+precision - g<span dir="auto">eneral matrix multiply</span>) function to
+MIC coprocessor.
+
+At first get an interactive PBS session on a node with MIC accelerator
+and load "intel" module that automatically loads "mkl" module as well.
+
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+    $ module load intel
+
+ The code can be copied to a file and compiled without any necessary
+modification. 
+
+    $ vim sgemm-ao-short.c
+
+``` 
+#include <stdio.h>
+#include <stdlib.h>
+#include <malloc.h>
+#include <stdint.h>
+
+#include "mkl.h"
+
+int main(int argc, char **argv)
+{
+        float *A, *B, *C; /* Matrices */
+
+        MKL_INT N = 2560; /* Matrix dimensions */
+        MKL_INT LD = N; /* Leading dimension */
+        int matrix_bytes; /* Matrix size in bytes */
+        int matrix_elements; /* Matrix size in elements */
+
+        float alpha = 1.0, beta = 1.0; /* Scaling factors */
+        char transa = 'N', transb = 'N'; /* Transposition options */
+
+        int i, j; /* Counters */
+
+        matrix_elements = N * N;
+        matrix_bytes = sizeof(float) * matrix_elements;
+
+        /* Allocate the matrices */
+        A = malloc(matrix_bytes); B = malloc(matrix_bytes); C = malloc(matrix_bytes);
+
+        /* Initialize the matrices */
+        for (i = 0; i < matrix_elements; i++) {
+                A[i] = 1.0; B[i] = 2.0; C[i] = 0.0;
+        }
+
+        printf("Computing SGEMM on the hostn");
+        sgemm(&transa, &transb, &N, &N, &N, &alpha, A, &N, B, &N, &beta, C, &N);
+
+        printf("Enabling Automatic Offloadn");
+        /* Alternatively, set environment variable MKL_MIC_ENABLE=1 */
+        mkl_mic_enable();
+        
+        int ndevices = mkl_mic_get_device_count(); /* Number of MIC devices */
+        printf("Automatic Offload enabled%d MIC devices presentn",   ndevices);
+
+        printf("Computing SGEMM with automatic workdivisionn");
+        sgemm(&transa, &transb, &N, &N, &N, &alpha, A, &N, B, &N, &beta, C, &N);
+
+        /* Free the matrix memory */
+        free(A); free(B); free(C);
+
+        printf("Donen");
+
+    return 0;
+}
+```
+
+Please noteThis example is simplified version of an example from MKL.
+The expanded version can be found here:
+**$MKL_EXAMPLES/mic_ao/blasc/source/sgemm.c**
+
+To compile a code using Intel compiler use:
+
+    $ icc -mkl sgemm-ao-short.c -o sgemm
+
+For debugging purposes enable the offload report to see more information
+about automatic offloading.
+
+    $ export OFFLOAD_REPORT=2
+
+The output of a code should look similar to following listing, where
+lines starting with [MKL] are generated by offload reporting:
+
+    [user@r31u03n799 ~]$ ./sgemm 
+    Computing SGEMM on the host
+    Enabling Automatic Offload
+    Automatic Offload enabled2 MIC devices present
+    Computing SGEMM with automatic workdivision
+    [MKL] [MIC --] [AO Function]    SGEMM
+    [MKL] [MIC --] [AO SGEMM Workdivision]    0.44 0.28 0.28
+    [MKL] [MIC 00] [AO SGEMM CPU Time]    0.252427 seconds
+    [MKL] [MIC 00] [AO SGEMM MIC Time]    0.091001 seconds
+    [MKL] [MIC 00] [AO SGEMM CPU->MIC Data]    34078720 bytes
+    [MKL] [MIC 00] [AO SGEMM MIC->CPU Data]    7864320 bytes
+    [MKL] [MIC 01] [AO SGEMM CPU Time]    0.252427 seconds
+    [MKL] [MIC 01] [AO SGEMM MIC Time]    0.094758 seconds
+    [MKL] [MIC 01] [AO SGEMM CPU->MIC Data]    34078720 bytes
+    [MKL] [MIC 01] [AO SGEMM MIC->CPU Data]    7864320 bytes
+    Done
+
+Behavioral of automatic offload mode is controlled by functions called
+within the program or by environmental variables. Complete list of
+controls is listed [<span
+class="external-link">here</span>](http://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_userguide_lnx/GUID-3DC4FC7D-A1E4-423D-9C0C-06AB265FFA86.htm).
+
+To get more information about automatic offload please refer to "[Using
+Intel® MKL Automatic Offload on Intel ® Xeon Phi™
+Coprocessors](http://software.intel.com/sites/default/files/11MIC42_How_to_Use_MKL_Automatic_Offload_0.pdf)"
+white paper or [<span class="external-link">Intel MKL
+documentation</span>](https://software.intel.com/en-us/articles/intel-math-kernel-library-documentation).
+
+### Automatic offload example #2
+
+In this example, we will demonstrate automatic offload control via an
+environment vatiable MKL_MIC_ENABLE. The function DGEMM will be
+offloaded.
+
+At first get an interactive PBS session on a node with MIC accelerator.
+
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+
+Once in, we enable the offload and run the Octave software. In octave,
+we generate two large random matrices and let them multiply together.
+
+    $ export MKL_MIC_ENABLE=1
+    $ export OFFLOAD_REPORT=2
+    $ module load Octave/3.8.2-intel-2015b
+
+    $ octave -q
+    octave:1> A=rand(10000);
+    octave:2> B=rand(10000);
+    octave:3> C=A*B;
+    [MKL] [MIC --] [AO Function]    DGEMM
+    [MKL] [MIC --] [AO DGEMM Workdivision]    0.14 0.43 0.43
+    [MKL] [MIC 00] [AO DGEMM CPU Time]    3.814714 seconds
+    [MKL] [MIC 00] [AO DGEMM MIC Time]    2.781595 seconds
+    [MKL] [MIC 00] [AO DGEMM CPU->MIC Data]    1145600000 bytes
+    [MKL] [MIC 00] [AO DGEMM MIC->CPU Data]    1382400000 bytes
+    [MKL] [MIC 01] [AO DGEMM CPU Time]    3.814714 seconds
+    [MKL] [MIC 01] [AO DGEMM MIC Time]    2.843016 seconds
+    [MKL] [MIC 01] [AO DGEMM CPU->MIC Data]    1145600000 bytes
+    [MKL] [MIC 01] [AO DGEMM MIC->CPU Data]    1382400000 bytes
+    octave:4> exit
+
+On the example above we observe, that the DGEMM function workload was
+split over CPU, MIC 0 and MIC 1, in the ratio 0.14 0.43 0.43. The matrix
+multiplication was done on the CPU, accelerated by two Xeon Phi
+accelerators.
+
+Native Mode
+-----------
+
+In the native mode a program is executed directly on Intel Xeon Phi
+without involvement of the host machine. Similarly to offload mode, the
+code is compiled on the host computer with Intel compilers.
+
+To compile a code user has to be connected to a compute with MIC and
+load Intel compilers module. To get an interactive session on a compute
+node with an Intel Xeon Phi and load the module use following commands: 
+
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+
+    $ module load intel
+
+Please note that particular version of the Intel module is specified.
+This information is used later to specify the correct library paths.
+
+To produce a binary compatible with Intel Xeon Phi architecture user has
+to specify "-mmic" compiler flag. Two compilation examples are shown
+below. The first example shows how to compile OpenMP parallel code
+"vect-add.c" for host only:
+
+    $ icc -xhost -no-offload -fopenmp vect-add.c -o vect-add-host
+
+To run this code on host, use:
+
+    $ ./vect-add-host
+
+The second example shows how to compile the same code for Intel Xeon
+Phi:
+
+    $ icc -mmic -fopenmp vect-add.c -o vect-add-mic
+
+### Execution of the Program in Native Mode on Intel Xeon Phi
+
+The user access to the Intel Xeon Phi is through the SSH. Since user
+home directories are mounted using NFS on the accelerator, users do not
+have to copy binary files or libraries between the host and accelerator.
+ 
+
+Get the PATH of MIC enabled libraries for currently used Intel Compiler
+(here was icc/2015.3.187-GNU-5.1.0-2.25 used) :
+
+    $ echo $MIC_LD_LIBRARY_PATH
+    /apps/all/icc/2015.3.187-GNU-5.1.0-2.25/composer_xe_2015.3.187/compiler/lib/mic
+
+To connect to the accelerator run:
+
+    $ ssh mic0
+
+If the code is sequential, it can be executed directly:
+
+    mic0 $ ~/path_to_binary/vect-add-seq-mic
+
+If the code is parallelized using OpenMP a set of additional libraries
+is required for execution. To locate these libraries new path has to be
+added to the LD_LIBRARY_PATH environment variable prior to the
+execution:
+
+    mic0 $ export LD_LIBRARY_PATH=/apps/all/icc/2015.3.187-GNU-5.1.0-2.25/composer_xe_2015.3.187/compiler/lib/mic:$LD_LIBRARY_PATH
+
+Please note that the path exported in the previous example contains path
+to a specific compiler (here the version is 2015.3.187-GNU-5.1.0-2.25).
+This version number has to match with the version number of the Intel
+compiler module that was used to compile the code on the host computer.
+
+For your information the list of libraries and their location required
+for execution of an OpenMP parallel code on Intel Xeon Phi is:<span
+class="discreet visualHighlight"></span>
+
+<span>/apps/all/icc/2015.3.187-GNU-5.1.0-2.25/composer_xe_2015.3.187/compiler/lib/mic
+
+libiomp5.so
+libimf.so
+libsvml.so
+libirng.so
+libintlc.so.5
+</span>
+
+<span>Finally, to run the compiled code use</span>
+
+    $ ~/path_to_binary/vect-add-mic
+
+<span>OpenCL</span>
+-------------------
+
+<span>OpenCL (Open Computing Language) is an open standard for
+general-purpose parallel programming for diverse mix of multi-core CPUs,
+GPU coprocessors, and other parallel processors. OpenCL provides a
+flexible execution model and uniform programming environment for
+software developers to write portable code for systems running on both
+the CPU and graphics processors or accelerators like the Intel® Xeon
+Phi.</span>
+
+<span>On Anselm OpenCL is installed only on compute nodes with MIC
+accelerator, therefore OpenCL code can be compiled only on these nodes.
+</span>
+
+    module load opencl-sdk opencl-rt
+
+<span>Always load "opencl-sdk" (providing devel files like headers) and
+"opencl-rt" (providing dynamic library libOpenCL.so) modules to compile
+and link OpenCL code. Load "opencl-rt" for running your compiled code.
+</span>
+
+<span>There are two basic examples of OpenCL code in the following
+directory</span>
+
+    /apps/intel/opencl-examples/
+
+<span>First example "CapsBasic" detects OpenCL compatible hardware, here
+CPU and MIC, and prints basic information about the capabilities of
+it. 
+</span>
+
+    /apps/intel/opencl-examples/CapsBasic/capsbasic
+
+<span>To compile and run the example copy it to your home directory, get
+a PBS interactive session on of the nodes with MIC and run make for
+compilation. Make files are very basic and shows how the OpenCL code can
+be compiled on Anselm. </span>
+
+    $ cp /apps/intel/opencl-examples/CapsBasic/* .
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+    $ make
+
+<span>The compilation command for this example is</span>
+
+    $ g++ capsbasic.cpp -lOpenCL -o capsbasic -I/apps/intel/opencl/include/
+
+<span>After executing the complied binary file, following output should
+be displayed.
+</span>
+
+    ./capsbasic
+
+    Number of available platforms1
+    Platform names:
+        [0] Intel(R) OpenCL [Selected]
+    Number of devices available for each type:
+        CL_DEVICE_TYPE_CPU1
+        CL_DEVICE_TYPE_GPU0
+        CL_DEVICE_TYPE_ACCELERATOR1
+
+    *** Detailed information for each device ***
+
+    CL_DEVICE_TYPE_CPU[0]
+        CL_DEVICE_NAME:        Intel(R) Xeon(R) CPU E5-2470 0 @ 2.30GHz
+        CL_DEVICE_AVAILABLE1
+
+    ...
+
+    CL_DEVICE_TYPE_ACCELERATOR[0]
+        CL_DEVICE_NAMEIntel(R) Many Integrated Core Acceleration Card
+        CL_DEVICE_AVAILABLE1
+
+    ...
+
+<span>More information about this example can be found on Intel website:
+<http://software.intel.com/en-us/vcsource/samples/caps-basic/>
+</span>
+
+<span>The second example that can be found in
+"/apps/intel/opencl-examples" </span><span>directory is General Matrix
+Multiply. You can follow the the same procedure to download the example
+to your directory and compile it. 
+</span>
+
+    $ cp -r /apps/intel/opencl-examples/* .
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+    $ cd GEMM 
+    $ make
+
+<span>The compilation command for this example is</span>
+
+    $ g++ cmdoptions.cpp gemm.cpp ../common/basic.cpp ../common/cmdparser.cpp ../common/oclobject.cpp -I../common -lOpenCL -o gemm -I/apps/intel/opencl/include/
+
+<span>To see the performance of Intel Xeon Phi performing the DGEMM run
+the example as follows</span>
+
+    ./gemm -d 1
+    Platforms (1):
+     [0] Intel(R) OpenCL [Selected]
+    Devices (2):
+     [0] Intel(R) Xeon(R) CPU E5-2470 0 @ 2.30GHz
+     [1] Intel(R) Many Integrated Core Acceleration Card [Selected]
+    Build program options"-DT=float -DTILE_SIZE_M=1 -DTILE_GROUP_M=16 -DTILE_SIZE_N=128 -DTILE_GROUP_N=1 -DTILE_SIZE_K=8"
+    Running gemm_nn kernel with matrix size3968x3968
+    Memory row stride to ensure necessary alignment15872 bytes
+    Size of memory region for one matrix62980096 bytes
+    Using alpha = 0.57599 and beta = 0.872412
+    ...
+    Host time0.292953 sec.
+    Host perf426.635 GFLOPS
+    Host time0.293334 sec.
+    Host perf426.081 GFLOPS
+    ...
+
+<span>Please noteGNU compiler is used to compile the OpenCL codes for
+Intel MIC. You do not need to load Intel compiler module.
+</span>
+
+<span>MPI</span>
+----------------
+
+### Environment setup and compilation
+
+To achieve best MPI performance always use following setup for Intel MPI
+on Xeon Phi accelerated nodes:
+
+    $ export I_MPI_FABRICS=shm:dapl
+    $ export I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u,ofa-v2-scif0,ofa-v2-mcm-1
+
+This ensures, that MPI inside node will use SHMEM communication, between
+HOST and Phi the IB SCIF will be used and between different nodes or
+Phi's on diferent nodes a CCL-Direct proxy will be used.
+
+Please noteOther FABRICS like tcp,ofa may be used (even combined with
+shm) but there's severe loss of performance (by order of magnitude).
+Usage of single DAPL PROVIDER (e. g.
+I_MPI_DAPL_PROVIDER=ofa-v2-mlx4_0-1u) will cause failure of
+Host&lt;-&gt;Phi and/or Phi&lt;-&gt;Phi communication.
+Usage of the I_MPI_DAPL_PROVIDER_LIST on non-accelerated node will
+cause failure of any MPI communication, since those nodes don't have
+SCIF device and there's no CCL-Direct proxy runnig.
+
+Again an MPI code for Intel Xeon Phi has to be compiled on a compute
+node with accelerator and MPSS software stack installed. To get to a
+compute node with accelerator use:
+
+    $ qsub -I -q qprod -l select=1:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+
+The only supported implementation of MPI standard for Intel Xeon Phi is
+Intel MPI. To setup a fully functional development environment a
+combination of Intel compiler and Intel MPI has to be used. On a host
+load following modules before compilation:
+
+    $ module load intel impi
+
+To compile an MPI code for host use:
+
+    $ mpiicc -xhost -o mpi-test mpi-test.c
+
+To compile the same code for Intel Xeon Phi architecture use:
+
+    $ mpiicc -mmic -o mpi-test-mic mpi-test.c
+
+Or, if you are using Fortran :
+
+    $ mpiifort -mmic -o mpi-test-mic mpi-test.f90
+
+An example of basic MPI version of "hello-world" example in C language,
+that can be executed on both host and Xeon Phi is (can be directly copy
+and pasted to a .c file)
+
+``` 
+#include <stdio.h>
+#include <mpi.h>
+
+
+int main (argc, argv)
+     int argc;
+     char *argv[];
+{
+  int rank, size;
+
+  int len;
+  char node[MPI_MAX_PROCESSOR_NAME];
+
+  MPI_Init (&argc, &argv);      /* starts MPI */
+  MPI_Comm_rank (MPI_COMM_WORLD, &rank);        /* get current process id */
+  MPI_Comm_size (MPI_COMM_WORLD, &size);        /* get number of processes */
+
+  MPI_Get_processor_name(node,&len);
+
+  printf( "Hello world from process %d of %d on host %s n", rank, size, node );
+  MPI_Finalize();
+  return 0; 
+}
+```
+
+### MPI programming models
+
+<span>Intel MPI for the Xeon Phi coprocessors offers different MPI
+programming models:</span>
+
+**Host-only model** - all MPI ranks reside on the host. The coprocessors
+can be used by using offload pragmas. (Using MPI calls inside offloaded
+code is not supported.)**
+
+Coprocessor-only model** - all MPI ranks reside only on the
+coprocessors.
+
+**Symmetric model** - the MPI ranks reside on both the host and the
+coprocessor. Most general MPI case.
+
+### <span>Host-only model</span>
+
+<span></span>In this case all environment variables are set by modules,
+so to execute the compiled MPI program on a single node, use:
+
+    $ mpirun -np 4 ./mpi-test
+
+The output should be similar to:
+
+    Hello world from process 1 of 4 on host r38u31n1000
+    Hello world from process 3 of 4 on host r38u31n1000
+    Hello world from process 2 of 4 on host r38u31n1000
+    Hello world from process 0 of 4 on host r38u31n1000
+
+### Coprocessor-only model
+
+<span>There are two ways how to execute an MPI code on a single
+coprocessor1.) lunch the program using "**mpirun**" from the
+coprocessor; or 2.) lunch the task using "**mpiexec.hydra**" from a
+host.
+</span>
+
+**Execution on coprocessor** 
+
+Similarly to execution of OpenMP programs in native mode, since the
+environmental module are not supported on MIC, user has to setup paths
+to Intel MPI libraries and binaries manually. One time setup can be done
+by creating a "**.profile**" file in user's home directory. This file
+sets up the environment on the MIC automatically once user access to the
+accelerator through the SSH.
+
+At first get the LD_LIBRARY_PATH for currenty used Intel Compiler and
+Intel MPI:
+
+    $ echo $MIC_LD_LIBRARY_PATH
+    /apps/all/imkl/11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25/mkl/lib/mic:/apps/all/imkl/11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25/lib/mic:/apps/all/icc/2015.3.187-GNU-5.1.0-2.25/composer_xe_2015.3.187/compiler/lib/mic/
+
+Use it in your ~/.profile:
+
+    $ vim ~/.profile 
+
+    PS1='[u@h W]$ '
+    export PATH=/usr/bin:/usr/sbin:/bin:/sbin
+
+    #IMPI
+    export PATH=/apps/all/impi/5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25/mic/bin/:$PATH
+
+    #OpenMP (ICC, IFORT), IMKL and IMPI
+    export LD_LIBRARY_PATH=/apps/all/imkl/11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25/mkl/lib/mic:/apps/all/imkl/11.2.3.187-iimpi-7.3.5-GNU-5.1.0-2.25/lib/mic:/apps/all/icc/2015.3.187-GNU-5.1.0-2.25/composer_xe_2015.3.187/compiler/lib/mic:$LD_LIBRARY_PATH
+
+Please note:
+ - this file sets up both environmental variable for both MPI and OpenMP
+libraries.
+ - this file sets up the paths to a particular version of Intel MPI
+library and particular version of an Intel compiler. These versions have
+to match with loaded modules.
+
+To access a MIC accelerator located on a node that user is currently
+connected to, use:
+
+    $ ssh mic0
+
+or in case you need specify a MIC accelerator on a particular node, use:
+
+    $ ssh r38u31n1000-mic0
+
+To run the MPI code in parallel on multiple core of the accelerator,
+use:
+
+    $ mpirun -np 4 ./mpi-test-mic
+
+The output should be similar to:
+
+    Hello world from process 1 of 4 on host r38u31n1000-mic0
+    Hello world from process 2 of 4 on host r38u31n1000-mic0
+    Hello world from process 3 of 4 on host r38u31n1000-mic0
+    Hello world from process 0 of 4 on host r38u31n1000-mic0
+
+** **
+
+**Execution on host**
+
+If the MPI program is launched from host instead of the coprocessor, the
+environmental variables are not set using the ".profile" file. Therefore
+user has to specify library paths from the command line when calling
+"mpiexec".
+
+First step is to tell mpiexec that the MPI should be executed on a local
+accelerator by setting up the environmental variable "I_MPI_MIC"
+
+    $ export I_MPI_MIC=1
+
+Now the MPI program can be executed as:
+
+    $ mpirun -genv LD_LIBRARY_PATH $MIC_LD_LIBRARY_PATH -host mic0 -n 4 ~/mpi-test-mic
+
+or using mpirun
+
+    $ mpirun -genv LD_LIBRARY_PATH $MIC_LD_LIBRARY_PATH -host mic0 -n 4 ~/mpi-test-mic
+
+Please note:
+ - the full path to the binary has to specified (here:
+"**<span>~/mpi-test-mic</span>**")
+ - the LD_LIBRARY_PATH has to match with Intel MPI module used to
+compile the MPI code
+
+The output should be again similar to:
+
+    Hello world from process 1 of 4 on host r38u31n1000-mic0
+    Hello world from process 2 of 4 on host r38u31n1000-mic0
+    Hello world from process 3 of 4 on host r38u31n1000-mic0
+    Hello world from process 0 of 4 on host r38u31n1000-mic0
+
+Please note that the "mpiexec.hydra" requires a file
+"**<span>pmi_proxy</span>**" from Intel MPI library to be copied to the
+MIC filesystem. If the file is missing please contact the system
+administrators. A simple test to see if the file is present is to
+execute:
+
+      $ ssh mic0 ls /bin/pmi_proxy
+      /bin/pmi_proxy
+
+** **
+
+**Execution on host - MPI processes distributed over multiple
+accelerators on multiple nodes**
+
+<span>To get access to multiple nodes with MIC accelerator, user has to
+use PBS to allocate the resources. To start interactive session, that
+allocates 2 compute nodes = 2 MIC accelerators run qsub command with
+following parameters</span>
+
+    $ qsub -I -q qprod -l select=2:ncpus=24:accelerator=True:naccelerators=2:accelerator_model=phi7120 -A NONE-0-0
+
+    $ module load intel impi
+
+<span>This command connects user through ssh to one of the nodes
+immediately. To see the other nodes that have been allocated use:
+</span>
+
+    $ cat $PBS_NODEFILE
+
+<span>For example</span>
+
+    r38u31n1000.bullx
+    r38u32n1001.bullx
+
+<span>This output means that the PBS allocated nodes r38u31n1000 and
+r38u32n1001, which means that user has direct access to
+"**r38u31n1000-mic0**" and "**<span>r38u32n1001</span>-mic0**"
+accelerators.</span>
+
+<span>Please noteAt this point user can connect to any of the
+allocated nodes or any of the allocated MIC accelerators using ssh:
+- to connect to the second node **<span class="monospace">$
+ssh <span>r38u32n1001</span></span>**
+<span>- to connect to the accelerator on the first node from the first
+node<span class="monospace">**$ ssh
+<span>r38u31n1000</span>-mic0**</span></span> or **<span
+class="monospace">$ ssh mic0</span>**
+**-** to connect to the accelerator on the second node from the first
+node<span class="monospace">**$ ssh
+<span>r38u32n1001</span>-mic0**</span>
+</span>
+
+<span>At this point we expect that correct modules are loaded and binary
+is compiled. For parallel execution the mpiexec.hydra is used.</span>
+Again the first step is to tell mpiexec that the MPI can be executed on
+MIC accelerators by setting up the environmental variable "I_MPI_MIC",
+don't forget to have correct FABRIC and PROVIDER defined.
+
+    $ export I_MPI_MIC=1
+    $ export I_MPI_FABRICS=shm:dapl
+    $ export I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u,ofa-v2-scif0,ofa-v2-mcm-1
+
+<span>The launch the MPI program use:</span>
+
+    $ mpirun -genv LD_LIBRARY_PATH $MIC_LD_LIBRARY_PATH 
+     -host r38u31n1000-mic0 -n 4 ~/mpi-test-mic 
+    -host r38u32n1001-mic0 -n 6 ~/mpi-test-mic
+
+or using mpirun:
+
+    $ mpirun -genv LD_LIBRARY_PATH 
+     -host r38u31n1000-mic0 -n 4 ~/mpi-test-mic 
+    -host r38u32n1001-mic0 -n 6 ~/mpi-test-mic
+
+In this case four MPI processes are executed on accelerator
+r38u31n1000-mic and six processes are executed on accelerator
+r38u32n1001-mic0. The sample output (sorted after execution) is:
+
+    Hello world from process 0 of 10 on host r38u31n1000-mic0
+    Hello world from process 1 of 10 on host r38u31n1000-mic0
+    Hello world from process 2 of 10 on host r38u31n1000-mic0
+    Hello world from process 3 of 10 on host r38u31n1000-mic0
+    Hello world from process 4 of 10 on host r38u32n1001-mic0
+    Hello world from process 5 of 10 on host r38u32n1001-mic0
+    Hello world from process 6 of 10 on host r38u32n1001-mic0
+    Hello world from process 7 of 10 on host r38u32n1001-mic0
+    Hello world from process 8 of 10 on host r38u32n1001-mic0
+    Hello world from process 9 of 10 on host r38u32n1001-mic0
+
+The same way MPI program can be executed on multiple hosts: 
+
+    $ mpirun -genv LD_LIBRARY_PATH $MIC_LD_LIBRARY_PATH 
+     -host r38u31n1000 -n 4 ~/mpi-test 
+    -host r38u32n1001 -n 6 ~/mpi-test
+
+### <span>Symmetric model </span>
+
+<span>In a symmetric mode MPI programs are executed on both host
+computer(s) and MIC accelerator(s). Since MIC has a different
+architecture and requires different binary file produced by the Intel
+compiler two different files has to be compiled before MPI program is
+executed. </span>
+
+<span>In the previous section we have compiled two binary files, one for
+hosts "**mpi-test**" and one for MIC accelerators "**mpi-test-mic**".
+These two binaries can be executed at once using mpiexec.hydra:
+</span>
+
+    $ mpirun 
+     -genv $MIC_LD_LIBRARY_PATH 
+     -host r38u32n1001 -n 2 ~/mpi-test 
+    -host r38u32n1001-mic0 -n 2 ~/mpi-test-mic
+
+In this example the first two parameters (line 2 and 3) sets up required
+environment variables for execution. The third line specifies binary
+that is executed on host (here r38u32n1001) and the last line specifies
+the binary that is execute on the accelerator (here r38u32n1001-mic0).
+
+<span>The output of the program is</span>
+
+    Hello world from process 0 of 4 on host r38u32n1001
+    Hello world from process 1 of 4 on host r38u32n1001
+    Hello world from process 2 of 4 on host r38u32n1001-mic0
+    Hello world from process 3 of 4 on host r38u32n1001-mic0
+
+<span>The execution procedure can be simplified by using the mpirun
+command with the machine file a a parameter. Machine file contains list
+of all nodes and accelerators that should used to execute MPI processes.
+</span>
+
+<span>An example of a machine file that uses 2 <span>hosts (r38u32n1001
+and r38u33n1002) and 2 accelerators **(r38u32n1001-mic0** and
+**<span><span>r38u33n1002</span></span>-mic0**) to run 2 MPI processes
+on each</span> of them:
+</span>
+
+    $ cat hosts_file_mix
+    r38u32n1001:2
+    r38u32n1001-mic0:2
+    r38u33n1002:2
+    r38u33n1002-mic0:2
+
+<span>In addition if a naming convention is set in a way that the name
+of the binary for host is **"bin_name"**  and the name of the binary
+for the accelerator is **"bin_name-mic"** then by setting up the
+environment variable **I_MPI_MIC_POSTFIX** to **"-mic"** user do not
+have to specify the names of booth binaries. In this case mpirun needs
+just the name of the host binary file (i.e. "mpi-test") and uses the
+suffix to get a name of the binary for accelerator (i..e.
+"mpi-test-mic").
+</span>
+
+    $ export I_MPI_MIC_POSTFIX=-mic
+
+ <span>To run the MPI code using mpirun and the machine file
+"hosts_file_mix" use:
+</span>
+
+    $ mpirun 
+     -genv LD_LIBRARY_PATH $MIC_LD_LIBRARY_PATH 
+     -machinefile hosts_file_mix 
+     ~/mpi-test
+
+<span>A possible output of the MPI "hello-world" example executed on two
+hosts and two accelerators is:
+</span>
+
+    Hello world from process 0 of 8 on host r38u31n1000
+    Hello world from process 1 of 8 on host r38u31n1000
+    Hello world from process 2 of 8 on host r38u31n1000-mic0
+    Hello world from process 3 of 8 on host r38u31n1000-mic0
+    Hello world from process 4 of 8 on host r38u32n1001
+    Hello world from process 5 of 8 on host r38u32n1001
+    Hello world from process 6 of 8 on host r38u32n1001-mic0
+    Hello world from process 7 of 8 on host r38u32n1001-mic0
+
+**Using the PBS automatically generated node-files
+**
+
+PBS also generates a set of node-files that can be used instead of
+manually creating a new one every time. Three node-files are genereated:
+
+**Host only node-file:**
+ - /lscratch/$/nodefile-cn
+**MIC only node-file**:
+ - /lscratch/$/nodefile-mic
+**Host and MIC node-file**:
+ - /lscratch/$/nodefile-mix
+
+Please note each host or accelerator is listed only per files. User has
+to specify how many jobs should be executed per node using "-n"
+parameter of the mpirun command.
+
+Optimization
+------------
+
+For more details about optimization techniques please read Intel
+document [Optimization and Performance Tuning for Intel® Xeon Phi™
+Coprocessors](http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization "http://software.intel.com/en-us/articles/optimization-and-performance-tuning-for-intel-xeon-phi-coprocessors-part-1-optimization"){.external
+.text}.
diff --git a/docs.it4i.cz/salomon/software/isv_licenses.md b/docs.it4i.cz/salomon/software/isv_licenses.md
new file mode 100644
index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/isv_licenses.md
@@ -0,0 +1,2 @@
+
+
diff --git a/docs.it4i.cz/salomon/software/java.md b/docs.it4i.cz/salomon/software/java.md
new file mode 100644
index 0000000000000000000000000000000000000000..149db1d329cd89085988d242bcf842d3f146346d
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/java.md
@@ -0,0 +1,37 @@
+Java 
+====
+
+Java on the cluster
+
+
+  
+
+Java is available on the cluster. Activate java by loading the Java
+module
+
+    $ module load Java
+
+Note that the Java module must be loaded on the compute nodes as well,
+in order to run java on compute nodes.
+
+Check for java version and path
+
+    $ java -version
+    $ which java
+
+With the module loaded, not only the runtime environment (JRE), but also
+the development environment (JDK) with the compiler is available.
+
+    $ javac -version
+    $ which javac
+
+Java applications may use MPI for interprocess communication, in
+conjunction with OpenMPI. Read more
+on <http://www.open-mpi.org/faq/?category=java>.
+This functionality is currently not supported on Anselm cluster. In case
+you require the java interface to MPI, please contact [cluster
+support](https://support.it4i.cz/rt/).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/mpi-1.md b/docs.it4i.cz/salomon/software/mpi-1.md
new file mode 100644
index 0000000000000000000000000000000000000000..57d4ed19691231fdef352bd028cae462aa8bdf68
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/mpi-1.md
@@ -0,0 +1,191 @@
+MPI 
+===
+
+
+
+  
+
+Setting up MPI Environment
+--------------------------
+
+The Salomon cluster provides several implementations of the MPI library:
+
+  -------------------------------------------------------------------------
+  MPI Library                          Thread support
+  ------------------------------------ ------------------------------------
+  **Intel MPI 4.1**                    Full thread support up to
+                                       MPI_THREAD_MULTIPLE
+
+  **Intel MPI 5.0**                    Full thread support up to
+                                       MPI_THREAD_MULTIPLE
+
+  OpenMPI 1.8.6                        Full thread support up to
+                                       MPI_THREAD_MULTIPLE, MPI-3.0
+                                       support
+
+  SGI MPT 2.12                         
+  -------------------------------------------------------------------------
+
+MPI libraries are activated via the environment modules.
+
+Look up section modulefiles/mpi in module avail
+
+    $ module avail
+    ------------------------------ /apps/modules/mpi -------------------------------
+    impi/4.1.1.036-iccifort-2013.5.192
+    impi/4.1.1.036-iccifort-2013.5.192-GCC-4.8.3
+    impi/5.0.3.048-iccifort-2015.3.187
+    impi/5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25
+    MPT/2.12
+    OpenMPI/1.8.6-GNU-5.1.0-2.25
+
+There are default compilers associated with any particular MPI
+implementation. The defaults may be changed, the MPI libraries may be
+used in conjunction with any compiler.
+The defaults are selected via the modules in following way
+
+  --------------------------------------------------------------------------
+  Module                   MPI                      Compiler suite
+  ------------------------ ------------------------ ------------------------
+  impi-5.0.3.048-iccifort- Intel MPI 5.0.3          
+  2015.3.187                                        
+
+  OpenMP-1.8.6-GNU-5.1.0-2 OpenMPI 1.8.6            
+  .25                                               
+  --------------------------------------------------------------------------
+
+Examples:
+
+    $ module load gompi/2015b
+
+In this example, we activate the latest OpenMPI with latest GNU
+compilers (OpenMPI 1.8.6 and GCC 5.1). Please see more information about
+toolchains in section [Environment and
+Modules](https://docs.it4i.cz/salomon/environment-and-modules) .
+
+To use OpenMPI with the intel compiler suite, use
+
+    $ module load iompi/2015.03
+
+In this example, the openmpi 1.8.6 using intel compilers is activated.
+It's used "iompi" toolchain.
+
+Compiling MPI Programs
+----------------------
+
+After setting up your MPI environment, compile your program using one of
+the mpi wrappers
+
+    $ mpicc -v
+    $ mpif77 -v
+    $ mpif90 -v
+
+When using Intel MPI, use the following MPI wrappers:
+
+    $ mpicc
+    $ mpiifort 
+
+Wrappers mpif90, mpif77 that are provided by Intel MPI are designed for
+gcc and gfortran. You might be able to compile MPI code by them even
+with Intel compilers, but you might run into problems (for example,
+native MIC compilation with -mmic does not work with mpif90).
+
+Example program:
+
+    // helloworld_mpi.c
+    #include <stdio.h>
+
+    #include<mpi.h>
+
+    int main(int argc, char **argv) {
+
+    int len;
+    int rank, size;
+    char node[MPI_MAX_PROCESSOR_NAME];
+
+    // Initiate MPI
+    MPI_Init(&argc, &argv);
+    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
+    MPI_Comm_size(MPI_COMM_WORLD,&size);
+
+    // Get hostame and print
+    MPI_Get_processor_name(node,&len);
+    printf("Hello world! from rank %d of %d on host %sn",rank,size,node);
+
+    // Finalize and exit
+    MPI_Finalize();
+
+    return 0;
+    }
+
+Compile the above example with
+
+    $ mpicc helloworld_mpi.c -o helloworld_mpi.x
+
+Running MPI Programs
+--------------------
+
+The MPI program executable must be compatible with the loaded MPI
+module.
+Always compile and execute using the very same MPI module.
+
+It is strongly discouraged to mix mpi implementations. Linking an
+application with one MPI implementation and running mpirun/mpiexec form
+other implementation may result in unexpected errors.
+
+The MPI program executable must be available within the same path on all
+nodes. This is automatically fulfilled on the /home and /scratch
+filesystem. You need to preload the executable, if running on the local
+scratch /lscratch filesystem.
+
+### Ways to run MPI programs
+
+Optimal way to run an MPI program depends on its memory requirements,
+memory access pattern and communication pattern.
+
+Consider these ways to run an MPI program:
+1. One MPI process per node, 24 threads per process
+2. Two MPI processes per node, 12 threads per process
+3. 24 MPI processes per node, 1 thread per process.
+
+**One MPI** process per node, using 24 threads, is most useful for
+memory demanding applications, that make good use of processor cache
+memory and are not memory bound.  This is also a preferred way for
+communication intensive applications as one process per node enjoys full
+bandwidth access to the network interface. 
+
+**Two MPI** processes per node, using 12 threads each, bound to
+processor socket is most useful for memory bandwidth bound applications
+such as BLAS1 or FFT, with scalable memory demand. However, note that
+the two processes will share access to the network interface. The 12
+threads and socket binding should ensure maximum memory access bandwidth
+and minimize communication, migration and numa effect overheads.
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two cases with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+want to avoid this by setting the KMP_AFFINITY or GOMP_CPU_AFFINITY
+environment variables.
+
+**24 MPI** processes per node, using 1 thread each bound to processor
+core is most suitable for highly scalable applications with low
+communication demand.
+
+### Running OpenMPI
+
+The [**OpenMPI 1.8.6**](http://www.open-mpi.org/) is
+based on OpenMPI. Read more on [how to run
+OpenMPI](https://docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI)
+based MPI.
+
+ 
+
+The Intel MPI may run on the[Intel Xeon
+Ph](https://docs.it4i.cz/salomon/software/intel-xeon-phi)i
+accelerators as well. Read more on [how to run Intel MPI on
+accelerators](https://docs.it4i.cz/salomon/software/intel-xeon-phi).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md b/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md
new file mode 100644
index 0000000000000000000000000000000000000000..addff07ee926c0a72f5c803a4b5cb44e7bf684e3
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI.md
@@ -0,0 +1,276 @@
+Running OpenMPI 
+===============
+
+
+
+  
+
+OpenMPI program execution
+-------------------------
+
+The OpenMPI programs may be executed only via the PBS Workload manager,
+by entering an appropriate queue. On the cluster, the **OpenMPI 1.8.6**
+is OpenMPI based MPI implementation.
+
+### Basic usage
+
+Use the mpiexec to run the OpenMPI code.
+
+Example:
+
+    $ qsub -q qexp -l select=4:ncpus=24 -I
+    qsubwaiting for job 15210.isrv5 to start
+    qsubjob 15210.isrv5 ready
+
+    $ pwd
+    /home/username
+
+    $ module load OpenMPI
+    $ mpiexec -pernode ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host r1i0n17
+    Hello world! from rank 1 of 4 on host r1i0n5
+    Hello world! from rank 2 of 4 on host r1i0n6
+    Hello world! from rank 3 of 4 on host r1i0n7
+
+Please be aware, that in this example, the directive **-pernode** is
+used to run only **one task per node**, which is normally an unwanted
+behaviour (unless you want to run hybrid code with just one MPI and 24
+OpenMP tasks per node). In normal MPI programs **omit the -pernode
+directive** to run up to 24 MPI tasks per each node.
+
+In this example, we allocate 4 nodes via the express queue
+interactively. We set up the openmpi environment and interactively run
+the helloworld_mpi.x program.
+Note that the executable <span
+class="monospace">helloworld_mpi.x</span> must be available within the
+same path on all nodes. This is automatically fulfilled on the /home and
+/scratch filesystem.
+
+You need to preload the executable, if running on the local ramdisk /tmp
+filesystem
+
+    $ pwd
+    /tmp/pbs.15210.isrv5
+
+    $ mpiexec -pernode --preload-binary ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host r1i0n17
+    Hello world! from rank 1 of 4 on host r1i0n5
+    Hello world! from rank 2 of 4 on host r1i0n6
+    Hello world! from rank 3 of 4 on host r1i0n7
+
+In this example, we assume the executable <span
+class="monospace">helloworld_mpi.x</span> is present on compute node
+r1i0n17 on ramdisk. We call the mpiexec whith the **--preload-binary**
+argument (valid for openmpi). The mpiexec will copy the executable from
+r1i0n17 to the <span class="monospace">/tmp/pbs.15210.isrv5</span>
+directory on r1i0n5, r1i0n6 and r1i0n7 and execute the program.
+
+MPI process mapping may be controlled by PBS parameters.
+
+The mpiprocs and ompthreads parameters allow for selection of number of
+running MPI processes per node as well as number of OpenMP threads per
+MPI process.
+
+### One MPI process per node
+
+Follow this example to run one MPI process per node, 24 threads per
+process. 
+
+    $ qsub -q qexp -l select=4:ncpus=24:mpiprocs=1:ompthreads=24 -I
+
+    $ module load OpenMPI
+
+    $ mpiexec --bind-to-none ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 1 MPI processes per node and 24 threads per socket,
+on 4 nodes.
+
+### Two MPI processes per node
+
+Follow this example to run two MPI processes per node, 8 threads per
+process. Note the options to mpiexec.
+
+    $ qsub -q qexp -l select=4:ncpus=24:mpiprocs=2:ompthreads=12 -I
+
+    $ module load OpenMPI
+
+    $ mpiexec -bysocket -bind-to-socket ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 2 MPI processes per node and 12 threads per socket,
+each process and its threads bound to a separate processor socket of the
+node, on 4 nodes
+
+### 24 MPI processes per node
+
+Follow this example to run 24 MPI processes per node, 1 thread per
+process. Note the options to mpiexec.
+
+    $ qsub -q qexp -l select=4:ncpus=24:mpiprocs=24:ompthreads=1 -I
+
+    $ module load OpenMPI
+
+    $ mpiexec -bycore -bind-to-core ./helloworld_mpi.x
+
+In this example, we demonstrate recommended way to run an MPI
+application, using 24 MPI processes per node, single threaded. Each
+process is bound to separate processor core, on 4 nodes.
+
+### OpenMP thread affinity
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two examples with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+might want to avoid this by setting these environment variable for GCC
+OpenMP:
+
+    $ export GOMP_CPU_AFFINITY="0-23"
+
+or this one for Intel OpenMP:
+
+    $ export KMP_AFFINITY=granularity=fine,compact,1,0
+
+As of OpenMP 4.0 (supported by GCC 4.9 and later and Intel 14.0 and
+later) the following variables may be used for Intel or GCC:
+
+    $ export OMP_PROC_BIND=true
+    $ export OMP_PLACES=cores 
+
+<span>OpenMPI Process Mapping and Binding</span>
+------------------------------------------------
+
+The mpiexec allows for precise selection of how the MPI processes will
+be mapped to the computational nodes and how these processes will bind
+to particular processor sockets and cores.
+
+MPI process mapping may be specified by a hostfile or rankfile input to
+the mpiexec program. Altough all implementations of MPI provide means
+for process mapping and binding, following examples are valid for the
+openmpi only.
+
+### Hostfile
+
+Example hostfile
+
+    r1i0n17.smc.salomon.it4i.cz
+    r1i0n5.smc.salomon.it4i.cz
+    r1i0n6.smc.salomon.it4i.cz
+    r1i0n7.smc.salomon.it4i.cz
+
+Use the hostfile to control process placement
+
+    $ mpiexec -hostfile hostfile ./helloworld_mpi.x
+    Hello world! from rank 0 of 4 on host r1i0n17
+    Hello world! from rank 1 of 4 on host r1i0n5
+    Hello world! from rank 2 of 4 on host r1i0n6
+    Hello world! from rank 3 of 4 on host r1i0n7
+
+In this example, we see that ranks have been mapped on nodes according
+to the order in which nodes show in the hostfile
+
+### Rankfile
+
+Exact control of MPI process placement and resource binding is provided
+by specifying a rankfile
+
+Appropriate binding may boost performance of your application.
+
+Example rankfile
+
+    rank 0=r1i0n7.smc.salomon.it4i.cz slot=1:0,1
+    rank 1=r1i0n6.smc.salomon.it4i.cz slot=0:*
+    rank 2=r1i0n5.smc.salomon.it4i.cz slot=1:1-2
+    rank 3=r1i0n17.smc.salomon slot=0:1,1:0-2
+    rank 4=r1i0n6.smc.salomon.it4i.cz slot=0:*,1:*
+
+This rankfile assumes 5 ranks will be running on 4 nodes and provides
+exact mapping and binding of the processes to the processor sockets and
+cores
+
+Explanation:
+rank 0 will be bounded to r1i0n7, socket1 core0 and core1
+rank 1 will be bounded to r1i0n6, socket0, all cores
+rank 2 will be bounded to r1i0n5, socket1, core1 and core2
+rank 3 will be bounded to r1i0n17, socket0 core1, socket1 core0, core1,
+core2
+rank 4 will be bounded to r1i0n6, all cores on both sockets
+
+    $ mpiexec -n 5 -rf rankfile --report-bindings ./helloworld_mpi.x
+    [r1i0n17:11180]  MCW rank 3 bound to socket 0[core 1] socket 1[core 0-2][. B . . . . . . . . . .][B B B . . . . . . . . .] (slot list 0:1,1:0-2)
+    [r1i0n7:09928] MCW rank 0 bound to socket 1[core 0-1][. . . . . . . . . . . .][B B . . . . . . . . . .] (slot list 1:0,1)
+    [r1i0n6:10395] MCW rank 1 bound to socket 0[core 0-7][B B B B B B B B B B B B][. . . . . . . . . . . .] (slot list 0:*)
+    [r1i0n5:10406]  MCW rank 2 bound to socket 1[core 1-2][. . . . . . . . . . . .][. B B . . . . . . . . .] (slot list 1:1-2)
+    [r1i0n6:10406]  MCW rank 4 bound to socket 0[core 0-7] socket 1[core 0-7][B B B B B B B B B B B B][B B B B B B B B B B B B] (slot list 0:*,1:*)
+    Hello world! from rank 3 of 5 on host r1i0n17
+    Hello world! from rank 1 of 5 on host r1i0n6
+    Hello world! from rank 0 of 5 on host r1i0n7
+    Hello world! from rank 4 of 5 on host r1i0n6
+    Hello world! from rank 2 of 5 on host r1i0n5
+
+In this example we run 5 MPI processes (5 ranks) on four nodes. The
+rankfile defines how the processes will be mapped on the nodes, sockets
+and cores. The **--report-bindings** option was used to print out the
+actual process location and bindings. Note that ranks 1 and 4 run on the
+same node and their core binding overlaps.
+
+It is users responsibility to provide correct number of ranks, sockets
+and cores.
+
+### Bindings verification
+
+In all cases, binding and threading may be verified by executing for
+example:
+
+    $ mpiexec -bysocket -bind-to-socket --report-bindings echo
+    $ mpiexec -bysocket -bind-to-socket numactl --show
+    $ mpiexec -bysocket -bind-to-socket echo $OMP_NUM_THREADS
+
+Changes in OpenMPI 1.8
+----------------------
+
+Some options have changed in OpenMPI version 1.8.
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">version 1.6.5</th>
+<th align="left">version 1.8.1</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">--bind-to-none</td>
+<td align="left">--bind-to none</td>
+</tr>
+<tr class="even">
+<td align="left">--bind-to-core</td>
+<td align="left">--bind-to core</td>
+</tr>
+<tr class="odd">
+<td align="left">--bind-to-socket</td>
+<td align="left">--bind-to socket</td>
+</tr>
+<tr class="even">
+<td align="left">-bysocket</td>
+<td align="left">--map-by socket</td>
+</tr>
+<tr class="odd">
+<td align="left">-bycore</td>
+<td align="left">--map-by core</td>
+</tr>
+<tr class="even">
+<td align="left">-pernode</td>
+<td align="left"><p><span class="s1">--map-by ppr:1:node</span></p></td>
+</tr>
+</tbody>
+</table>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/mpi-1/mpi.md b/docs.it4i.cz/salomon/software/mpi-1/mpi.md
new file mode 100644
index 0000000000000000000000000000000000000000..57d4ed19691231fdef352bd028cae462aa8bdf68
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/mpi-1/mpi.md
@@ -0,0 +1,191 @@
+MPI 
+===
+
+
+
+  
+
+Setting up MPI Environment
+--------------------------
+
+The Salomon cluster provides several implementations of the MPI library:
+
+  -------------------------------------------------------------------------
+  MPI Library                          Thread support
+  ------------------------------------ ------------------------------------
+  **Intel MPI 4.1**                    Full thread support up to
+                                       MPI_THREAD_MULTIPLE
+
+  **Intel MPI 5.0**                    Full thread support up to
+                                       MPI_THREAD_MULTIPLE
+
+  OpenMPI 1.8.6                        Full thread support up to
+                                       MPI_THREAD_MULTIPLE, MPI-3.0
+                                       support
+
+  SGI MPT 2.12                         
+  -------------------------------------------------------------------------
+
+MPI libraries are activated via the environment modules.
+
+Look up section modulefiles/mpi in module avail
+
+    $ module avail
+    ------------------------------ /apps/modules/mpi -------------------------------
+    impi/4.1.1.036-iccifort-2013.5.192
+    impi/4.1.1.036-iccifort-2013.5.192-GCC-4.8.3
+    impi/5.0.3.048-iccifort-2015.3.187
+    impi/5.0.3.048-iccifort-2015.3.187-GNU-5.1.0-2.25
+    MPT/2.12
+    OpenMPI/1.8.6-GNU-5.1.0-2.25
+
+There are default compilers associated with any particular MPI
+implementation. The defaults may be changed, the MPI libraries may be
+used in conjunction with any compiler.
+The defaults are selected via the modules in following way
+
+  --------------------------------------------------------------------------
+  Module                   MPI                      Compiler suite
+  ------------------------ ------------------------ ------------------------
+  impi-5.0.3.048-iccifort- Intel MPI 5.0.3          
+  2015.3.187                                        
+
+  OpenMP-1.8.6-GNU-5.1.0-2 OpenMPI 1.8.6            
+  .25                                               
+  --------------------------------------------------------------------------
+
+Examples:
+
+    $ module load gompi/2015b
+
+In this example, we activate the latest OpenMPI with latest GNU
+compilers (OpenMPI 1.8.6 and GCC 5.1). Please see more information about
+toolchains in section [Environment and
+Modules](https://docs.it4i.cz/salomon/environment-and-modules) .
+
+To use OpenMPI with the intel compiler suite, use
+
+    $ module load iompi/2015.03
+
+In this example, the openmpi 1.8.6 using intel compilers is activated.
+It's used "iompi" toolchain.
+
+Compiling MPI Programs
+----------------------
+
+After setting up your MPI environment, compile your program using one of
+the mpi wrappers
+
+    $ mpicc -v
+    $ mpif77 -v
+    $ mpif90 -v
+
+When using Intel MPI, use the following MPI wrappers:
+
+    $ mpicc
+    $ mpiifort 
+
+Wrappers mpif90, mpif77 that are provided by Intel MPI are designed for
+gcc and gfortran. You might be able to compile MPI code by them even
+with Intel compilers, but you might run into problems (for example,
+native MIC compilation with -mmic does not work with mpif90).
+
+Example program:
+
+    // helloworld_mpi.c
+    #include <stdio.h>
+
+    #include<mpi.h>
+
+    int main(int argc, char **argv) {
+
+    int len;
+    int rank, size;
+    char node[MPI_MAX_PROCESSOR_NAME];
+
+    // Initiate MPI
+    MPI_Init(&argc, &argv);
+    MPI_Comm_rank(MPI_COMM_WORLD,&rank);
+    MPI_Comm_size(MPI_COMM_WORLD,&size);
+
+    // Get hostame and print
+    MPI_Get_processor_name(node,&len);
+    printf("Hello world! from rank %d of %d on host %sn",rank,size,node);
+
+    // Finalize and exit
+    MPI_Finalize();
+
+    return 0;
+    }
+
+Compile the above example with
+
+    $ mpicc helloworld_mpi.c -o helloworld_mpi.x
+
+Running MPI Programs
+--------------------
+
+The MPI program executable must be compatible with the loaded MPI
+module.
+Always compile and execute using the very same MPI module.
+
+It is strongly discouraged to mix mpi implementations. Linking an
+application with one MPI implementation and running mpirun/mpiexec form
+other implementation may result in unexpected errors.
+
+The MPI program executable must be available within the same path on all
+nodes. This is automatically fulfilled on the /home and /scratch
+filesystem. You need to preload the executable, if running on the local
+scratch /lscratch filesystem.
+
+### Ways to run MPI programs
+
+Optimal way to run an MPI program depends on its memory requirements,
+memory access pattern and communication pattern.
+
+Consider these ways to run an MPI program:
+1. One MPI process per node, 24 threads per process
+2. Two MPI processes per node, 12 threads per process
+3. 24 MPI processes per node, 1 thread per process.
+
+**One MPI** process per node, using 24 threads, is most useful for
+memory demanding applications, that make good use of processor cache
+memory and are not memory bound.  This is also a preferred way for
+communication intensive applications as one process per node enjoys full
+bandwidth access to the network interface. 
+
+**Two MPI** processes per node, using 12 threads each, bound to
+processor socket is most useful for memory bandwidth bound applications
+such as BLAS1 or FFT, with scalable memory demand. However, note that
+the two processes will share access to the network interface. The 12
+threads and socket binding should ensure maximum memory access bandwidth
+and minimize communication, migration and numa effect overheads.
+
+Important!  Bind every OpenMP thread to a core!
+
+In the previous two cases with one or two MPI processes per node, the
+operating system might still migrate OpenMP threads between cores. You
+want to avoid this by setting the KMP_AFFINITY or GOMP_CPU_AFFINITY
+environment variables.
+
+**24 MPI** processes per node, using 1 thread each bound to processor
+core is most suitable for highly scalable applications with low
+communication demand.
+
+### Running OpenMPI
+
+The [**OpenMPI 1.8.6**](http://www.open-mpi.org/) is
+based on OpenMPI. Read more on [how to run
+OpenMPI](https://docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI)
+based MPI.
+
+ 
+
+The Intel MPI may run on the[Intel Xeon
+Ph](https://docs.it4i.cz/salomon/software/intel-xeon-phi)i
+accelerators as well. Read more on [how to run Intel MPI on
+accelerators](https://docs.it4i.cz/salomon/software/intel-xeon-phi).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md b/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md
new file mode 100644
index 0000000000000000000000000000000000000000..0249c009da5e89b9094c5006a532cbdaf8b8e281
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/mpi-1/mpi4py-mpi-for-python.md
@@ -0,0 +1,109 @@
+MPI4Py (MPI for Python) 
+=======================
+
+OpenMPI interface to Python
+
+
+  
+
+Introduction
+------------
+
+MPI for Python provides bindings of the Message Passing Interface (MPI)
+standard for the Python programming language, allowing any Python
+program to exploit multiple processors.
+
+This package is constructed on top of the MPI-1/2 specifications and
+provides an object oriented interface which closely follows MPI-2 C++
+bindings. It supports point-to-point (sends, receives) and collective
+(broadcasts, scatters, gathers) communications of any picklable Python
+object, as well as optimized communications of Python object exposing
+the single-segment buffer interface (NumPy arrays, builtin
+bytes/string/array objects).
+
+On Anselm MPI4Py is available in standard Python modules.
+
+Modules
+-------
+
+MPI4Py is build for OpenMPI. Before you start with MPI4Py you need to
+load Python and OpenMPI modules. You can use toolchain, that loads
+Python and OpenMPI at once.
+
+    $ module load Python/2.7.9-foss-2015g
+
+Execution
+---------
+
+You need to import MPI to your python program. Include the following
+line to the python script:
+
+    from mpi4py import MPI
+
+The MPI4Py enabled python programs [execute as any other
+OpenMPI](https://docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI)
+code.The simpliest way is to run
+
+    $ mpiexec python <script>.py
+
+<span>For example</span>
+
+    $ mpiexec python hello_world.py
+
+Examples
+--------
+
+### Hello world!
+
+    from mpi4py import MPI
+
+    comm = MPI.COMM_WORLD
+
+    print "Hello! I'm rank %d from %d running in total..." % (comm.rank, comm.size)
+
+    comm.Barrier()   # wait for everybody to synchronize
+
+### <span>Collective Communication with NumPy arrays</span>
+
+    from __future__ import division
+    from mpi4py import MPI
+    import numpy as np
+
+    comm = MPI.COMM_WORLD
+
+    print("-"*78)
+    print(" Running on %d cores" % comm.size)
+    print("-"*78)
+
+    comm.Barrier()
+
+    # Prepare a vector of N=5 elements to be broadcasted...
+    N = 5
+    if comm.rank == 0:
+        A = np.arange(N, dtype=np.float64)    # rank 0 has proper data
+    else:
+        A = np.empty(N, dtype=np.float64)     # all other just an empty array
+
+    # Broadcast A from rank 0 to everybody
+    comm.Bcast( [A, MPI.DOUBLE] )
+
+    # Everybody should now have the same...
+    print "[%02d] %s" % (comm.rank, A)
+
+Execute the above code as:
+
+    $ qsub -q qexp -l select=4:ncpus=24:mpiprocs=24:ompthreads=1 -I
+
+    $ module load Python/2.7.9-foss-2015g
+
+    $ mpiexec --map-by core --bind-to core python hello_world.py
+
+In this example, we run MPI4Py enabled code on 4 nodes, 24 cores per
+node (total of 96 processes), each python process is bound to a
+different core.
+More examples and documentation can be found on [MPI for Python
+webpage](https://pythonhosted.org/mpi4py/usrman/index.html).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/numerical-languages.1.md b/docs.it4i.cz/salomon/software/numerical-languages.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..451eb83dc6498a80f598bc62b9e96b8c335e0cef
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/numerical-languages.1.md
@@ -0,0 +1,54 @@
+Numerical languages 
+===================
+
+Interpreted languages for numerical computations and analysis
+
+
+  
+
+Introduction
+------------
+
+This section contains a collection of high-level interpreted languages,
+primarily intended for numerical computations.
+
+Matlab
+------
+
+MATLAB^®^ is a high-level language and interactive environment for
+numerical computation, visualization, and programming.
+
+    $ module load MATLAB
+    $ matlab
+
+Read more at the [Matlab<span class="internal-link"></span>
+page](https://docs.it4i.cz/salomon/software/numerical-languages/matlab).
+
+Octave
+------
+
+GNU Octave is a high-level interpreted language, primarily intended for
+numerical computations. The Octave language is quite similar to Matlab
+so that most programs are easily portable.
+
+    $ module load Octave
+    $ octave
+
+Read more at the [Octave
+page](https://docs.it4i.cz/salomon/software/numerical-languages/octave).
+
+R
+-
+
+The R is an interpreted language and environment for statistical
+computing and graphics.
+
+    $ module load R
+    $ R
+
+Read more at the [R
+page](https://docs.it4i.cz/salomon/software/numerical-languages/r).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/numerical-languages/introduction.md b/docs.it4i.cz/salomon/software/numerical-languages/introduction.md
new file mode 100644
index 0000000000000000000000000000000000000000..451eb83dc6498a80f598bc62b9e96b8c335e0cef
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/numerical-languages/introduction.md
@@ -0,0 +1,54 @@
+Numerical languages 
+===================
+
+Interpreted languages for numerical computations and analysis
+
+
+  
+
+Introduction
+------------
+
+This section contains a collection of high-level interpreted languages,
+primarily intended for numerical computations.
+
+Matlab
+------
+
+MATLAB^®^ is a high-level language and interactive environment for
+numerical computation, visualization, and programming.
+
+    $ module load MATLAB
+    $ matlab
+
+Read more at the [Matlab<span class="internal-link"></span>
+page](https://docs.it4i.cz/salomon/software/numerical-languages/matlab).
+
+Octave
+------
+
+GNU Octave is a high-level interpreted language, primarily intended for
+numerical computations. The Octave language is quite similar to Matlab
+so that most programs are easily portable.
+
+    $ module load Octave
+    $ octave
+
+Read more at the [Octave
+page](https://docs.it4i.cz/salomon/software/numerical-languages/octave).
+
+R
+-
+
+The R is an interpreted language and environment for statistical
+computing and graphics.
+
+    $ module load R
+    $ R
+
+Read more at the [R
+page](https://docs.it4i.cz/salomon/software/numerical-languages/r).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/numerical-languages/matlab.md b/docs.it4i.cz/salomon/software/numerical-languages/matlab.md
new file mode 100644
index 0000000000000000000000000000000000000000..5d215eefc924974d815f6de7989f7c2a6b7b4f07
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/numerical-languages/matlab.md
@@ -0,0 +1,352 @@
+Matlab 
+======
+
+
+
+  
+
+Introduction
+------------
+
+Matlab is available in versions R2015a and R2015b. There are always two
+variants of the release:
+
+-   Non commercial or so called EDU variant, which can be used for
+    common research and educational purposes.
+-   Commercial or so called COM variant, which can used also for
+    commercial activities. The licenses for commercial variant are much
+    more expensive, so usually the commercial variant has only subset of
+    features compared to the EDU available.
+
+ 
+
+To load the latest version of Matlab load the module
+
+    $ module load MATLAB
+
+By default the EDU variant is marked as default. If you need other
+version or variant, load the particular version. To obtain the list of
+available versions use
+
+    $ module avail MATLAB
+
+If you need to use the Matlab GUI to prepare your Matlab programs, you
+can use Matlab directly on the login nodes. But for all computations use
+Matlab on the compute nodes via PBS Pro scheduler.
+
+If you require the Matlab GUI, please follow the general informations
+about [running graphical
+applications](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+Matlab GUI is quite slow using the X forwarding built in the PBS (qsub
+-X), so using X11 display redirection either via SSH or directly by
+xauth (please see the "GUI Applications on Compute Nodes over VNC" part
+[here](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc))
+is recommended.
+
+To run Matlab with GUI, use
+
+    $ matlab
+
+To run Matlab in text mode, without the Matlab Desktop GUI environment,
+use
+
+    $ matlab -nodesktop -nosplash
+
+plots, images, etc... will be still available.
+
+[]()Running parallel Matlab using Distributed Computing Toolbox / Engine
+------------------------------------------------------------------------
+
+Distributed toolbox is available only for the EDU variant
+
+The MPIEXEC mode available in previous versions is no longer available
+in MATLAB 2015. Also, the programming interface has changed. Refer
+to [Release
+Notes](http://www.mathworks.com/help/distcomp/release-notes.html#buanp9e-1).
+
+Delete previously used file mpiLibConf.m, we have observed crashes when
+using Intel MPI.
+
+To use Distributed Computing, you first need to setup a parallel
+profile. We have provided the profile for you, you can either import it
+in MATLAB command line:
+
+    >> parallel.importProfile('/apps/all/MATLAB/2015b-EDU/SalomonPBSPro.settings')
+
+    ans = 
+
+    SalomonPBSPro 
+
+Or in the GUI, go to tab HOME -&gt; Parallel -&gt; Manage Cluster
+Profiles..., click Import and navigate to :
+
+/apps/all/MATLAB/2015b-EDU/SalomonPBSPro.settings
+
+With the new mode, MATLAB itself launches the workers via PBS, so you
+can either use interactive mode or a batch mode on one node, but the
+actual parallel processing will be done in a separate job started by
+MATLAB itself. Alternatively, you can use "local" mode to run parallel
+code on just a single node.
+
+### Parallel Matlab interactive session
+
+Following example shows how to start interactive session with support
+for Matlab GUI. For more information about GUI based applications on
+Anselm see [this
+page](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+
+    $ xhost +
+    $ qsub -I -v DISPLAY=$(uname -n):$(echo $DISPLAY | cut -d ':' -f 2) -A NONE-0-0 -q qexp -l select=1 -l walltime=00:30:00 
+    -l feature__matlab__MATLAB=1 
+
+This qsub command example shows how to run Matlab on a single node.
+
+The second part of the command shows how to request all necessary
+licenses. In this case 1 Matlab-EDU license and 48 Distributed Computing
+Engines licenses.
+
+Once the access to compute nodes is granted by PBS, user can load
+following modules and start Matlab: 
+
+    r1i0n17$ module load MATLAB/2015a-EDU
+    r1i0n17$ matlab &
+
+### []()Parallel Matlab batch job in Local mode
+
+To run matlab in batch mode, write an matlab script, then write a bash
+jobscript and execute via the qsub command. By default, matlab will
+execute one matlab worker instance per allocated core.
+
+    #!/bin/bash
+    #PBS -A PROJECT ID
+    #PBS -q qprod
+    #PBS -l select=1:ncpus=24:mpiprocs=24:ompthreads=1
+
+    # change to shared scratch directory
+    SCR=/scratch/work/user/$USER/$PBS_JOBID
+    mkdir -p $SCR ; cd $SCR || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/matlabcode.m .
+
+    # load modules
+    module load MATLAB/2015a-EDU
+
+    # execute the calculation
+    matlab -nodisplay -r matlabcode > output.out
+
+    # copy output file to home
+    cp output.out $PBS_O_WORKDIR/.
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs and matlab script are in matlabcode.m
+file, outputs in output.out file. Note the missing .m extension in the
+matlab -r matlabcodefile call, **the .m must not be included**.  Note
+that the **shared /scratch must be used**. Further, it is **important to
+include quit** statement at the end of the matlabcode.m script.
+
+Submit the jobscript using qsub
+
+    $ qsub ./jobscript
+
+### Parallel Matlab Local mode program example
+
+The last part of the configuration is done directly in the user Matlab
+script before Distributed Computing Toolbox is started.
+
+    cluster = parcluster('local')
+
+This script creates scheduler object "cluster" of type "local" that
+starts workers locally. 
+
+Please noteEvery Matlab script that needs to initialize/use matlabpool
+has to contain these three lines prior to calling parpool(sched, ...)
+function. 
+
+The last step is to start matlabpool with "cluster" object and correct
+number of workers. We have 24 cores per node, so we start 24 workers.
+
+    parpool(cluster,24);
+                      
+                     
+    ... parallel code ...
+                     
+                       
+    parpool close
+
+The complete example showing how to use Distributed Computing Toolbox in
+local mode is shown here. 
+
+    cluster = parcluster('local');
+    cluster
+
+    parpool(cluster,24);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+        
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    T;
+    whos         % T and W are both distributed arrays here.
+
+    parpool close
+    quit
+
+You can copy and paste the example in a .m file and execute. Note that
+the parpool size should correspond to **total number of cores**
+available on allocated nodes.
+
+### Parallel Matlab Batch job using PBS mode (workers spawned in a separate job)
+
+This mode uses PBS scheduler to launch the parallel pool. It uses the
+SalomonPBSPro profile that needs to be imported to Cluster Manager, as
+mentioned before. This methodod uses MATLAB's PBS Scheduler interface -
+it spawns the workers in a separate job submitted by MATLAB using qsub.
+
+This is an example of m-script using PBS mode:
+
+    cluster = parcluster('SalomonPBSPro');
+    set(cluster, 'SubmitArguments', '-A OPEN-0-0');
+    set(cluster, 'ResourceTemplate', '-q qprod -l select=10:ncpus=24');
+    set(cluster, 'NumWorkers', 240);
+
+    pool = parpool(cluster,240);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    whos         % T and W are both distributed arrays here.
+
+    % shut down parallel pool
+    delete(pool)
+
+Note that we first construct a cluster object using the imported
+profile, then set some important options, namely SubmitArguments,
+where you need to specify accounting id, and ResourceTemplate, where you
+need to specify number of nodes to run the job. 
+
+You can start this script using batch mode the same way as in Local mode
+example.
+
+### Parallel Matlab Batch with direct launch (workers spawned within the existing job)
+
+This method is a "hack" invented by us to emulate the mpiexec
+functionality found in previous MATLAB versions. We leverage the MATLAB
+Generic Scheduler interface, but instead of submitting the workers to
+PBS, we launch the workers directly within the running job, thus we
+avoid the issues with master script and workers running in separate jobs
+(issues with license not available, waiting for the worker's job to
+spawn etc.)
+
+Please note that this method is experimental.
+
+For this method, you need to use SalomonDirect profile, import it
+using [the same way as
+SalomonPBSPro](#running-parallel-matlab-using-distributed-computing-toolbox---engine) 
+
+This is an example of m-script using direct mode:
+
+    parallel.importProfile('/apps/all/MATLAB/2015b-EDU/SalomonDirect.settings')
+    cluster = parcluster('SalomonDirect');
+    set(cluster, 'NumWorkers', 48);
+
+    pool = parpool(cluster, 48);
+
+    n=2000;
+
+    W = rand(n,n);
+    W = distributed(W);
+    x = (1:n)';
+    x = distributed(x);
+    spmd
+    [~, name] = system('hostname')
+
+        T = W*x; % Calculation performed on labs, in parallel.
+                 % T and W are both codistributed arrays here.
+    end
+    whos         % T and W are both distributed arrays here.
+
+    % shut down parallel pool
+    delete(pool)
+
+### Non-interactive Session and Licenses
+
+If you want to run batch jobs with Matlab, be sure to request
+appropriate license features with the PBS Pro scheduler, at least the "
+-l __feature__matlab__MATLAB=1" for EDU variant of Matlab. More
+information about how to check the license features states and how to
+request them with PBS Pro, please [look
+here](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses).
+
+The licensing feature of PBS is currently disabled.
+
+In case of non-interactive session please read the [following
+information](https://docs.it4i.cz/anselm-cluster-documentation/software/isv_licenses)
+on how to modify the qsub command to test for available licenses prior
+getting the resource allocation.
+
+### Matlab Distributed Computing Engines start up time
+
+Starting Matlab workers is an expensive process that requires certain
+amount of time. For your information please see the following table:
+
+  compute nodes   number of workers   start-up time[s]
+  --------------- ------------------- --------------------
+  16              384                 831
+  8               192                 807
+  4               96                  483
+  2               48                  16
+
+MATLAB on UV2000 
+-----------------
+
+UV2000 machine available in queue "qfat" can be used for MATLAB
+computations. This is a SMP NUMA machine with large amount of RAM, which
+can be beneficial for certain types of MATLAB jobs. CPU cores are
+allocated in chunks of 8 for this machine.
+
+You can use MATLAB on UV2000 in two parallel modes :
+
+### Threaded mode
+
+Since this is a SMP machine, you can completely avoid using Parallel
+Toolbox and use only MATLAB's threading. MATLAB will automatically
+detect the number of cores you have allocated and will set <span
+class="monospace">maxNumCompThreads </span>accordingly and certain
+operations, such as <span class="monospace">fft, , eig, svd</span>,
+etc. will be automatically run in threads. The advantage of this mode is
+that you don't need to modify your existing sequential codes.<span
+class="monospace">
+</span>
+
+### Local cluster mode
+
+You can also use Parallel Toolbox on UV2000. Use l[ocal cluster
+mode](#parallel-matlab-batch-job-in-local-mode),
+"SalomonPBSPro" profile will not work.
+
+ 
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/numerical-languages/octave.md b/docs.it4i.cz/salomon/software/numerical-languages/octave.md
new file mode 100644
index 0000000000000000000000000000000000000000..86278793aedc7889dae780f0afae632f7813d30a
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/numerical-languages/octave.md
@@ -0,0 +1,85 @@
+Octave 
+======
+
+
+
+  
+
+GNU Octave is a high-level interpreted language, primarily intended for
+numerical computations. It provides capabilities for the numerical
+solution of linear and nonlinear problems, and for performing other
+numerical experiments. It also provides extensive graphics capabilities
+for data visualization and manipulation. Octave is normally used through
+its interactive command line interface, but it can also be used to write
+non-interactive programs. The Octave language is quite similar to Matlab
+so that most programs are easily portable. Read more on
+<http://www.gnu.org/software/octave/>****
+
+**
+**Two versions of octave are available on the cluster, via module
+
+  Status       Version        module
+  ------------ -------------- --------
+  **Stable**   Octave 3.8.2   Octave
+
+ 
+
+    $ module load Octave
+
+The octave on the cluster is linked to highly optimized MKL mathematical
+library. This provides threaded parallelization to many octave kernels,
+notably the linear algebra subroutines. Octave runs these heavy
+calculation kernels without any penalty. By default, octave would
+parallelize to 24 threads. You may control the threads by setting the
+OMP_NUM_THREADS environment variable.
+
+To run octave interactively, log in with ssh -X parameter for X11
+forwarding. Run octave:
+
+    $ octave
+
+To run octave in batch mode, write an octave script, then write a bash
+jobscript and execute via the qsub command. By default, octave will use
+16 threads when running MKL kernels.
+
+    #!/bin/bash
+
+    # change to local scratch directory
+    mkdir -p /scratch/work/user/$USER/$PBS_JOBID
+    cd /scratch/work/user/$USER/$PBS_JOBID || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/octcode.m .
+
+    # load octave module
+    module load Octave
+
+    # execute the calculation
+    octave -q --eval octcode > output.out
+
+    # copy output file to home
+    cp output.out $PBS_O_WORKDIR/.
+
+    #exit
+    exit
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs are in octcode.m file, outputs in
+output.out file. See the single node jobscript example in the [Job
+execution
+section](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution).
+
+The octave c compiler mkoctfile calls the GNU gcc 4.8.1 for compiling
+native c code. This is very useful for running native c subroutines in
+octave environment.
+
+$ mkoctfile -v
+
+Octave may use MPI for interprocess communication
+This functionality is currently not supported on the cluster cluster. In
+case you require the octave interface to MPI, please contact our
+[cluster support](https://support.it4i.cz/rt/).
+
+
+
+
diff --git a/docs.it4i.cz/salomon/software/numerical-languages/package-parallel-vignette b/docs.it4i.cz/salomon/software/numerical-languages/package-parallel-vignette
new file mode 100644
index 0000000000000000000000000000000000000000..d33d5a99c6e37258bec707a3d2f0aa4e20f5f4a5
Binary files /dev/null and b/docs.it4i.cz/salomon/software/numerical-languages/package-parallel-vignette differ
diff --git a/docs.it4i.cz/salomon/software/numerical-languages/r.md b/docs.it4i.cz/salomon/software/numerical-languages/r.md
new file mode 100644
index 0000000000000000000000000000000000000000..d7fb427c785e1aacf677746432b7ea547f7fceda
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/numerical-languages/r.md
@@ -0,0 +1,468 @@
+R 
+=
+
+
+
+  
+
+Introduction 
+------------
+
+The R is a language and environment for statistical computing and
+graphics.  R provides a wide variety of statistical (linear and
+nonlinear modelling, classical statistical tests, time-series analysis,
+classification, clustering, ...) and graphical techniques, and is highly
+extensible.
+
+
+
+One of R's strengths is the ease with which well-designed
+publication-quality plots can be produced, including mathematical
+symbols and formulae where needed. Great care has been taken over the
+defaults for the minor design choices in graphics, but the user retains
+full control.
+
+Another convenience is the ease with which the C code or third party
+libraries may be integrated within R.
+
+Extensive support for parallel computing is available within R.
+
+Read more on <http://www.r-project.org/>,
+<http://cran.r-project.org/doc/manuals/r-release/R-lang.html>
+
+Modules
+-------
+
+****The R version 3.1.1 is available on the cluster, along with GUI
+interface Rstudio
+
+  Application   Version        module
+  ------------- -------------- ---------------------
+  **R**         R 3.1.1        R/3.1.1-intel-2015b
+  **Rstudio**   Rstudio 0.97   Rstudio
+
+    $ module load R
+
+Execution
+---------
+
+[]()The R on Anselm is linked to highly optimized MKL mathematical
+library. This provides threaded parallelization to many R kernels,
+notably the linear algebra subroutines. The R runs these heavy
+calculation kernels without any penalty. By default, the R would
+parallelize to 24 threads. You may control the threads by setting the
+OMP_NUM_THREADS environment variable.
+
+### Interactive execution
+
+To run R interactively, using Rstudio GUI, log in with ssh -X parameter
+for X11 forwarding. Run rstudio:
+
+    $ module load Rstudio
+    $ rstudio
+
+### Batch execution
+
+To run R in batch mode, write an R script, then write a bash jobscript
+and execute via the qsub command. By default, R will use 24 threads when
+running MKL kernels.
+
+Example jobscript:
+
+    #!/bin/bash
+
+    # change to local scratch directory
+    cd /lscratch/$PBS_JOBID || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/rscript.R .
+
+    # load R module
+    module load R
+
+    # execute the calculation
+    R CMD BATCH rscript.R routput.out
+
+    # copy output file to home
+    cp routput.out $PBS_O_WORKDIR/.
+
+    #exit
+    exit
+
+This script may be submitted directly to the PBS workload manager via
+the qsub command.  The inputs are in rscript.R file, outputs in
+routput.out file. See the single node jobscript example in the [Job
+execution
+section](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution).
+
+Parallel R
+----------
+
+Parallel execution of R may be achieved in many ways. One approach is
+the implied parallelization due to linked libraries or specially enabled
+functions, as [described above](#interactive-execution).
+In the following sections, we focus on explicit parallelization, where 
+parallel constructs are directly stated within the R script.
+
+[]()Package parallel
+--------------------
+
+The package parallel provides support for parallel computation,
+including by forking (taken from package multicore), by sockets (taken
+from package snow) and random-number generation.
+
+The package is activated this way:
+
+    $ R
+    > library(parallel)
+
+More information and examples may be obtained directly by reading the
+documentation available in R
+
+    > ?parallel
+    > library(help = "parallel")
+    > vignette("parallel")
+
+Download the package
+[parallell](https://docs.it4i.cz/salomon/software/numerical-languages/package-parallel-vignette)
+vignette.
+
+The forking is the most simple to use. Forking family of functions
+provide parallelized, drop in replacement for the serial apply() family
+of functions.
+
+Forking via package parallel provides functionality similar to OpenMP
+construct
+#omp parallel for
+
+Only cores of single node can be utilized this way!
+
+Forking example:
+
+    library(parallel)
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #initialize
+    size <- detectCores()
+
+    while (TRUE)
+    {
+      #read number of intervals
+      cat("Enter the number of intervals(0 quits) ")
+      fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+
+      if(n<=0) break
+
+      #run the calculation
+      n <- max(n,size)
+      h <-   1.0/n
+
+      i <- seq(1,n);
+      pi3 <- h*sum(simplify2array(mclapply(i,f,h,mc.cores=size)));
+
+      #print results
+      cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+
+The above example is the classic parallel example for calculating the
+number π. Note the **detectCores()** and **mclapply()** functions.
+Execute the example as:
+
+    $ R --slave --no-save --no-restore -f pi3p.R
+
+Every evaluation of the integrad function runs in parallel on different
+process.
+
+Package Rmpi
+------------
+
+package Rmpi provides an interface (wrapper) to MPI APIs.
+
+It also provides interactive R slave environment. On the cluster, Rmpi
+provides interface to the
+[OpenMPI](https://docs.it4i.cz/salomon/software/mpi-1/Running_OpenMPI).
+
+Read more on Rmpi at <http://cran.r-project.org/web/packages/Rmpi/>,
+reference manual is available at
+<http://cran.r-project.org/web/packages/Rmpi/Rmpi.pdf>
+
+When using package Rmpi, both openmpi and R modules must be loaded
+
+    $ module load OpenMPI
+    $ module load R
+
+Rmpi may be used in three basic ways. The static approach is identical
+to executing any other MPI programm. In addition, there is Rslaves
+dynamic MPI approach and the mpi.apply approach. In the following
+section, we will use the number π integration example, to illustrate all
+these concepts.
+
+### []()static Rmpi
+
+Static Rmpi programs are executed via mpiexec, as any other MPI
+programs. Number of processes is static - given at the launch time.
+
+Static Rmpi example:
+
+    library(Rmpi)
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #initialize
+    invisible(mpi.comm.dup(0,1))
+    rank <- mpi.comm.rank()
+    size <- mpi.comm.size()
+    n<-0
+
+    while (TRUE)
+    {
+      #read number of intervals
+      if (rank==0) {
+       cat("Enter the number of intervals(0 quits) ")
+       fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+      }
+
+      #broadcat the intervals
+      n <- mpi.bcast(as.integer(n),type=1)
+
+      if(n<=0) break
+
+      #run the calculation
+      n <- max(n,size)
+      h <-   1.0/n
+
+      i <- seq(rank+1,n,size);
+      mypi <- h*sum(sapply(i,f,h));
+
+      pi3 <- mpi.reduce(mypi)
+
+      #print results
+      if (rank==0) cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+
+    mpi.quit()
+
+The above is the static MPI example for calculating the number π. Note
+the **library(Rmpi)** and **mpi.comm.dup()** function calls.
+Execute the example as:
+
+    $ mpirun R --slave --no-save --no-restore -f pi3.R
+
+### dynamic Rmpi
+
+Dynamic Rmpi programs are executed by calling the R directly. OpenMPI
+module must be still loaded. The R slave processes will be spawned by a
+function call within the Rmpi program.
+
+Dynamic Rmpi example:
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #the worker function
+    workerpi <- function()
+    {
+    #initialize
+    rank <- mpi.comm.rank()
+    size <- mpi.comm.size()
+    n<-0
+
+    while (TRUE)
+    {
+      #read number of intervals
+      if (rank==0) {
+       cat("Enter the number of intervals(0 quits) ")
+       fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+      }
+
+      #broadcat the intervals
+      n <- mpi.bcast(as.integer(n),type=1)
+
+      if(n<=0) break
+
+      #run the calculation
+      n <- max(n,size)
+      h <-   1.0/n
+
+      i <- seq(rank+1,n,size);
+      mypi <- h*sum(sapply(i,f,h));
+
+      pi3 <- mpi.reduce(mypi)
+
+      #print results
+      if (rank==0) cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+    }
+
+    #main
+    library(Rmpi)
+
+    cat("Enter the number of slaves")
+    fp<-file("stdin"); ns<-scan(fp,nmax=1); close(fp)
+
+    mpi.spawn.Rslaves(nslaves=ns)
+    mpi.bcast.Robj2slave(f)
+    mpi.bcast.Robj2slave(workerpi)
+
+    mpi.bcast.cmd(workerpi())
+    workerpi()
+
+
+    mpi.quit()
+
+The above example is the dynamic MPI example for calculating the number
+Ď€. Both master and slave processes carry out the calculation. Note the
+**mpi.spawn.Rslaves(), mpi.bcast.Robj2slave()** and the
+**mpi.bcast.cmd()** function calls.
+Execute the example as:
+
+    $ mpirun -np 1 R --slave --no-save --no-restore -f pi3Rslaves.R
+
+Note that this method uses MPI_Comm_spawn (Dynamic process feature of
+MPI-2) to start the slave processes - the master process needs to be
+launched with MPI. In general, Dynamic processes are not well supported
+among MPI implementations, some issues might arise. Also, environment
+variables are not propagated to spawned processes, so they will not see
+paths from modules.
+### mpi.apply Rmpi
+
+mpi.apply is a specific way of executing Dynamic Rmpi programs.
+
+mpi.apply() family of functions provide MPI parallelized, drop in
+replacement for the serial apply() family of functions.
+
+Execution is identical to other dynamic Rmpi programs.
+
+mpi.apply Rmpi example:
+
+    #integrand function
+    f <- function(i,h) {
+    x <- h*(i-0.5)
+    return (4/(1 + x*x))
+    }
+
+    #the worker function
+    workerpi <- function(rank,size,n)
+    {
+      #run the calculation
+      n <- max(n,size)
+      h <- 1.0/n
+
+      i <- seq(rank,n,size);
+      mypi <- h*sum(sapply(i,f,h));
+
+      return(mypi)
+    }
+
+    #main
+    library(Rmpi)
+
+    cat("Enter the number of slaves")
+    fp<-file("stdin"); ns<-scan(fp,nmax=1); close(fp)
+
+    mpi.spawn.Rslaves(nslaves=ns)
+    mpi.bcast.Robj2slave(f)
+    mpi.bcast.Robj2slave(workerpi)
+
+    while (TRUE)
+    {
+      #read number of intervals
+      cat("Enter the number of intervals(0 quits) ")
+      fp<-file("stdin"); n<-scan(fp,nmax=1); close(fp)
+      if(n<=0) break
+
+      #run workerpi
+      i=seq(1,2*ns)
+      pi3=sum(mpi.parSapply(i,workerpi,2*ns,n))
+
+      #print results
+      cat(sprintf("Value of PI %16.14f, diff= %16.14fn",pi3,pi3-pi))
+    }
+
+    mpi.quit()
+
+The above is the mpi.apply MPI example for calculating the number π.
+Only the slave processes carry out the calculation. Note the
+**mpi.parSapply(), ** function call. The package <span
+class="anchor-link">parallel
+[example](#package-parallel)</span>[above](#package-parallel)
+may be trivially adapted (for much better performance) to this structure
+using the mclapply() in place of mpi.parSapply().
+
+Execute the example as:
+
+    $ mpirun -np 1 R --slave --no-save --no-restore -f pi3parSapply.R
+
+Combining parallel and Rmpi
+---------------------------
+
+Currently, the two packages can not be combined for hybrid calculations.
+
+Parallel execution
+------------------
+
+The R parallel jobs are executed via the PBS queue system exactly as any
+other parallel jobs. User must create an appropriate jobscript and
+submit via the **qsub**
+
+Example jobscript for [static Rmpi](#static-rmpi) parallel
+R execution, running 1 process per core:
+
+    #!/bin/bash
+    #PBS -q qprod
+    #PBS -N Rjob
+    #PBS -l select=100:ncpus=24:mpiprocs=24:ompthreads=1
+
+    # change to  scratch directory
+    SCRDIR=/scratch/work/user/$USER/myjob
+    cd $SCRDIR || exit
+
+    # copy input file to scratch 
+    cp $PBS_O_WORKDIR/rscript.R .
+
+    # load R and openmpi module
+    module load R
+    module load OpenMPI
+
+    # execute the calculation
+    mpiexec -bycore -bind-to-core R --slave --no-save --no-restore -f rscript.R
+
+    # copy output file to home
+    cp routput.out $PBS_O_WORKDIR/.
+
+    #exit
+    exit
+
+For more information about jobscripts and MPI execution refer to the
+[Job
+submission](https://docs.it4i.cz/salomon/resource-allocation-and-job-execution/job-submission-and-execution)
+and general
+[MPI](https://docs.it4i.cz/salomon/software/mpi-1)
+sections.
+
+
+
+Xeon Phi Offload
+----------------
+
+By leveraging MKL, R can accelerate certain computations, most notably
+linear algebra operations on the Xeon Phi accelerator by using Automated
+Offload. To use MKL Automated Offload, you need to first set this
+environment variable before R execution :
+
+    $ export MKL_MIC_ENABLE=1
+
+[Read more about automatic
+offload](https://docs.it4i.cz/salomon/software/intel-xeon-phi)
diff --git a/docs.it4i.cz/salomon/software/operating-system.md b/docs.it4i.cz/salomon/software/operating-system.md
new file mode 100644
index 0000000000000000000000000000000000000000..e1356212ff7701988f3cea747f6c2ca983dbac81
--- /dev/null
+++ b/docs.it4i.cz/salomon/software/operating-system.md
@@ -0,0 +1,17 @@
+Operating System 
+================
+
+The operating system, deployed on Salomon cluster
+
+
+  
+
+The operating system on Salomon is Linux - CentOS 6.6.
+
+<span>The CentOS Linux distribution is a stable, predictable, manageable
+and reproducible platform derived from the sources of Red Hat Enterprise
+Linux (RHEL).</span>
+
+
+
+
diff --git a/docs.it4i.cz/salomon/storage.md b/docs.it4i.cz/salomon/storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..eeff11b121ae0ecf9ec94b50f2e5720b660e72d6
--- /dev/null
+++ b/docs.it4i.cz/salomon/storage.md
@@ -0,0 +1,529 @@
+Storage 
+=======
+
+
+
+  
+
+Introduction
+------------
+
+There are two main shared file systems on Salomon cluster, the [<span
+class="anchor-link"><span
+class="anchor-link">HOME</span></span>](#home) and [<span
+class="anchor-link"><span
+class="anchor-link">SCRATCH</span></span>](#shared-filesystems).
+All login and compute nodes may access same data on shared filesystems.
+Compute nodes are also equipped with local (non-shared) scratch, ramdisk
+and tmp filesystems.
+
+Policy (in a nutshell)
+----------------------
+
+Use [HOME](#home) for your most valuable data and
+programs.
+Use [WORK](#work) for your large project files
+Use [TEMP](#temp) for large scratch data.
+
+Do not use for [archiving](#archiving)!
+
+[]()Archiving
+-------------
+
+Please don't use shared filesystems as a backup for large amount of data
+or long-term archiving mean. The academic staff and students of research
+institutions in the Czech Republic can use [CESNET storage
+service](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage),
+which is available via SSHFS.
+
+[]()Shared Filesystems
+----------------------
+
+Salomon computer provides two main shared filesystems, the [<span
+class="anchor-link">HOME
+filesystem</span>](#home-filesystem) and the [SCRATCH
+filesystem](#scratch-filesystem). The SCRATCH filesystem
+is partitioned to [WORK and TEMP
+workspaces](#shared-workspaces). The HOME filesystem is
+realized as a tiered NFS disk storage. The SCRATCH filesystem is
+realized as a parallel Lustre filesystem. Both shared file systems are
+accessible via the Infiniband network. Extended ACLs are provided on
+both HOME/SCRATCH filesystems for the purpose of sharing data with other
+users using fine-grained control.
+
+### []()[]()HOME filesystem
+
+The HOME filesystem is realized as a Tiered filesystem, exported via
+NFS. The first tier has capacity 100TB, second tier has capacity 400TB.
+The filesystem is available on all login and computational nodes. The
+Home filesystem hosts the [HOME workspace](#home).
+
+### []()[]()SCRATCH filesystem
+
+The  architecture of Lustre on Salomon is composed of two metadata
+servers (MDS) and six data/object storage servers (OSS). Accessible
+capacity is 1.69 PB, shared among all users. The SCRATCH filesystem
+hosts the [WORK and TEMP workspaces](#shared-workspaces).
+
+<span class="listitem">Configuration of the SCRATCH Lustre storage
+</span>
+
+
+<span class="emphasis"></span><span class="emphasis"></span>
+-   <span class="emphasis">SCRATCH Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   Disk array SFA12KX
+    -   540 4TB SAS 7.2krpm disks
+    -   54 OSTs of 10 disks in RAID6 (8+2)
+    -   15 hot-spare disks
+    -   4x 400GB SSD cache
+
+    
+
+-   <span class="emphasis">SCRATCH Lustre metadata storage</span>
+    <div class="itemizedlist">
+
+    -   Disk array EF3015
+    -   12 600GB SAS 15krpm disks
+
+    
+
+
+
+### Understanding the Lustre Filesystems
+
+(source <http://www.nas.nasa.gov>)
+
+A user file on the Lustre filesystem can be divided into multiple chunks
+(stripes) and stored across a subset of the object storage targets
+(OSTs) (disks). The stripes are distributed among the OSTs in a
+round-robin fashion to ensure load balancing.
+
+When a client (a <span class="glossaryItem">compute <span
+class="glossaryItem">node</span></span> from your job) needs to create
+or access a file, the client queries the metadata server (<span
+class="glossaryItem">MDS</span>) and the metadata target (<span
+class="glossaryItem">MDT</span>) for the layout and location of the
+[file's
+stripes](http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping).
+Once the file is opened and the client obtains the striping information,
+the <span class="glossaryItem">MDS</span> is no longer involved in the
+file I/O process. The client interacts directly with the object storage
+servers (OSSes) and OSTs to perform I/O operations such as locking, disk
+allocation, storage, and retrieval.
+
+If multiple clients try to read and write the same part of a file at the
+same time, the Lustre distributed lock manager enforces coherency so
+that all clients see consistent results.
+
+There is default stripe configuration for Salomon Lustre filesystems.
+However, users can set the following stripe parameters for their own
+directories or files to get optimum I/O performance:
+
+1.  stripe_sizethe size of the chunk in bytes; specify with k, m, or
+    g to use units of KB, MB, or GB, respectively; the size must be an
+    even multiple of 65,536 bytes; default is 1MB for all Salomon Lustre
+    filesystems
+2.  stripe_count the number of OSTs to stripe across; default is 1 for
+    Salomon Lustre filesystems  one can specify -1 to use all OSTs in
+    the filesystem.
+3.  stripe_offset The index of the <span
+    class="glossaryItem">OST</span> where the first stripe is to be
+    placed; default is -1 which results in random selection; using a
+    non-default value is NOT recommended.
+
+ 
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+Use the lfs getstripe for getting the stripe parameters. Use the lfs
+setstripe command for setting the stripe parameters to get optimal I/O
+performance The correct stripe setting depends on your needs and file
+access patterns. 
+
+``` 
+$ lfs getstripe dir|filename 
+$ lfs setstripe -s stripe_size -c stripe_count -o stripe_offset dir|filename 
+```
+
+Example:
+
+``` 
+$ lfs getstripe /scratch/work/user/username
+/scratch/work/user/username
+stripe_count  1 stripe_size   1048576 stripe_offset -1
+
+$ lfs setstripe -c -1 /scratch/work/user/username/
+$ lfs getstripe /scratch/work/user/username/
+/scratch/work/user/username/
+stripe_count -1 stripe_size   1048576 stripe_offset -1
+```
+
+In this example, we view current stripe setting of the
+/scratch/username/ directory. The stripe count is changed to all OSTs,
+and verified. All files written to this directory will be striped over
+all (54) OSTs
+
+Use lfs check OSTs to see the number and status of active OSTs for each
+filesystem on Salomon. Learn more by reading the man page
+
+``` 
+$ lfs check osts
+$ man lfs
+```
+
+### Hints on Lustre Stripping
+
+Increase the stripe_count for parallel I/O to the same file.
+
+When multiple processes are writing blocks of data to the same file in
+parallel, the I/O performance for large files will improve when the
+stripe_count is set to a larger value. The stripe count sets the number
+of OSTs the file will be written to. By default, the stripe count is set
+to 1. While this default setting provides for efficient access of
+metadata (for example to support the ls -l command), large files should
+use stripe counts of greater than 1. This will increase the aggregate
+I/O bandwidth by using multiple OSTs in parallel instead of just one. A
+rule of thumb is to use a stripe count approximately equal to the number
+of gigabytes in the file.
+
+Another good practice is to make the stripe count be an integral factor
+of the number of processes performing the write in parallel, so that you
+achieve load balance among the OSTs. For example, set the stripe count
+to 16 instead of 15 when you have 64 processes performing the writes.
+
+Using a large stripe size can improve performance when accessing very
+large files
+
+Large stripe size allows each client to have exclusive access to its own
+part of a file. However, it can be counterproductive in some cases if it
+does not match your I/O pattern. The choice of stripe size has no effect
+on a single-stripe file.
+
+Read more on
+<http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html>
+
+<span>Disk usage and quota commands</span>
+------------------------------------------
+
+<span>User quotas on the Lustre file systems (SCRATCH) can be checked
+and reviewed using following command:</span>
+
+``` 
+$ lfs quota dir
+```
+
+Example for Lustre SCRATCH directory:
+
+``` 
+$ lfs quota /scratch
+Disk quotas for user user001 (uid 1234):
+     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+          /scratch       8       0 100000000000       -       3       0       0       -
+Disk quotas for group user001 (gid 1234):
+ Filesystem kbytes quota limit grace files quota limit grace
+ /scratch       8       0       0       -       3       0       0       -
+```
+
+In this example, we view current quota size limit of 100TB and 8KB
+currently used by user001.
+
+HOME directory is mounted via NFS, so a different command must be used
+to obtain quota information:
+
+     $ quota
+
+Example output:
+
+    $ quota
+    Disk quotas for user vop999 (uid 1025):
+         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
+    home-nfs-ib.salomon.it4i.cz:/home
+                         28       0 250000000              10     0  500000
+
+To have a better understanding of where the space is exactly used, you
+can use following command to find out.
+
+``` 
+$ du -hs dir
+```
+
+Example for your HOME directory:
+
+``` 
+$ cd /home
+$ du -hs * .[a-zA-z0-9]* | grep -E "[0-9]*G|[0-9]*M" | sort -hr
+258M     cuda-samples
+15M      .cache
+13M      .mozilla
+5,5M     .eclipse
+2,7M     .idb_13.0_linux_intel64_app
+```
+
+This will list all directories which are having MegaBytes or GigaBytes
+of consumed space in your actual (in this example HOME) directory. List
+is sorted in descending order from largest to smallest
+files/directories.
+
+
+<span>To have a better understanding of previous commands, you can read
+manpages.</span>
+
+``` 
+$ man lfs
+```
+
+``` 
+$ man du 
+```
+
+Extended Access Control List (ACL)
+----------------------------------
+
+Extended ACLs provide another security mechanism beside the standard
+POSIX ACLs which are defined by three entries (for
+owner/group/others). Extended ACLs have more than the three basic
+entries. In addition, they also contain a mask entry and may contain any
+number of named user and named group entries.
+
+ACLs on a Lustre file system work exactly like ACLs on any Linux file
+system. They are manipulated with the standard tools in the standard
+manner. Below, we create a directory and allow a specific user access.
+
+``` 
+[vop999@login1.salomon ~]$ umask 027
+[vop999@login1.salomon ~]$ mkdir test
+[vop999@login1.salomon ~]$ ls -ld test
+drwxr-x--- 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.salomon ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+group::r-x
+other::---
+
+[vop999@login1.salomon ~]$ setfacl -m user:johnsm:rwx test
+[vop999@login1.salomon ~]$ ls -ld test
+drwxrwx---+ 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.salomon ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+user:johnsm:rwx
+group::r-x
+mask::rwx
+other::---
+```
+
+Default ACL mechanism can be used to replace setuid/setgid permissions
+on directories. Setting a default ACL on a directory (-d flag to
+setfacl) will cause the ACL permissions to be inherited by any newly
+created file or subdirectory within the directory. Refer to this page
+for more information on Linux ACL:
+
+[http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html ](http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html)
+
+
+[]()Shared Workspaces
+---------------------
+
+
+
+### []()[]()HOME
+
+Users home directories /home/username reside on HOME filesystem.
+Accessible capacity is 0.5PB, shared among all users. Individual users
+are restricted by filesystem usage quotas, set to 250GB per user.
+<span>If 250GB should prove as insufficient for particular user, please
+contact</span> [support](https://support.it4i.cz/rt),
+the quota may be lifted upon request.
+
+The HOME filesystem is intended for preparation, evaluation, processing
+and storage of data generated by active Projects.
+
+The HOME  should not be used to archive data of past Projects or other
+unrelated data.
+
+The files on HOME will not be deleted until end of the [users
+lifecycle](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials).
+
+The workspace is backed up, such that it can be restored in case of 
+catasthropic failure resulting in significant data loss. This backup
+however is not intended to restore old versions of user data or to
+restore (accidentaly) deleted files.
+
+
+HOME workspace
+Accesspoint
+/home/username
+Capacity
+0.5PB
+Throughput
+6GB/s
+User quota
+250GB
+Protocol
+NFS, 2-Tier
+### []()WORK
+
+The WORK workspace resides on SCRATCH filesystem.  Users may create
+subdirectories and files in directories **/scratch/work/user/username**
+and **/scratch/work/project/projectid. **The /scratch/work/user/username
+is private to user, much like the home directory. The
+/scratch/work/project/projectid is accessible to all users involved in
+project projectid. <span></span>
+
+The WORK workspace is intended  to store users project data as well as
+for high performance access to input and output files. All project data
+should be removed once the project is finished. The data on the WORK
+workspace are not backed up.
+
+Files on the WORK filesystem are **persistent** (not automatically
+deleted) throughout duration of the project.
+
+The WORK workspace is hosted on SCRATCH filesystem. The SCRATCH is
+realized as Lustre parallel filesystem and is available from all login
+and computational nodes. Default stripe size is 1MB, stripe count is 1.
+There are 54 OSTs dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+WORK workspace
+Accesspoints
+/scratch/work/user/username
+/scratch/work/user/projectid
+Capacity
+1.6P
+Throughput
+30GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+54
+Protocol
+Lustre
+### []()TEMP
+
+The TEMP workspace resides on SCRATCH filesystem. The TEMP workspace
+accesspoint is  /scratch/temp.  Users may freely create subdirectories
+and files on the workspace. Accessible capacity is 1.6P, shared among
+all users on TEMP and WORK. Individual users are restricted by
+filesystem usage quotas, set to 100TB per user. The purpose of this
+quota is to prevent runaway programs from filling the entire filesystem
+and deny service to other users. <span>If 100TB should prove as
+insufficient for particular user, please contact
+[support](https://support.it4i.cz/rt), the quota may be
+lifted upon request. </span>
+
+The TEMP workspace is intended  for temporary scratch data generated
+during the calculation as well as for high performance access to input
+and output files. All I/O intensive jobs must use the TEMP workspace as
+their working directory.
+
+Users are advised to save the necessary data from the TEMP workspace to
+HOME or WORK after the calculations and clean up the scratch files.
+
+Files on the TEMP filesystem that are **not accessed for more than 90
+days** will be automatically **deleted**.
+
+The TEMP workspace is hosted on SCRATCH filesystem. The SCRATCH is
+realized as Lustre parallel filesystem and is available from all login
+and computational nodes. Default stripe size is 1MB, stripe count is 1.
+There are 54 OSTs dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+TEMP workspace
+Accesspoint
+/scratch/temp
+Capacity
+1.6P
+Throughput
+30GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+54
+Protocol
+Lustre
+ 
+
+RAM disk
+--------
+
+Every computational node is equipped with filesystem realized in memory,
+so called RAM disk.
+
+Use RAM disk in case you need really fast access to your data of limited
+size during your calculation.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+[]()The local RAM disk is mounted as /ramdisk and is accessible to user
+at /ramdisk/$PBS_JOBID directory.
+
+The local RAM disk filesystem is intended for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. Size of RAM disk filesystem is limited. Be
+very careful, use of RAM disk filesystem is at the expense of
+operational memory.  It is not recommended to allocate large amount of
+memory and use large amount of data in RAM disk filesystem at the same
+time.
+
+The local RAM disk directory /ramdisk/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+RAM disk
+Mountpoint
+<span class="monospace">/ramdisk</span>
+Accesspoint
+<span class="monospace">/ramdisk/$PBS_JOBID</span>
+Capacity
+120 GB
+Throughput
+over 1.5 GB/s write, over 5 GB/s read, single thread
+over 10 GB/s write, over 50 GB/s read, 16 threads
+
+User quota
+none
+ 
+
+
+**Summary
+**
+----------
+
+
+  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  Mountpoint                                     Usage                            Protocol      Net Capacity   Throughput   Limitations   Access                    Services
+  ---------------------------------------------- -------------------------------- ------------- -------------- ------------ ------------- ------------------------- -----------------------------
+  <span class="monospace">/home</span>           home directory                   NFS, 2-Tier   0.5 PB         6 GB/s       Quota 250GB   Compute and login nodes   backed up
+
+  <span class="monospace">/scratch/work</span>   large project files              Lustre        1.69 PB        30 GB/s      Quota        Compute and login nodes   none
+                                                                                                                            1TB                                     
+
+  <span class="monospace">/scratch/temp</span>   job temporary data               Lustre        1.69 PB        30 GB/s      Quota 100TB   Compute and login nodes   files older 90 days removed
+
+  <span class="monospace">/ramdisk</span>        job temporary data, node local   local         120GB          90 GB/s      none          Compute nodes             purged after job ends
+  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/salomon/storage/cesnet-data-storage.md b/docs.it4i.cz/salomon/storage/cesnet-data-storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..2eeffcb3b65589f4d5b6a15c4f9850d7d0bd09f6
--- /dev/null
+++ b/docs.it4i.cz/salomon/storage/cesnet-data-storage.md
@@ -0,0 +1,129 @@
+CESNET Data Storage 
+===================
+
+
+
+  
+
+Introduction
+------------
+
+Do not use shared filesystems at IT4Innovations as a backup for large
+amount of data or long-term archiving purposes.
+
+The IT4Innovations does not provide storage capacity for data archiving.
+Academic staff and students of research institutions in the Czech
+Republic can use [CESNET Storage
+service](https://du.cesnet.cz/).
+
+The CESNET Storage service can be used for research purposes, mainly by
+academic staff and students of research institutions in the Czech
+Republic.
+
+User of data storage CESNET (DU) association can become organizations or
+an individual person who is either in the current employment
+relationship (employees) or the current study relationship (students) to
+a legal entity (organization) that meets the “Principles for access to
+CESNET Large infrastructure (Access Policy)”.
+
+User may only use data storage CESNET for data transfer and storage
+which are associated with activities in science, research, development,
+the spread of education, culture and prosperity. In detail see
+“Acceptable Use Policy CESNET Large Infrastructure (Acceptable Use
+Policy, AUP)”.
+
+The service is documented at
+<https://du.cesnet.cz/wiki/doku.php/en/start>. For special requirements
+please contact directly CESNET Storage Department via e-mail
+[du-support(at)cesnet.cz](mailto:du-support@cesnet.cz).
+
+The procedure to obtain the CESNET access is quick and trouble-free.
+
+(source
+[https://du.cesnet.cz/](https://du.cesnet.cz/wiki/doku.php/en/start "CESNET Data Storage"))
+
+CESNET storage access
+---------------------
+
+### Understanding Cesnet storage
+
+It is very important to understand the Cesnet storage before uploading
+data. Please read
+<https://du.cesnet.cz/en/navody/home-migrace-plzen/start> first.
+
+Once registered for CESNET Storage, you may [access the
+storage](https://du.cesnet.cz/en/navody/faq/start) in
+number of ways. We recommend the SSHFS and RSYNC methods.
+
+### SSHFS Access
+
+SSHFSThe storage will be mounted like a local hard drive
+
+The SSHFS  provides a very convenient way to access the CESNET Storage.
+The storage will be mounted onto a local directory, exposing the vast
+CESNET Storage as if it was a local removable harddrive. Files can be
+than copied in and out in a usual fashion.
+
+First, create the mountpoint
+
+    $ mkdir cesnet
+
+Mount the storage. Note that you can choose among the ssh.du1.cesnet.cz
+(Plzen), ssh.du2.cesnet.cz (Jihlava), ssh.du3.cesnet.cz (Brno)
+Mount tier1_home **(only 5120M !)**:
+
+    $ sshfs username@ssh.du1.cesnet.cz:. cesnet/
+
+For easy future access from Anselm, install your public key
+
+    $ cp .ssh/id_rsa.pub cesnet/.ssh/authorized_keys
+
+Mount tier1_cache_tape for the Storage VO:
+
+    $ sshfs username@ssh.du1.cesnet.cz:/cache_tape/VO_storage/home/username cesnet/
+
+View the archive, copy the files and directories in and out
+
+    $ ls cesnet/ 
+    $ cp -a mydir cesnet/.
+    $ cp cesnet/myfile .
+
+Once done, please remember to unmount the storage
+
+    $ fusermount -u cesnet
+
+### Rsync access
+
+Rsync provides delta transfer for best performance, can resume
+interrupted transfers
+
+Rsync is a fast and extraordinarily versatile file copying tool. It is
+famous for its delta-transfer algorithm, which reduces the amount of
+data sent over the network by sending only the differences between the
+source files and the existing files in the destination.  Rsync is widely
+used for backups and mirroring and as an improved copy command for
+everyday use.
+
+Rsync finds files that need to be transferred using a "quick check"
+algorithm (by default) that looks for files that have changed in size or
+in last-modified time.  Any changes in the other preserved attributes
+(as requested by options) are made on the destination file directly when
+the quick check indicates that the file's data does not need to be
+updated.
+
+More about Rsync at
+<https://du.cesnet.cz/en/navody/rsync/start#pro_bezne_uzivatele>
+
+Transfer large files to/from Cesnet storage, assuming membership in the
+Storage VO
+
+    $ rsync --progress datafile username@ssh.du1.cesnet.cz:VO_storage-cache_tape/.
+    $ rsync --progress username@ssh.du1.cesnet.cz:VO_storage-cache_tape/datafile .
+
+Transfer large directories to/from Cesnet storage, assuming membership
+in the Storage VO
+
+    $ rsync --progress -av datafolder username@ssh.du1.cesnet.cz:VO_storage-cache_tape/.
+    $ rsync --progress -av username@ssh.du1.cesnet.cz:VO_storage-cache_tape/datafolder .
+
+Transfer rates of about 28MB/s can be expected.
diff --git a/docs.it4i.cz/salomon/storage/storage.md b/docs.it4i.cz/salomon/storage/storage.md
new file mode 100644
index 0000000000000000000000000000000000000000..c0a52996404d560b6c42bb4356ea0c3165d9dfb6
--- /dev/null
+++ b/docs.it4i.cz/salomon/storage/storage.md
@@ -0,0 +1,525 @@
+Storage 
+=======
+
+
+
+  
+
+Introduction
+------------
+
+There are two main shared file systems on Salomon cluster, the [<span
+class="anchor-link"><span
+class="anchor-link">HOME</span></span>](#home) and [<span
+class="anchor-link"><span
+class="anchor-link">SCRATCH</span></span>](#shared-filesystems).
+All login and compute nodes may access same data on shared filesystems.
+Compute nodes are also equipped with local (non-shared) scratch, ramdisk
+and tmp filesystems.
+
+Policy (in a nutshell)
+----------------------
+
+Use [HOME](#home) for your most valuable data and
+programs.
+Use [WORK](#work) for your large project files
+Use [TEMP](#temp) for large scratch data.
+
+Do not use for [archiving](#archiving)!
+
+[]()Archiving
+-------------
+
+Please don't use shared filesystems as a backup for large amount of data
+or long-term archiving mean. The academic staff and students of research
+institutions in the Czech Republic can use [CESNET storage
+service](https://docs.it4i.cz/anselm-cluster-documentation/storage-1/cesnet-data-storage),
+which is available via SSHFS.
+
+[]()Shared Filesystems
+----------------------
+
+Salomon computer provides two main shared filesystems, the [<span
+class="anchor-link">HOME
+filesystem</span>](#home-filesystem) and the [SCRATCH
+filesystem](#scratch-filesystem). The SCRATCH filesystem
+is partitioned to [WORK and TEMP
+workspaces](#shared-workspaces). The HOME filesystem is
+realized as a tiered NFS disk storage. The SCRATCH filesystem is
+realized as a parallel Lustre filesystem. Both shared file systems are
+accessible via the Infiniband network. Extended ACLs are provided on
+both HOME/SCRATCH filesystems for the purpose of sharing data with other
+users using fine-grained control.
+
+### []()[]()HOME filesystem
+
+The HOME filesystem is realized as a Tiered filesystem, exported via
+NFS. The first tier has capacity 100TB, second tier has capacity 400TB.
+The filesystem is available on all login and computational nodes. The
+Home filesystem hosts the [HOME workspace](#home).
+
+### []()[]()SCRATCH filesystem
+
+The  architecture of Lustre on Salomon is composed of two metadata
+servers (MDS) and six data/object storage servers (OSS). Accessible
+capacity is 1.69 PB, shared among all users. The SCRATCH filesystem
+hosts the [WORK and TEMP workspaces](#shared-workspaces).
+
+<span class="listitem">Configuration of the SCRATCH Lustre storage
+</span>
+
+
+<span class="emphasis"></span><span class="emphasis"></span>
+-   <span class="emphasis">SCRATCH Lustre object storage</span>
+    <div class="itemizedlist">
+
+    -   Disk array SFA12KX
+    -   540 4TB SAS 7.2krpm disks
+    -   54 OSTs of 10 disks in RAID6 (8+2)
+    -   15 hot-spare disks
+    -   4x 400GB SSD cache
+
+    
+
+-   <span class="emphasis">SCRATCH Lustre metadata storage</span>
+    <div class="itemizedlist">
+
+    -   Disk array EF3015
+    -   12 600GB SAS 15krpm disks
+
+    
+
+
+
+### Understanding the Lustre Filesystems
+
+(source <http://www.nas.nasa.gov>)
+
+A user file on the Lustre filesystem can be divided into multiple chunks
+(stripes) and stored across a subset of the object storage targets
+(OSTs) (disks). The stripes are distributed among the OSTs in a
+round-robin fashion to ensure load balancing.
+
+When a client (a <span class="glossaryItem">compute <span
+class="glossaryItem">node</span></span> from your job) needs to create
+or access a file, the client queries the metadata server (<span
+class="glossaryItem">MDS</span>) and the metadata target (<span
+class="glossaryItem">MDT</span>) for the layout and location of the
+[file's
+stripes](http://www.nas.nasa.gov/hecc/support/kb/Lustre_Basics_224.html#striping).
+Once the file is opened and the client obtains the striping information,
+the <span class="glossaryItem">MDS</span> is no longer involved in the
+file I/O process. The client interacts directly with the object storage
+servers (OSSes) and OSTs to perform I/O operations such as locking, disk
+allocation, storage, and retrieval.
+
+If multiple clients try to read and write the same part of a file at the
+same time, the Lustre distributed lock manager enforces coherency so
+that all clients see consistent results.
+
+There is default stripe configuration for Salomon Lustre filesystems.
+However, users can set the following stripe parameters for their own
+directories or files to get optimum I/O performance:
+
+1.  stripe_sizethe size of the chunk in bytes; specify with k, m, or
+    g to use units of KB, MB, or GB, respectively; the size must be an
+    even multiple of 65,536 bytes; default is 1MB for all Salomon Lustre
+    filesystems
+2.  stripe_count the number of OSTs to stripe across; default is 1 for
+    Salomon Lustre filesystems  one can specify -1 to use all OSTs in
+    the filesystem.
+3.  stripe_offset The index of the <span
+    class="glossaryItem">OST</span> where the first stripe is to be
+    placed; default is -1 which results in random selection; using a
+    non-default value is NOT recommended.
+
+ 
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+Use the lfs getstripe for getting the stripe parameters. Use the lfs
+setstripe command for setting the stripe parameters to get optimal I/O
+performance The correct stripe setting depends on your needs and file
+access patterns. 
+
+``` 
+$ lfs getstripe dir|filename 
+$ lfs setstripe -s stripe_size -c stripe_count -o stripe_offset dir|filename 
+```
+
+Example:
+
+``` 
+$ lfs getstripe /scratch/work/user/username
+/scratch/work/user/username
+stripe_count  1 stripe_size   1048576 stripe_offset -1
+
+$ lfs setstripe -c -1 /scratch/work/user/username/
+$ lfs getstripe /scratch/work/user/username/
+/scratch/work/user/username/
+stripe_count -1 stripe_size   1048576 stripe_offset -1
+```
+
+In this example, we view current stripe setting of the
+/scratch/username/ directory. The stripe count is changed to all OSTs,
+and verified. All files written to this directory will be striped over
+all (54) OSTs
+
+Use lfs check OSTs to see the number and status of active OSTs for each
+filesystem on Salomon. Learn more by reading the man page
+
+``` 
+$ lfs check osts
+$ man lfs
+```
+
+### Hints on Lustre Stripping
+
+Increase the stripe_count for parallel I/O to the same file.
+
+When multiple processes are writing blocks of data to the same file in
+parallel, the I/O performance for large files will improve when the
+stripe_count is set to a larger value. The stripe count sets the number
+of OSTs the file will be written to. By default, the stripe count is set
+to 1. While this default setting provides for efficient access of
+metadata (for example to support the ls -l command), large files should
+use stripe counts of greater than 1. This will increase the aggregate
+I/O bandwidth by using multiple OSTs in parallel instead of just one. A
+rule of thumb is to use a stripe count approximately equal to the number
+of gigabytes in the file.
+
+Another good practice is to make the stripe count be an integral factor
+of the number of processes performing the write in parallel, so that you
+achieve load balance among the OSTs. For example, set the stripe count
+to 16 instead of 15 when you have 64 processes performing the writes.
+
+Using a large stripe size can improve performance when accessing very
+large files
+
+Large stripe size allows each client to have exclusive access to its own
+part of a file. However, it can be counterproductive in some cases if it
+does not match your I/O pattern. The choice of stripe size has no effect
+on a single-stripe file.
+
+Read more on
+<http://wiki.lustre.org/manual/LustreManual20_HTML/ManagingStripingFreeSpace.html>
+
+<span>Disk usage and quota commands</span>
+------------------------------------------
+
+<span>User quotas on the Lustre file systems (SCRATCH) can be checked
+and reviewed using following command:</span>
+
+``` 
+$ lfs quota dir
+```
+
+Example for Lustre SCRATCH directory:
+
+``` 
+$ lfs quota /scratch
+Disk quotas for user user001 (uid 1234):
+     Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
+          /scratch       8       0 100000000000       -       3       0       0       -
+Disk quotas for group user001 (gid 1234):
+ Filesystem kbytes quota limit grace files quota limit grace
+ /scratch       8       0       0       -       3       0       0       -
+```
+
+In this example, we view current quota size limit of 100TB and 8KB
+currently used by user001.
+
+HOME directory is mounted via NFS, so a different command must be used
+to obtain quota information:
+
+     $ quota
+
+Example output:
+
+    $ quota
+    Disk quotas for user vop999 (uid 1025):
+         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
+    home-nfs-ib.salomon.it4i.cz:/home
+                         28       0 250000000              10     0  500000
+
+To have a better understanding of where the space is exactly used, you
+can use following command to find out.
+
+``` 
+$ du -hs dir
+```
+
+Example for your HOME directory:
+
+``` 
+$ cd /home
+$ du -hs * .[a-zA-z0-9]* | grep -E "[0-9]*G|[0-9]*M" | sort -hr
+258M     cuda-samples
+15M      .cache
+13M      .mozilla
+5,5M     .eclipse
+2,7M     .idb_13.0_linux_intel64_app
+```
+
+This will list all directories which are having MegaBytes or GigaBytes
+of consumed space in your actual (in this example HOME) directory. List
+is sorted in descending order from largest to smallest
+files/directories.
+
+
+<span>To have a better understanding of previous commands, you can read
+manpages.</span>
+
+``` 
+$ man lfs
+```
+
+``` 
+$ man du 
+```
+
+Extended Access Control List (ACL)
+----------------------------------
+
+Extended ACLs provide another security mechanism beside the standard
+POSIX ACLs which are defined by three entries (for
+owner/group/others). Extended ACLs have more than the three basic
+entries. In addition, they also contain a mask entry and may contain any
+number of named user and named group entries.
+
+ACLs on a Lustre file system work exactly like ACLs on any Linux file
+system. They are manipulated with the standard tools in the standard
+manner. Below, we create a directory and allow a specific user access.
+
+``` 
+[vop999@login1.salomon ~]$ umask 027
+[vop999@login1.salomon ~]$ mkdir test
+[vop999@login1.salomon ~]$ ls -ld test
+drwxr-x--- 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.salomon ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+group::r-x
+other::---
+
+[vop999@login1.salomon ~]$ setfacl -m user:johnsm:rwx test
+[vop999@login1.salomon ~]$ ls -ld test
+drwxrwx---+ 2 vop999 vop999 4096 Nov  5 14:17 test
+[vop999@login1.salomon ~]$ getfacl test
+# filetest
+# ownervop999
+# groupvop999
+user::rwx
+user:johnsm:rwx
+group::r-x
+mask::rwx
+other::---
+```
+
+Default ACL mechanism can be used to replace setuid/setgid permissions
+on directories. Setting a default ACL on a directory (-d flag to
+setfacl) will cause the ACL permissions to be inherited by any newly
+created file or subdirectory within the directory. Refer to this page
+for more information on Linux ACL:
+
+[http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html ](http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html)
+
+
+[]()Shared Workspaces
+---------------------
+
+
+
+### []()[]()HOME
+
+Users home directories /home/username reside on HOME filesystem.
+Accessible capacity is 0.5PB, shared among all users. Individual users
+are restricted by filesystem usage quotas, set to 250GB per user.
+<span>If 250GB should prove as insufficient for particular user, please
+contact</span> [support](https://support.it4i.cz/rt),
+the quota may be lifted upon request.
+
+The HOME filesystem is intended for preparation, evaluation, processing
+and storage of data generated by active Projects.
+
+The HOME  should not be used to archive data of past Projects or other
+unrelated data.
+
+The files on HOME will not be deleted until end of the [users
+lifecycle](https://docs.it4i.cz/get-started-with-it4innovations/obtaining-login-credentials/obtaining-login-credentials).
+
+The workspace is backed up, such that it can be restored in case of 
+catasthropic failure resulting in significant data loss. This backup
+however is not intended to restore old versions of user data or to
+restore (accidentaly) deleted files.
+
+
+HOME workspace
+Accesspoint
+/home/username
+Capacity
+0.5PB
+Throughput
+6GB/s
+User quota
+250GB
+Protocol
+NFS, 2-Tier
+### []()WORK
+
+The WORK workspace resides on SCRATCH filesystem.  Users may create
+subdirectories and files in directories **/scratch/work/user/username**
+and **/scratch/work/project/projectid. **The /scratch/work/user/username
+is private to user, much like the home directory. The
+/scratch/work/project/projectid is accessible to all users involved in
+project projectid. <span></span>
+
+The WORK workspace is intended  to store users project data as well as
+for high performance access to input and output files. All project data
+should be removed once the project is finished. The data on the WORK
+workspace are not backed up.
+
+Files on the WORK filesystem are **persistent** (not automatically
+deleted) throughout duration of the project.
+
+The WORK workspace is hosted on SCRATCH filesystem. The SCRATCH is
+realized as Lustre parallel filesystem and is available from all login
+and computational nodes. Default stripe size is 1MB, stripe count is 1.
+There are 54 OSTs dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+WORK workspace
+Accesspoints
+/scratch/work/user/username
+/scratch/work/user/projectid
+Capacity
+1.6P
+Throughput
+30GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+54
+Protocol
+Lustre
+### []()TEMP
+
+The TEMP workspace resides on SCRATCH filesystem. The TEMP workspace
+accesspoint is  /scratch/temp.  Users may freely create subdirectories
+and files on the workspace. Accessible capacity is 1.6P, shared among
+all users on TEMP and WORK. Individual users are restricted by
+filesystem usage quotas, set to 100TB per user. The purpose of this
+quota is to prevent runaway programs from filling the entire filesystem
+and deny service to other users. <span>If 100TB should prove as
+insufficient for particular user, please contact
+[support](https://support.it4i.cz/rt), the quota may be
+lifted upon request. </span>
+
+The TEMP workspace is intended  for temporary scratch data generated
+during the calculation as well as for high performance access to input
+and output files. All I/O intensive jobs must use the TEMP workspace as
+their working directory.
+
+Users are advised to save the necessary data from the TEMP workspace to
+HOME or WORK after the calculations and clean up the scratch files.
+
+Files on the TEMP filesystem that are **not accessed for more than 90
+days** will be automatically **deleted**.
+
+The TEMP workspace is hosted on SCRATCH filesystem. The SCRATCH is
+realized as Lustre parallel filesystem and is available from all login
+and computational nodes. Default stripe size is 1MB, stripe count is 1.
+There are 54 OSTs dedicated for the SCRATCH filesystem.
+
+Setting stripe size and stripe count correctly for your needs may
+significantly impact the I/O performance you experience.
+
+TEMP workspace
+Accesspoint
+/scratch/temp
+Capacity
+1.6P
+Throughput
+30GB/s
+User quota
+100TB
+Default stripe size
+1MB
+Default stripe count
+1
+Number of OSTs
+54
+Protocol
+Lustre
+ 
+
+RAM disk
+--------
+
+Every computational node is equipped with filesystem realized in memory,
+so called RAM disk.
+
+Use RAM disk in case you need really fast access to your data of limited
+size during your calculation.
+Be very careful, use of RAM disk filesystem is at the expense of
+operational memory.
+
+[]()The local RAM disk is mounted as /ramdisk and is accessible to user
+at /ramdisk/$PBS_JOBID directory.
+
+The local RAM disk filesystem is intended for temporary scratch data
+generated during the calculation as well as for high performance access
+to input and output files. Size of RAM disk filesystem is limited. Be
+very careful, use of RAM disk filesystem is at the expense of
+operational memory.  It is not recommended to allocate large amount of
+memory and use large amount of data in RAM disk filesystem at the same
+time.
+
+The local RAM disk directory /ramdisk/$PBS_JOBID will be deleted
+immediately after the calculation end. Users should take care to save
+the output data from within the jobscript.
+
+RAM disk
+Mountpoint
+<span class="monospace">/ramdisk</span>
+Accesspoint
+<span class="monospace">/ramdisk/$PBS_JOBID</span>
+Capacity
+120 GB
+Throughput
+over 1.5 GB/s write, over 5 GB/s read, single thread
+over 10 GB/s write, over 50 GB/s read, 16 threads
+
+User quota
+none
+ 
+
+
+**Summary
+**
+----------
+
+
+  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+  Mountpoint                                     Usage                            Protocol      Net Capacity   Throughput   Limitations   Access                    Services
+  ---------------------------------------------- -------------------------------- ------------- -------------- ------------ ------------- ------------------------- -----------------------------
+  <span class="monospace">/home</span>           home directory                   NFS, 2-Tier   0.5 PB         6 GB/s       Quota 250GB   Compute and login nodes   backed up
+
+  <span class="monospace">/scratch/work</span>   large project files              Lustre        1.69 PB        30 GB/s      Quota        Compute and login nodes   none
+                                                                                                                            1TB                                     
+
+  <span class="monospace">/scratch/temp</span>   job temporary data               Lustre        1.69 PB        30 GB/s      Quota 100TB   Compute and login nodes   files older 90 days removed
+
+  <span class="monospace">/ramdisk</span>        job temporary data, node local   local         120GB          90 GB/s      none          Compute nodes             purged after job ends
+  -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+ 
diff --git a/docs.it4i.cz/salomon/uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg b/docs.it4i.cz/salomon/uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..bc6e51cde6ca191e118211763d9e42c097222eaa
Binary files /dev/null and b/docs.it4i.cz/salomon/uv-2000/@@images/04ce7514-8d27-4cdb-bf0f-45d875c75df0.jpeg differ
diff --git a/docs.it4i.cz/salomon/vpn_contacting.png b/docs.it4i.cz/salomon/vpn_contacting.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf8578866584b7ec379c29f7aca8015ca5809a60
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_contacting.png differ
diff --git a/docs.it4i.cz/salomon/vpn_contacting_https.png b/docs.it4i.cz/salomon/vpn_contacting_https.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd2e6fa2f047a82bbec7bcd689c58a2f5bd4c77f
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_contacting_https.png differ
diff --git a/docs.it4i.cz/salomon/vpn_contacting_https_cluster.png b/docs.it4i.cz/salomon/vpn_contacting_https_cluster.png
new file mode 100644
index 0000000000000000000000000000000000000000..a87623cc85b5700752f45773b8af3846515eabe7
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_contacting_https_cluster.png differ
diff --git a/docs.it4i.cz/salomon/vpn_login.png b/docs.it4i.cz/salomon/vpn_login.png
new file mode 100644
index 0000000000000000000000000000000000000000..24c24388b31403d194fdf6354ccf5b898a78767c
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_login.png differ
diff --git a/docs.it4i.cz/salomon/vpn_successfull_connection.png b/docs.it4i.cz/salomon/vpn_successfull_connection.png
new file mode 100644
index 0000000000000000000000000000000000000000..2157c5468afb9d52e85a7c3c314b100b35c5c3ae
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_successfull_connection.png differ
diff --git a/docs.it4i.cz/salomon/vpn_web_download.png b/docs.it4i.cz/salomon/vpn_web_download.png
new file mode 100644
index 0000000000000000000000000000000000000000..5ca0bd393a836fd9aaea2e7531ccdbad0132e59e
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_web_download.png differ
diff --git a/docs.it4i.cz/salomon/vpn_web_download_2.png b/docs.it4i.cz/salomon/vpn_web_download_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..135d38dab1320381f25783fdde0acdecc4a8ad5a
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_web_download_2.png differ
diff --git a/docs.it4i.cz/salomon/vpn_web_install_2.png b/docs.it4i.cz/salomon/vpn_web_install_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..44086cdc923fc0d79ad1d2372b73eff8d4790d46
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_web_install_2.png differ
diff --git a/docs.it4i.cz/salomon/vpn_web_install_4.png b/docs.it4i.cz/salomon/vpn_web_install_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..f28001c41c2c9c3100d2667c84f9048dee71d744
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_web_install_4.png differ
diff --git a/docs.it4i.cz/salomon/vpn_web_login.png b/docs.it4i.cz/salomon/vpn_web_login.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae168c945b82d8d141c0e8a8c502f0c66541eeae
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_web_login.png differ
diff --git a/docs.it4i.cz/salomon/vpn_web_login_2.png b/docs.it4i.cz/salomon/vpn_web_login_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..5df65d34d7389468d66a2ee1075fce9a22a9fab4
Binary files /dev/null and b/docs.it4i.cz/salomon/vpn_web_login_2.png differ
diff --git a/docs.it4i.cz/search_icon.png b/docs.it4i.cz/search_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb31b322f7eb54819810f5013404c6995312ec0a
Binary files /dev/null and b/docs.it4i.cz/search_icon.png differ
diff --git a/docs.it4i.cz/sh.png b/docs.it4i.cz/sh.png
new file mode 100644
index 0000000000000000000000000000000000000000..f553447d731f19e73e3fb5819a667eda3b1254bd
Binary files /dev/null and b/docs.it4i.cz/sh.png differ
diff --git a/docs.it4i.cz/sitemap.md b/docs.it4i.cz/sitemap.md
new file mode 100644
index 0000000000000000000000000000000000000000..fd40910d9e70d6412e5e9919bb62a2d649c27a7c
--- /dev/null
+++ b/docs.it4i.cz/sitemap.md
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/docs.it4i.cz/touch_icon.png b/docs.it4i.cz/touch_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..98c3ad4cd6754a223ef8468d8c2125167281d092
Binary files /dev/null and b/docs.it4i.cz/touch_icon.png differ
diff --git a/docs.it4i.cz/vpn-connection-fail-in-win-8.1.md b/docs.it4i.cz/vpn-connection-fail-in-win-8.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..ddcff93285a3e15ecb41fa9002c44a3010f2a004
--- /dev/null
+++ b/docs.it4i.cz/vpn-connection-fail-in-win-8.1.md
@@ -0,0 +1,28 @@
+VPN - Connection fail in Win 8.1 
+================================
+
+Failed to initialize connection subsystem Win 8.1 - 02-10-15 MS patch
+AnyConnect users on Windows 8.1 will receive a "Failed to initialize
+connection subsystem" error after installing the Windows 8.1 02/10/15
+security patch. This OS defect introduced with the 02/10/15 patch update
+will also impact WIndows 7 users with IE11. Windows Server
+2008/2012 are also impacted by this defect, but neither is a supported
+OS for AnyConnect.
+
+**Workaround:**
+
+-   Close the Cisco AnyConnect Window and the taskbar mini-icon
+-   Right click vpnui.exe in the 'Cisco AnyConnect Secure Mobility
+    Client' folder. (C:Program Files (x86)CiscoCisco AnyConnect
+    Secure Mobility
+-   Client)
+-   Click on the 'Run compatibility troubleshooter' button
+-   Choose 'Try recommended settings'
+-   The wizard suggests Windows 8 compatibility.
+-   Click 'Test Program'. This will open the program.
+-   Close
+
+![](https://docs.it4i.cz/vpnuiV.png)
+
+
+
diff --git a/docs.it4i.cz/vpnuiV.png b/docs.it4i.cz/vpnuiV.png
new file mode 100644
index 0000000000000000000000000000000000000000..076e2c4f9873d72937ecab0bb542a7690f6a70dc
Binary files /dev/null and b/docs.it4i.cz/vpnuiV.png differ
diff --git a/docs.it4i.cz/whats-new.md b/docs.it4i.cz/whats-new.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/downtimes_history.md b/docs.it4i.cz/whats-new/downtimes_history.md
new file mode 100644
index 0000000000000000000000000000000000000000..dfbfa9bef3c8d1e1d87d2a11804888f55276ed5e
--- /dev/null
+++ b/docs.it4i.cz/whats-new/downtimes_history.md
@@ -0,0 +1,457 @@
+History of Downtimes 
+====================
+
+Full history of important announcements related to IT4I infrastructure,
+planned downtimes, outages etc.
+
+
+<table>
+<colgroup>
+<col width="50%" />
+<col width="50%" />
+</colgroup>
+<thead>
+<tr class="header">
+<th align="left">Date and time</th>
+<th align="left">Title and description</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="left">2016-07-15 08:20:00</td>
+<td align="left"><strong>Salomon cluster maintenance outage</strong>
+<p></p>
+<p>From 2016-07-20 09:00 till  2016-07-21 12:00  CEST will be maintenance outage for Salomon.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-06-29 13:50:00</td>
+<td align="left"><strong>Salomon cluster maintenance outage prolonged</strong>
+<p></p>
+<p>Important! Salomon cluster maintenance outage will be prolonged till 2016-06-29 20:00 CEST.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-06-16 00:00:00</td>
+<td align="left"><strong>Salomon planned downtime</strong>
+<p></p>
+<p>There's a planned maintenance window from 2016-06-28 09:00 till 2016-06-29 20:00 CEST.</p>
+<p>Thank you for understanding,<br />
+the IT4Innovations team</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-05-26 10:31:44</td>
+<td align="left"><strong>Salomon planned downtime</strong>
+<p></p>
+<p>There's a planned maintenance window from 2016-06-08 09:00 till 2016-06-09 09:00 CEST.</p>
+<p>Thank you for understanding,<br />
+the IT4Innovations team</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-04-27 15:57:28</td>
+<td align="left"><strong>Salomon cluster maintenance outage prolonged</strong>
+<p></p>
+<p>Important! Salomon cluster maintenance outage will be prolonged till 2016-04-28 14:00 CEST</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-03-31 19:03:25</td>
+<td align="left"><strong>Failure on Salomon Cooling System</strong>
+<p></p>
+<p>We have very serious issue with Salomon cooling system since 2016-03-31 10:00. We are working to resolve the issue.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-03-31 18:59:04</td>
+<td align="left"><strong>Salomon Back in Production</strong>
+<p></p>
+<p>As of 2016-03-31 19:30 CET, the Salomon is back in production. The outage was caused by an issue in cooling system.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-03-30 15:57:57</td>
+<td align="left"><strong>PBS malfunction</strong>
+<p></p>
+<p>We've had several issues with PBS scheduler since 2016-03-30 13:00 CEST. We are still working on it.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-03-26 09:52:41</td>
+<td align="left"><strong>Salomon back to production</strong>
+<p></p>
+<p>We have recovered all the issues with the Salomon cluster.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-03-26 09:51:16</td>
+<td align="left"><strong>Failure on Salomon Cooling Infrastructure</strong>
+<p></p>
+<p>We had an issue with the cooling infra of Salomon. This issue led to InfiniBand and storage outage. We are working to resolve the issue.</p>
+
+
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-03-14 14:57:51</td>
+<td align="left"><strong>Infrastructure Maintenance</strong>
+<p></p>
+<p>The Salomon supercomputer will be down for the maintenance from 2016-03-22 10:00 CEST to 2016-03-22 17:00 CEST.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-02-24 12:30:00</td>
+<td align="left"><strong>Anselm Upgrade</strong>
+<p></p>
+<p>The Anselm supercomputer will be down for the updates from 2016-02-01 to 2016-02-29.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-02-23 08:45:45</td>
+<td align="left"><strong>Anselm Upgrade</strong>
+<p></p>
+<p>The Anselm supercomputer will be down for the updates from 2016-02-01 to 2016-02-29.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-02-14 08:07:46</td>
+<td align="left"><strong>Failure on Salomon Infiniband Network</strong>
+<p></p>
+<p>We have very serious issue with Salomon Infiniband network since 2016-02-11 10:18. We are working to resolve the issue as quickly as possible and apologize for any inconvenience.</p>
+
+
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-02-04 11:53:30</td>
+<td align="left"><strong>Short network outage</strong>
+<p></p>
+<p>We need to apply some changes in network devices settings which may cause short network outage for Anselm Login nodes. This work will start around 6 am 2016-01-26.</p>
+<p>Thanks for your understanding.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2016-02-04 11:52:37</td>
+<td align="left"><strong>Salomon Upgrade</strong>
+<p></p>
+<p>The Salomon supercomputer will be down for the updates from 2016-02-16 09:00 CEST to 2016-02-16 13:00 CEST.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2016-02-04 11:52:25</td>
+<td align="left"><strong>Salomon Upgrade</strong>
+<p></p>
+<p>The Salomon supercomputer will be down for the updates from 2016-02-16 09:00 CEST to 2016-02-16 13:00 CEST.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2015-11-26 08:11:25</td>
+<td align="left"><strong>/home downtime</strong>
+<p></p>
+<p>Dear HPC users<br />
+<br />
+There's a /home downtime on the Salomon supercomputer planned for 25th November. The reason is a maintenance of the underlying CXFS filesystem. Your jobs will be scheduled with respect to this maintenance window.<br />
+<br />
+Thank you for understanding,<br />
+the IT4I team</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2015-11-24 09:10:15</td>
+<td align="left"><strong>The /home filesystem was down</strong>
+<p></p>
+<p><span>On 23.11.2015, 13:55 - 14:55, the /home filesystem was down due to acute technical problems.</span><br />
+<span>We apologize for inconvenience.</span></p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2015-09-04 16:14:12</td>
+<td align="left"><strong>SCRATCH downtime</strong>
+<p></p>
+<p>Dear IT4I users<br />
+<br />
+Salomon's SCRATCH will *not* be accessible on Thursday (10th September 2015) from 13:00 till 18:00 CEST.<br />
+<br />
+Thank you for understanding,<br />
+the IT4Innovations team</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2015-08-27 00:00:00</td>
+<td align="left"><strong>Today's SCRATCH downtime</strong>
+<p></p>
+<p>Dear IT4I users<br />
+<br />
+We are sorry for today's (27th August) inaccessibility of SCRATCH filesystem due to a broken service which normally provides mapping for user/group IDs (UIDs/GIDs). The issue has been fixed. No data were lost.<br />
+<br />
+Thank you for understanding,<br />
+the IT4Innovations team</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2015-08-12 00:00:00</td>
+<td align="left"><strong>Unplanned downtime</strong>
+<p></p>
+<p>Dear Salomon users,<br />
+<br />
+there was an unplanned downtime of the non-accelerated nodes. At this moment, systems are booting and we are revising consequences. Temporarily inaccessible SCRATCH filesystem is one of them.<br />
+<br />
+We're sorry for the inconvenience,<br />
+the IT4I team</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2015-08-06 00:00:00</td>
+<td align="left"><strong>SCRATCH downtime</strong>
+<p></p>
+<p>Dear IT4I users<br />
+<br />
+Salomon's SCRATCH will not be accessible tomorrow (7th August 2015) from 08:30 till 11:00 CEST.<br />
+<br />
+Thank you for understanding,<br />
+the IT4Innovations team</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2014-11-14 10:27:51</td>
+<td align="left"><strong>Unplanned PBS Downtime</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+we apologize for the unavailability of our PBS scheduler during the last weekend. However, running jobs shouldn't have been affected at that time.<br />
+<br />
+Thank you for understanding,<br />
+Anselm Admins</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2014-11-14 10:27:50</td>
+<td align="left"><strong>Login1 troubles</strong>
+<p></p>
+<p>Login1 had a short unplanned downtime. Sorry for the troubles.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2014-10-14 20:30:00</td>
+<td align="left"><strong>Unexpected power failure</strong>
+<p></p>
+<p><span>Dear Anselm users,</span></p>
+<p><span><br />
+</span></p>
+<p><span>on Tuesday 14th approximately at 17:20 CEST we encountered power failure during service operation on backup diesel generator. The system shut down. Additional checks after the shutdown took more time than what would expect.</span><span><span> The system was back on-line with all services approximately at 21:00 CEST.</span> We are very sorry for any troubles, this matter may caused you.  If some of your jobs ended in incorrect state, please feel free to reclaim your core hours.</span></p>
+<p><span><br />
+</span></p>
+<p><span>Thank you for understanding, <br />
+Anselm Administrators</span></p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2014-07-17 13:50:00</td>
+<td align="left"><strong>Login2(!) downtime</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+there's an upgrade planned on Friday, 18th July from 13:00 till 16:00 CEST. Please, take in mind that login2.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br />
+<br />
+Thank you for understanding,<br />
+Anselm Admins</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2014-07-16 13:11:34</td>
+<td align="left"><strong>Login1 downtime</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+there's an upgrade planned on Thursday, 17th July from 13:00 till 16:00 CEST. Please, take in mind that login1.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br />
+<br />
+Thank you for understanding,<br />
+Anselm Admins</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2014-06-18 10:51:56</td>
+<td align="left"><strong>Login2 downtime</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+there's an upgrade planned on Wednesday, 18th June from 11:20 till 14:20 CEST. Please, take in mind that login2.anselm.it4i.cz will be unavailable at the given time-frame. We are sorry for the inconvenience.<br />
+<br />
+Thank you for understanding,<br />
+Anselm Admins</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2014-05-22 00:00:00</td>
+<td align="left"><strong>Outage</strong>
+<p></p>
+<p>Dear Anselm users.<br />
+<br />
+As of today (20140523 10:45) we had an unmanaged outage of a few nodes. Affected nodes were cn[117-126,193-195].<br />
+<br />
+Sorry for the inconveniences,<br />
+Anselm admins</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2014-04-11 11:30:00</td>
+<td align="left"><strong>Heartbleed bug</strong>
+<p></p>
+<p>Dear users of the Anselm cluster,<br />
+<br />
+A serious bug in the OpenSSL library, known as the &quot;Heartbleed bug&quot; has been recently discovered. <span>We would like to ensure you that IT4I has taken all necessary steps to fix the OpenSSL library on all the systems.</span><br />
+The bug in OpenSSL library affected many sites worldwide for nearly two years. At this moment, there is no evidence that any abuse of data took place at IT4I.<br />
+In order to ensure the security and integrity of IT4I systems, all users will be issued new login credentials, including password and ssh keys.<br />
+<span>For more informations about the Heartbleed bug, please see</span><a href="https://docs.it4i.cz/heartbleed-bug" class="uri" class="moz-txt-link-freetext external-link">https://docs.it4i.cz/heartbleed-bug</a><br />
+<br />
+Thank you for your understanding.<br />
+IT4Innovations team</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2014-04-02 13:05:00</td>
+<td align="left"><strong>Scheduler is Down</strong>
+<p></p>
+<p>We are sorry for the current scheduler issues which are caused by an inconsistency of the internal PBS database. Thus it's not possible to interact with the scheduler now. In addition, some jobs may be affected and some job outputs may not be retrieved at this moment.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2014-03-26 15:50:00</td>
+<td align="left"><strong>Temporary Scratch Mount on Login1</strong>
+<p></p>
+<p>Because of the Lustre issues (mentioned in previous announcements) there's a temporary mount point for Scratch filesystem on login1 node. Please, follow this path to access your data:</p>
+<p>/scratch_nfs/</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2014-03-26 13:10:00</td>
+<td align="left"><strong>Both Login Nodes Inaccessible</strong>
+<p></p>
+<p>We are sorry for the inaccessibility of both login nodes. We are co-operating with our supplier and trying hard to solve this problem as soon as possible.</p>
+<p>Thank you for understanding.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2014-03-25 22:05:00</td>
+<td align="left"><strong>Login1(!) Not Responding</strong>
+<p></p>
+<p>Currently, if you're having trouble while accessing Anselm, please use address login2.anselm.it4i.cz instead of anselm.it4i.cz. There's a Lustre issue with the login1 node, which causes it to not respond.</p>
+<p>We'll let you know by MOTD when login1 comes back online.</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2013-12-03 00:00:00</td>
+<td align="left"><strong>Planned Downtime</strong>
+<p></p>
+<p>On 17th December 08:00 to 18:00 CET Anselm will be down for maintenance. Power supply upgrade will take place, as well as system maintenance and software updates.<br />
+<br />
+Prior to the period:<br />
+- Jobs will be scheduled for running with a respect to the downtime.<br />
+<br />
+During the period:<br />
+- No Anselm HPC service will be available.<br />
+- Following web applications will not be accessibleRequest Tracker, Anselm cluster documentation, Anselm Allocation.<br />
+- Submitting tickets through the e-mail address <script type="text/javascript">
+<!--
+h='';a='&#64;';n='&#x73;&#x75;&#112;&#112;&#x6f;&#114;&#116;&#x25;&#x35;&#66;&#x61;&#116;&#x25;&#x35;&#68;&#x69;&#116;&#52;&#x69;&#46;&#x63;&#122;';e=n+a+h;
+document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+'&#x73;&#x75;&#112;&#112;&#x6f;&#114;&#116;&#x5b;&#x61;&#116;&#x5d;&#x69;&#116;&#52;&#x69;&#46;&#x63;&#122;'+'</'+'a'+'>');
+// -->
+</script><noscript>&#x73;&#x75;&#112;&#112;&#x6f;&#114;&#116;&#x5b;&#x61;&#116;&#x5d;&#x69;&#116;&#52;&#x69;&#46;&#x63;&#122;&#32;&#40;&#x73;&#x75;&#112;&#112;&#x6f;&#114;&#116;&#x25;&#x35;&#66;&#x61;&#116;&#x25;&#x35;&#68;&#x69;&#116;&#52;&#x69;&#46;&#x63;&#122;&#32;&#x61;&#116;&#32;&#x29;</noscript> will be delayed.<br />
+<br />
+After the period:<br />
+- All service will be brought back to normal.<br />
+- Jobs in a 'Q' state will be scheduled for running.<br />
+<br />
+We are sorry for the inconvenience.</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2013-10-14 00:00:00</td>
+<td align="left"><strong>Cooling system unstable</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+there was an unplanned downtime due to severe issues with the cold doors today. We are trying hard to bring all services up. We assume that we will finish the maintenance at about 13:30 CEST.<br />
+<br />
+Thank you for understanding.<br />
+<br />
+Sincerely yours,<br />
+Anselm admins</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2013-09-17 15:50:00</td>
+<td align="left"><strong>A Fair Amount of Nodes Down</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+We had an outage on the Anselm Cluster. A fair amount of the nodes was unavailable to production.<br />
+<br />
+Consider terminated job resubmission.<br />
+<br />
+We are sorry for the troubles,<br />
+Anselm admins</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2013-08-23 15:25:00</td>
+<td align="left"><strong>Infiniband Maintenance Window</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+We would like to inform you about a planned Infiniband maintenance window, on Wednesday, 28th August from 09:00 till 16:30 CEST.<br />
+No Anselm service will be available during this outage.<br />
+<br />
+New batch jobs will not be scheduled for running during this time. Consider altering the job walltime, to achieve job execution prior to the downtime (See Job Submission in the Anselm Documentation).<br />
+<br />
+Sincerely yours,<br />
+Anselm Admins</p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2013-08-14 17:10:00</td>
+<td align="left"><strong>Planned Upgrade / Scheduler Downtime</strong>
+<p></p>
+<p>Dear Anselm users,<br />
+<br />
+there's an upgrade planned on Thursday, 15th August from 18:00 till 22:00 CEST. Please, take in mind that PBS scheduler won't accept your jobs at the given timeframe. We are sorry for the inconvenience.<br />
+<br />
+Thank you for understanding,<br />
+Anselm Admins</p>
+</td>
+</tr>
+<tr class="odd">
+<td align="left">2013-07-16 13:45:00</td>
+<td align="left"><strong>Anselm Cluster Upgrade - July 23rd</strong>
+<p></p>
+<p>Dear Anselm users.<br />
+<br />
+We would like to inform you that Anselm cluster will be unavailable due to upgrades on Tuesday, July 23rd from 07:00 to 20:00 CEST.<br />
+<br />
+Sorry for the inconvenience,<br />
+Anselm admins<br />
+<br />
+--<br />
+<br />
+Anselm cluster documentation can be found at:<br />
+<a href="http://support.it4i.cz/docs/anselm-cluster-documentation/" class="uri" class="external-link">http://support.it4i.cz/docs/anselm-cluster-documentation/</a></p>
+</td>
+</tr>
+<tr class="even">
+<td align="left">2013-06-27 09:35:00</td>
+<td align="left"><strong>SSH Password Authentication</strong>
+<p></p>
+<p>Dear Anselm users.<br />
+<br />
+If you are experiencing some troubles when using SSH PasswordAuthentication on the client side, please switch to PubkeyAuthentication instead.<br />
+<br />
+We are trying hard to resolve this issue.<br />
+<br />
+Sincerely yours,<br />
+Anselm admins</p>
+</td>
+</tr>
+</tbody>
+</table>
+
diff --git a/docs.it4i.cz/whats-new/news-feed.1.md b/docs.it4i.cz/whats-new/news-feed.1.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed.1.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/RSS b/docs.it4i.cz/whats-new/news-feed/RSS
new file mode 100644
index 0000000000000000000000000000000000000000..b916305a6e1364e928ad7d3b7dedcc8c0e31c77f
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/RSS
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/">
+
+
+
+<channel rdf:about="https://docs.it4i.cz/whats-new/news-feed/RSS">
+  <title>News</title>
+  <link>https://docs.it4i.cz/whats-new/news-feed</link>
+  <description></description>
+  <image rdf:resource="https://docs.it4i.cz/logo.png"/>
+
+  <items>
+    <rdf:Seq>
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/vampir-installed"/>
+      
+      
+        <rdf:li rdf:resource="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b"/>
+      
+    </rdf:Seq>
+  </items>
+
+</channel>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon">
+    <title>Issue with Intel MPI 4.1.1 on Salomon</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>There is an issue with running MPI programs compiled with Intel MPI 4.1.1 on Salomon (part of module intel/2014.06), execution on accelerated nodes will fail with message:</p>
+<p>ofa-v2-scif0: could not accept DAPL connection request: DAT_INTERNAL_ERROR()</p>
+<p>as a workaround, set environment variable<span> I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u or recompile your applications with a newer version of Intel MPI.</span></p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-04-29T12:23:10Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0">
+    <title>Allinea Forge 6.0</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Allinea Forge 6.0 is now installed both on Salomon and Anselm. Among the new features is support for CUDA 7.5</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-04-29T12:25:10Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs">
+    <title>New method to execute parallel MATLAB jobs</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have implemented a new way to run parallel MATLAB jobs. Unlike the previously documented method, it does not submit a separate new job to run the workers, all is done within a single job. Read about it here: <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6" class="external-link">https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6</a></p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-22T22:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon">
+    <title>Intel VTune Amplifier support for Xeon Phi on Salomon</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have included support for VTune Amplifier XE 2016 to the operating system of Xeon Phi accelerators on Salomon. You can now use VTune to analyse your native or offload MIC applications.</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-06-29T22:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/vampir-installed">
+    <title>Vampir installed</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/vampir-installed</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-07-07T22:00:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+  <item rdf:about="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b">
+    <title>MATLAB 2015b</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed/matlab-2015b</link>
+    <description></description>
+    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+        <![CDATA[
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+          
+        ]]>
+    </content:encoded>
+    <dc:publisher>No publisher</dc:publisher>
+    
+    <dc:rights></dc:rights>
+    <dc:date>2016-07-13T13:40:00Z</dc:date>
+    <dc:type>News Item</dc:type>
+  </item>
+
+
+
+</rdf:RDF>
diff --git a/docs.it4i.cz/whats-new/news-feed/added-basic-documentation-for-intel-advisor-and-intel-inspector.md b/docs.it4i.cz/whats-new/news-feed/added-basic-documentation-for-intel-advisor-and-intel-inspector.md
new file mode 100644
index 0000000000000000000000000000000000000000..cb214f9595f0c4a590e7e30b6c1ca61646576647
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/added-basic-documentation-for-intel-advisor-and-intel-inspector.md
@@ -0,0 +1,106 @@
+Intel Parallel Studio 
+=====================
+
+
+
+  
+
+The Salomon cluster provides following elements of the Intel Parallel
+Studio XE
+
+  Intel Parallel Studio XE
+  -------------------------------------------------
+  Intel Compilers
+  Intel Debugger
+  Intel MKL Library
+  Intel Integrated Performance Primitives Library
+  Intel Threading Building Blocks Library
+  Intel Trace Analyzer and Collector
+  Intel Advisor
+  Intel Inspector
+
+Intel compilers
+---------------
+
+The Intel compilers version 131.3 are available, via module
+iccifort/2013.5.192-GCC-4.8.3. The compilers include the icc C and C++
+compiler and the ifort fortran 77/90/95 compiler.
+
+    $ module load intel
+    $ icc -v
+    $ ifort -v
+
+Read more at the [Intel
+Compilers](https://docs.it4i.cz/salomon/software/intel-suite/intel-compilers)
+page.
+
+Intel debugger
+--------------
+
+IDB is no longer available since Parallel Studio 2015.
+
+ The intel debugger version 13.0 is available, via module intel. The
+debugger works for applications compiled with C and C++ compiler and the
+ifort fortran 77/90/95 compiler. The debugger provides java GUI
+environment. Use [X
+display](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)
+for running the GUI.
+
+    $ module load intel
+    $ idb
+
+Read more at the [Intel
+Debugger](https://docs.it4i.cz/salomon/software/intel-suite/intel-debugger)
+page.
+
+Intel Math Kernel Library
+-------------------------
+
+Intel Math Kernel Library (Intel MKL) is a library of math kernel
+subroutines, extensively threaded and optimized for maximum performance.
+Intel MKL unites and provides these basic componentsBLAS, LAPACK,
+ScaLapack, PARDISO, FFT, VML, VSL, Data fitting, Feast Eigensolver and
+many more.
+
+    $ module load imkl
+
+Read more at the [Intel
+MKL](https://docs.it4i.cz/salomon/software/intel-suite/intel-mkl)
+page.
+
+Intel Integrated Performance Primitives
+---------------------------------------
+
+Intel Integrated Performance Primitives, version 7.1.1, compiled for AVX
+is available, via module ipp. The IPP is a library of highly optimized
+algorithmic building blocks for media and data applications. This
+includes signal, image and frame processing algorithms, such as FFT,
+FIR, Convolution, Optical Flow, Hough transform, Sum, MinMax and many
+more.
+
+    $ module load ipp
+
+Read more at the [Intel
+IPP](https://docs.it4i.cz/salomon/software/intel-suite/intel-integrated-performance-primitives)
+page.
+
+Intel Threading Building Blocks
+-------------------------------
+
+Intel Threading Building Blocks (Intel TBB) is a library that supports
+scalable parallel programming using standard ISO C++ code. It does not
+require special languages or compilers. It is designed to promote
+scalable data parallel programming. Additionally, it fully supports
+nested parallelism, so you can build larger parallel components from
+smaller parallel components. To use the library, you specify tasks, not
+threads, and let the library map tasks onto threads in an efficient
+manner.
+
+    $ module load tbb
+
+Read more at the [Intel
+TBB](https://docs.it4i.cz/salomon/software/intel-suite/intel-tbb)
+page.
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/allinea-forge-5-1-installed-on-anselm.md b/docs.it4i.cz/whats-new/news-feed/allinea-forge-5-1-installed-on-anselm.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/allinea-forge-5-1-installed-on-anselm.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0.md b/docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/allinea-forge-documentation-updated.md b/docs.it4i.cz/whats-new/news-feed/allinea-forge-documentation-updated.md
new file mode 100644
index 0000000000000000000000000000000000000000..919bf0a12caa5a7423881e0060155ab9566107bb
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/allinea-forge-documentation-updated.md
@@ -0,0 +1,228 @@
+Allinea Forge (DDT,MAP) 
+=======================
+
+
+
+  
+
+Allinea Forge consist of two tools - debugger DDT and profiler MAP.
+
+Allinea DDT, is a commercial debugger primarily for debugging parallel
+MPI or OpenMP programs. It also has a support for GPU (CUDA) and Intel
+Xeon Phi accelerators. DDT provides all the standard debugging features
+(stack trace, breakpoints, watches, view variables, threads etc.) for
+every thread running as part of your program, or for every process -
+even if these processes are distributed across a cluster using an MPI
+implementation.
+
+Allinea MAP is a profiler for C/C++/Fortran HPC codes. It is designed
+for profiling parallel code, which uses pthreads, OpenMP or MPI.
+
+License and Limitations for the clusters Users
+----------------------------------------------
+
+On the clusters users can debug OpenMP or MPI code that runs up to 64
+parallel processes. In case of debugging GPU or Xeon Phi accelerated
+codes the limit is 8 accelerators. These limitation means that:
+
+-   1 user can debug up 64 processes, or
+-   32 users can debug 2 processes, etc.
+
+In case of debugging on accelerators:
+
+-   1 user can debug on up to 8 accelerators, or 
+-   8 users can debug on single accelerator. 
+
+Compiling Code to run with Forge
+--------------------------------
+
+### Modules
+
+Load all necessary modules to compile the code. For example: 
+
+    $ module load intel
+    $ module load impi   ... or ... module load OpenMPI 
+
+Load the Allinea DDT module:
+
+    $ module load Forge
+
+Compile the code:
+
+``` 
+$ mpicc -g -O0 -o test_debug test.c
+
+$ mpif90 -g -O0 -o test_debug test.f
+```
+
+### Compiler flags
+
+Before debugging, you need to compile your code with theses flags:
+
+**-g** Generates extra debugging information usable by GDB. -g3
+includes even more debugging information. This option is available for
+GNU and INTEL C/C++ and Fortran compilers.
+
+**-O0** Suppress all optimizations.
+
+ 
+
+Direct starting a Job with Forge
+--------------------------------
+
+Be sure to log in with an [<span class="internal-link">X window
+forwarding</span>
+enabled](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc).
+This could mean using the -X in the ssh 
+
+    $ ssh -X username@clustername.it4i.cz 
+
+Other options is to access login node using VNC. Please see the detailed
+information on <span class="internal-link">[how to <span
+class="internal-link">use graphic user interface on the
+clusters</span>](https://docs.it4i.cz/get-started-with-it4innovations/accessing-the-clusters/graphical-user-interface/x-window-system/x-window-and-vnc)</span><span
+class="internal-link"></span>.
+
+From the login node an interactive session **with X windows forwarding**
+(-X option) can be started by following command: 
+
+    $ qsub -I -X -A NONE-0-0 -q qexp -lselect=1:ncpus=24:mpiprocs=24,walltime=01:00:00 
+
+Then launch the debugger with the ddt command followed by the name of
+the executable to debug:
+
+    $ ddt test_debug
+
+Forge now has common GUI for both DDT and MAP. In interactive mode, you
+can launch Forge using <span class="monospace">forge, ddt or map,
+</span>the latter two will just launch forge and swith to the respective
+tab in the common GUI.
+
+A<span style="text-alignstart; "> submission window that appears have
+a prefilled path to the executable to debug. You can select the number
+of MPI processors and/or OpenMP threads on which to run and press run.
+Command line arguments to a program can be entered to the</span>
+"Arguments<span class="Apple-converted-space">" </span><span
+style="text-alignstart; ">box.</span>
+
+[![](https://docs.it4i.cz/salomon/software/debuggers/ddt1.png){.image-inline
+width="451"
+height="513"}](https://docs.it4i.cz/salomon/software/debuggers/ddt1.png) 
+
+To start the debugging directly without the submission window, user can
+specify the debugging and execution parameters from the command line.
+For example the number of MPI processes is set by option "-np 4".
+Skipping the dialog is done by "-start" option. To see the list of the
+"ddt" command line parameters, run "ddt --help".  
+
+    ddt -start -np 4 ./hello_debug_impi
+
+All of the above text also applies for MAP, just replace ddt command
+with map.
+
+Reverse connect
+---------------
+
+Forge now provides a new convenient mode of operation, called Reverse
+connect. Instead of launching a job from the GUI, the process is
+reserved - DDT/MAP is launched as a server in the job which then
+connects to a running instance of your GUI.
+
+To use Reverse connect, use a jobscript that you would normally use to
+launch your application, just prepend ddt/map --connect to your
+application:
+
+    map --connect mpirun -np 24 ./mpi-test
+    ddt --connect mpirun -np 24 ./mpi-test
+
+Launch Forge GUI on login node and submit the job using qsub. When the
+job starts running, Forge will ask you to accept the connection:
+
+![Allinea Reverse
+Connect](https://docs.it4i.cz/salomon/software/debuggers/Snmekobrazovky20160211v14.27.45.png/@@images/3550e4ae-2eab-4571-8387-11a112dd6ca8.png "Allinea Reverse Connect")
+
+After accepting the request, you can start remote profiling/debugging.
+
+Xeon Phi
+--------
+
+Forge allows debugging and profiling of both offload and native mode
+Xeon Phi programs.
+
+### Offload mode
+
+It is recommended to set the following environment values on the offload
+host:
+
+    export MYO_WATCHDOG_MONITOR=-1        # To make sure the host process isn't killed when we enter a debugging session
+    export AMPLXE_COI_DEBUG_SUPPORT=true  # To make sure that debugging symbols are accessible on the host and the card
+    unset OFFLOAD_MAIN                    # To make sure allinea DDT can attach to offloaded codes
+
+Then use one of the above mentioned methods to launch Forge. (Reverse
+connect also works.)
+
+### Native mode
+
+Native mode programs can be profiled/debugged using the remote launch
+feature. First, you need to create a script that will setup the
+environment on the Phi card. An example:
+
+    #!/bin/bash
+    # adjust PATH and LD_LIBRARY_PATH according to the toolchain/libraries your app is using.
+    export PATH=/apps/all/impi/5.0.3.048-iccifort-2015.3.187/mic/bin:$PATH
+    export LD_LIBRARY_PATH=/apps/all/impi/5.0.3.048-iccifort-2015.3.187/mic/lib:/apps/all/ifort/2015.3.187/lib/mic:/apps/all/icc/2015.3.187/lib/mic:$LD_LIBRARY_PATH
+    export MIC_OMP_NUM_THREADS=60
+    export MYO_WATCHDOG_MONITOR=-1
+    export AMPLXE_COI_DEBUG_SUPPORT=true
+    unset OFFLOAD_MAIN
+    export I_MPI_MIC=1
+
+Save the script in eg.<span class="monospace"> ~/remote-mic.sh.
+</span>Now, start an interactive graphical session on a node with
+accelerator:
+
+    $ qsub ‐IX ‐q qexp ‐l select=1:ncpus=24:accelerator=True
+
+Launch Forge :
+
+    $ module load Forge
+    $ forge&
+
+Now click on the remote launch drop-down list, select "Configure..." and
+Add a new remote connection with the following parameters:
+
+
+Connection namemic0
+
+Hostnamemic0
+
+Remote Installation Directory: /apps/all/Forge/5.1-43967/
+
+Remote script~/remote-mic.sh
+
+You can click Test Remote Launch to verify the configuration. After you
+save the remote launch configuration and select it in the dropdown list,
+you can use the Run button in the main windows to remotely launch your
+program on mic0.
+
+Documentation
+-------------
+
+Users can find original User Guide after loading the Forge module: 
+
+    $EBROOTFORGE/doc/userguide-forge.pdf
+
+ 
+
+ 
+
+ [1] Discipline, Magic, Inspiration and ScienceBest Practice
+Debugging with Allinea DDT, Workshop conducted at LLNL by Allinea on May
+10, 2013,
+[link](https://computing.llnl.gov/tutorials/allineaDDT/index.html)
+
+ 
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/allinea-tools-updated-to-6-0.6.md b/docs.it4i.cz/whats-new/news-feed/allinea-tools-updated-to-6-0.6.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/allinea-tools-updated-to-6-0.6.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/anselm-downtime-has-been-extended-to-feb-26th.md b/docs.it4i.cz/whats-new/news-feed/anselm-downtime-has-been-extended-to-feb-26th.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/anselm-downtime-has-been-extended-to-feb-26th.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/ansys-17-0-installed.md b/docs.it4i.cz/whats-new/news-feed/ansys-17-0-installed.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/ansys-17-0-installed.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/atom.xml b/docs.it4i.cz/whats-new/news-feed/atom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94052aa3a23c8d8d78702e3bc64971314b0423b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/atom.xml
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<?xml-stylesheet href="atom.css" type="text/css"?>
+<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs">
+  <link rel="self" href="https://docs.it4i.cz/whats-new/news-feed/atom.xml" type="application/atom+xml"/>
+  <title type="html">News</title>
+  
+  <updated>2016-03-08T11:55:54+02:00</updated>
+  <link href="atom.xml" rel="alternate" type="text/html" xml:base="https://docs.it4i.cz/whats-new/news-feed/"/>
+  <id>urn:syndication:3dd5377493234722aee6755aff88a599</id>
+  <logo>https://docs.it4i.cz/logo.png</logo>
+  <icon>https://docs.it4i.cz/favicon.ico</icon>
+  <generator uri="http://www.plone.org" version="1.0">plone</generator>
+  
+  
+
+  
+    <entry>
+      <title>Issue with Intel MPI 4.1.1 on Salomon</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon"/>
+      
+      <id>urn:syndication:742cfa6083b74022be172b70d93adc4f</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>There is an issue with running MPI programs compiled with Intel MPI 4.1.1 on Salomon (part of module intel/2014.06), execution on accelerated nodes will fail with message:</p>
+<p>ofa-v2-scif0: could not accept DAPL connection request: DAT_INTERNAL_ERROR()</p>
+<p>as a workaround, set environment variable<span> I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u or recompile your applications with a newer version of Intel MPI.</span></p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-04-29T14:23:10+02:00</published>
+
+      <updated>2016-04-29T14:23:10+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Allinea Forge 6.0</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0"/>
+      
+      <id>urn:syndication:f34e1e448c954a5993542f187f3fd03f</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Allinea Forge 6.0 is now installed both on Salomon and Anselm. Among the new features is support for CUDA 7.5</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-04-29T14:25:10+02:00</published>
+
+      <updated>2016-04-29T14:25:10+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>New method to execute parallel MATLAB jobs</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs"/>
+      
+      <id>urn:syndication:39b4ace03efd4d8d89e7a27a3929f809</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have implemented a new way to run parallel MATLAB jobs. Unlike the previously documented method, it does not submit a separate new job to run the workers, all is done within a single job. Read about it here: <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6" class="external-link">https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6</a></p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-06-23T00:00:00+02:00</published>
+
+      <updated>2016-06-23T10:57:53+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Intel VTune Amplifier support for Xeon Phi on Salomon</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon"/>
+      
+      <id>urn:syndication:b27e206b86fd4e3b89302031cb76654e</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have included support for VTune Amplifier XE 2016 to the operating system of Xeon Phi accelerators on Salomon. You can now use VTune to analyse your native or offload MIC applications.</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-06-30T00:00:00+02:00</published>
+
+      <updated>2016-06-30T13:25:27+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>Vampir installed</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/vampir-installed"/>
+      
+      <id>urn:syndication:0925645129e9409bb0e1c8d98359827d</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-08T00:00:00+02:00</published>
+
+      <updated>2016-07-08T13:00:00+02:00</updated>
+
+
+    </entry>
+
+  
+  
+    <entry>
+      <title>MATLAB 2015b</title>
+      <link rel="alternate" type="text/html" href="https://docs.it4i.cz/whats-new/news-feed/matlab-2015b"/>
+      
+      <id>urn:syndication:9b996ea95ba04f218d1eff951249ac50</id>
+      
+      <content type="xhtml" xml:base="https://docs.it4i.cz/whats-new/news-feed" xml:lang="cs" xml:space="preserve">
+        <div xmlns="http://www.w3.org/1999/xhtml">
+        
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+
+        </div>
+      </content>
+
+      <author>
+        
+        <name>sta545</name>
+        
+      </author>
+
+      <published>2016-07-13T15:40:00+02:00</published>
+
+      <updated>2016-07-13T15:38:48+02:00</updated>
+
+
+    </entry>
+
+  
+
+</feed>
diff --git a/docs.it4i.cz/whats-new/news-feed/capacity-computing-updated-for-salomon b/docs.it4i.cz/whats-new/news-feed/capacity-computing-updated-for-salomon
new file mode 100644
index 0000000000000000000000000000000000000000..9ea4db6e7e6ec6c0b86bef89fbe69933957d9016
Binary files /dev/null and b/docs.it4i.cz/whats-new/news-feed/capacity-computing-updated-for-salomon differ
diff --git a/docs.it4i.cz/whats-new/news-feed/cuda-7-5-is-now-installed-on-anselm.md b/docs.it4i.cz/whats-new/news-feed/cuda-7-5-is-now-installed-on-anselm.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/cuda-7-5-is-now-installed-on-anselm.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/intel-parallel-studio-2016-update-3.md b/docs.it4i.cz/whats-new/news-feed/intel-parallel-studio-2016-update-3.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/intel-parallel-studio-2016-update-3.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon.md b/docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/intel-vtune-is-working.md b/docs.it4i.cz/whats-new/news-feed/intel-vtune-is-working.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/intel-vtune-is-working.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon.md b/docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/matlab-2015b.md b/docs.it4i.cz/whats-new/news-feed/matlab-2015b.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/matlab-2015b.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/mono-4-2-2-and-mpi-net-1-2-on-salomon.md b/docs.it4i.cz/whats-new/news-feed/mono-4-2-2-and-mpi-net-1-2-on-salomon.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/mono-4-2-2-and-mpi-net-1-2-on-salomon.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/new-bioinformatic-tools-installed-fastqc-0-11-3-gatk-3-5-java-1-7-0_79-picard-2-1-0-samtools-1-3-foss-2015g-snpeff-4-1_g-trimmomatic-0-35-java-1-7.0_79.md b/docs.it4i.cz/whats-new/news-feed/new-bioinformatic-tools-installed-fastqc-0-11-3-gatk-3-5-java-1-7-0_79-picard-2-1-0-samtools-1-3-foss-2015g-snpeff-4-1_g-trimmomatic-0-35-java-1-7.0_79.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/new-bioinformatic-tools-installed-fastqc-0-11-3-gatk-3-5-java-1-7-0_79-picard-2-1-0-samtools-1-3-foss-2015g-snpeff-4-1_g-trimmomatic-0-35-java-1-7.0_79.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs.md b/docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/new-modules-for-parallel-programming-in-modern-fortran-course.md b/docs.it4i.cz/whats-new/news-feed/new-modules-for-parallel-programming-in-modern-fortran-course.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/new-modules-for-parallel-programming-in-modern-fortran-course.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/new-versions-of-allinea-forge-and-performance-version.md b/docs.it4i.cz/whats-new/news-feed/new-versions-of-allinea-forge-and-performance-version.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/new-versions-of-allinea-forge-and-performance-version.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/octave-updated-to-4-0-1-on-anselm.md b/docs.it4i.cz/whats-new/news-feed/octave-updated-to-4-0-1-on-anselm.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/octave-updated-to-4-0-1-on-anselm.md
@@ -0,0 +1 @@
+
diff --git a/docs.it4i.cz/whats-new/news-feed/rss.xml b/docs.it4i.cz/whats-new/news-feed/rss.xml
new file mode 100644
index 0000000000000000000000000000000000000000..44f99e9ca1e1aeb25aef6d490e4da6e436a8f6a9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/rss.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
+  <channel>
+    <atom:link rel="self" type="application/rss+xml" href="https://docs.it4i.cz/whats-new/news-feed/rss.xml"/>
+    <title>News</title>
+    <link>https://docs.it4i.cz/whats-new/news-feed</link>
+    <description></description>
+
+    <language>cs</language>
+    <copyright></copyright>
+    <generator>Plone</generator>
+    <item>
+      <title>Issue with Intel MPI 4.1.1 on Salomon</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>There is an issue with running MPI programs compiled with Intel MPI 4.1.1 on Salomon (part of module intel/2014.06), execution on accelerated nodes will fail with message:</p>
+<p>ofa-v2-scif0: could not accept DAPL connection request: DAT_INTERNAL_ERROR()</p>
+<p>as a workaround, set environment variable<span> I_MPI_DAPL_PROVIDER_LIST=ofa-v2-mlx4_0-1u or recompile your applications with a newer version of Intel MPI.</span></p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 29 Apr 2016 14:23:10 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/issue-with-intel-mpi-4-1-1-on-salomon</guid>
+    </item>
+    <item>
+      <title>Allinea Forge 6.0</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Allinea Forge 6.0 is now installed both on Salomon and Anselm. Among the new features is support for CUDA 7.5</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 29 Apr 2016 14:25:10 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/allinea-forge-6.0</guid>
+    </item>
+    <item>
+      <title>New method to execute parallel MATLAB jobs</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have implemented a new way to run parallel MATLAB jobs. Unlike the previously documented method, it does not submit a separate new job to run the workers, all is done within a single job. Read about it here: <a target="_self" title="" href="https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6" class="external-link">https://docs.it4i.cz/salomon/software/numerical-languages/matlab#section-6</a></p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Thu, 23 Jun 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/new-method-to-execute-parallel-matlab-jobs</guid>
+    </item>
+    <item>
+      <title>Intel VTune Amplifier support for Xeon Phi on Salomon</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>We have included support for VTune Amplifier XE 2016 to the operating system of Xeon Phi accelerators on Salomon. You can now use VTune to analyse your native or offload MIC applications.</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Thu, 30 Jun 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/intel-vtune-amplifier-support-for-xeon-phi-on-salomon</guid>
+    </item>
+    <item>
+      <title>Vampir installed</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>Vampir 8.5.0, trace analysis and visualisation tool has been installed on both Salomon and Anselm.</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Fri, 08 Jul 2016 00:00:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/vampir-installed</guid>
+    </item>
+    <item>
+      <title>MATLAB 2015b</title>
+      <description></description>
+      <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/">
+          <![CDATA[
+          
+   
+
+        
+
+        
+
+        <div id="parent-fieldname-text" class="plain">
+            <p>MATLAB 2015b has been installed on Anselm and Salomon. Modules are named MATLAB/2015b-COM and MATLAB/2015b-EDU. Release notes: http://www.mathworks.com/help/matlab/release-notes.html#R2015b</p>
+        </div>
+    
+
+          
+          ]]>
+      </content:encoded>
+      <pubDate>Wed, 13 Jul 2016 15:40:00 +0200</pubDate>
+      <guid>https://docs.it4i.cz/whats-new/news-feed/matlab-2015b</guid>
+    </item>
+  </channel>
+</rss>
\ No newline at end of file
diff --git a/docs.it4i.cz/whats-new/news-feed/salomon-pbs-changes.md b/docs.it4i.cz/whats-new/news-feed/salomon-pbs-changes.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/salomon-pbs-changes.md
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/docs.it4i.cz/whats-new/news-feed/vampir-installed.md b/docs.it4i.cz/whats-new/news-feed/vampir-installed.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f2ff2d6cc8f257ffcade7ead1ca4042c0e884b9
--- /dev/null
+++ b/docs.it4i.cz/whats-new/news-feed/vampir-installed.md
@@ -0,0 +1,5 @@
+
+
+
+
+