Commit 1fd2cc4ab0782804cd79986b17b498a09ffbe82f

Authored by Imanol-Mikel Barba Sabariego
1 parent 6c1aa719

git-svn-id: svn://imanolbarba.net/PAD@36 c2ee353e-ed0d-4329-bf56-03aec153487f

Showing 142 changed files with 4311 additions and 2192 deletions
JChatClient/bin/client
No preview for this file type
JChatClient/doc/html/_socket_8cpp.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/Socket.cpp</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -90,20 +90,20 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
90 90 </div><!--header-->
91 91 <div class="contents">
92 92  
93   -<p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>.
  93 +<p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>.
94 94 <a href="#details">Más...</a></p>
95 95 <div class="textblock"><code>#include &quot;<a class="el" href="_socket_8h_source.html">Socket.h</a>&quot;</code><br/>
96 96 </div><a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2>
97   -<div class="textblock"><p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. </p>
  97 +<div class="textblock"><p>Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. </p>
98 98 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
99 99 <dl class="section date"><dt>Fecha</dt><dd>13/06/2013</dd></dl>
100   -<p>En este fichero se implementan los métodos de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> definidos en <a class="el" href="_socket_8h.html" title="Header de la clase Socket.">Socket.h</a> </p>
  100 +<p>En este fichero se implementan los métodos de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> definidos en <a class="el" href="_socket_8h.html" title="Header de la clase Socket. ">Socket.h</a> </p>
101 101 </div></div><!-- contents -->
102 102 <!-- start footer part -->
103 103 <hr class="footer"/><address class="footer"><small>
104   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  104 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
105 105 <img class="footer" src="doxygen.png" alt="doxygen"/>
106   -</a> 1.8.3.1
  106 +</a> 1.8.4
107 107 </small></address>
108 108 </body>
109 109 </html>
... ...
JChatClient/doc/html/_socket_8h.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,7 +92,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
92 92 </div><!--header-->
93 93 <div class="contents">
94 94  
95   -<p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>.
  95 +<p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>.
96 96 <a href="#details">Más...</a></p>
97 97 <div class="textblock"><code>#include &lt;iostream&gt;</code><br/>
98 98 <code>#include &lt;sstream&gt;</code><br/>
... ... @@ -116,16 +116,16 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
116 116 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
117 117 </table>
118 118 <a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2>
119   -<div class="textblock"><p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. </p>
  119 +<div class="textblock"><p>Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. </p>
120 120 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
121 121 <dl class="section date"><dt>Fecha</dt><dd>12/06/2013</dd></dl>
122   -<p>En este fichero se define la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>, que es la clase que se abstraer toda la comunicación con sockets al programador </p>
  122 +<p>En este fichero se define la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>, que es la clase que se abstraer toda la comunicación con sockets al programador </p>
123 123 </div></div><!-- contents -->
124 124 <!-- start footer part -->
125 125 <hr class="footer"/><address class="footer"><small>
126   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  126 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
127 127 <img class="footer" src="doxygen.png" alt="doxygen"/>
128   -</a> 1.8.3.1
  128 +</a> 1.8.4
129 129 </small></address>
130 130 </body>
131 131 </html>
... ...
JChatClient/doc/html/_socket_8h_source.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/Socket.h</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -95,7 +95,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
95 95 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor"></span></div>
96 96 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
97 97 <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
98   -<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets.">SocketException.h</a>&quot;</span></div>
  98 +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets. ">SocketException.h</a>&quot;</span></div>
99 99 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &lt;sys/socket.h&gt;</span></div>
100 100 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &lt;sys/types.h&gt;</span></div>
101 101 <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &lt;netinet/in.h&gt;</span></div>
... ... @@ -109,11 +109,11 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
109 109 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="keyword">using namespace </span>std;</div>
110 110 <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div>
111 111 <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
112   -<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="class_socket.html"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket.html" title="Clase del socket.">Socket</a></div>
  112 +<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="class_socket.html"> 31</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a></div>
113 113 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div>
114 114 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keyword">private</span>:</div>
115 115 <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
116   -<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1"> 36</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1" title="Descriptor del fichero del socket.">sock</a>;</div>
  116 +<div class="line"><a name="l00036"></a><span class="lineno"><a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1"> 36</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_socket.html#a231ddf6e338a86640e26808b83efeaa1" title="Descriptor del fichero del socket. ">sock</a>;</div>
117 117 <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
118 118 <div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="class_socket.html#ae4d80b83c327ed835b5f4575a499a400"> 39</a></span>&#160; <span class="keyword">struct </span>sockaddr_in sockAddr;</div>
119 119 <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
... ... @@ -123,7 +123,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
123 123 <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
124 124 <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">public</span>:</div>
125 125 <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
126   -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a>();</div>
  126 +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a>();</div>
127 127 <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
128 128 <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> Create();</div>
129 129 <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
... ... @@ -131,7 +131,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
131 131 <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
132 132 <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">void</span> Listen(<span class="keywordtype">int</span> backlog);</div>
133 133 <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
134   -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> Accept(<a class="code" href="class_socket.html" title="Clase del socket.">Socket</a> &amp;clientSock);</div>
  134 +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> Accept(<a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a> &amp;clientSock);</div>
135 135 <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
136 136 <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">void</span> Connect(<span class="keywordtype">string</span> hostname, <span class="keywordtype">int</span> port);</div>
137 137 <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
... ... @@ -139,17 +139,17 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
139 139 <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
140 140 <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">int</span> getSock();</div>
141 141 <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
142   -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a>&amp; operator &lt;&lt; ( <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; );</div>
  142 +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a>&amp; operator &lt;&lt; ( <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; );</div>
143 143 <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
144   -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a>&amp; operator &gt;&gt; ( <span class="keywordtype">string</span>&amp; );</div>
  144 +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">const</span> <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a>&amp; operator &gt;&gt; ( <span class="keywordtype">string</span>&amp; );</div>
145 145 <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;};</div>
146 146 <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SOCKET_H_ */</span><span class="preprocessor"></span></div>
147 147 </div><!-- fragment --></div><!-- contents -->
148 148 <!-- start footer part -->
149 149 <hr class="footer"/><address class="footer"><small>
150   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  150 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
151 151 <img class="footer" src="doxygen.png" alt="doxygen"/>
152   -</a> 1.8.3.1
  152 +</a> 1.8.4
153 153 </small></address>
154 154 </body>
155 155 </html>
... ...
JChatClient/doc/html/_socket_exception_8h.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -108,13 +108,13 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
108 108 <div class="textblock"><p>Header de excepción de Sockets. </p>
109 109 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
110 110 <dl class="section date"><dt>Fecha</dt><dd>10/06/2013</dd></dl>
111   -<p>En este fichero se define la clase <a class="el" href="class_socket_exception.html" title="Clase de Excepción de Sockets.">SocketException</a> para el control de excepciones producidas por la librería. </p>
  111 +<p>En este fichero se define la clase <a class="el" href="class_socket_exception.html" title="Clase de Excepción de Sockets. ">SocketException</a> para el control de excepciones producidas por la librería. </p>
112 112 </div></div><!-- contents -->
113 113 <!-- start footer part -->
114 114 <hr class="footer"/><address class="footer"><small>
115   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  115 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
116 116 <img class="footer" src="doxygen.png" alt="doxygen"/>
117   -</a> 1.8.3.1
  117 +</a> 1.8.4
118 118 </small></address>
119 119 </body>
120 120 </html>
... ...
JChatClient/doc/html/_socket_exception_8h_source.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/SocketException.h</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -98,24 +98,24 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
98 98 <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span>std;</div>
99 99 <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div>
100 100 <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
101   -<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="class_socket_exception.html"> 20</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket_exception.html" title="Clase de Excepción de Sockets.">SocketException</a></div>
  101 +<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="class_socket_exception.html"> 20</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_socket_exception.html" title="Clase de Excepción de Sockets. ">SocketException</a></div>
102 102 <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div>
103 103 <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">public</span>:</div>
104 104 <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;</div>
105   -<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033"> 25</a></span>&#160; <a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033" title="Constructor de la clase.">SocketException</a> ( <span class="keywordtype">string</span> m ) : message ( m ) {};</div>
  105 +<div class="line"><a name="l00025"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033"> 25</a></span>&#160; <a class="code" href="class_socket_exception.html#a06573084bad8aca1443281c0970fe033" title="Constructor de la clase. ">SocketException</a> ( <span class="keywordtype">string</span> m ) : message ( m ) {};</div>
106 106 <div class="line"><a name="l00026"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a659557c899329aea01977c980c4db9b9"> 26</a></span>&#160; <a class="code" href="class_socket_exception.html#a659557c899329aea01977c980c4db9b9">~SocketException</a> (){};</div>
107 107 <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
108   -<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c"> 29</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c" title="Getter del atributo message.">description</a>() { <span class="keywordflow">return</span> message; }</div>
  108 +<div class="line"><a name="l00029"></a><span class="lineno"><a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c"> 29</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#ae160a594055812694ac93f7118c4af1c" title="Getter del atributo message. ">description</a>() { <span class="keywordflow">return</span> message; }</div>
109 109 <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keyword">private</span>:</div>
110   -<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76"> 32</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76" title="Mensaje asociado a la excepción producida.">message</a>; </div>
  110 +<div class="line"><a name="l00032"></a><span class="lineno"><a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76"> 32</a></span>&#160; <span class="keywordtype">string</span> <a class="code" href="class_socket_exception.html#a43f3472f1433552059ffeb9a251a9b76" title="Mensaje asociado a la excepción producida. ">message</a>; </div>
111 111 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div>
112 112 <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* SOCKETEXCEPTION_H_ */</span><span class="preprocessor"></span></div>
113 113 </div><!-- fragment --></div><!-- contents -->
114 114 <!-- start footer part -->
115 115 <hr class="footer"/><address class="footer"><small>
116   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  116 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
117 117 <img class="footer" src="doxygen.png" alt="doxygen"/>
118   -</a> 1.8.3.1
  118 +</a> 1.8.4
119 119 </small></address>
120 120 </body>
121 121 </html>
... ...
JChatClient/doc/html/annotated.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Lista de clases</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -88,17 +88,17 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
88 88 <div class="contents">
89 89 <div class="textblock">Lista de las clases, estructuras, uniones e interfaces con una breve descripción:</div><div class="directory">
90 90 <table class="directory">
91   -<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket.html" target="_self">Socket</a></td><td class="desc">Clase del socket</td></tr>
92   -<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket_exception.html" target="_self">SocketException</a></td><td class="desc">Clase de Excepción de Sockets</td></tr>
93   -<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structthread__args.html" target="_self">thread_args</a></td><td class="desc">Argumentos de los threads</td></tr>
  91 +<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket.html" target="_self">Socket</a></td><td class="desc">Clase del socket </td></tr>
  92 +<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_socket_exception.html" target="_self">SocketException</a></td><td class="desc">Clase de Excepción de Sockets </td></tr>
  93 +<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structthread__args.html" target="_self">thread_args</a></td><td class="desc">Argumentos de los threads </td></tr>
94 94 </table>
95 95 </div><!-- directory -->
96 96 </div><!-- contents -->
97 97 <!-- start footer part -->
98 98 <hr class="footer"/><address class="footer"><small>
99   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  99 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
100 100 <img class="footer" src="doxygen.png" alt="doxygen"/>
101   -</a> 1.8.3.1
  101 +</a> 1.8.4
102 102 </small></address>
103 103 </body>
104 104 </html>
... ...
JChatClient/doc/html/class_socket-members.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Lista de los miembros</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -106,9 +106,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
106 106 </table></div><!-- contents -->
107 107 <!-- start footer part -->
108 108 <hr class="footer"/><address class="footer"><small>
109   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  109 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
110 110 <img class="footer" src="doxygen.png" alt="doxygen"/>
111   -</a> 1.8.3.1
  111 +</a> 1.8.4
112 112 </small></address>
113 113 </body>
114 114 </html>
... ...
JChatClient/doc/html/class_socket.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia de la Clase Socket</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -100,7 +100,7 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
100 100 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
101 101 Métodos públicos</h2></td></tr>
102 102 <tr class="memitem:a7c3256c4fc6e2c603df73201049fae5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_socket.html#a7c3256c4fc6e2c603df73201049fae5a">Socket</a> ()</td></tr>
103   -<tr class="memdesc:a7c3256c4fc6e2c603df73201049fae5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. <a href="#a7c3256c4fc6e2c603df73201049fae5a">Más...</a><br/></td></tr>
  103 +<tr class="memdesc:a7c3256c4fc6e2c603df73201049fae5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. <a href="#a7c3256c4fc6e2c603df73201049fae5a">Más...</a><br/></td></tr>
104 104 <tr class="separator:a7c3256c4fc6e2c603df73201049fae5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
105 105 <tr class="memitem:add736ccf41f102910a2b8ac5e77eb8b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1">Create</a> ()</td></tr>
106 106 <tr class="memdesc:add736ccf41f102910a2b8ac5e77eb8b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Método para crear sockets. <a href="#add736ccf41f102910a2b8ac5e77eb8b1">Más...</a><br/></td></tr>
... ... @@ -159,13 +159,13 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
159 159 <tr>
160 160 <td class="memname">Socket::Socket </td>
161 161 <td>(</td>
162   - <td class="paramname"></td><td>)</td>
  162 + <td class="paramname">)</td><td></td>
163 163 <td></td>
164 164 </tr>
165 165 </table>
166 166 </div><div class="memdoc">
167 167  
168   -<p>Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. </p>
  168 +<p>Constructor de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. </p>
169 169 <p>Inicializa el file descriptor del socket y prepara la memoria donde se almacenarán las llaves públicas. </p>
170 170  
171 171 </div>
... ... @@ -179,17 +179,18 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
179 179 <td class="memname">void Socket::Accept </td>
180 180 <td>(</td>
181 181 <td class="paramtype"><a class="el" href="class_socket.html">Socket</a> &amp;&#160;</td>
182   - <td class="paramname"><em>clientSock</em></td><td>)</td>
  182 + <td class="paramname"><em>clientSock</em>)</td><td></td>
183 183 <td></td>
184 184 </tr>
185 185 </table>
186 186 </div><div class="memdoc">
187 187  
188 188 <p>Método para aceptar conexiones. </p>
189   -<p>Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> en la referencia proporcionada por argumento. </p>
  189 +<pre class="fragment">Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase
  190 +</pre><p> <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> en la referencia proporcionada por argumento. </p>
190 191 <dl class="params"><dt>Parámetros</dt><dd>
191 192 <table class="params">
192   - <tr><td class="paramname">clientSock</td><td>Instáncia de <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> que comunica con el cliente entrante </td></tr>
  193 + <tr><td class="paramname">clientSock</td><td>Instáncia de <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> que comunica con el cliente entrante </td></tr>
193 194 </table>
194 195 </dd>
195 196 </dl>
... ... @@ -221,7 +222,8 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
221 222 </div><div class="memdoc">
222 223  
223 224 <p>Método para hacer bind a una dirección y puerto. </p>
224   -<p>Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que posteriormente actúe de servidor escuchando conexiones. </p>
  225 +<pre class="fragment">Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que
  226 +</pre><p> posteriormente actúe de servidor escuchando conexiones. </p>
225 227 <dl class="params"><dt>Parámetros</dt><dd>
226 228 <table class="params">
227 229 <tr><td class="paramname">address</td><td>Dirección IP asignada </td></tr>
... ... @@ -239,7 +241,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
239 241 <tr>
240 242 <td class="memname">void Socket::Close </td>
241 243 <td>(</td>
242   - <td class="paramname"></td><td>)</td>
  244 + <td class="paramname">)</td><td></td>
243 245 <td></td>
244 246 </tr>
245 247 </table>
... ... @@ -275,7 +277,8 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
275 277 </div><div class="memdoc">
276 278  
277 279 <p>Método para efectuar conexiones. </p>
278   -<p>Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la dirección y puerto especificados y atienda conexiones. </p>
  280 +<pre class="fragment">Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la
  281 +</pre><p> dirección y puerto especificados y atienda conexiones. </p>
279 282 <dl class="params"><dt>Parámetros</dt><dd>
280 283 <table class="params">
281 284 <tr><td class="paramname">hostname</td><td>Hostname al que conectarse </td></tr>
... ... @@ -293,7 +296,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
293 296 <tr>
294 297 <td class="memname">void Socket::Create </td>
295 298 <td>(</td>
296   - <td class="paramname"></td><td>)</td>
  299 + <td class="paramname">)</td><td></td>
297 300 <td></td>
298 301 </tr>
299 302 </table>
... ... @@ -311,7 +314,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
311 314 <tr>
312 315 <td class="memname">int Socket::getSock </td>
313 316 <td>(</td>
314   - <td class="paramname"></td><td>)</td>
  317 + <td class="paramname">)</td><td></td>
315 318 <td></td>
316 319 </tr>
317 320 </table>
... ... @@ -330,7 +333,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
330 333 <td class="memname">void Socket::Listen </td>
331 334 <td>(</td>
332 335 <td class="paramtype">int&#160;</td>
333   - <td class="paramname"><em>backlog</em></td><td>)</td>
  336 + <td class="paramname"><em>backlog</em>)</td><td></td>
334 337 <td></td>
335 338 </tr>
336 339 </table>
... ... @@ -355,14 +358,15 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
355 358 <td class="memname">const <a class="el" href="class_socket.html">Socket</a> &amp; Socket::operator&lt;&lt; </td>
356 359 <td>(</td>
357 360 <td class="paramtype">const string &amp;&#160;</td>
358   - <td class="paramname"><em>text</em></td><td>)</td>
  361 + <td class="paramname"><em>text</em>)</td><td></td>
359 362 <td></td>
360 363 </tr>
361 364 </table>
362 365 </div><div class="memdoc">
363 366  
364 367 <p>Método para enviar mensajes. </p>
365   -<p>Este método envía el mensaje que se le proporciona a través del <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> con o sin encriptación según las opciones de compilación usando el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p>
  368 +<pre class="fragment">Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según
  369 +</pre><p> las opciones de compilación usando el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p>
366 370 <dl class="params"><dt>Parámetros</dt><dd>
367 371 <table class="params">
368 372 <tr><td class="paramname">text</td><td>Mensaje a enviar </td></tr>
... ... @@ -380,14 +384,15 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
380 384 <td class="memname">const <a class="el" href="class_socket.html">Socket</a> &amp; Socket::operator&gt;&gt; </td>
381 385 <td>(</td>
382 386 <td class="paramtype">std::string &amp;&#160;</td>
383   - <td class="paramname"><em>text</em></td><td>)</td>
  387 + <td class="paramname"><em>text</em>)</td><td></td>
384 388 <td></td>
385 389 </tr>
386 390 </table>
387 391 </div><div class="memdoc">
388 392  
389 393 <p>Método para recibir mensajes. </p>
390   -<p>Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las opciones de compilación usando el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p>
  394 +<pre class="fragment">Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando
  395 +</pre><p> el <a class="el" href="howto.html#proto">protocolo</a> implementado. </p>
391 396 <dl class="params"><dt>Parámetros</dt><dd>
392 397 <table class="params">
393 398 <tr><td class="paramname">text</td><td>Mensaje a recibir </td></tr>
... ... @@ -541,9 +546,9 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
541 546 </div><!-- contents -->
542 547 <!-- start footer part -->
543 548 <hr class="footer"/><address class="footer"><small>
544   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  549 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
545 550 <img class="footer" src="doxygen.png" alt="doxygen"/>
546   -</a> 1.8.3.1
  551 +</a> 1.8.4
547 552 </small></address>
548 553 </body>
549 554 </html>
... ...
JChatClient/doc/html/class_socket_exception-members.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Lista de los miembros</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -96,9 +96,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
96 96 </table></div><!-- contents -->
97 97 <!-- start footer part -->
98 98 <hr class="footer"/><address class="footer"><small>
99   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  99 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
100 100 <img class="footer" src="doxygen.png" alt="doxygen"/>
101   -</a> 1.8.3.1
  101 +</a> 1.8.4
102 102 </small></address>
103 103 </body>
104 104 </html>
... ...
JChatClient/doc/html/class_socket_exception.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia de la Clase SocketException</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -128,7 +128,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
128 128 <td class="memname">SocketException::SocketException </td>
129 129 <td>(</td>
130 130 <td class="paramtype">string&#160;</td>
131   - <td class="paramname"><em>m</em></td><td>)</td>
  131 + <td class="paramname"><em>m</em>)</td><td></td>
132 132 <td></td>
133 133 </tr>
134 134 </table>
... ... @@ -160,7 +160,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
160 160 <tr>
161 161 <td class="memname">SocketException::~SocketException </td>
162 162 <td>(</td>
163   - <td class="paramname"></td><td>)</td>
  163 + <td class="paramname">)</td><td></td>
164 164 <td></td>
165 165 </tr>
166 166 </table>
... ... @@ -184,7 +184,7 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
184 184 <tr>
185 185 <td class="memname">string SocketException::description </td>
186 186 <td>(</td>
187   - <td class="paramname"></td><td>)</td>
  187 + <td class="paramname">)</td><td></td>
188 188 <td></td>
189 189 </tr>
190 190 </table>
... ... @@ -229,9 +229,9 @@ Atributos privados&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
229 229 </div><!-- contents -->
230 230 <!-- start footer part -->
231 231 <hr class="footer"/><address class="footer"><small>
232   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  232 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
233 233 <img class="footer" src="doxygen.png" alt="doxygen"/>
234   -</a> 1.8.3.1
  234 +</a> 1.8.4
235 235 </small></address>
236 236 </body>
237 237 </html>
... ...
JChatClient/doc/html/classes.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Índice de clases</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -100,9 +100,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
100 100 </div><!-- contents -->
101 101 <!-- start footer part -->
102 102 <hr class="footer"/><address class="footer"><small>
103   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  103 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
104 104 <img class="footer" src="doxygen.png" alt="doxygen"/>
105   -</a> 1.8.3.1
  105 +</a> 1.8.4
106 106 </small></address>
107 107 </body>
108 108 </html>
... ...
JChatClient/doc/html/client_8cpp.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.cpp</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -128,7 +128,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
128 128 <div class="textblock"><p>Fichero de implementación de un cliente. </p>
129 129 <dl class="section author"><dt>Autor</dt><dd>Imanol Barba Sabariego </dd></dl>
130 130 <dl class="section date"><dt>Fecha</dt><dd>13/06/2013</dd></dl>
131   -<p>En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT </p>
  131 +<p>En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT </p>
132 132 </div><h2 class="groupheader">Documentación de las funciones</h2>
133 133 <a class="anchor" id="ab4a3d59d9d8c97b79cb3a6cb6a0e403c"></a>
134 134 <div class="memitem">
... ... @@ -138,7 +138,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
138 138 <td class="memname">bool connect </td>
139 139 <td>(</td>
140 140 <td class="paramtype"><a class="el" href="class_socket.html">Socket</a> &amp;&#160;</td>
141   - <td class="paramname"><em>s</em></td><td>)</td>
  141 + <td class="paramname"><em>s</em>)</td><td></td>
142 142 <td></td>
143 143 </tr>
144 144 </table>
... ... @@ -157,7 +157,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
157 157 <td class="memname">void killThread </td>
158 158 <td>(</td>
159 159 <td class="paramtype"><a class="el" href="structthread__args.html">thread_args</a> *&#160;</td>
160   - <td class="paramname"><em>t_arg</em></td><td>)</td>
  160 + <td class="paramname"><em>t_arg</em>)</td><td></td>
161 161 <td></td>
162 162 </tr>
163 163 </table>
... ... @@ -175,14 +175,14 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
175 175 <tr>
176 176 <td class="memname">int main </td>
177 177 <td>(</td>
178   - <td class="paramname"></td><td>)</td>
  178 + <td class="paramname">)</td><td></td>
179 179 <td></td>
180 180 </tr>
181 181 </table>
182 182 </div><div class="memdoc">
183 183  
184 184 <p>Método principal del cliente. </p>
185   -<p>Este método inicializa el <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. </p>
  185 +<p>Este método inicializa el <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor. </p>
186 186  
187 187 </div>
188 188 </div>
... ... @@ -194,7 +194,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
194 194 <td class="memname">void* recvThread </td>
195 195 <td>(</td>
196 196 <td class="paramtype">void *&#160;</td>
197   - <td class="paramname"><em>args</em></td><td>)</td>
  197 + <td class="paramname"><em>args</em>)</td><td></td>
198 198 <td></td>
199 199 </tr>
200 200 </table>
... ... @@ -213,7 +213,7 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
213 213 <td class="memname">void* sendThread </td>
214 214 <td>(</td>
215 215 <td class="paramtype">void *&#160;</td>
216   - <td class="paramname"><em>args</em></td><td>)</td>
  216 + <td class="paramname"><em>args</em>)</td><td></td>
217 217 <td></td>
218 218 </tr>
219 219 </table>
... ... @@ -256,9 +256,9 @@ Variables&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
256 256 </div><!-- contents -->
257 257 <!-- start footer part -->
258 258 <hr class="footer"/><address class="footer"><small>
259   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  259 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
260 260 <img class="footer" src="doxygen.png" alt="doxygen"/>
261   -</a> 1.8.3.1
  261 +</a> 1.8.4
262 262 </small></address>
263 263 </body>
264 264 </html>
... ...
JChatClient/doc/html/client_8dox.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/client.dox</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -91,9 +91,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
91 91 </div></div><!-- contents -->
92 92 <!-- start footer part -->
93 93 <hr class="footer"/><address class="footer"><small>
94   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  94 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
95 95 <img class="footer" src="doxygen.png" alt="doxygen"/>
96   -</a> 1.8.3.1
  96 +</a> 1.8.4
97 97 </small></address>
98 98 </body>
99 99 </html>
... ...
JChatClient/doc/html/client_8h.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -110,9 +110,9 @@ Clases&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
110 110 </div><!-- contents -->
111 111 <!-- start footer part -->
112 112 <hr class="footer"/><address class="footer"><small>
113   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  113 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
114 114 <img class="footer" src="doxygen.png" alt="doxygen"/>
115   -</a> 1.8.3.1
  115 +</a> 1.8.4
116 116 </small></address>
117 117 </body>
118 118 </html>
... ...
JChatClient/doc/html/client_8h_source.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Fichero Fuente /home/imanol/devel/eclipse/PAD/JChatClient/src/include/client.h</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,23 +92,23 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
92 92 <a href="client_8h.html">Ir a la documentación de este archivo.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef CLIENT_H_</span></div>
93 93 <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define CLIENT_H_</span></div>
94 94 <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor"></span></div>
95   -<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket.">Socket.h</a>&quot;</span></div>
  95 +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket. ">Socket.h</a>&quot;</span></div>
96 96 <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
97   -<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets.">SocketException.h</a>&quot;</span></div>
  97 +<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets. ">SocketException.h</a>&quot;</span></div>
98 98 <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;sstream&gt;</span></div>
99 99 <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;signal.h&gt;</span></div>
100 100 <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
101 101 <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &lt;sys/time.h&gt;</span></div>
102 102 <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div>
103 103 <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div>
104   -<div class="line"><a name="l00017"></a><span class="lineno"><a class="code" href="structthread__args.html"> 17</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structthread__args.html" title="Argumentos de los threads.">thread_args</a></div>
  104 +<div class="line"><a name="l00017"></a><span class="lineno"><a class="code" href="structthread__args.html"> 17</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structthread__args.html" title="Argumentos de los threads. ">thread_args</a></div>
105 105 <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div>
106 106 <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div>
107   -<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520"> 21</a></span>&#160; pthread_mutex_t *<a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520" title="Variable de control de la exclusión mútua entre threads.">mutex</a>;</div>
  107 +<div class="line"><a name="l00021"></a><span class="lineno"><a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520"> 21</a></span>&#160; pthread_mutex_t *<a class="code" href="structthread__args.html#ad5d64499f5f6e2df467c96b52a94c520" title="Variable de control de la exclusión mútua entre threads. ">mutex</a>;</div>
108 108 <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
109   -<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25"> 27</a></span>&#160; pthread_cond_t *<a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25" title="Variable de notificación a otros threads.">condition</a>;</div>
  109 +<div class="line"><a name="l00027"></a><span class="lineno"><a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25"> 27</a></span>&#160; pthread_cond_t *<a class="code" href="structthread__args.html#a96ee28beaed4175257db3d8794245f25" title="Variable de notificación a otros threads. ">condition</a>;</div>
110 110 <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
111   -<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489"> 31</a></span>&#160; <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a> *<a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489" title="Puntero al socket.">s</a>;</div>
  111 +<div class="line"><a name="l00031"></a><span class="lineno"><a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489"> 31</a></span>&#160; <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a> *<a class="code" href="structthread__args.html#aede3ef61778d02bdf25c368d1cf9d489" title="Puntero al socket. ">s</a>;</div>
112 112 <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;};</div>
113 113 <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
114 114 <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
... ... @@ -117,9 +117,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
117 117 </div><!-- fragment --></div><!-- contents -->
118 118 <!-- start footer part -->
119 119 <hr class="footer"/><address class="footer"><small>
120   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  120 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
121 121 <img class="footer" src="doxygen.png" alt="doxygen"/>
122   -</a> 1.8.3.1
  122 +</a> 1.8.4
123 123 </small></address>
124 124 </body>
125 125 </html>
... ...
JChatClient/doc/html/client_code.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Client</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -80,9 +80,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
80 80 </div><!--header-->
81 81 <div class="contents">
82 82 <div class="textblock"><p>Ejemplo de aplicación cliente</p>
83   -<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket.">Socket.h</a>&quot;</span></div>
  83 +<div class="fragment"><div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_8h.html" title="Header de la clase Socket. ">Socket.h</a>&quot;</span></div>
84 84 <div class="line"><span class="preprocessor">#include &lt;iostream&gt;</span></div>
85   -<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets.">SocketException.h</a>&quot;</span></div>
  85 +<div class="line"><span class="preprocessor">#include &quot;<a class="code" href="_socket_exception_8h.html" title="Header de excepción de Sockets. ">SocketException.h</a>&quot;</span></div>
86 86 <div class="line"><span class="preprocessor">#include &lt;sstream&gt;</span></div>
87 87 <div class="line"><span class="preprocessor">#include &lt;signal.h&gt;</span></div>
88 88 <div class="line"><span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
... ... @@ -96,21 +96,21 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
96 96 <div class="line"> exit(-1);</div>
97 97 <div class="line">}</div>
98 98 <div class="line"></div>
99   -<div class="line"><span class="keywordtype">int</span> <a class="code" href="client_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4" title="Método principal del cliente.">main</a>()</div>
  99 +<div class="line"><span class="keywordtype">int</span> <a class="code" href="client_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4" title="Método principal del cliente. ">main</a>()</div>
100 100 <div class="line">{</div>
101 101 <div class="line"> signal(SIGPIPE, exitClient);</div>
102 102 <div class="line"> signal(SIGINT, exitClient);</div>
103   -<div class="line"> <a class="code" href="class_socket.html" title="Clase del socket.">Socket</a> s;</div>
  103 +<div class="line"> <a class="code" href="class_socket.html" title="Clase del socket. ">Socket</a> s;</div>
104 104 <div class="line"> <span class="keywordtype">string</span> send, recv, host;</div>
105 105 <div class="line"> <span class="keywordtype">int</span> port;</div>
106   -<div class="line"> s.<a class="code" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1" title="Método para crear sockets.">Create</a>();</div>
  106 +<div class="line"> s.<a class="code" href="class_socket.html#add736ccf41f102910a2b8ac5e77eb8b1" title="Método para crear sockets. ">Create</a>();</div>
107 107 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Created socket&quot;</span> &lt;&lt; endl;</div>
108 108 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Hostname: &quot;</span>;</div>
109 109 <div class="line"> cin &gt;&gt; host;</div>
110 110 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Port: &quot;</span>;</div>
111 111 <div class="line"> cin &gt;&gt; port;</div>
112 112 <div class="line"> cin.ignore();</div>
113   -<div class="line"> s.<a class="code" href="class_socket.html#aa1d074c1aa400e8bca7c7da79b036abe" title="Método para efectuar conexiones.">Connect</a>(host,port);</div>
  113 +<div class="line"> s.<a class="code" href="class_socket.html#aa1d074c1aa400e8bca7c7da79b036abe" title="Método para efectuar conexiones. ">Connect</a>(host,port);</div>
114 114 <div class="line"> cout &lt;&lt; <span class="stringliteral">&quot;Connected&quot;</span> &lt;&lt; endl;</div>
115 115 <div class="line"> <span class="keywordflow">while</span>(<span class="keyword">true</span>)</div>
116 116 <div class="line"> {</div>
... ... @@ -123,9 +123,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
123 123 </div><!-- fragment --> </div></div><!-- contents -->
124 124 <!-- start footer part -->
125 125 <hr class="footer"/><address class="footer"><small>
126   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  126 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
127 127 <img class="footer" src="doxygen.png" alt="doxygen"/>
128   -</a> 1.8.3.1
  128 +</a> 1.8.4
129 129 </small></address>
130 130 </body>
131 131 </html>
... ...
JChatClient/doc/html/dir_15c52bfb9a80984ec0ac7c94446ac4fc.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -95,15 +95,15 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
95 95 <tr class="memdesc:client_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de un cliente. <br/></td></tr>
96 96 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
97 97 <tr class="memitem:_socket_8cpp"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_8cpp.html">Socket.cpp</a></td></tr>
98   -<tr class="memdesc:_socket_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. <br/></td></tr>
  98 +<tr class="memdesc:_socket_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. <br/></td></tr>
99 99 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
100 100 </table>
101 101 </div><!-- contents -->
102 102 <!-- start footer part -->
103 103 <hr class="footer"/><address class="footer"><small>
104   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  104 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
105 105 <img class="footer" src="doxygen.png" alt="doxygen"/>
106   -</a> 1.8.3.1
  106 +</a> 1.8.4
107 107 </small></address>
108 108 </body>
109 109 </html>
... ...
JChatClient/doc/html/dir_74bdbd27aa6df54b6fb8f419761ac887.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 92 </div><!-- contents -->
93 93 <!-- start footer part -->
94 94 <hr class="footer"/><address class="footer"><small>
95   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97   -</a> 1.8.3.1
  97 +</a> 1.8.4
98 98 </small></address>
99 99 </body>
100 100 </html>
... ...
JChatClient/doc/html/dir_75b82e7e4a5feb05200b9ad7adf06257.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 92 </div><!-- contents -->
93 93 <!-- start footer part -->
94 94 <hr class="footer"/><address class="footer"><small>
95   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97   -</a> 1.8.3.1
  97 +</a> 1.8.4
98 98 </small></address>
99 99 </body>
100 100 </html>
... ...
JChatClient/doc/html/dir_86dc413d07e0b16a37ceb0e2a17fed53.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 92 </div><!-- contents -->
93 93 <!-- start footer part -->
94 94 <hr class="footer"/><address class="footer"><small>
95   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97   -</a> 1.8.3.1
  97 +</a> 1.8.4
98 98 </small></address>
99 99 </body>
100 100 </html>
... ...
JChatClient/doc/html/dir_8f7199732ad0be50edd1dbedbf9226de.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol/devel</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 92 </div><!-- contents -->
93 93 <!-- start footer part -->
94 94 <hr class="footer"/><address class="footer"><small>
95   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97   -</a> 1.8.3.1
  97 +</a> 1.8.4
98 98 </small></address>
99 99 </body>
100 100 </html>
... ...
JChatClient/doc/html/dir_ade356989cf64bc7da597536eeab2615.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 92 </div><!-- contents -->
93 93 <!-- start footer part -->
94 94 <hr class="footer"/><address class="footer"><small>
95   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97   -</a> 1.8.3.1
  97 +</a> 1.8.4
98 98 </small></address>
99 99 </body>
100 100 </html>
... ...
JChatClient/doc/html/dir_c16c2f6bdf6587439d9ad3d8f0d21517.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD/JChatClient/src/include</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -89,7 +89,7 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
89 89 <tr class="memitem:client_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="client_8h.html">client.h</a> <a href="client_8h_source.html">[código]</a></td></tr>
90 90 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
91 91 <tr class="memitem:_socket_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_8h.html">Socket.h</a> <a href="_socket_8h_source.html">[código]</a></td></tr>
92   -<tr class="memdesc:_socket_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. <br/></td></tr>
  92 +<tr class="memdesc:_socket_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. <br/></td></tr>
93 93 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 94 <tr class="memitem:_socket_exception_8h"><td class="memItemLeft" align="right" valign="top">archivo &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_socket_exception_8h.html">SocketException.h</a> <a href="_socket_exception_8h_source.html">[código]</a></td></tr>
95 95 <tr class="memdesc:_socket_exception_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header de excepción de Sockets. <br/></td></tr>
... ... @@ -98,9 +98,9 @@ Archivos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
98 98 </div><!-- contents -->
99 99 <!-- start footer part -->
100 100 <hr class="footer"/><address class="footer"><small>
101   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  101 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
102 102 <img class="footer" src="doxygen.png" alt="doxygen"/>
103   -</a> 1.8.3.1
  103 +</a> 1.8.4
104 104 </small></address>
105 105 </body>
106 106 </html>
... ...
JChatClient/doc/html/dir_c63cc34e984e21a69fd262eeef6a5cbb.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del directorio /home/imanol/devel/eclipse/PAD</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -92,9 +92,9 @@ Directorios&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
92 92 </div><!-- contents -->
93 93 <!-- start footer part -->
94 94 <hr class="footer"/><address class="footer"><small>
95   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  95 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
96 96 <img class="footer" src="doxygen.png" alt="doxygen"/>
97   -</a> 1.8.3.1
  97 +</a> 1.8.4
98 98 </small></address>
99 99 </body>
100 100 </html>
... ...
JChatClient/doc/html/doxygen.css
1   -/* The standard CSS for doxygen 1.8.3.1 */
  1 +/* The standard CSS for doxygen 1.8.4 */
2 2  
3 3 body, table, div, p, dl {
4   - font: 400 14px/19px Roboto,sans-serif;
  4 + font: 400 14px/22px Roboto,sans-serif;
5 5 }
6 6  
7 7 /* @group Heading Levels */
... ... @@ -11,6 +11,7 @@ h1.groupheader {
11 11 }
12 12  
13 13 .title {
  14 + font: 400 14px/28px Roboto,sans-serif;
14 15 font-size: 150%;
15 16 font-weight: bold;
16 17 margin: 10px 2px;
... ... @@ -168,8 +169,8 @@ pre.fragment {
168 169 }
169 170  
170 171 div.fragment {
171   - padding: 4px;
172   - margin: 4px;
  172 + padding: 0px;
  173 + margin: 0px;
173 174 background-color: #FBFCFD;
174 175 border: 1px solid #C4CFE5;
175 176 }
... ... @@ -687,6 +688,7 @@ div.directory {
687 688 .directory td.entry {
688 689 white-space: nowrap;
689 690 padding-right: 6px;
  691 + padding-top: 3px;
690 692 }
691 693  
692 694 .directory td.entry a {
... ... @@ -787,7 +789,7 @@ table.fieldtable {
787 789 }
788 790  
789 791 .fieldtable td.fieldname {
790   - padding-top: 5px;
  792 + padding-top: 3px;
791 793 }
792 794  
793 795 .fieldtable td.fielddoc {
... ... @@ -796,7 +798,7 @@ table.fieldtable {
796 798 }
797 799  
798 800 .fieldtable td.fielddoc p:first-child {
799   - margin-top: 2px;
  801 + margin-top: 0px;
800 802 }
801 803  
802 804 .fieldtable td.fielddoc p:last-child {
... ...
JChatClient/doc/html/files.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Lista de archivos</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -96,18 +96,18 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
96 96 <tr id="row_0_0_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_0_0_0_0_" src="ftv2mlastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_')"/><img id="img_0_0_0_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_')"/><a class="el" href="dir_15c52bfb9a80984ec0ac7c94446ac4fc.html" target="_self">src</a></td><td class="desc"></td></tr>
97 97 <tr id="row_0_0_0_0_0_0_0_0_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img id="arr_0_0_0_0_0_0_0_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_0_')"/><img id="img_0_0_0_0_0_0_0_0_" src="ftv2folderopen.png" alt="-" width="24" height="22" onclick="toggleFolder('0_0_0_0_0_0_0_0_')"/><a class="el" href="dir_c16c2f6bdf6587439d9ad3d8f0d21517.html" target="_self">include</a></td><td class="desc"></td></tr>
98 98 <tr id="row_0_0_0_0_0_0_0_0_0_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="client_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="client_8h.html" target="_self">client.h</a></td><td class="desc"></td></tr>
99   -<tr id="row_0_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="_socket_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_8h.html" target="_self">Socket.h</a></td><td class="desc">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a></td></tr>
100   -<tr id="row_0_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="_socket_exception_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_exception_8h.html" target="_self">SocketException.h</a></td><td class="desc">Header de excepción de Sockets</td></tr>
101   -<tr id="row_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="client_8cpp.html" target="_self">client.cpp</a></td><td class="desc">Fichero de implementación de un cliente</td></tr>
102   -<tr id="row_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="_socket_8cpp.html" target="_self">Socket.cpp</a></td><td class="desc">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a></td></tr>
  99 +<tr id="row_0_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><a href="_socket_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_8h.html" target="_self">Socket.h</a></td><td class="desc">Header de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> </td></tr>
  100 +<tr id="row_0_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a href="_socket_exception_8h_source.html"><img src="ftv2doc.png" alt="*" width="24" height="22" /></a><a class="el" href="_socket_exception_8h.html" target="_self">SocketException.h</a></td><td class="desc">Header de excepción de Sockets </td></tr>
  101 +<tr id="row_0_0_0_0_0_0_0_1_"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="client_8cpp.html" target="_self">client.cpp</a></td><td class="desc">Fichero de implementación de un cliente </td></tr>
  102 +<tr id="row_0_0_0_0_0_0_0_2_" class="even"><td class="entry"><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2doc.png" alt="*" width="24" height="22" /><a class="el" href="_socket_8cpp.html" target="_self">Socket.cpp</a></td><td class="desc">Fichero de implementación de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> </td></tr>
103 103 </table>
104 104 </div><!-- directory -->
105 105 </div><!-- contents -->
106 106 <!-- start footer part -->
107 107 <hr class="footer"/><address class="footer"><small>
108   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  108 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
109 109 <img class="footer" src="doxygen.png" alt="doxygen"/>
110   -</a> 1.8.3.1
  110 +</a> 1.8.4
111 111 </small></address>
112 112 </body>
113 113 </html>
... ...
JChatClient/doc/html/functions.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Miembros de las clases</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -157,9 +157,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
157 157 </div><!-- contents -->
158 158 <!-- start footer part -->
159 159 <hr class="footer"/><address class="footer"><small>
160   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  160 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
161 161 <img class="footer" src="doxygen.png" alt="doxygen"/>
162   -</a> 1.8.3.1
  162 +</a> 1.8.4
163 163 </small></address>
164 164 </body>
165 165 </html>
... ...
JChatClient/doc/html/functions_func.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Miembros de las clases - Funciones</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -139,9 +139,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
139 139 </div><!-- contents -->
140 140 <!-- start footer part -->
141 141 <hr class="footer"/><address class="footer"><small>
142   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  142 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
143 143 <img class="footer" src="doxygen.png" alt="doxygen"/>
144   -</a> 1.8.3.1
  144 +</a> 1.8.4
145 145 </small></address>
146 146 </body>
147 147 </html>
... ...
JChatClient/doc/html/functions_vars.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Miembros de las clases - Variables</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -112,9 +112,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
112 112 </div><!-- contents -->
113 113 <!-- start footer part -->
114 114 <hr class="footer"/><address class="footer"><small>
115   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  115 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
116 116 <img class="footer" src="doxygen.png" alt="doxygen"/>
117   -</a> 1.8.3.1
  117 +</a> 1.8.4
118 118 </small></address>
119 119 </body>
120 120 </html>
... ...
JChatClient/doc/html/globals.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Miembros de los ficheros</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -114,9 +114,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
114 114 </div><!-- contents -->
115 115 <!-- start footer part -->
116 116 <hr class="footer"/><address class="footer"><small>
117   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  117 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
118 118 <img class="footer" src="doxygen.png" alt="doxygen"/>
119   -</a> 1.8.3.1
  119 +</a> 1.8.4
120 120 </small></address>
121 121 </body>
122 122 </html>
... ...
JChatClient/doc/html/globals_func.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Miembros de los ficheros</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -108,9 +108,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
108 108 </div><!-- contents -->
109 109 <!-- start footer part -->
110 110 <hr class="footer"/><address class="footer"><small>
111   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  111 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
112 112 <img class="footer" src="doxygen.png" alt="doxygen"/>
113   -</a> 1.8.3.1
  113 +</a> 1.8.4
114 114 </small></address>
115 115 </body>
116 116 </html>
... ...
JChatClient/doc/html/globals_vars.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Miembros de los ficheros</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -99,9 +99,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
99 99 </div><!-- contents -->
100 100 <!-- start footer part -->
101 101 <hr class="footer"/><address class="footer"><small>
102   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  102 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
103 103 <img class="footer" src="doxygen.png" alt="doxygen"/>
104   -</a> 1.8.3.1
  104 +</a> 1.8.4
105 105 </small></address>
106 106 </body>
107 107 </html>
... ...
JChatClient/doc/html/howto.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: HOWTO</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -146,9 +146,9 @@ Programar un cliente&lt;/h2&gt;
146 146 </div></div><!-- contents -->
147 147 <!-- start footer part -->
148 148 <hr class="footer"/><address class="footer"><small>
149   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  149 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
150 150 <img class="footer" src="doxygen.png" alt="doxygen"/>
151   -</a> 1.8.3.1
  151 +</a> 1.8.4
152 152 </small></address>
153 153 </body>
154 154 </html>
... ...
JChatClient/doc/html/howto_8dox.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/howto.dox</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -91,9 +91,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
91 91 </div></div><!-- contents -->
92 92 <!-- start footer part -->
93 93 <hr class="footer"/><address class="footer"><small>
94   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  94 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
95 95 <img class="footer" src="doxygen.png" alt="doxygen"/>
96   -</a> 1.8.3.1
  96 +</a> 1.8.4
97 97 </small></address>
98 98 </body>
99 99 </html>
... ...
JChatClient/doc/html/index.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Página principal</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -79,8 +79,8 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
79 79 <div class="title">Página principal </div> </div>
80 80 </div><!--header-->
81 81 <div class="contents">
82   -<div class="textblock"><p>La librería <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a> es una implementación de comunicación con Sockets TCP/IP en <a href="http://linux.org">GNU/Linux</a>.</p>
83   -<p>El objetivo principal de esta librería es abstraer toda la capa de comunicación al programador, lo único que debe hacer es guardar los datos a enviar en un contenedor STL del tipo <a href="http://www.cplusplus.com/reference/string/string/">std::string</a> y enviarlo a una instancia debidamente incializada de la clase <a class="el" href="class_socket.html" title="Clase del socket.">Socket</a>. Este se encarga de inicializar los sockets, atender las conexiones o realizar nuevas, etc.</p>
  82 +<div class="textblock"><p>La librería <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a> es una implementación de comunicación con Sockets TCP/IP en <a href="http://linux.org">GNU/Linux</a>.</p>
  83 +<p>El objetivo principal de esta librería es abstraer toda la capa de comunicación al programador, lo único que debe hacer es guardar los datos a enviar en un contenedor STL del tipo <a href="http://www.cplusplus.com/reference/string/string/">std::string</a> y enviarlo a una instancia debidamente incializada de la clase <a class="el" href="class_socket.html" title="Clase del socket. ">Socket</a>. Este se encarga de inicializar los sockets, atender las conexiones o realizar nuevas, etc.</p>
84 84 <p>Para más información, consultar el <a class="el" href="howto.html">HOWTO</a> <br/>
85 85 <br/>
86 86 </p>
... ... @@ -89,9 +89,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
89 89 </div></div><!-- contents -->
90 90 <!-- start footer part -->
91 91 <hr class="footer"/><address class="footer"><small>
92   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  92 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
93 93 <img class="footer" src="doxygen.png" alt="doxygen"/>
94   -</a> 1.8.3.1
  94 +</a> 1.8.4
95 95 </small></address>
96 96 </body>
97 97 </html>
... ...
JChatClient/doc/html/jquery.js
1   -/*! jQuery v1.7.1 jquery.com | jquery.org/license */
2   -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(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 cb(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 ca(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bE.test(a)?d(a,e):ca(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)ca(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 b$(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===bT,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=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bP),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 bC(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bx:by,g=0,h=e.length;if(d>0){if(c!=="border")for(;g<h;g++)c||(d-=parseFloat(f.css(a,"padding"+e[g]))||0),c==="margin"?d+=parseFloat(f.css(a,c+e[g]))||0:d-=parseFloat(f.css(a,"border"+e[g]+"Width"))||0;return d+"px"}d=bz(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0;if(c)for(;g<h;g++)d+=parseFloat(f.css(a,"padding"+e[g]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+e[g]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+e[g]))||0);return d+"px"}function bp(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}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;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}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].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}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)?parseFloat(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.1",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&&typeof a=="object"&&"setInterval"in a},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){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){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},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=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"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(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]){i&&f<=k&&(k--,f<=l&&l--),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)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};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()
3   -{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,q=c.createElement("div"),r=c.documentElement;q.setAttribute("className","t"),q.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.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:q.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},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="<div style='width:4px;'></div>",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});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=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},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){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return 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()}});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,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},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.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];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=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h<g;h++)e=d[h],e&&(c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&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},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=/\bhover(\.\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")};
4   -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),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),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=[],j,k,l,m,n,o,p,q,r,s,t;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click")){m=f(this),m.context=this.ownerDocument||this;for(l=c.target;l!=this;l=l.parentNode||this){o={},q=[],m[0]=l;for(j=0;j<e;j++)r=d[j],s=r.selector,o[s]===b&&(o[s]=r.quick?H(l,r.quick):m.is(s)),o[s]&&q.push(r);q.length&&i.push({elem:l,matches:q})}}d.length>e&&i.push({elem:this,matches:d.slice(e)});for(j=0;j<i.length&&!c.isPropagationStopped();j++){p=i[j],c.currentTarget=p.elem;for(k=0;k<p.matches.length&&!c.isImmediatePropagationStopped();k++){r=p.matches[k];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=((f.event.special[r.origType]||{}).handle||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}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){this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!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=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.call(this,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.type+"."+e.namespace:e.type,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){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
5   -&&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));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.POS,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|canvas|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+")","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){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},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("*")),
6   -f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function()
7   -{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){if(a===b)return this[0]&&this[0].nodeType===1?this[0].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(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},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,bp)}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||!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;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bn(k[i]);else bn(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},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 bq=/alpha\([^)]*\)/i,br=/opacity=([^)]*)/,bs=/([A-Z]|^ms)/g,bt=/^-?\d+(?:px)?$/i,bu=/^-?\d/,bv=/^([\-+])=([\-+.\de]+)/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","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=bv.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(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bC(a,b,d);f.swap(a,bw,function(){e=bC(a,b,d)});return e}},set:function(a,b){if(!bt.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.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(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$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)));return c}),c.documentElement.currentStyle&&(bB=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)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,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)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.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(bN,"")).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||bO.test(this.nodeName)||bI.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(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\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:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},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:bZ(bT),ajaxTransport:bZ(bU),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?cb(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=cc(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=bH.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(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.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]!=="*"?", "+bX+"; 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=b$(bU,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)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.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(ce,l),b.url===j&&(e&&(k=k.replace(ce,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 cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c)
8   -{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,cf&&delete ch[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),m.text=h.responseText;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=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("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._data(d,"olddisplay",cv(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(cu("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(cu("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;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),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||cv(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],cn.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=co.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,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:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("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,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},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=cr||cs(),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(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cp&&(cp=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=cr||cs(),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(cp),cp=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(["width","height"],function(a,b){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 cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},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(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
  1 +/*!
  2 + * jQuery JavaScript Library v1.7.1
  3 + * http://jquery.com/
  4 + *
  5 + * Copyright 2011, John Resig
  6 + * Dual licensed under the MIT or GPL Version 2 licenses.
  7 + * http://jquery.org/license
  8 + *
  9 + * Includes Sizzle.js
  10 + * http://sizzlejs.com/
  11 + * Copyright 2011, The Dojo Foundation
  12 + * Released under the MIT, BSD, and GPL Licenses.
  13 + *
  14 + * Date: Mon Nov 21 21:11:03 2011 -0500
  15 + */
  16 +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},merge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){if(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:function(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))
  17 +}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttribute("className","t");bv.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-")===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx.add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.className){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
  18 +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},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(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event.special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.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(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return true}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false
  19 +}b.event.add(this,"click._submit keypress._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNode&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.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(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
  20 +/*!
  21 + * Sizzle CSS Selector Engine
  22 + * Copyright 2011, The Dojo Foundation
  23 + * Released under the MIT, BSD, and GPL Licenses.
  24 + * More information: http://sizzlejs.com/
  25 + */
  26 +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelector=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.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(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?bT:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(var bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
  27 +},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=bT}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={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,"",""]},ac=a(av);
  28 +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.nodeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}return b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCase(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
  29 +if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$/,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for(;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,bA,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){b.globalEval(e);return e}}});b.ajaxPrefilter("script",function(e){if(e.cache===L){e.cache=false}if(e.crossDomain){e.type="GET";e.global=false}});b.ajaxTransport("script",function(bw){if(bw.crossDomain){var e,bv=av.head||av.getElementsByTagName("head")[0]||av.documentElement;return{send:function(bx,by){e=av.createElement("script");e.async="async";if(bw.scriptCharset){e.charset=bw.scriptCharset}e.src=bw.url;e.onload=e.onreadystatechange=function(bA,bz){if(bz||!e.readyState||/loaded|complete/.test(e.readyState)){e.onload=e.onreadystatechange=null;if(bv&&e.parentNode){bv.removeChild(e)}e=L;if(!bz){by(200,"success")}}};bv.insertBefore(e,bv.firstChild)},abort:function(){if(e){e.onload(0,1)}}}}});var B=bb.ActiveXObject?function(){for(var e in N){N[e](0,1)}}:false,y=0,N;function aL(){try{return new bb.XMLHttpRequest()}catch(bv){}}function aj(){try{return new bb.ActiveXObject("Microsoft.XMLHTTP")}catch(bv){}}b.ajaxSettings.xhr=bb.ActiveXObject?function(){return !this.isLocal&&aL()||aj()}:aL;(function(e){b.extend(b.support,{ajax:!!e,cors:!!e&&("withCredentials" in e)})})(b.ajaxSettings.xhr());if(b.support.ajax){b.ajaxTransport(function(e){if(!e.crossDomain||b.support.cors){var bv;return{send:function(bB,bw){var bA=e.xhr(),bz,by;if(e.username){bA.open(e.type,e.url,e.async,e.username,e.password)}else{bA.open(e.type,e.url,e.async)}if(e.xhrFields){for(by in e.xhrFields){bA[by]=e.xhrFields[by]}}if(e.mimeType&&bA.overrideMimeType){bA.overrideMimeType(e.mimeType)}if(!e.crossDomain&&!bB["X-Requested-With"]){bB["X-Requested-With"]="XMLHttpRequest"}try{for(by in bB){bA.setRequestHeader(by,bB[by])}}catch(bx){}bA.send((e.hasContent&&e.data)||null);bv=function(bK,bE){var bF,bD,bC,bI,bH;try{if(bv&&(bE||bA.readyState===4)){bv=L;if(bz){bA.onreadystatechange=b.noop;if(B){delete N[bz]}}if(bE){if(bA.readyState!==4){bA.abort()}}else{bF=bA.status;bC=bA.getAllResponseHeaders();bI={};bH=bA.responseXML;if(bH&&bH.documentElement){bI.xml=bH}bI.text=bA.responseText;try{bD=bA.statusText}catch(bJ){bD=""}if(!bF&&e.isLocal&&!e.crossDomain){bF=bI.text?200:404}else{if(bF===1223){bF=204}}}}}catch(bG){if(!bE){bw(-1,bG)}}if(bI){bw(bF,bD,bI,bC)}};if(!e.async||bA.readyState===4){bv()}else{bz=++y;if(B){if(!N){N={};b(bb).unload(B)}N[bz]=bv}bA.onreadystatechange=bv}},abort:function(){if(bv){bv(0,1)
  30 +}}}}})}var Q={},a8,m,aB=/^(?:toggle|show|hide)$/,aT=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,a3,aH=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],a4;b.fn.extend({show:function(bx,bA,bz){var bw,by;if(bx||bx===0){return this.animate(a0("show",3),bx,bA,bz)}else{for(var bv=0,e=this.length;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(!b._data(bw,"olddisplay")&&by==="none"){by=bw.style.display=""}if(by===""&&b.css(bw,"display")==="none"){b._data(bw,"olddisplay",x(bw.nodeName))}}}for(bv=0;bv<e;bv++){bw=this[bv];if(bw.style){by=bw.style.display;if(by===""||by==="none"){bw.style.display=b._data(bw,"olddisplay")||""}}}return this}},hide:function(bx,bA,bz){if(bx||bx===0){return this.animate(a0("hide",3),bx,bA,bz)}else{var bw,by,bv=0,e=this.length;for(;bv<e;bv++){bw=this[bv];if(bw.style){by=b.css(bw,"display");if(by!=="none"&&!b._data(bw,"olddisplay")){b._data(bw,"olddisplay",by)}}}for(bv=0;bv<e;bv++){if(this[bv].style){this[bv].style.display="none"}}return this}},_toggle:b.fn.toggle,toggle:function(bw,bv,bx){var e=typeof bw==="boolean";if(b.isFunction(bw)&&b.isFunction(bv)){this._toggle.apply(this,arguments)}else{if(bw==null||e){this.each(function(){var by=e?bw:b(this).is(":hidden");b(this)[by?"show":"hide"]()})}else{this.animate(a0("toggle",3),bw,bv,bx)}}return this},fadeTo:function(e,bx,bw,bv){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:bx},e,bw,bv)},animate:function(bz,bw,by,bx){var e=b.speed(bw,by,bx);if(b.isEmptyObject(bz)){return this.each(e.complete,[false])}bz=b.extend({},bz);function bv(){if(e.queue===false){b._mark(this)}var bE=b.extend({},e),bK=this.nodeType===1,bI=bK&&b(this).is(":hidden"),bB,bF,bD,bJ,bH,bC,bG,bL,bA;bE.animatedProperties={};for(bD in bz){bB=b.camelCase(bD);if(bD!==bB){bz[bB]=bz[bD];delete bz[bD]}bF=bz[bB];if(b.isArray(bF)){bE.animatedProperties[bB]=bF[1];bF=bz[bB]=bF[0]}else{bE.animatedProperties[bB]=bE.specialEasing&&bE.specialEasing[bB]||bE.easing||"swing"}if(bF==="hide"&&bI||bF==="show"&&!bI){return bE.complete.call(this)}if(bK&&(bB==="height"||bB==="width")){bE.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(b.css(this,"display")==="inline"&&b.css(this,"float")==="none"){if(!b.support.inlineBlockNeedsLayout||x(this.nodeName)==="inline"){this.style.display="inline-block"}else{this.style.zoom=1}}}}if(bE.overflow!=null){this.style.overflow="hidden"}for(bD in bz){bJ=new b.fx(this,bE,bD);bF=bz[bD];if(aB.test(bF)){bA=b._data(this,"toggle"+bD)||(bF==="toggle"?bI?"show":"hide":0);if(bA){b._data(this,"toggle"+bD,bA==="show"?"hide":"show");bJ[bA]()}else{bJ[bF]()}}else{bH=aT.exec(bF);bC=bJ.cur();if(bH){bG=parseFloat(bH[2]);bL=bH[3]||(b.cssNumber[bD]?"":"px");if(bL!=="px"){b.style(this,bD,(bG||1)+bL);bC=((bG||1)/bJ.cur())*bC;b.style(this,bD,bC+bL)}if(bH[1]){bG=((bH[1]==="-="?-1:1)*bG)+bC}bJ.custom(bC,bG,bL)}else{bJ.custom(bC,bF,"")}}}return true}return e.queue===false?this.each(bv):this.queue(e.queue,bv)},stop:function(bw,bv,e){if(typeof bw!=="string"){e=bv;bv=bw;bw=L}if(bv&&bw!==false){this.queue(bw||"fx",[])}return this.each(function(){var bx,by=false,bA=b.timers,bz=b._data(this);if(!e){b._unmark(true,this)}function bB(bE,bF,bD){var bC=bF[bD];b.removeData(bE,bD,true);bC.stop(e)}if(bw==null){for(bx in bz){if(bz[bx]&&bz[bx].stop&&bx.indexOf(".run")===bx.length-4){bB(this,bz,bx)}}}else{if(bz[bx=bw+".run"]&&bz[bx].stop){bB(this,bz,bx)}}for(bx=bA.length;bx--;){if(bA[bx].elem===this&&(bw==null||bA[bx].queue===bw)){if(e){bA[bx](true)}else{bA[bx].saveState()}by=true;bA.splice(bx,1)}}if(!(e&&by)){b.dequeue(this,bw)}})}});function bh(){setTimeout(at,0);return(a4=b.now())}function at(){a4=L}function a0(bv,e){var bw={};b.each(aH.concat.apply([],aH.slice(0,e)),function(){bw[this]=bv});return bw}b.each({slideDown:a0("show",1),slideUp:a0("hide",1),slideToggle:a0("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,bv){b.fn[e]=function(bw,by,bx){return this.animate(bv,bw,by,bx)}});b.extend({speed:function(bw,bx,bv){var e=bw&&typeof bw==="object"?b.extend({},bw):{complete:bv||!bv&&bx||b.isFunction(bw)&&bw,duration:bw,easing:bv&&bx||bx&&!b.isFunction(bx)&&bx};e.duration=b.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in b.fx.speeds?b.fx.speeds[e.duration]:b.fx.speeds._default;if(e.queue==null||e.queue===true){e.queue="fx"}e.old=e.complete;e.complete=function(by){if(b.isFunction(e.old)){e.old.call(this)}if(e.queue){b.dequeue(this,e.queue)}else{if(by!==false){b._unmark(this)}}};return e},easing:{linear:function(bw,bx,e,bv){return e+bv*bw},swing:function(bw,bx,e,bv){return((-Math.cos(bw*Math.PI)/2)+0.5)*bv+e}},timers:[],fx:function(bv,e,bw){this.options=e;this.elem=bv;this.prop=bw;e.orig=e.orig||{}}});b.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(b.fx.step[this.prop]||b.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 e,bv=b.css(this.elem,this.prop);return isNaN(e=parseFloat(bv))?!bv||bv==="auto"?0:bv:e},custom:function(bz,by,bx){var e=this,bw=b.fx;this.startTime=a4||bh();this.end=by;this.now=this.start=bz;this.pos=this.state=0;this.unit=bx||this.unit||(b.cssNumber[this.prop]?"":"px");function bv(bA){return e.step(bA)}bv.queue=this.options.queue;bv.elem=this.elem;bv.saveState=function(){if(e.options.hide&&b._data(e.elem,"fxshow"+e.prop)===L){b._data(e.elem,"fxshow"+e.prop,e.start)}};if(bv()&&b.timers.push(bv)&&!a3){a3=setInterval(bw.tick,bw.interval)}},show:function(){var e=b._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||b.style(this.elem,this.prop);this.options.show=true;if(e!==L){this.custom(this.cur(),e)}else{this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur())}b(this.elem).show()},hide:function(){this.options.orig[this.prop]=b._data(this.elem,"fxshow"+this.prop)||b.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(by){var bA,bB,bv,bx=a4||bh(),e=true,bz=this.elem,bw=this.options;if(by||bx>=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e<bv.length;e++){bw=bv[e];if(!bw()&&bv[e]===bw){bv.splice(e--,1)}}if(!bv.length){b.fx.stop()}},interval:13,stop:function(){clearInterval(a3);a3=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){b.style(e.elem,"opacity",e.now)},_default:function(e){if(e.elem.style&&e.elem.style[e.prop]!=null){e.elem.style[e.prop]=e.now+e.unit}else{e.elem[e.prop]=e.now}}}});b.each(["width","height"],function(e,bv){b.fx.step[bv]=function(bw){b.style(bw.elem,bv,Math.max(0,bw.now)+bw.unit)}});if(b.expr&&b.expr.filters){b.expr.filters.animated=function(e){return b.grep(b.timers,function(bv){return e===bv.elem}).length}}function x(bx){if(!Q[bx]){var e=av.body,bv=b("<"+bx+">").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
  31 +})}})(window);
... ...
JChatClient/doc/html/mainpage_8dox.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/mainpage.dox</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -88,9 +88,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
88 88 </div><!-- contents -->
89 89 <!-- start footer part -->
90 90 <hr class="footer"/><address class="footer"><small>
91   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  91 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
92 92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93   -</a> 1.8.3.1
  93 +</a> 1.8.4
94 94 </small></address>
95 95 </body>
96 96 </html>
... ...
JChatClient/doc/html/makefile_8dox.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia del Archivo /home/imanol/devel/eclipse/PAD/JChatClient/src/makefile.dox</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -88,9 +88,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
88 88 </div><!-- contents -->
89 89 <!-- start footer part -->
90 90 <hr class="footer"/><address class="footer"><small>
91   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  91 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
92 92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93   -</a> 1.8.3.1
  93 +</a> 1.8.4
94 94 </small></address>
95 95 </body>
96 96 </html>
... ...
JChatClient/doc/html/pages.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Páginas relacionadas</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -81,16 +81,16 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
81 81 <div class="contents">
82 82 <div class="textblock">Lista de toda la documentación relacionada:</div><div class="directory">
83 83 <table class="directory">
84   -<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="client_code.html" target="_self">Client</a></td><td class="desc">Ejemplo de aplicación cliente</td></tr>
85   -<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="howto.html" target="_self">HOWTO</a></td><td class="desc">Descripción de funcionamiento y uso de la librería</td></tr>
  84 +<tr id="row_0_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><a class="el" href="client_code.html" target="_self">Client</a></td><td class="desc">Ejemplo de aplicación cliente </td></tr>
  85 +<tr id="row_1_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><a class="el" href="howto.html" target="_self">HOWTO</a></td><td class="desc">Descripción de funcionamiento y uso de la librería </td></tr>
86 86 </table>
87 87 </div><!-- directory -->
88 88 </div><!-- contents -->
89 89 <!-- start footer part -->
90 90 <hr class="footer"/><address class="footer"><small>
91   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  91 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
92 92 <img class="footer" src="doxygen.png" alt="doxygen"/>
93   -</a> 1.8.3.1
  93 +</a> 1.8.4
94 94 </small></address>
95 95 </body>
96 96 </html>
... ...
JChatClient/doc/html/search/all_61.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_61.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_62.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_62.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_63.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_63.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_64.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_64.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_66.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_66.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_67.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_67.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_68.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_68.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_6b.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_6b.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_6c.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_6c.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_6d.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_6d.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_6f.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_6f.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_70.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_70.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_72.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_72.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_73.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_73.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_74.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_74.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/all_7e.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="all_7e.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/classes_73.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="classes_73.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/classes_74.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="classes_74.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/files_63.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="files_63.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/files_68.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="files_68.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/files_6d.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="files_6d.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/files_73.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="files_73.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_61.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_61.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_62.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_62.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_63.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_63.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_64.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_64.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_67.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_67.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_6b.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_6b.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_6c.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_6c.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_6d.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_6d.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_6f.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_6f.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_72.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_72.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_73.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_73.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/functions_7e.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="functions_7e.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/pages_63.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="pages_63.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/pages_68.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="pages_68.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/pages_70.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="pages_70.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/search.css
... ... @@ -48,7 +48,7 @@
48 48 height:19px;
49 49 background:url('search_m.png') repeat-x;
50 50 border:none;
51   - width:116px;
  51 + width:111px;
52 52 margin-left:20px;
53 53 padding-left:4px;
54 54 color: #909090;
... ...
JChatClient/doc/html/search/variables_63.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="variables_63.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/variables_66.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="variables_66.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/variables_6d.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="variables_6d.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/search/variables_73.html
1 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 2 <html><head><title></title>
3 3 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
4   -<meta name="generator" content="Doxygen 1.8.3.1">
  4 +<meta name="generator" content="Doxygen 1.8.4">
5 5 <link rel="stylesheet" type="text/css" href="search.css"/>
6 6 <script type="text/javascript" src="variables_73.js"></script>
7 7 <script type="text/javascript" src="search.js"></script>
... ...
JChatClient/doc/html/structthread__args-members.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Lista de los miembros</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -95,9 +95,9 @@ var searchBox = new SearchBox(&quot;searchBox&quot;, &quot;search&quot;,false,&#39;Buscar&#39;);
95 95 </table></div><!-- contents -->
96 96 <!-- start footer part -->
97 97 <hr class="footer"/><address class="footer"><small>
98   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  98 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
99 99 <img class="footer" src="doxygen.png" alt="doxygen"/>
100   -</a> 1.8.3.1
  100 +</a> 1.8.4
101 101 </small></address>
102 102 </body>
103 103 </html>
... ...
JChatClient/doc/html/structthread__args.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6   -<meta name="generator" content="Doxygen 1.8.3.1"/>
  6 +<meta name="generator" content="Doxygen 1.8.4"/>
7 7 <title>Socket: Referencia de la Estructura thread_args</title>
8 8 <link href="tabs.css" rel="stylesheet" type="text/css"/>
9 9 <script type="text/javascript" src="jquery.js"></script>
... ... @@ -31,7 +31,7 @@
31 31 </table>
32 32 </div>
33 33 <!-- end header part -->
34   -<!-- Generado por Doxygen 1.8.3.1 -->
  34 +<!-- Generado por Doxygen 1.8.4 -->
35 35 <script type="text/javascript">
36 36 var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
37 37 </script>
... ... @@ -125,7 +125,7 @@ Atributos públicos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
125 125  
126 126 <p>Variable de notificación a otros threads. </p>
127 127 <p>Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.</p>
128   -<p><em>Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.</em> </p>
  128 +<p>Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.* </p>
129 129  
130 130 </div>
131 131 </div>
... ... @@ -165,9 +165,9 @@ Atributos públicos&lt;/h2&gt;&lt;/td&gt;&lt;/tr&gt;
165 165 </div><!-- contents -->
166 166 <!-- start footer part -->
167 167 <hr class="footer"/><address class="footer"><small>
168   -Generado el Martes, 10 de Diciembre de 2013 04:23:31 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
  168 +Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por &#160;<a href="http://www.doxygen.org/index.html">
169 169 <img class="footer" src="doxygen.png" alt="doxygen"/>
170   -</a> 1.8.3.1
  170 +</a> 1.8.4
171 171 </small></address>
172 172 </body>
173 173 </html>
... ...
JChatClient/doc/latex/Makefile
... ... @@ -13,6 +13,8 @@ refman.pdf: clean refman.tex
13 13 pdflatex refman ;\
14 14 latex_count=`expr $$latex_count - 1` ;\
15 15 done
  16 + makeindex refman.idx
  17 + pdflatex refman
16 18  
17 19  
18 20 clean:
... ...
JChatClient/doc/latex/class_socket.tex
... ... @@ -80,7 +80,9 @@ Inicializa el file descriptor del socket y prepara la memoria donde se almacenar
80 80  
81 81 Método para aceptar conexiones.
82 82  
83   -Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento.
  83 +\begin{DoxyVerb}Este método bloquea el thread que lo ejecuta hasta que recibe una conexión entrante, que almacena como instancia de la clase
  84 +\end{DoxyVerb}
  85 + \hyperlink{class_socket}{Socket} en la referencia proporcionada por argumento.
84 86 \begin{DoxyParams}{Parámetros}
85 87 {\em client\-Sock} & Instáncia de \hyperlink{class_socket}{Socket} que comunica con el cliente entrante \\
86 88 \hline
... ... @@ -97,7 +99,9 @@ Este método bloquea el thread que lo ejecuta hasta que recibe una conexión ent
97 99  
98 100 Método para hacer bind a una dirección y puerto.
99 101  
100   -Este método asigna el socket a una dirección I\-P (y por tanto, a una interfaz de red en concreto) y un puerto, para que posteriormente actúe de servidor escuchando conexiones.
  102 +\begin{DoxyVerb}Este método asigna el socket a una dirección IP (y por tanto, a una interfaz de red en concreto) y un puerto, para que
  103 +\end{DoxyVerb}
  104 + posteriormente actúe de servidor escuchando conexiones.
101 105 \begin{DoxyParams}{Parámetros}
102 106 {\em address} & Dirección I\-P asignada \\
103 107 \hline
... ... @@ -127,7 +131,9 @@ Este método cierra el socket para que no se pueda escribir ni leer más en él,
127 131  
128 132 Método para efectuar conexiones.
129 133  
130   -Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la dirección y puerto especificados y atienda conexiones.
  134 +\begin{DoxyVerb}Este método sirve a los sockets que actúan como cliente para poder efectuar conexiones a otro socket que esté escuchando en la
  135 +\end{DoxyVerb}
  136 + dirección y puerto especificados y atienda conexiones.
131 137 \begin{DoxyParams}{Parámetros}
132 138 {\em hostname} & Hostname al que conectarse \\
133 139 \hline
... ... @@ -183,7 +189,9 @@ Este método configura el socket para que se ponga en modo escucha y así pueda
183 189  
184 190 Método para enviar mensajes.
185 191  
186   -Este método envía el mensaje que se le proporciona a través del \hyperlink{class_socket}{Socket} con o sin encriptación según las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado.
  192 +\begin{DoxyVerb}Este método envía el mensaje que se le proporciona a través del Socket con o sin encriptación según
  193 +\end{DoxyVerb}
  194 + las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado.
187 195 \begin{DoxyParams}{Parámetros}
188 196 {\em text} & Mensaje a enviar \\
189 197 \hline
... ... @@ -199,7 +207,9 @@ Este método envía el mensaje que se le proporciona a través del \hyperlink{cl
199 207  
200 208 Método para recibir mensajes.
201 209  
202   -Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las opciones de compilación usando el \hyperlink{howto_proto}{protocolo} implementado.
  210 +\begin{DoxyVerb}Este método recibe un mensaje de longitud arbitrária con o sin encriptación según las \ref defines "opciones de compilación" usando
  211 +\end{DoxyVerb}
  212 + el \hyperlink{howto_proto}{protocolo} implementado.
203 213 \begin{DoxyParams}{Parámetros}
204 214 {\em text} & Mensaje a recibir \\
205 215 \hline
... ...
JChatClient/doc/latex/doxygen.sty
... ... @@ -5,78 +5,43 @@
5 5 \RequirePackage{alltt}
6 6 \RequirePackage{array}
7 7 \RequirePackage{calc}
8   -\RequirePackage{color}
9   -\RequirePackage{fancyhdr}
10   -\RequirePackage{longtable}
11   -\RequirePackage{verbatim}
  8 +\RequirePackage{float}
12 9 \RequirePackage{ifthen}
13   -\RequirePackage{xtab}
14   -\RequirePackage{multirow}
  10 +\RequirePackage{verbatim}
15 11 \RequirePackage[table]{xcolor}
  12 +\RequirePackage{xtab}
16 13  
17   -% Use helvetica font instead of times roman
18   -\RequirePackage{helvet}
19   -\RequirePackage{sectsty}
20   -\RequirePackage{tocloft}
21   -\providecommand{\rmdefault}{phv}
22   -\providecommand{\bfdefault}{bc}
23   -
24   -
25   -% Setup fancy headings
26   -\pagestyle{fancyplain}
27   -\newcommand{\clearemptydoublepage}{%
28   - \newpage{\pagestyle{empty}\cleardoublepage}%
29   -}
30   -\renewcommand{\chaptermark}[1]{%
31   - \markboth{#1}{}%
32   -}
33   -\renewcommand{\sectionmark}[1]{%
34   - \markright{\thesection\ #1}%
35   -}
36   -\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
37   -\fancyhead[CE]{\fancyplain{}{}}
38   -\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
39   -\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
40   -\fancyhead[CO]{\fancyplain{}{}}
41   -\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
42   -\fancyfoot[LE]{\fancyplain{}{}}
43   -\fancyfoot[CE]{\fancyplain{}{}}
44   -\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generado el Martes, 10 de Diciembre de 2013 04\-:23\-:31 para Socket por Doxygen }}
45   -\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Martes, 10 de Diciembre de 2013 04\-:23\-:31 para Socket por Doxygen }}
46   -\fancyfoot[CO]{\fancyplain{}{}}
47   -\fancyfoot[RO]{\fancyplain{}{}}
48 14 %---------- Internal commands used in this style file ----------------
49 15  
50   -\newcommand\tabfill[1]{%
51   - \dimen@\linewidth%
52   - \advance\dimen@\@totalleftmargin%
53   - \advance\dimen@-\dimen\@curtab%
54   - \parbox[t]\dimen@{\raggedright #1\ifhmode\strut\fi}%
55   -}
56   -
57 16 \newcommand{\ensurespace}[1]{%
58   - \begingroup
  17 + \begingroup%
59 18 \setlength{\dimen@}{#1}%
60   - \vskip\z@\@plus\dimen@
61   - \penalty -100\vskip\z@\@plus -\dimen@
62   - \vskip\dimen@
  19 + \vskip\z@\@plus\dimen@%
  20 + \penalty -100\vskip\z@\@plus -\dimen@%
  21 + \vskip\dimen@%
63 22 \penalty 9999%
64   - \vskip -\dimen@
65   - \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
66   - \endgroup
  23 + \vskip -\dimen@%
  24 + \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
  25 + \endgroup%
  26 +}
  27 +
  28 +\newcommand{\DoxyLabelFont}{}
  29 +\newcommand{\entrylabel}[1]{%
  30 + {%
  31 + \parbox[b]{\labelwidth-4pt}{%
  32 + \makebox[0pt][l]{\DoxyLabelFont#1}%
  33 + \vspace{1.5\baselineskip}%
  34 + }%
  35 + }%
67 36 }
68 37  
69   -% Generic environment used by all paragraph-based environments defined
70   -% below. Note that the command \title{...} needs to be defined inside
71   -% those environments!
72 38 \newenvironment{DoxyDesc}[1]{%
73 39 \ensurespace{4\baselineskip}%
74   - \begin{list}{}%
75   - {%
76   - \settowidth{\labelwidth}{40pt}%
77   - \setlength{\leftmargin}{\labelwidth}%
  40 + \begin{list}{}{%
  41 + \settowidth{\labelwidth}{20pt}%
78 42 \setlength{\parsep}{0pt}%
79   - \setlength{\itemsep}{-4pt}%
  43 + \setlength{\itemsep}{0pt}%
  44 + \setlength{\leftmargin}{\labelwidth+\labelsep}%
80 45 \renewcommand{\makelabel}{\entrylabel}%
81 46 }%
82 47 \item[#1]%
... ... @@ -84,6 +49,21 @@
84 49 \end{list}%
85 50 }
86 51  
  52 +\newsavebox{\xrefbox}
  53 +\newlength{\xreflength}
  54 +\newcommand{\xreflabel}[1]{%
  55 + \sbox{\xrefbox}{#1}%
  56 + \setlength{\xreflength}{\wd\xrefbox}%
  57 + \ifthenelse{\xreflength>\labelwidth}{%
  58 + \begin{minipage}{\textwidth}%
  59 + \setlength{\parindent}{0pt}%
  60 + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
  61 + \end{minipage}%
  62 + }{%
  63 + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
  64 + }%
  65 +}
  66 +
87 67 %---------- Commands used by doxygen LaTeX output generator ----------
88 68  
89 69 % Used by <pre> ... </pre>
... ... @@ -97,11 +77,12 @@
97 77  
98 78 % Used by @code ... @endcode
99 79 \newenvironment{DoxyCode}{%
100   -
101   -
102   -\begin{scriptsize}\begin{alltt}%
  80 + \par%
  81 + \scriptsize%
  82 + \begin{alltt}%
103 83 }{%
104   -\end{alltt}\end{scriptsize}%
  84 + \end{alltt}%
  85 + \normalsize%
105 86 }
106 87  
107 88 % Used by @example, @include, @includelineno and @dontinclude
... ... @@ -148,13 +129,13 @@
148 129 \enddescription%
149 130 }
150 131  
151   -% Used by @image, @dotfile, and @dot ... @enddot
  132 +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
152 133 % (only if caption is specified)
153 134 \newenvironment{DoxyImage}{%
154 135 \begin{figure}[H]%
155   - \begin{center}%
  136 + \begin{center}%
156 137 }{%
157   - \end{center}%
  138 + \end{center}%
158 139 \end{figure}%
159 140 }
160 141  
... ... @@ -227,7 +208,7 @@
227 208 \end{DoxyDesc}%
228 209 }
229 210  
230   -% Used by @return
  211 +% Used by @return and @returns
231 212 \newenvironment{DoxyReturn}[1]{%
232 213 \begin{DoxyDesc}{#1}%
233 214 }{%
... ... @@ -270,8 +251,7 @@
270 251  
271 252 % Used by @par and @paragraph
272 253 \newenvironment{DoxyParagraph}[1]{%
273   - \begin{list}{}%
274   - {%
  254 + \begin{list}{}{%
275 255 \settowidth{\labelwidth}{40pt}%
276 256 \setlength{\leftmargin}{\labelwidth}%
277 257 \setlength{\parsep}{0pt}%
... ... @@ -285,192 +265,192 @@
285 265  
286 266 % Used by parameter lists
287 267 \newenvironment{DoxyParams}[2][]{%
288   - \begin{DoxyDesc}{#2}%
289   - \item[] \hspace{\fill} \vspace{-40pt}%
290   - \settowidth{\labelwidth}{40pt}%
291   - \setlength{\LTleft}{0pt}%
292   - \setlength{\tabcolsep}{0.01\textwidth}%
  268 + \par%
  269 + \tabletail{\hline}%
  270 + \tablelasttail{\hline}%
  271 + \tablefirsthead{}%
  272 + \tablehead{}%
293 273 \ifthenelse{\equal{#1}{}}%
294   - {\begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
295   - p{0.815\textwidth}|}}%
  274 + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
  275 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  276 + p{0.805\textwidth}|}}%
296 277 {\ifthenelse{\equal{#1}{1}}%
297   - {\begin{longtable}{|>{\centering}p{0.10\textwidth}|%
  278 + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
  279 + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
298 280 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
299   - p{0.685\textwidth}|}}%
300   - {\begin{longtable}{|>{\centering}p{0.10\textwidth}|%
  281 + p{0.678\textwidth}|}}%
  282 + {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
  283 + \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
301 284 >{\centering\hspace{0pt}}p{0.15\textwidth}|%
302 285 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
303   - p{0.515\textwidth}|}}%
  286 + p{0.501\textwidth}|}}%
304 287 }\hline%
305 288 }{%
306   - \end{longtable}%
307   - \end{DoxyDesc}%
  289 + \end{xtabular}%
  290 + \tablefirsthead{}%
  291 + \vspace{6pt}%
308 292 }
309 293  
310 294 % Used for fields of simple structs
311 295 \newenvironment{DoxyFields}[1]{%
312   - \begin{DoxyDesc}{#1}%
313   - \item[] \hspace{\fill} \vspace{-40pt}%
314   - \settowidth{\labelwidth}{40pt}%
315   - \setlength{\LTleft}{0pt}%
316   - \setlength{\tabcolsep}{0.01\textwidth}%
317   - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  296 + \par%
  297 + \tabletail{\hline}%
  298 + \tablelasttail{\hline}%
  299 + \tablehead{}%
  300 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  301 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
318 302 p{0.15\textwidth}|%
319   - p{0.635\textwidth}|}%
  303 + p{0.63\textwidth}|}%
320 304 \hline%
321 305 }{%
322   - \end{longtable}%
323   - \end{DoxyDesc}%
  306 + \end{xtabular}%
  307 + \tablefirsthead{}%
  308 + \vspace{6pt}%
324 309 }
325 310  
326   -% is used for parameters within a detailed function description
  311 +% Used for parameters within a detailed function description
327 312 \newenvironment{DoxyParamCaption}{%
328 313 \renewcommand{\item}[2][]{##1 {\em ##2}}%
329   - }{%
  314 +}{%
330 315 }
331 316  
332 317 % Used by return value lists
333 318 \newenvironment{DoxyRetVals}[1]{%
334   - \begin{DoxyDesc}{#1}%
335   - \begin{description}%
336   - \item[] \hspace{\fill} \vspace{-25pt}%
337   - \setlength{\tabcolsep}{0.01\textwidth}%
338   - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
  319 + \par%
  320 + \tabletail{\hline}%
  321 + \tablelasttail{\hline}%
  322 + \tablehead{}%
  323 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  324 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
339 325 p{0.705\textwidth}|}%
340   - \hline%
  326 + \hline%
341 327 }{%
342   - \end{longtable}%
343   - \end{description}%
344   - \end{DoxyDesc}%
  328 + \end{xtabular}%
  329 + \tablefirsthead{}%
  330 + \vspace{6pt}%
345 331 }
346 332  
347 333 % Used by exception lists
348 334 \newenvironment{DoxyExceptions}[1]{%
349   - \begin{DoxyDesc}{#1}%
350   - \begin{description}%
351   - \item[] \hspace{\fill} \vspace{-25pt}%
352   - \definecolor{tableShade}{HTML}{F8F8F8}%
353   - \rowcolors{1}{white}{tableShade}%
354   - \arrayrulecolor{gray}%
355   - \setlength{\tabcolsep}{0.01\textwidth}%
356   - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
  335 + \par%
  336 + \tabletail{\hline}%
  337 + \tablelasttail{\hline}%
  338 + \tablehead{}%
  339 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  340 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
357 341 p{0.705\textwidth}|}%
358   - \hline%
  342 + \hline%
359 343 }{%
360   - \end{longtable}%
361   - \end{description}%
362   - \end{DoxyDesc}%
  344 + \end{xtabular}%
  345 + \tablefirsthead{}%
  346 + \vspace{6pt}%
363 347 }
364 348  
365 349 % Used by template parameter lists
366 350 \newenvironment{DoxyTemplParams}[1]{%
367   - \begin{DoxyDesc}{#1}%
368   - \begin{description}%
369   - \item[] \hspace{\fill} \vspace{-25pt}%
370   - \definecolor{tableShade}{HTML}{F8F8F8}%
371   - \rowcolors{1}{white}{tableShade}%
372   - \arrayrulecolor{gray}%
373   - \setlength{\tabcolsep}{0.01\textwidth}%
374   - \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
  351 + \par%
  352 + \tabletail{\hline}%
  353 + \tablelasttail{\hline}%
  354 + \tablehead{}%
  355 + \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
  356 + \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
375 357 p{0.705\textwidth}|}%
376   - \hline%
  358 + \hline%
377 359 }{%
378   - \end{longtable}%
379   - \end{description}%
380   - \end{DoxyDesc}%
  360 + \end{xtabular}%
  361 + \tablefirsthead{}%
  362 + \vspace{6pt}%
381 363 }
382 364  
383   -\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
384   -\newenvironment{DoxyCompactList}
385   -{\begin{list}{}{
386   - \setlength{\leftmargin}{0.5cm}
387   - \setlength{\itemsep}{0pt}
388   - \setlength{\parsep}{0pt}
389   - \setlength{\topsep}{0pt}
390   - \renewcommand{\makelabel}{\hfill}}}
391   -{\end{list}}
392   -\newenvironment{DoxyCompactItemize}
393   -{
394   - \begin{itemize}
395   - \setlength{\itemsep}{-3pt}
396   - \setlength{\parsep}{0pt}
397   - \setlength{\topsep}{0pt}
398   - \setlength{\partopsep}{0pt}
399   -}
400   -{\end{itemize}}
401   -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
402   -\newlength{\tmplength}
403   -\newenvironment{TabularC}[1]
404   -{
405   -\setlength{\tmplength}
406   - {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
407   - \par\begin{xtabular*}{\linewidth}
408   - {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
409   -}
410   -{\end{xtabular*}\par}
411   -\newcommand{\entrylabel}[1]{
412   - {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{%
413   - \usefont{OT1}{phv}{bc}{n}\color{darkgray}#1}\vspace{1.5\baselineskip}}}}
414   -\newenvironment{Desc}
415   -{\begin{list}{}
416   - {
417   - \settowidth{\labelwidth}{40pt}
418   - \setlength{\leftmargin}{\labelwidth}
419   - \setlength{\parsep}{0pt}
420   - \setlength{\itemsep}{-4pt}
421   - \renewcommand{\makelabel}{\entrylabel}
422   - }
  365 +% Used for member lists
  366 +\newenvironment{DoxyCompactItemize}{%
  367 + \begin{itemize}%
  368 + \setlength{\itemsep}{-3pt}%
  369 + \setlength{\parsep}{0pt}%
  370 + \setlength{\topsep}{0pt}%
  371 + \setlength{\partopsep}{0pt}%
  372 +}{%
  373 + \end{itemize}%
423 374 }
424   -{\end{list}}
425   -\newsavebox{\xrefbox}
426   -\newlength{\xreflength}
427   -\newcommand{\xreflabel}[1]{%
428   - \sbox{\xrefbox}{#1}%
429   - \setlength{\xreflength}{\wd\xrefbox}%
430   - \ifthenelse{\xreflength>\labelwidth}{%
431   - \begin{minipage}{\textwidth}%
432   - \setlength{\parindent}{0pt}%
433   - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
434   - \end{minipage}%
435   - }{%
436   - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
437   - }}%
  375 +
  376 +% Used for member descriptions
  377 +\newenvironment{DoxyCompactList}{%
  378 + \begin{list}{}{%
  379 + \setlength{\leftmargin}{0.5cm}%
  380 + \setlength{\itemsep}{0pt}%
  381 + \setlength{\parsep}{0pt}%
  382 + \setlength{\topsep}{0pt}%
  383 + \renewcommand{\makelabel}{\hfill}%
  384 + }%
  385 +}{%
  386 + \end{list}%
  387 +}
  388 +
  389 +% Used for reference lists (@bug, @deprecated, @todo, etc.)
438 390 \newenvironment{DoxyRefList}{%
439 391 \begin{list}{}{%
440 392 \setlength{\labelwidth}{10pt}%
441 393 \setlength{\leftmargin}{\labelwidth}%
442 394 \addtolength{\leftmargin}{\labelsep}%
443 395 \renewcommand{\makelabel}{\xreflabel}%
444   - }%
445 396 }%
446   -{\end{list}}
447   -\newenvironment{DoxyRefDesc}[1]
  397 +}{%
  398 + \end{list}%
  399 +}
  400 +
  401 +% Used by @bug, @deprecated, @todo, etc.
  402 +\newenvironment{DoxyRefDesc}[1]{%
  403 + \begin{list}{}{%
  404 + \renewcommand\makelabel[1]{\textbf{##1}}%
  405 + \settowidth\labelwidth{\makelabel{#1}}%
  406 + \setlength\leftmargin{\labelwidth+\labelsep}%
  407 + }%
  408 +}{%
  409 + \end{list}%
  410 +}
  411 +
  412 +% Used by parameter lists and simple sections
  413 +\newenvironment{Desc}
448 414 {\begin{list}{}{%
449   - \renewcommand\makelabel[1]{\textbf{##1}}
450   - \settowidth\labelwidth{\makelabel{#1}}
451   - \setlength\leftmargin{\labelwidth+\labelsep}}}
452   -{\end{list}}
453   -\newenvironment{Indent}
454   - {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
455   - \item[]\ignorespaces}
456   - {\unskip\end{list}}
457   -\setlength{\parindent}{0cm}
458   -\setlength{\parskip}{0.2cm}
459   -\addtocounter{secnumdepth}{2}
460   -\usepackage[T1]{fontenc}
461   -\makeatletter
462   -\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
463   - {-1.0ex}%
464   - {1.0ex}%
465   - {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}
466   -\renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{0ex}%
467   - {-1.0ex}%
468   - {1.0ex}%
469   - {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}
470   -\makeatother
471   -\allsectionsfont{\usefont{OT1}{phv}{bc}{n}\selectfont\color{darkgray}}
472   -\stepcounter{secnumdepth}
473   -\stepcounter{tocdepth}
  415 + \settowidth{\labelwidth}{40pt}%
  416 + \setlength{\leftmargin}{\labelwidth}%
  417 + \setlength{\parsep}{0pt}%
  418 + \setlength{\itemsep}{-4pt}%
  419 + \renewcommand{\makelabel}{\entrylabel}%
  420 + }
  421 +}{%
  422 + \end{list}%
  423 +}
  424 +
  425 +% Used by tables
  426 +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
  427 +\newlength{\tmplength}%
  428 +\newenvironment{TabularC}[1]%
  429 +{%
  430 +\setlength{\tmplength}%
  431 + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
  432 + \par\begin{xtabular*}{\linewidth}%
  433 + {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
  434 +}%
  435 +{\end{xtabular*}\par}%
  436 +
  437 +% Used for member group headers
  438 +\newenvironment{Indent}{%
  439 + \begin{list}{}{%
  440 + \setlength{\leftmargin}{0.5cm}%
  441 + }%
  442 + \item[]\ignorespaces%
  443 +}{%
  444 + \unskip%
  445 + \end{list}%
  446 +}
  447 +
  448 +% Used when hyperlinks are turned off
  449 +\newcommand{\doxyref}[3]{%
  450 + \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
  451 +}
  452 +
  453 +% Used for syntax highlighting
474 454 \definecolor{comment}{rgb}{0.5,0.0,0.0}
475 455 \definecolor{keyword}{rgb}{0.0,0.5,0.0}
476 456 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
... ...
JChatClient/doc/latex/howto.tex
... ... @@ -16,8 +16,6 @@ Debido a la complejidad añadida que supone hacerlo por esta vía, ya que la lib
16 16 Este modo transmite los carácteres de texto sin ningún tipo de encriptación, por lo tanto son totalmente visibles para cualquier agente intermedio. Sin embargo, el modo sin encriptación es más rápido y ofrece el doble de velocidad de transferencia aproximadamente. \par
17 17 \hypertarget{howto_send}{}\subsection{Envío/\-Recepción de mensajes}\label{howto_send}
18 18 El mensaje se transmite de la siguiente forma\-:
19   -
20   -
21 19 \begin{DoxyEnumerate}
22 20 \item Bob le quiere mandar a Alice un mensaje, primero pone el número de carácteres (bytes) que ocupa el mensaje en forma de string terminado con carácter N\-U\-L\-L ('\textbackslash{}0').
23 21 \item Bob añade el mensaje íntegro y lo manda todo junto.
... ...
JChatClient/doc/latex/refman.aux
1 1 \relax
  2 +\providecommand\hyper@newdestlabel[2]{}
  3 +\catcode `"\active
  4 +\catcode `<\active
  5 +\catcode `>\active
  6 +\@nameuse{es@quoting}
2 7 \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
3 8 \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
4 9 \global\let\oldcontentsline\contentsline
... ... @@ -14,10 +19,7 @@
14 19 \global\let\hyper@last\relax
15 20 \gdef\HyperFirstAtBeginDocument#1{#1}
16 21 \providecommand\HyField@AuxAddToFields[1]{}
17   -\catcode`"\active
18   -\catcode`<\active
19   -\catcode`>\active
20   -\@nameuse{es@quoting}
  22 +\providecommand\HyField@AuxAddToCoFields[2]{}
21 23 \select@language{spanish}
22 24 \@writefile{toc}{\select@language{spanish}}
23 25 \@writefile{lof}{\select@language{spanish}}
... ... @@ -25,29 +27,29 @@
25 27 \@writefile{toc}{\contentsline {chapter}{\numberline {1}P\IeC {\'a}gina principal}{1}{chapter.1}}
26 28 \@writefile{lof}{\addvspace {10\p@ }}
27 29 \@writefile{lot}{\addvspace {10\p@ }}
28   -\newlabel{index}{{1}{1}{Página principal\relax }{chapter.1}{}}
  30 +\newlabel{index}{{1}{1}{Página principal}{chapter.1}{}}
29 31 \@writefile{toc}{\contentsline {chapter}{\numberline {2}Client}{3}{chapter.2}}
30 32 \@writefile{lof}{\addvspace {10\p@ }}
31 33 \@writefile{lot}{\addvspace {10\p@ }}
32   -\newlabel{client_code}{{2}{3}{Client\relax }{chapter.2}{}}
  34 +\newlabel{client_code}{{2}{3}{Client}{chapter.2}{}}
33 35 \@writefile{toc}{\contentsline {chapter}{\numberline {3}H\discretionary {-}{}{}O\discretionary {-}{}{}W\discretionary {-}{}{}T\discretionary {-}{}{}O}{5}{chapter.3}}
34 36 \@writefile{lof}{\addvspace {10\p@ }}
35 37 \@writefile{lot}{\addvspace {10\p@ }}
36   -\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O\relax }{chapter.3}{}}
  38 +\newlabel{howto}{{3}{5}{H\-O\-W\-T\-O}{chapter.3}{}}
37 39 \@writefile{toc}{\contentsline {section}{\numberline {3.1}Descripci\IeC {\'o}n del protocolo}{5}{section.3.1}}
38   -\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo\relax }{section.3.1}{}}
  40 +\newlabel{howto_proto}{{3.1}{5}{Descripción del protocolo}{section.3.1}{}}
39 41 \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Modo en texto llano}{5}{subsection.3.1.1}}
40   -\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano\relax }{subsection.3.1.1}{}}
  42 +\newlabel{howto_plain}{{3.1.1}{5}{Modo en texto llano}{subsection.3.1.1}{}}
41 43 \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Env\IeC {\'\i }o/\discretionary {-}{}{}Recepci\IeC {\'o}n de mensajes}{5}{subsection.3.1.2}}
42   -\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes\relax }{subsection.3.1.2}{}}
  44 +\newlabel{howto_send}{{3.1.2}{5}{Envío/\-Recepción de mensajes}{subsection.3.1.2}{}}
43 45 \@writefile{toc}{\contentsline {section}{\numberline {3.2}Compilaci\IeC {\'o}n}{6}{section.3.2}}
44   -\newlabel{howto_compile}{{3.2}{6}{Compilación\relax }{section.3.2}{}}
  46 +\newlabel{howto_compile}{{3.2}{6}{Compilación}{section.3.2}{}}
45 47 \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Flags de compilaci\IeC {\'o}n}{6}{subsection.3.2.1}}
46   -\newlabel{howto_flags}{{3.2.1}{6}{Flags de compilación\relax }{subsection.3.2.1}{}}
  48 +\newlabel{howto_flags}{{3.2.1}{6}{Flags de compilación}{subsection.3.2.1}{}}
47 49 \@writefile{toc}{\contentsline {section}{\numberline {3.3}Ejemplos}{6}{section.3.3}}
48   -\newlabel{howto_examples}{{3.3}{6}{Ejemplos\relax }{section.3.3}{}}
  50 +\newlabel{howto_examples}{{3.3}{6}{Ejemplos}{section.3.3}{}}
49 51 \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Programar un cliente}{6}{subsection.3.3.1}}
50   -\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente\relax }{subsection.3.3.1}{}}
  52 +\newlabel{howto_server}{{3.3.1}{6}{Programar un cliente}{subsection.3.3.1}{}}
51 53 \@writefile{toc}{\contentsline {chapter}{\numberline {4}\IeC {\'I}ndice de clases}{7}{chapter.4}}
52 54 \@writefile{lof}{\addvspace {10\p@ }}
53 55 \@writefile{lot}{\addvspace {10\p@ }}
... ... @@ -60,131 +62,113 @@
60 62 \@writefile{lof}{\addvspace {10\p@ }}
61 63 \@writefile{lot}{\addvspace {10\p@ }}
62 64 \@writefile{toc}{\contentsline {section}{\numberline {6.1}Referencia de la Clase Socket}{11}{section.6.1}}
63   -\newlabel{class_socket}{{6.1}{11}{Referencia de la Clase Socket\relax }{section.6.1}{}}
64   -\gdef \LT@i {\LT@entry
65   - {1}{78.18367pt}\LT@entry
66   - {1}{380.5249pt}}
67   -\gdef \LT@ii {\LT@entry
68   - {1}{78.18367pt}\LT@entry
69   - {1}{380.5249pt}}
  65 +\newlabel{class_socket}{{6.1}{11}{Referencia de la Clase Socket}{section.6.1}{}}
  66 +\gdef \PWST@i{1}
  67 +\gdef \PWST@ii{1}
70 68 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Descripci\IeC {\'o}n detallada}{12}{subsection.6.1.1}}
71 69 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Documentaci\IeC {\'o}n del constructor y destructor}{12}{subsection.6.1.2}}
72 70 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.2.1}Socket}{12}{subsubsection.6.1.2.1}}
73   -\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket\relax }{subsubsection.6.1.2.1}{}}
  71 +\newlabel{class_socket_a7c3256c4fc6e2c603df73201049fae5a}{{6.1.2.1}{12}{Socket}{subsubsection.6.1.2.1}{}}
74 72 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Documentaci\IeC {\'o}n de las funciones miembro}{12}{subsection.6.1.3}}
75 73 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.1}Accept}{12}{subsubsection.6.1.3.1}}
76   -\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept\relax }{subsubsection.6.1.3.1}{}}
  74 +\newlabel{class_socket_a25cdd79546b8e7e49f2195208ae6d00c}{{6.1.3.1}{12}{Accept}{subsubsection.6.1.3.1}{}}
77 75 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.2}Bind}{12}{subsubsection.6.1.3.2}}
78   -\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.1.3.2}{12}{Bind\relax }{subsubsection.6.1.3.2}{}}
  76 +\newlabel{class_socket_afdc52c70cf11911cc1a3c595a7849cf0}{{6.1.3.2}{12}{Bind}{subsubsection.6.1.3.2}{}}
79 77 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.3}Close}{12}{subsubsection.6.1.3.3}}
80   -\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.1.3.3}{12}{Close\relax }{subsubsection.6.1.3.3}{}}
81   -\gdef \LT@iii {\LT@entry
82   - {1}{78.18367pt}\LT@entry
83   - {1}{380.5249pt}}
84   -\gdef \LT@iv {\LT@entry
85   - {1}{78.18367pt}\LT@entry
86   - {1}{380.5249pt}}
87   -\gdef \LT@v {\LT@entry
88   - {1}{78.18367pt}\LT@entry
89   - {1}{380.5249pt}}
90   -\gdef \LT@vi {\LT@entry
91   - {1}{78.18367pt}\LT@entry
92   - {1}{380.5249pt}}
  78 +\newlabel{class_socket_a4c8ced9a8ce58834191b3b4f2033b173}{{6.1.3.3}{12}{Close}{subsubsection.6.1.3.3}{}}
  79 +\gdef \PWST@iii{1}
  80 +\gdef \PWST@iv{1}
  81 +\gdef \PWST@v{1}
93 82 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.4}Connect}{13}{subsubsection.6.1.3.4}}
94   -\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.1.3.4}{13}{Connect\relax }{subsubsection.6.1.3.4}{}}
  83 +\newlabel{class_socket_aa1d074c1aa400e8bca7c7da79b036abe}{{6.1.3.4}{13}{Connect}{subsubsection.6.1.3.4}{}}
95 84 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.5}Create}{13}{subsubsection.6.1.3.5}}
96   -\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.1.3.5}{13}{Create\relax }{subsubsection.6.1.3.5}{}}
  85 +\newlabel{class_socket_add736ccf41f102910a2b8ac5e77eb8b1}{{6.1.3.5}{13}{Create}{subsubsection.6.1.3.5}{}}
97 86 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.6}get\discretionary {-}{}{}Sock}{13}{subsubsection.6.1.3.6}}
98   -\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.1.3.6}{13}{get\-Sock\relax }{subsubsection.6.1.3.6}{}}
  87 +\newlabel{class_socket_abc14da0faa1d00fe361eeede1b3cda4a}{{6.1.3.6}{13}{get\-Sock}{subsubsection.6.1.3.6}{}}
99 88 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.7}Listen}{13}{subsubsection.6.1.3.7}}
100   -\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.1.3.7}{13}{Listen\relax }{subsubsection.6.1.3.7}{}}
  89 +\newlabel{class_socket_a4d476d11854d7acb17b8d196c8171865}{{6.1.3.7}{13}{Listen}{subsubsection.6.1.3.7}{}}
101 90 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.8}operator$<$$<$}{13}{subsubsection.6.1.3.8}}
102   -\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.1.3.8}{13}{operator$<$$<$\relax }{subsubsection.6.1.3.8}{}}
  91 +\newlabel{class_socket_a5beab0c84c933510a53126f786cff6de}{{6.1.3.8}{13}{operator$<$$<$}{subsubsection.6.1.3.8}{}}
103 92 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.9}operator$>$$>$}{13}{subsubsection.6.1.3.9}}
104   -\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.1.3.9}{13}{operator$>$$>$\relax }{subsubsection.6.1.3.9}{}}
105   -\gdef \LT@vii {\LT@entry
106   - {1}{78.18367pt}\LT@entry
107   - {1}{380.5249pt}}
108   -\gdef \LT@viii {\LT@entry
109   - {1}{78.18367pt}\LT@entry
110   - {1}{380.5249pt}}
  93 +\newlabel{class_socket_ab6b2dffea36c60c53f8d5e539f1cf000}{{6.1.3.9}{13}{operator$>$$>$}{subsubsection.6.1.3.9}{}}
  94 +\gdef \PWST@vi{1}
  95 +\gdef \PWST@vii{1}
  96 +\gdef \PWST@viii{1}
111 97 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.10}Receive}{14}{subsubsection.6.1.3.10}}
112   -\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.1.3.10}{14}{Receive\relax }{subsubsection.6.1.3.10}{}}
  98 +\newlabel{class_socket_aa1a8b143bb2adf57934156d9e33b8611}{{6.1.3.10}{14}{Receive}{subsubsection.6.1.3.10}{}}
113 99 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.3.11}Send}{14}{subsubsection.6.1.3.11}}
114   -\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.1.3.11}{14}{Send\relax }{subsubsection.6.1.3.11}{}}
  100 +\newlabel{class_socket_a4c4ecb88d5587177899198861d29d3dd}{{6.1.3.11}{14}{Send}{subsubsection.6.1.3.11}{}}
115 101 \@writefile{toc}{\contentsline {subsection}{\numberline {6.1.4}Documentaci\IeC {\'o}n de los datos miembro}{14}{subsection.6.1.4}}
116 102 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.1}sock}{14}{subsubsection.6.1.4.1}}
117   -\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.1.4.1}{14}{sock\relax }{subsubsection.6.1.4.1}{}}
  103 +\newlabel{class_socket_a231ddf6e338a86640e26808b83efeaa1}{{6.1.4.1}{14}{sock}{subsubsection.6.1.4.1}{}}
118 104 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.1.4.2}sock\discretionary {-}{}{}Addr}{14}{subsubsection.6.1.4.2}}
119   -\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.1.4.2}{14}{sock\-Addr\relax }{subsubsection.6.1.4.2}{}}
  105 +\newlabel{class_socket_ae4d80b83c327ed835b5f4575a499a400}{{6.1.4.2}{14}{sock\-Addr}{subsubsection.6.1.4.2}{}}
120 106 \@writefile{toc}{\contentsline {section}{\numberline {6.2}Referencia de la Clase Socket\discretionary {-}{}{}Exception}{14}{section.6.2}}
121   -\newlabel{class_socket_exception}{{6.2}{14}{Referencia de la Clase Socket\-Exception\relax }{section.6.2}{}}
122   -\gdef \LT@ix {\LT@entry
123   - {1}{78.18367pt}\LT@entry
124   - {1}{380.5249pt}}
  107 +\newlabel{class_socket_exception}{{6.2}{14}{Referencia de la Clase Socket\-Exception}{section.6.2}{}}
  108 +\gdef \PWST@ix{1}
125 109 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Descripci\IeC {\'o}n detallada}{15}{subsection.6.2.1}}
126 110 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Documentaci\IeC {\'o}n del constructor y destructor}{15}{subsection.6.2.2}}
127 111 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.1}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.1}}
128   -\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.2.2.1}{15}{Socket\-Exception\relax }{subsubsection.6.2.2.1}{}}
  112 +\newlabel{class_socket_exception_a06573084bad8aca1443281c0970fe033}{{6.2.2.1}{15}{Socket\-Exception}{subsubsection.6.2.2.1}{}}
129 113 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.2.2}$\sim $\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception}{15}{subsubsection.6.2.2.2}}
130   -\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.2.2.2}{15}{$\sim $\-Socket\-Exception\relax }{subsubsection.6.2.2.2}{}}
  114 +\newlabel{class_socket_exception_a659557c899329aea01977c980c4db9b9}{{6.2.2.2}{15}{$\sim $\-Socket\-Exception}{subsubsection.6.2.2.2}{}}
131 115 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Documentaci\IeC {\'o}n de las funciones miembro}{15}{subsection.6.2.3}}
132 116 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1}}
133   -\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description\relax }{subsubsection.6.2.3.1}{}}
  117 +\newlabel{class_socket_exception_ae160a594055812694ac93f7118c4af1c}{{6.2.3.1}{15}{description}{subsubsection.6.2.3.1}{}}
134 118 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4}}
135 119 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1}}
136   -\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.2.4.1}{15}{message\relax }{subsubsection.6.2.4.1}{}}
137   -\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{15}{section.6.3}}
138   -\newlabel{structthread__args}{{6.3}{15}{Referencia de la Estructura thread\-\_\-args\relax }{section.6.3}{}}
  120 +\newlabel{class_socket_exception_a43f3472f1433552059ffeb9a251a9b76}{{6.2.4.1}{15}{message}{subsubsection.6.2.4.1}{}}
  121 +\@writefile{toc}{\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{16}{section.6.3}}
  122 +\newlabel{structthread__args}{{6.3}{16}{Referencia de la Estructura thread\-\_\-args}{section.6.3}{}}
139 123 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1}}
140 124 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2}}
141 125 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1}}
142   -\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.3.2.1}{16}{condition\relax }{subsubsection.6.3.2.1}{}}
  126 +\newlabel{structthread__args_a96ee28beaed4175257db3d8794245f25}{{6.3.2.1}{16}{condition}{subsubsection.6.3.2.1}{}}
143 127 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.2}mutex}{16}{subsubsection.6.3.2.2}}
144   -\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.3.2.2}{16}{mutex\relax }{subsubsection.6.3.2.2}{}}
  128 +\newlabel{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{{6.3.2.2}{16}{mutex}{subsubsection.6.3.2.2}{}}
145 129 \@writefile{toc}{\contentsline {subsubsection}{\numberline {6.3.2.3}s}{16}{subsubsection.6.3.2.3}}
146   -\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.3.2.3}{16}{s\relax }{subsubsection.6.3.2.3}{}}
  130 +\newlabel{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{{6.3.2.3}{16}{s}{subsubsection.6.3.2.3}{}}
147 131 \@writefile{toc}{\contentsline {chapter}{\numberline {7}Documentaci\IeC {\'o}n de archivos}{17}{chapter.7}}
148 132 \@writefile{lof}{\addvspace {10\p@ }}
149 133 \@writefile{lot}{\addvspace {10\p@ }}
150 134 \@writefile{toc}{\contentsline {section}{\numberline {7.1}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.cpp}{17}{section.7.1}}
151   -\newlabel{client_8cpp}{{7.1}{17}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp\relax }{section.7.1}{}}
  135 +\newlabel{client_8cpp}{{7.1}{17}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.cpp}{section.7.1}{}}
152 136 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.1}Descripci\IeC {\'o}n detallada}{17}{subsection.7.1.1}}
153 137 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.2}Documentaci\IeC {\'o}n de las funciones}{18}{subsection.7.1.2}}
154 138 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.1}connect}{18}{subsubsection.7.1.2.1}}
155   -\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{18}{connect\relax }{subsubsection.7.1.2.1}{}}
  139 +\newlabel{client_8cpp_ab4a3d59d9d8c97b79cb3a6cb6a0e403c}{{7.1.2.1}{18}{connect}{subsubsection.7.1.2.1}{}}
156 140 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.2}kill\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.2}}
157   -\newlabel{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{{7.1.2.2}{18}{kill\-Thread\relax }{subsubsection.7.1.2.2}{}}
  141 +\newlabel{client_8cpp_ab99831172d1d4bca2c79bb37c7c062df}{{7.1.2.2}{18}{kill\-Thread}{subsubsection.7.1.2.2}{}}
158 142 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.3}main}{18}{subsubsection.7.1.2.3}}
159   -\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{18}{main\relax }{subsubsection.7.1.2.3}{}}
  143 +\newlabel{client_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4}{{7.1.2.3}{18}{main}{subsubsection.7.1.2.3}{}}
160 144 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.4}recv\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.4}}
161   -\newlabel{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{{7.1.2.4}{18}{recv\-Thread\relax }{subsubsection.7.1.2.4}{}}
  145 +\newlabel{client_8cpp_abbdd974364b0dba7bb0524ab8f115a03}{{7.1.2.4}{18}{recv\-Thread}{subsubsection.7.1.2.4}{}}
162 146 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2.5}send\discretionary {-}{}{}Thread}{18}{subsubsection.7.1.2.5}}
163   -\newlabel{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{{7.1.2.5}{18}{send\-Thread\relax }{subsubsection.7.1.2.5}{}}
  147 +\newlabel{client_8cpp_a6511fc920cd92a0fe628df3f1a1f7e5a}{{7.1.2.5}{18}{send\-Thread}{subsubsection.7.1.2.5}{}}
164 148 \@writefile{toc}{\contentsline {subsection}{\numberline {7.1.3}Documentaci\IeC {\'o}n de las variables}{18}{subsection.7.1.3}}
165 149 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.1}connected}{18}{subsubsection.7.1.3.1}}
166   -\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{18}{connected\relax }{subsubsection.7.1.3.1}{}}
  150 +\newlabel{client_8cpp_ab36823025f12a809217f7771125658c2}{{7.1.3.1}{18}{connected}{subsubsection.7.1.3.1}{}}
167 151 \@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3.2}finished}{18}{subsubsection.7.1.3.2}}
168   -\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{18}{finished\relax }{subsubsection.7.1.3.2}{}}
  152 +\newlabel{client_8cpp_a9324389a5cdc532c6417a87ccafe18ce}{{7.1.3.2}{18}{finished}{subsubsection.7.1.3.2}{}}
169 153 \@writefile{toc}{\contentsline {section}{\numberline {7.2}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/client.dox}{19}{section.7.2}}
170   -\newlabel{client_8dox}{{7.2}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.dox\relax }{section.7.2}{}}
  154 +\newlabel{client_8dox}{{7.2}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/client.dox}{section.7.2}{}}
171 155 \@writefile{toc}{\contentsline {subsection}{\numberline {7.2.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.2.1}}
172 156 \@writefile{toc}{\contentsline {section}{\numberline {7.3}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/howto.dox}{19}{section.7.3}}
173   -\newlabel{howto_8dox}{{7.3}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/howto.dox\relax }{section.7.3}{}}
  157 +\newlabel{howto_8dox}{{7.3}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/howto.dox}{section.7.3}{}}
174 158 \@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Descripci\IeC {\'o}n detallada}{19}{subsection.7.3.1}}
175 159 \@writefile{toc}{\contentsline {section}{\numberline {7.4}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/client.h}{19}{section.7.4}}
176   -\newlabel{client_8h}{{7.4}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h\relax }{section.7.4}{}}
  160 +\newlabel{client_8h}{{7.4}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/client.h}{section.7.4}{}}
177 161 \@writefile{toc}{\contentsline {section}{\numberline {7.5}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket.h}{19}{section.7.5}}
178   -\newlabel{_socket_8h}{{7.5}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket.h\relax }{section.7.5}{}}
  162 +\newlabel{_socket_8h}{{7.5}{19}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket.h}{section.7.5}{}}
179 163 \@writefile{toc}{\contentsline {subsection}{\numberline {7.5.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.5.1}}
180 164 \@writefile{toc}{\contentsline {section}{\numberline {7.6}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/include/\discretionary {-}{}{}Socket\discretionary {-}{}{}Exception.h}{20}{section.7.6}}
181   -\newlabel{_socket_exception_8h}{{7.6}{20}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket\-Exception.h\relax }{section.7.6}{}}
  165 +\newlabel{_socket_exception_8h}{{7.6}{20}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\-Socket\-Exception.h}{section.7.6}{}}
182 166 \@writefile{toc}{\contentsline {subsection}{\numberline {7.6.1}Descripci\IeC {\'o}n detallada}{20}{subsection.7.6.1}}
183 167 \@writefile{toc}{\contentsline {section}{\numberline {7.7}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/mainpage.dox}{21}{section.7.7}}
184   -\newlabel{mainpage_8dox}{{7.7}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/mainpage.dox\relax }{section.7.7}{}}
  168 +\newlabel{mainpage_8dox}{{7.7}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/mainpage.dox}{section.7.7}{}}
185 169 \@writefile{toc}{\contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8}}
186   -\newlabel{makefile_8dox}{{7.8}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/makefile.dox\relax }{section.7.8}{}}
  170 +\newlabel{makefile_8dox}{{7.8}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/makefile.dox}{section.7.8}{}}
187 171 \@writefile{toc}{\contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9}}
188   -\newlabel{_socket_8cpp}{{7.9}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\-Socket.cpp\relax }{section.7.9}{}}
  172 +\newlabel{_socket_8cpp}{{7.9}{21}{Referencia del Archivo /home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/\-Socket.cpp}{section.7.9}{}}
189 173 \@writefile{toc}{\contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1}}
190   -\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1}}
  174 +\@writefile{toc}{\contentsline {part}{\IeC {\'I}ndice}{22}{section*.13}}
... ...
JChatClient/doc/latex/refman.idx
... ... @@ -19,8 +19,8 @@
19 19 \indexentry{operator$<$$<$@{operator$<$$<$}!Socket@{Socket}|hyperpage}{13}
20 20 \indexentry{Socket@{Socket}!operator$>$$>$@{operator$>$$>$}|hyperpage}{13}
21 21 \indexentry{operator$>$$>$@{operator$>$$>$}!Socket@{Socket}|hyperpage}{13}
22   -\indexentry{Socket@{Socket}!Receive@{Receive}|hyperpage}{13}
23   -\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{13}
  22 +\indexentry{Socket@{Socket}!Receive@{Receive}|hyperpage}{14}
  23 +\indexentry{Receive@{Receive}!Socket@{Socket}|hyperpage}{14}
24 24 \indexentry{Socket@{Socket}!Send@{Send}|hyperpage}{14}
25 25 \indexentry{Send@{Send}!Socket@{Socket}|hyperpage}{14}
26 26 \indexentry{Socket@{Socket}!sock@{sock}|hyperpage}{14}
... ... @@ -36,7 +36,7 @@
36 36 \indexentry{description@{description}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15}
37 37 \indexentry{Socket\discretionary {-}{}{}Exception@{Socket\discretionary {-}{}{}Exception}!message@{message}|hyperpage}{15}
38 38 \indexentry{message@{message}!SocketException@{Socket\discretionary {-}{}{}Exception}|hyperpage}{15}
39   -\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{15}
  39 +\indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16}
40 40 \indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!condition@{condition}|hyperpage}{16}
41 41 \indexentry{condition@{condition}!thread_args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}|hyperpage}{16}
42 42 \indexentry{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args@{thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}!mutex@{mutex}|hyperpage}{16}
... ...
JChatClient/doc/latex/refman.ilg
1   -This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support).
  1 +This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
2 2 Scanning input file refman.idx....done (68 entries accepted, 0 rejected).
3 3 Sorting entries....done (442 comparisons).
4 4 Generating output file refman.ind....done (151 lines written, 0 warnings).
... ...
JChatClient/doc/latex/refman.ind
... ... @@ -100,7 +100,7 @@
100 100 \indexspace
101 101  
102 102 \item {Receive}
103   - \subitem {Socket}, \hyperpage{13}
  103 + \subitem {Socket}, \hyperpage{14}
104 104 \item {recv\discretionary {-}{}{}Thread}
105 105 \subitem {client.\discretionary {-}{}{}cpp}, \hyperpage{18}
106 106  
... ... @@ -127,7 +127,7 @@
127 127 \subitem {Listen}, \hyperpage{13}
128 128 \subitem {operator$<$$<$}, \hyperpage{13}
129 129 \subitem {operator$>$$>$}, \hyperpage{13}
130   - \subitem {Receive}, \hyperpage{13}
  130 + \subitem {Receive}, \hyperpage{14}
131 131 \subitem {Send}, \hyperpage{14}
132 132 \subitem {sock}, \hyperpage{14}
133 133 \subitem {sock\discretionary {-}{}{}Addr}, \hyperpage{14}
... ... @@ -143,7 +143,7 @@
143 143 \indexspace
144 144  
145 145 \item {thread\discretionary {-}{}{}\_\discretionary {-}{}{}args},
146   - \hyperpage{15}
  146 + \hyperpage{16}
147 147 \subitem {condition}, \hyperpage{16}
148 148 \subitem {mutex}, \hyperpage{16}
149 149 \subitem {s}, \hyperpage{16}
... ...
JChatClient/doc/latex/refman.log
1   -This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) (format=pdflatex 2013.8.1) 10 DEC 2013 04:23
  1 +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.12.7) 12 DEC 2013 17:44
2 2 entering extended mode
3 3 restricted \write18 enabled.
4 4 %&-line parsing enabled.
5 5 **refman
6 6 (./refman.tex
7 7 LaTeX2e <2011/06/27>
8   -Babel <v3.8m> and hyphenation patterns for english, dumylang, nohyphenation, lo
9   -aded.
  8 +Babel <3.9f> and hyphenation patterns for 5 languages loaded.
10 9 (/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
11 10 Document Class: book 2007/10/19 v1.4h Standard LaTeX document class
12 11 (/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo
... ... @@ -25,60 +24,56 @@ File: bk10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
25 24 \belowcaptionskip=\skip42
26 25 \bibindent=\dimen102
27 26 )
28   -(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
29   -Package: geometry 2010/09/12 v5.6 Page Geometry
  27 +(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
  28 +Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
  29 +\calc@Acount=\count88
  30 +\calc@Bcount=\count89
  31 +\calc@Adimen=\dimen103
  32 +\calc@Bdimen=\dimen104
  33 +\calc@Askip=\skip43
  34 +\calc@Bskip=\skip44
  35 +LaTeX Info: Redefining \setlength on input line 76.
  36 +LaTeX Info: Redefining \addtolength on input line 77.
  37 +\calc@Ccount=\count90
  38 +\calc@Cskip=\skip45
  39 +) (./doxygen.sty
  40 +Package: doxygen
30 41  
31   -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
32   -Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
33   -\KV@toks@=\toks14
34   -)
35   -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
36   -Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
37   -Package ifpdf Info: pdfTeX in PDF mode is detected.
38   -)
39   -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
40   -Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
41   -Package ifvtex Info: VTeX not detected.
  42 +(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
  43 +Package: alltt 1997/06/16 v2.0g defines alltt environment
42 44 )
43   -(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
44   -Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
  45 +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
  46 +Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
  47 +\col@sep=\dimen105
  48 +\extrarowheight=\dimen106
  49 +\NC@list=\toks14
  50 +\extratabsurround=\skip46
  51 +\backup@length=\skip47
45 52 )
46   -\Gm@cnth=\count88
47   -\Gm@cntv=\count89
48   -\c@Gm@tempcnt=\count90
49   -\Gm@bindingoffset=\dimen103
50   -\Gm@wd@mp=\dimen104
51   -\Gm@odd@mp=\dimen105
52   -\Gm@even@mp=\dimen106
53   -\Gm@layoutwidth=\dimen107
54   -\Gm@layoutheight=\dimen108
55   -\Gm@layouthoffset=\dimen109
56   -\Gm@layoutvoffset=\dimen110
57   -\Gm@dimlist=\toks15
  53 +(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
  54 +Package: float 2001/11/08 v1.3d Float enhancements (AL)
  55 +\c@float@type=\count91
  56 +\float@exts=\toks15
  57 +\float@box=\box26
  58 +\@float@everytoks=\toks16
  59 +\@floatcapt=\box27
58 60 )
59   -(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
60   -Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
  61 +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
  62 +Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
61 63 )
62   -(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty
63   -Package: natbib 2010/09/13 8.31b (PWD, AO)
64   -\bibhang=\skip43
65   -\bibsep=\skip44
66   -LaTeX Info: Redefining \cite on input line 694.
67   -\c@NAT@ctr=\count91
  64 +(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty
  65 +Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
  66 +\every@verbatim=\toks17
  67 +\verbatim@line=\toks18
  68 +\verbatim@in@stream=\read1
68 69 )
69   -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
70   -Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
71   -
72   -(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
73   -Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
  70 +(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
  71 +Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
74 72  
75   -(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
76   -Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
77   -)
78   -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
79   -File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
  73 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
  74 +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
80 75 )
81   -Package graphics Info: Driver file: pdftex.def on input line 91.
  76 +Package xcolor Info: Driver file: pdftex.def on input line 225.
82 77  
83 78 (/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
84 79 File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
... ... @@ -90,126 +85,13 @@ Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
90 85 Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
91 86 )
92 87 \Gread@gobject=\count92
93   -))
94   -\Gin@req@height=\dimen111
95   -\Gin@req@width=\dimen112
96   -)
97   -(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
98   -Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi)
99   -\c@tracingmulticols=\count93
100   -\mult@box=\box26
101   -\multicol@leftmargin=\dimen113
102   -\c@unbalance=\count94
103   -\c@collectmore=\count95
104   -\doublecol@number=\count96
105   -\multicoltolerance=\count97
106   -\multicolpretolerance=\count98
107   -\full@width=\dimen114
108   -\page@free=\dimen115
109   -\premulticols=\dimen116
110   -\postmulticols=\dimen117
111   -\multicolsep=\skip45
112   -\multicolbaselineskip=\skip46
113   -\partial@page=\box27
114   -\last@line=\box28
115   -\mult@rightbox=\box29
116   -\mult@grightbox=\box30
117   -\mult@gfirstbox=\box31
118   -\mult@firstbox=\box32
119   -\@tempa=\box33
120   -\@tempa=\box34
121   -\@tempa=\box35
122   -\@tempa=\box36
123   -\@tempa=\box37
124   -\@tempa=\box38
125   -\@tempa=\box39
126   -\@tempa=\box40
127   -\@tempa=\box41
128   -\@tempa=\box42
129   -\@tempa=\box43
130   -\@tempa=\box44
131   -\@tempa=\box45
132   -\@tempa=\box46
133   -\@tempa=\box47
134   -\@tempa=\box48
135   -\@tempa=\box49
136   -\c@columnbadness=\count99
137   -\c@finalcolumnbadness=\count100
138   -\last@try=\dimen118
139   -\multicolovershoot=\dimen119
140   -\multicolundershoot=\dimen120
141   -\mult@nat@firstbox=\box50
142   -\colbreak@box=\box51
143   -\multicol@sort@counter=\count101
144   -)
145   -(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
146   -Package: float 2001/11/08 v1.3d Float enhancements (AL)
147   -\c@float@type=\count102
148   -\float@exts=\toks16
149   -\float@box=\box52
150   -\@float@everytoks=\toks17
151   -\@floatcapt=\box53
152   -)
153   -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
154   -\lst@mode=\count103
155   -\lst@gtempboxa=\box54
156   -\lst@token=\toks18
157   -\lst@length=\count104
158   -\lst@currlwidth=\dimen121
159   -\lst@column=\count105
160   -\lst@pos=\count106
161   -\lst@lostspace=\dimen122
162   -\lst@width=\dimen123
163   -\lst@newlines=\count107
164   -\lst@lineno=\count108
165   -\lst@maxwidth=\dimen124
166   -
167   -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
168   -File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz)
169   -\c@lstnumber=\count109
170   -\lst@skipnumbers=\count110
171   -\lst@framebox=\box55
172   -)
173   -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
174   -File: listings.cfg 2007/02/22 1.4 listings configuration
175   -))
176   -Package: listings 2007/02/22 1.4 (Carsten Heinz)
177   -
178   -(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
179   -Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)
180   -
181   -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
182   -File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
183   -)
184   -Package color Info: Driver file: pdftex.def on input line 130.
185   -)
186   -(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
187   -Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
188   -)
189   -(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
190   -Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
191   -
192   -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
193   -File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
194 88 )
195   -Package xcolor Info: Driver file: pdftex.def on input line 225.
196   -
197 89 (/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
198 90 Package: colortbl 2012/02/13 v1.0a Color table columns (DPC)
199   -
200   -(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
201   -Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
202   -\col@sep=\dimen125
203   -\extrarowheight=\dimen126
204   -\NC@list=\toks19
205   -\extratabsurround=\skip47
206   -\backup@length=\skip48
207   -)
208   -\everycr=\toks20
209   -\minrowclearance=\skip49
  91 +\everycr=\toks19
  92 +\minrowclearance=\skip48
210 93 )
211   -LaTeX Info: Redefining \color on input line 702.
212   -\rownum=\count111
  94 +\rownum=\count93
213 95 Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
214 96 Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
215 97 Package xcolor Info: Model `RGB' extended on input line 1353.
... ... @@ -220,204 +102,59 @@ Package xcolor Info: Model `HSB&#39; substituted by `hsb&#39; on input line 1358.
220 102 Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
221 103 Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
222 104 )
223   -(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
224   -Package: textcomp 2005/09/27 v1.99g Standard LaTeX package
225   -Package textcomp Info: Sub-encoding information:
226   -(textcomp) 5 = only ISO-Adobe without \textcurrency
227   -(textcomp) 4 = 5 + \texteuro
228   -(textcomp) 3 = 4 + \textohm
229   -(textcomp) 2 = 3 + \textestimated + \textcurrency
230   -(textcomp) 1 = TS1 - \textcircled - \t
231   -(textcomp) 0 = TS1 (full)
232   -(textcomp) Font families with sub-encoding setting implement
233   -(textcomp) only a restricted character set as indicated.
234   -(textcomp) Family '?' is the default used for unknown fonts.
235   -(textcomp) See the documentation for details.
236   -Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.
237   -
238   -(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
239   -File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
240   -)
241   -LaTeX Info: Redefining \oldstylenums on input line 266.
242   -Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281.
243   -Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282.
244   -Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283.
245   -Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284.
246   -Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285.
247   -Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286.
248   -Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287.
249   -Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288.
250   -Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289.
251   -Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290.
252   -Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291.
253   -Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292.
254   -Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293.
255   -Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294.
256   -Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295.
257   -Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296.
258   -Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297.
259   -Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298.
260   -Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299.
261   -Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300.
262   -Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301.
263   -Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302.
264   -Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303.
265   -Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304.
266   -
267   -Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305.
268   -Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306.
269   -Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307.
270   -Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308.
271   -Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309.
272   -Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310.
273   -Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311.
274   -Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312.
275   -Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313.
276   -Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314.
277   -Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315.
278   -Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316.
279   -Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317.
280   -Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318.
281   -Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319.
282   -Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320.
283   -Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321.
284   -Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322.
285   -Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323.
286   -Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324.
287   -Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325.
288   -Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326.
289   -Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327.
290   -Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328.
291   -Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329.
292   -Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330.
293   -Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331.
294   -Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332.
295   -Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333.
296   -Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334.
297   -Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335.
298   -Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336.
299   -Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337.
300   -Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338.
301   -Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339.
302   -Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340.
303   -)
304   -(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty
305   -Package: alltt 1997/06/16 v2.0g defines alltt environment
306   -)
307   -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
308   -Package: hyperref 2012/05/13 v6.82q Hypertext links for LaTeX
309   -
310   -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
311   -Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
312   -
313   -
314   -(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
315   -Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
316   -Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
317   -Package hobsub Info: Skipping package `infwarerr' (already loaded).
318   -Package hobsub Info: Skipping package `ltxcmds' (already loaded).
319   -Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
320   -Package ifluatex Info: LuaTeX not detected.
321   -Package hobsub Info: Skipping package `ifvtex' (already loaded).
322   -Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
323   -Package hobsub Info: Skipping package `ifpdf' (already loaded).
324   -Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
325   -Package etexcmds Info: Could not find \expanded.
326   -(etexcmds) That can mean that you are not using pdfTeX 1.50 or
327   -(etexcmds) that some package has redefined \expanded.
328   -(etexcmds) In the latter case, load this package earlier.
329   -Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
330   -Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
331   -Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
332   -)
333   -Package pdftexcmds Info: LuaTeX not detected.
334   -Package pdftexcmds Info: \pdf@primitive is available.
335   -Package pdftexcmds Info: \pdf@ifprimitive is available.
336   -Package pdftexcmds Info: \pdfdraftmode found.
337   -Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
338   -Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
339   -)
340   -Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
341   -Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
342   -)
343   -Package hobsub Info: Skipping package `hobsub' (already loaded).
344   -Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
345   -Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
346   -Package: xcolor-patch 2011/01/30 xcolor patch
347   -Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
348   -Package atveryend Info: \enddocument detected (standard20110627).
349   -Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
350   -Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
351   -Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
352   -)
353   -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
354   -Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
355   -)
356   -\@linkdim=\dimen127
357   -\Hy@linkcounter=\count112
358   -\Hy@pagecounter=\count113
359   -
360   -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
361   -File: pd1enc.def 2012/05/13 v6.82q Hyperref: PDFDocEncoding definition (HO)
  105 +(/usr/share/texlive/texmf-dist/tex/latex/xtab/xtab.sty
  106 +Package: xtab 2011/07/31 v2.3f Extended supertabular package
  107 +\c@tracingst=\count94
  108 +\PWSTcapht=\dimen107
  109 +\ST@wd=\dimen108
  110 +\ST@rightskip=\skip49
  111 +\ST@leftskip=\skip50
  112 +\ST@parfillskip=\skip51
  113 +\c@PWSTtable=\count95
  114 +\PWSTlastpage=\count96
  115 +\PWSTpenultimate=\count97
  116 +\PWSTcurpage=\count98
  117 +\PWSTtempc=\count99
  118 +\PWSTlines=\count100
  119 +\PWST@lastht=\dimen109
  120 +\PWST@generalht=\dimen110
  121 +\PWST@ht=\dimen111
  122 +\ST@pageleft=\dimen112
  123 +\ST@headht=\dimen113
  124 +\ST@tailht=\dimen114
  125 +\ST@pagesofar=\dimen115
  126 +\ST@pboxht=\dimen116
  127 +\ST@lineht=\dimen117
  128 +\ST@stretchht=\dimen118
  129 +\ST@prevht=\dimen119
  130 +\ST@toadd=\dimen120
  131 +\ST@dimen=\dimen121
  132 +\ST@pbox=\box28
  133 +)
  134 +\xrefbox=\box29
  135 +\xreflength=\skip52
  136 +\tmplength=\skip53
362 137 )
363   -\Hy@SavedSpaceFactor=\count114
  138 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
  139 +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
364 140  
365   -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
366   -File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
  141 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
  142 +Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
  143 +\KV@toks@=\toks20
367 144 )
368   -Package hyperref Info: Option `colorlinks' set `true' on input line 3941.
369   -Package hyperref Info: Option `unicode' set `true' on input line 3941.
  145 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
  146 +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
370 147  
371   -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
372   -File: puenc.def 2012/05/13 v6.82q Hyperref: PDF Unicode definition (HO)
  148 +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
  149 +Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
373 150 )
374   -Package hyperref Info: Hyper figures OFF on input line 4062.
375   -Package hyperref Info: Link nesting OFF on input line 4067.
376   -Package hyperref Info: Hyper index ON on input line 4070.
377   -Package hyperref Info: Plain pages OFF on input line 4077.
378   -Package hyperref Info: Backreferencing ON on input line 4080.
379   -Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
380   -Package hyperref Info: Bookmarks ON on input line 4300.
381   -
382   -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty
383   -Package: backref 2010/08/30 v1.36 Bibliographical back referencing
384   -
385   -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
386   -Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
387   -Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
388   -82.
389   -))
390   -\c@Hy@tempcnt=\count115
391   -
392   -(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
393   -\Urlmuskip=\muskip10
394   -Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
  151 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
  152 +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
395 153 )
396   -LaTeX Info: Redefining \url on input line 4653.
397   -\Fld@menulength=\count116
398   -\Field@Width=\dimen128
399   -\Fld@charsize=\dimen129
400   -Package hyperref Info: Hyper figures OFF on input line 5773.
401   -Package hyperref Info: Link nesting OFF on input line 5778.
402   -Package hyperref Info: Hyper index ON on input line 5781.
403   -Package hyperref Info: backreferencing ON on input line 5786.
404   -Package hyperref Info: Link coloring ON on input line 5791.
405   -Package hyperref Info: Link coloring with OCG OFF on input line 5798.
406   -Package hyperref Info: PDF/A mode OFF on input line 5803.
407   -LaTeX Info: Redefining \ref on input line 5843.
408   -LaTeX Info: Redefining \pageref on input line 5847.
409   -\Hy@abspage=\count117
410   -\c@Item=\count118
411   -\c@Hfootnote=\count119
  154 +Package graphics Info: Driver file: pdftex.def on input line 91.
412 155 )
413   -
414   -Package hyperref Message: Driver: hpdftex.
415   -
416   -(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
417   -File: hpdftex.def 2012/05/13 v6.82q Hyperref driver for pdfTeX
418   -\Fld@listcount=\count120
419   -\c@bookmark@seq@number=\count121
420   -\Hy@SectionHShift=\skip50
  156 +\Gin@req@height=\dimen122
  157 +\Gin@req@width=\dimen123
421 158 )
422 159 (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
423 160 Package: inputenc 2008/03/30 v1.1d Input encoding file
... ... @@ -625,6 +362,88 @@ Now handling font encoding OMX ...
625 362 ... no UTF-8 mapping file for font encoding OMX
626 363 Now handling font encoding U ...
627 364 ... no UTF-8 mapping file for font encoding U
  365 + defining Unicode char U+00A9 (decimal 169)
  366 + defining Unicode char U+00AA (decimal 170)
  367 + defining Unicode char U+00AE (decimal 174)
  368 + defining Unicode char U+00BA (decimal 186)
  369 + defining Unicode char U+02C6 (decimal 710)
  370 + defining Unicode char U+02DC (decimal 732)
  371 + defining Unicode char U+200C (decimal 8204)
  372 + defining Unicode char U+2026 (decimal 8230)
  373 + defining Unicode char U+2122 (decimal 8482)
  374 + defining Unicode char U+2423 (decimal 9251)
  375 +))
  376 +(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
  377 +Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
  378 +)
  379 +(/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty
  380 +Package: multicol 2011/06/27 v1.7a multicolumn formatting (FMi)
  381 +\c@tracingmulticols=\count101
  382 +\mult@box=\box30
  383 +\multicol@leftmargin=\dimen124
  384 +\c@unbalance=\count102
  385 +\c@collectmore=\count103
  386 +\doublecol@number=\count104
  387 +\multicoltolerance=\count105
  388 +\multicolpretolerance=\count106
  389 +\full@width=\dimen125
  390 +\page@free=\dimen126
  391 +\premulticols=\dimen127
  392 +\postmulticols=\dimen128
  393 +\multicolsep=\skip54
  394 +\multicolbaselineskip=\skip55
  395 +\partial@page=\box31
  396 +\last@line=\box32
  397 +\mult@rightbox=\box33
  398 +\mult@grightbox=\box34
  399 +\mult@gfirstbox=\box35
  400 +\mult@firstbox=\box36
  401 +\@tempa=\box37
  402 +\@tempa=\box38
  403 +\@tempa=\box39
  404 +\@tempa=\box40
  405 +\@tempa=\box41
  406 +\@tempa=\box42
  407 +\@tempa=\box43
  408 +\@tempa=\box44
  409 +\@tempa=\box45
  410 +\@tempa=\box46
  411 +\@tempa=\box47
  412 +\@tempa=\box48
  413 +\@tempa=\box49
  414 +\@tempa=\box50
  415 +\@tempa=\box51
  416 +\@tempa=\box52
  417 +\@tempa=\box53
  418 +\c@columnbadness=\count107
  419 +\c@finalcolumnbadness=\count108
  420 +\last@try=\dimen129
  421 +\multicolovershoot=\dimen130
  422 +\multicolundershoot=\dimen131
  423 +\mult@nat@firstbox=\box54
  424 +\colbreak@box=\box55
  425 +\multicol@sort@counter=\count109
  426 +)
  427 +(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty
  428 +\bigstrutjot=\dimen132
  429 +)
  430 +(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
  431 +Package: textcomp 2005/09/27 v1.99g Standard LaTeX package
  432 +Package textcomp Info: Sub-encoding information:
  433 +(textcomp) 5 = only ISO-Adobe without \textcurrency
  434 +(textcomp) 4 = 5 + \texteuro
  435 +(textcomp) 3 = 4 + \textohm
  436 +(textcomp) 2 = 3 + \textestimated + \textcurrency
  437 +(textcomp) 1 = TS1 - \textcircled - \t
  438 +(textcomp) 0 = TS1 (full)
  439 +(textcomp) Font families with sub-encoding setting implement
  440 +(textcomp) only a restricted character set as indicated.
  441 +(textcomp) Family '?' is the default used for unknown fonts.
  442 +(textcomp) See the documentation for details.
  443 +Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.
  444 +
  445 +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
  446 +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
628 447 Now handling font encoding TS1 ...
629 448 ... processing UTF-8 mapping file for font encoding TS1
630 449  
... ... @@ -699,47 +518,97 @@ File: ts1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
699 518 defining Unicode char U+25E6 (decimal 9702)
700 519 defining Unicode char U+25EF (decimal 9711)
701 520 defining Unicode char U+266A (decimal 9834)
702   -)
703   -Now handling font encoding PD1 ...
704   -... no UTF-8 mapping file for font encoding PD1
705   -Now handling font encoding PU ...
706   -... no UTF-8 mapping file for font encoding PU
707   - defining Unicode char U+00A9 (decimal 169)
708   - defining Unicode char U+00AA (decimal 170)
709   - defining Unicode char U+00AE (decimal 174)
710   - defining Unicode char U+00BA (decimal 186)
711   - defining Unicode char U+02C6 (decimal 710)
712   - defining Unicode char U+02DC (decimal 732)
713   - defining Unicode char U+200C (decimal 8204)
714   - defining Unicode char U+2026 (decimal 8230)
715   - defining Unicode char U+2122 (decimal 8482)
716   - defining Unicode char U+2423 (decimal 9251)
717 521 ))
  522 +LaTeX Info: Redefining \oldstylenums on input line 266.
  523 +Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281.
  524 +Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282.
  525 +Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283.
  526 +Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284.
  527 +Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285.
  528 +Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286.
  529 +Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287.
  530 +Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288.
  531 +Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289.
  532 +Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290.
  533 +Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291.
  534 +Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292.
  535 +Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293.
  536 +Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294.
  537 +Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295.
  538 +Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296.
  539 +Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297.
  540 +Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298.
  541 +Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299.
  542 +Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300.
  543 +Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301.
  544 +Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302.
  545 +Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303.
  546 +Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304.
  547 +
  548 +Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305.
  549 +Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306.
  550 +Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307.
  551 +Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308.
  552 +Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309.
  553 +Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310.
  554 +Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311.
  555 +Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312.
  556 +Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313.
  557 +Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314.
  558 +Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315.
  559 +Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316.
  560 +Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317.
  561 +Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318.
  562 +Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319.
  563 +Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320.
  564 +Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321.
  565 +Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322.
  566 +Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323.
  567 +Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324.
  568 +Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325.
  569 +Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326.
  570 +Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327.
  571 +Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328.
  572 +Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329.
  573 +Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330.
  574 +Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331.
  575 +Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332.
  576 +Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333.
  577 +Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334.
  578 +Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335.
  579 +Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336.
  580 +Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337.
  581 +Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338.
  582 +Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339.
  583 +Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340.
  584 +)
718 585 (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
719   -Package: babel 2008/07/08 v3.8m The Babel package
  586 +Package: babel 2013/05/16 v3.9f The Babel package
720 587  
721   -(/usr/share/texlive/texmf-dist/tex/generic/babel/spanish.ldf
722   -Language: spanish.ldf 2011/10/06 v5.0k Spanish support from the babel system
  588 +(/usr/share/texlive/texmf-dist/tex/generic/babel-spanish/spanish.ldf
  589 +Language: spanish.ldf 2010/05/23 v5.0j Spanish support from the babel system
723 590  
724 591 (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
725   -File: babel.def 2008/07/08 v3.8m Babel common definitions
726   -\babel@savecnt=\count122
727   -\U@D=\dimen130
  592 +File: babel.def 2013/05/16 v3.9f Babel common definitions
  593 +\babel@savecnt=\count110
  594 +\U@D=\dimen133
728 595 )
729   -
730   -Package babel Warning: No hyphenation patterns were loaded for
731   -(babel) the language `Spanish'
732   -(babel) I will use the patterns loaded for \language=0 instead.
733   -
734   -\l@spanish = a dialect from \language0
735   -\es@datefmt=\count123
  596 +\es@datefmt=\count111
736 597 \es@quottoks=\toks23
737   -\es@quotdepth=\count124
738   -Package babel Info: Making " an active character on input line 496.
739   -Package babel Info: Making . an active character on input line 599.
740   -Package babel Info: Making < an active character on input line 644.
741   -Package babel Info: Making > an active character on input line 644.
742   -)) (/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty
  598 +\es@quotdepth=\count112
  599 +Package babel Info: Making " an active character on input line 495.
  600 +Package babel Info: Making . an active character on input line 588.
  601 +Package babel Info: Making < an active character on input line 633.
  602 +Package babel Info: Making > an active character on input line 633.
  603 +))
  604 +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
  605 +Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
  606 +
  607 +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
  608 +File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
  609 +LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
  610 +))
  611 +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/mathptmx.sty
743 612 Package: mathptmx 2005/04/12 PSNFSS-v9.2a Times w/ Math, improved (SPQR, WaS)
744 613 LaTeX Font Info: Redeclaring symbol font `operators' on input line 28.
745 614 LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
... ... @@ -781,203 +650,302 @@ Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS)
781 650 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty
782 651 Package: courier 2005/04/12 PSNFSS-v9.2a (WaS)
783 652 )
784   -(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty
785   -Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty
786   -les
787   -)
788 653 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
789   -Package: amssymb 2009/06/22 v3.00
  654 +Package: amssymb 2013/01/14 v3.01 AMS font symbols
790 655  
791 656 (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
792   -Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support
  657 +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
793 658 \@emptytoks=\toks24
794 659 \symAMSa=\mathgroup6
795 660 \symAMSb=\mathgroup7
796 661 LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
797   -(Font) U/euf/m/n --> U/euf/b/n on input line 96.
  662 +(Font) U/euf/m/n --> U/euf/b/n on input line 106.
798 663 ))
799   -(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty
800   -Package: tocloft 2010/10/13 v2.3e parameterised ToC, etc., typesetting
801   -Package tocloft Info: The document has chapter divisions on input line 43.
802   -\cftparskip=\skip51
803   -\cftbeforetoctitleskip=\skip52
804   -\cftaftertoctitleskip=\skip53
805   -\cftbeforepartskip=\skip54
806   -\cftpartnumwidth=\skip55
807   -\cftpartindent=\skip56
808   -\cftbeforechapskip=\skip57
809   -\cftchapindent=\skip58
810   -\cftchapnumwidth=\skip59
811   -\cftbeforesecskip=\skip60
812   -\cftsecindent=\skip61
813   -\cftsecnumwidth=\skip62
814   -\cftbeforesubsecskip=\skip63
815   -\cftsubsecindent=\skip64
816   -\cftsubsecnumwidth=\skip65
817   -\cftbeforesubsubsecskip=\skip66
818   -\cftsubsubsecindent=\skip67
819   -\cftsubsubsecnumwidth=\skip68
820   -\cftbeforeparaskip=\skip69
821   -\cftparaindent=\skip70
822   -\cftparanumwidth=\skip71
823   -\cftbeforesubparaskip=\skip72
824   -\cftsubparaindent=\skip73
825   -\cftsubparanumwidth=\skip74
826   -\cftbeforeloftitleskip=\skip75
827   -\cftafterloftitleskip=\skip76
828   -\cftbeforefigskip=\skip77
829   -\cftfigindent=\skip78
830   -\cftfignumwidth=\skip79
831   -\c@lofdepth=\count125
832   -\c@lotdepth=\count126
833   -\cftbeforelottitleskip=\skip80
834   -\cftafterlottitleskip=\skip81
835   -\cftbeforetabskip=\skip82
836   -\cfttabindent=\skip83
837   -\cfttabnumwidth=\skip84
838   -) (./doxygen.sty
839   -Package: doxygen
  664 +(/usr/share/texlive/texmf-dist/tex/latex/sectsty/sectsty.sty
  665 +Package: sectsty 2002/02/25 v2.0.2 Commands to change all sectional heading sty
  666 +les
  667 +)
  668 +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
  669 +Package: geometry 2010/09/12 v5.6 Page Geometry
840 670  
841   -(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
842   -Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
843   -\calc@Acount=\count127
844   -\calc@Bcount=\count128
845   -\calc@Adimen=\dimen131
846   -\calc@Bdimen=\dimen132
847   -\calc@Askip=\skip85
848   -\calc@Bskip=\skip86
849   -LaTeX Info: Redefining \setlength on input line 76.
850   -LaTeX Info: Redefining \addtolength on input line 77.
851   -\calc@Ccount=\count129
852   -\calc@Cskip=\skip87
  671 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
  672 +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
  673 +Package ifpdf Info: pdfTeX in PDF mode is detected.
  674 +)
  675 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
  676 +Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
  677 +Package ifvtex Info: VTeX not detected.
  678 +)
  679 +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
  680 +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
  681 +)
  682 +\Gm@cnth=\count113
  683 +\Gm@cntv=\count114
  684 +\c@Gm@tempcnt=\count115
  685 +\Gm@bindingoffset=\dimen134
  686 +\Gm@wd@mp=\dimen135
  687 +\Gm@odd@mp=\dimen136
  688 +\Gm@even@mp=\dimen137
  689 +\Gm@layoutwidth=\dimen138
  690 +\Gm@layoutheight=\dimen139
  691 +\Gm@layouthoffset=\dimen140
  692 +\Gm@layoutvoffset=\dimen141
  693 +\Gm@dimlist=\toks25
853 694 )
854 695 (/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
855   -\fancy@headwidth=\skip88
856   -\f@ncyO@elh=\skip89
857   -\f@ncyO@erh=\skip90
858   -\f@ncyO@olh=\skip91
859   -\f@ncyO@orh=\skip92
860   -\f@ncyO@elf=\skip93
861   -\f@ncyO@erf=\skip94
862   -\f@ncyO@olf=\skip95
863   -\f@ncyO@orf=\skip96
864   -)
865   -(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty
866   -Package: longtable 2004/02/01 v4.11 Multi-page Table package (DPC)
867   -\LTleft=\skip97
868   -\LTright=\skip98
869   -\LTpre=\skip99
870   -\LTpost=\skip100
871   -\LTchunksize=\count130
872   -\LTcapwidth=\dimen133
873   -\LT@head=\box56
874   -\LT@firsthead=\box57
875   -\LT@foot=\box58
876   -\LT@lastfoot=\box59
877   -\LT@cols=\count131
878   -\LT@rows=\count132
879   -\c@LT@tables=\count133
880   -\c@LT@chunks=\count134
881   -\LT@p@ftn=\toks25
  696 +\fancy@headwidth=\skip56
  697 +\f@ncyO@elh=\skip57
  698 +\f@ncyO@erh=\skip58
  699 +\f@ncyO@olh=\skip59
  700 +\f@ncyO@orh=\skip60
  701 +\f@ncyO@elf=\skip61
  702 +\f@ncyO@erf=\skip62
  703 +\f@ncyO@olf=\skip63
  704 +\f@ncyO@orf=\skip64
882 705 )
883   -(/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty
884   -Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
885   -\every@verbatim=\toks26
886   -\verbatim@line=\toks27
887   -\verbatim@in@stream=\read1
  706 +(/usr/share/texlive/texmf-dist/tex/latex/natbib/natbib.sty
  707 +Package: natbib 2010/09/13 8.31b (PWD, AO)
  708 +\bibhang=\skip65
  709 +\bibsep=\skip66
  710 +LaTeX Info: Redefining \cite on input line 694.
  711 +\c@NAT@ctr=\count116
888 712 )
889   -(/usr/share/texlive/texmf-dist/tex/latex/xtab/xtab.sty
890   -Package: xtab 2011/07/31 v2.3f Extended supertabular package
891   -\c@tracingst=\count135
892   -\PWSTcapht=\dimen134
893   -\ST@wd=\dimen135
894   -\ST@rightskip=\skip101
895   -\ST@leftskip=\skip102
896   -\ST@parfillskip=\skip103
897   -\c@PWSTtable=\count136
898   -\PWSTlastpage=\count137
899   -\PWSTpenultimate=\count138
900   -\PWSTcurpage=\count139
901   -\PWSTtempc=\count140
902   -\PWSTlines=\count141
903   -\PWST@lastht=\dimen136
904   -\PWST@generalht=\dimen137
905   -\PWST@ht=\dimen138
906   -\ST@pageleft=\dimen139
907   -\ST@headht=\dimen140
908   -\ST@tailht=\dimen141
909   -\ST@pagesofar=\dimen142
910   -\ST@pboxht=\dimen143
911   -\ST@lineht=\dimen144
912   -\ST@stretchht=\dimen145
913   -\ST@prevht=\dimen146
914   -\ST@toadd=\dimen147
915   -\ST@dimen=\dimen148
916   -\ST@pbox=\box60
  713 +(/usr/share/texlive/texmf-dist/tex/latex/tocloft/tocloft.sty
  714 +Package: tocloft 2013/05/02 v2.3f parameterised ToC, etc., typesetting
  715 +Package tocloft Info: The document has chapter divisions on input line 44.
  716 +\cftparskip=\skip67
  717 +\cftbeforetoctitleskip=\skip68
  718 +\cftaftertoctitleskip=\skip69
  719 +\cftbeforepartskip=\skip70
  720 +\cftpartnumwidth=\skip71
  721 +\cftpartindent=\skip72
  722 +\cftbeforechapskip=\skip73
  723 +\cftchapindent=\skip74
  724 +\cftchapnumwidth=\skip75
  725 +\cftbeforesecskip=\skip76
  726 +\cftsecindent=\skip77
  727 +\cftsecnumwidth=\skip78
  728 +\cftbeforesubsecskip=\skip79
  729 +\cftsubsecindent=\skip80
  730 +\cftsubsecnumwidth=\skip81
  731 +\cftbeforesubsubsecskip=\skip82
  732 +\cftsubsubsecindent=\skip83
  733 +\cftsubsubsecnumwidth=\skip84
  734 +\cftbeforeparaskip=\skip85
  735 +\cftparaindent=\skip86
  736 +\cftparanumwidth=\skip87
  737 +\cftbeforesubparaskip=\skip88
  738 +\cftsubparaindent=\skip89
  739 +\cftsubparanumwidth=\skip90
  740 +\cftbeforeloftitleskip=\skip91
  741 +\cftafterloftitleskip=\skip92
  742 +\cftbeforefigskip=\skip93
  743 +\cftfigindent=\skip94
  744 +\cftfignumwidth=\skip95
  745 +\c@lofdepth=\count117
  746 +\c@lotdepth=\count118
  747 +\cftbeforelottitleskip=\skip96
  748 +\cftafterlottitleskip=\skip97
  749 +\cftbeforetabskip=\skip98
  750 +\cfttabindent=\skip99
  751 +\cfttabnumwidth=\skip100
917 752 )
918   -(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty
919   -\bigstrutjot=\dimen149
  753 +\@indexfile=\write3
  754 +\openout3 = `refman.idx'.
  755 +
  756 +
  757 +Writing index file refman.idx
  758 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
  759 +Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
  760 +
  761 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
  762 +Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
  763 +
  764 +
  765 +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
  766 +Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
  767 +Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
  768 +Package hobsub Info: Skipping package `infwarerr' (already loaded).
  769 +Package hobsub Info: Skipping package `ltxcmds' (already loaded).
  770 +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
  771 +Package ifluatex Info: LuaTeX not detected.
  772 +Package hobsub Info: Skipping package `ifvtex' (already loaded).
  773 +Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
  774 +Package hobsub Info: Skipping package `ifpdf' (already loaded).
  775 +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
  776 +Package etexcmds Info: Could not find \expanded.
  777 +(etexcmds) That can mean that you are not using pdfTeX 1.50 or
  778 +(etexcmds) that some package has redefined \expanded.
  779 +(etexcmds) In the latter case, load this package earlier.
  780 +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
  781 +Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
  782 +Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
  783 +)
  784 +Package pdftexcmds Info: LuaTeX not detected.
  785 +Package pdftexcmds Info: \pdf@primitive is available.
  786 +Package pdftexcmds Info: \pdf@ifprimitive is available.
  787 +Package pdftexcmds Info: \pdfdraftmode found.
  788 +Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
  789 +Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
  790 +)
  791 +Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
  792 +Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
  793 +)
  794 +Package hobsub Info: Skipping package `hobsub' (already loaded).
  795 +Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
  796 +Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
  797 +Package: xcolor-patch 2011/01/30 xcolor patch
  798 +Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
  799 +Package atveryend Info: \enddocument detected (standard20110627).
  800 +Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
  801 +Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
  802 +Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
  803 +)
  804 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
  805 +Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
  806 +)
  807 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
  808 +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
920 809 )
921   -\tmplength=\skip104
922   -\xrefbox=\box61
923   -\xreflength=\skip105
  810 +\@linkdim=\dimen142
  811 +\Hy@linkcounter=\count119
  812 +\Hy@pagecounter=\count120
924 813  
925   -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
926   -Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
  814 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
  815 +File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
  816 +Now handling font encoding PD1 ...
  817 +... no UTF-8 mapping file for font encoding PD1
  818 +)
  819 +\Hy@SavedSpaceFactor=\count121
927 820  
928   -(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
929   -File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
930   -LaTeX Font Info: Redeclaring font encoding T1 on input line 43.
931   -)))
932   -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
933   -File: lstlang1.sty 2004/09/05 1.3 listings language file
  821 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
  822 +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
934 823 )
935   -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
936   -File: lstlang1.sty 2004/09/05 1.3 listings language file
  824 +Package hyperref Info: Hyper figures OFF on input line 4443.
  825 +Package hyperref Info: Link nesting OFF on input line 4448.
  826 +Package hyperref Info: Hyper index ON on input line 4451.
  827 +Package hyperref Info: Plain pages OFF on input line 4458.
  828 +Package hyperref Info: Backreferencing ON on input line 4461.
  829 +Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
  830 +Package hyperref Info: Bookmarks ON on input line 4688.
  831 +
  832 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/backref.sty
  833 +Package: backref 2012/07/25 v1.38 Bibliographical back referencing
  834 +
  835 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
  836 +Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
  837 +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
  838 +82.
  839 +))
  840 +\c@Hy@tempcnt=\count122
  841 +
  842 +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
  843 +\Urlmuskip=\muskip10
  844 +Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
937 845 )
938   -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
939   -File: lstmisc.sty 2007/02/22 1.4 (Carsten Heinz)
  846 +LaTeX Info: Redefining \url on input line 5041.
  847 +\XeTeXLinkMargin=\dimen143
  848 +\Fld@menulength=\count123
  849 +\Field@Width=\dimen144
  850 +\Fld@charsize=\dimen145
  851 +Package hyperref Info: Hyper figures OFF on input line 6295.
  852 +Package hyperref Info: Link nesting OFF on input line 6300.
  853 +Package hyperref Info: Hyper index ON on input line 6303.
  854 +Package hyperref Info: backreferencing ON on input line 6308.
  855 +Package hyperref Info: Link coloring OFF on input line 6315.
  856 +Package hyperref Info: Link coloring with OCG OFF on input line 6320.
  857 +Package hyperref Info: PDF/A mode OFF on input line 6325.
  858 +LaTeX Info: Redefining \ref on input line 6365.
  859 +LaTeX Info: Redefining \pageref on input line 6369.
  860 +\Hy@abspage=\count124
  861 +\c@Item=\count125
  862 +\c@Hfootnote=\count126
940 863 )
941   -\@indexfile=\write3
942   -\openout3 = `refman.idx'.
943 864  
  865 +Package hyperref Message: Driver: hpdftex.
944 866  
945   -Writing index file refman.idx
946   -(./refman.aux
947   -LaTeX Info: Redefining \. on input line 21.
948   -LaTeX Info: Redefining \% on input line 21.
  867 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
  868 +File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
  869 +\Fld@listcount=\count127
  870 +\c@bookmark@seq@number=\count128
  871 +\Hy@SectionHShift=\skip101
  872 +)
  873 +Package hyperref Info: Option `colorlinks' set `true' on input line 103.
  874 +Package hyperref Info: Option `unicode' set `true' on input line 103.
  875 +
  876 +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
  877 +File: puenc.def 2012/11/06 v6.83m Hyperref: PDF Unicode definition (HO)
  878 +Now handling font encoding PU ...
  879 +... no UTF-8 mapping file for font encoding PU
  880 +) (./refman.aux
  881 +LaTeX Info: Redefining \. on input line 23.
  882 +LaTeX Info: Redefining \% on input line 23.
949 883 )
950 884 \openout1 = `refman.aux'.
951 885  
952   -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 49.
953   -LaTeX Font Info: ... okay on input line 49.
954   -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 49.
955   -LaTeX Font Info: ... okay on input line 49.
956   -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 49.
957   -LaTeX Font Info: ... okay on input line 49.
958   -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 49.
959   -LaTeX Font Info: ... okay on input line 49.
960   -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 49.
961   -LaTeX Font Info: ... okay on input line 49.
962   -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 49.
963   -LaTeX Font Info: ... okay on input line 49.
964   -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 49.
965   -LaTeX Font Info: Try loading font information for TS1+cmr on input line 49.
966   - (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
  886 +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 113.
  887 +LaTeX Font Info: ... okay on input line 113.
  888 +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 113.
  889 +LaTeX Font Info: ... okay on input line 113.
  890 +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 113.
  891 +LaTeX Font Info: ... okay on input line 113.
  892 +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 113.
  893 +LaTeX Font Info: ... okay on input line 113.
  894 +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 113.
  895 +LaTeX Font Info: ... okay on input line 113.
  896 +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 113.
  897 +LaTeX Font Info: ... okay on input line 113.
  898 +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 113.
  899 +LaTeX Font Info: Try loading font information for TS1+cmr on input line 113.
  900 +
  901 +
  902 +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
967 903 File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
968 904 )
969   -LaTeX Font Info: ... okay on input line 49.
970   -LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 49.
971   -LaTeX Font Info: ... okay on input line 49.
972   -LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 49.
973   -LaTeX Font Info: ... okay on input line 49.
974   -LaTeX Font Info: Try loading font information for T1+phv on input line 49.
  905 +LaTeX Font Info: ... okay on input line 113.
  906 +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 113.
  907 +LaTeX Font Info: ... okay on input line 113.
  908 +LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 113.
  909 +LaTeX Font Info: ... okay on input line 113.
  910 +LaTeX Font Info: Try loading font information for T1+phv on input line 113.
975 911  
976 912 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd
977 913 File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv.
978 914 )
979 915 LaTeX Font Info: Font shape `T1/phv/m/n' will be
980   -(Font) scaled to size 8.99994pt on input line 49.
  916 +(Font) scaled to size 8.99994pt on input line 113.
  917 +
  918 +(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
  919 +[Loading MPS to PDF converter (version 2006.09.02).]
  920 +\scratchcounter=\count129
  921 +\scratchdimen=\dimen146
  922 +\scratchbox=\box56
  923 +\nofMPsegments=\count130
  924 +\nofMParguments=\count131
  925 +\everyMPshowfont=\toks26
  926 +\MPscratchCnt=\count132
  927 +\MPscratchDim=\dimen147
  928 +\MPnumerator=\count133
  929 +\makeMPintoPDFobject=\count134
  930 +\everyMPtoPDFconversion=\toks27
  931 +) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
  932 +Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
  933 +
  934 +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
  935 +Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
  936 +)
  937 +Package grfext Info: Graphics extension search list:
  938 +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
  939 +G,.JBIG2,.JB2,.eps]
  940 +(grfext) \AppendGraphicsExtensions on input line 452.
  941 +
  942 +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
  943 +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
  944 +e
  945 +))
  946 +LaTeX Info: Redefining \. on input line 113.
  947 +LaTeX Info: Redefining \% on input line 113.
  948 +\big@size=\dimen148
981 949  
982 950 *geometry* driver: auto-detecting
983 951 *geometry* detected driver: pdftex
... ... @@ -1013,85 +981,72 @@ LaTeX Font Info: Font shape `T1/phv/m/n&#39; will be
1013 981 * \@reversemarginfalse
1014 982 * (1in=72.27pt=25.4mm, 1cm=28.453pt)
1015 983  
1016   -(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
1017   -[Loading MPS to PDF converter (version 2006.09.02).]
1018   -\scratchcounter=\count142
1019   -\scratchdimen=\dimen150
1020   -\scratchbox=\box62
1021   -\nofMPsegments=\count143
1022   -\nofMParguments=\count144
1023   -\everyMPshowfont=\toks28
1024   -\MPscratchCnt=\count145
1025   -\MPscratchDim=\dimen151
1026   -\MPnumerator=\count146
1027   -\makeMPintoPDFobject=\count147
1028   -\everyMPtoPDFconversion=\toks29
1029   -) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
1030   -Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
1031   -
1032   -(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
1033   -Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
1034   -)
1035   -Package grfext Info: Graphics extension search list:
1036   -(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
1037   -G,.JBIG2,.JB2,.eps]
1038   -(grfext) \AppendGraphicsExtensions on input line 452.
1039   -
1040   -(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
1041   -File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
1042   -e
1043   -))
1044   -\c@lstlisting=\count148
1045   -\AtBeginShipoutBox=\box63
1046   -Package backref Info: ** backref set up for natbib ** on input line 49.
1047   -Package hyperref Info: Link coloring ON on input line 49.
1048   -
  984 +\AtBeginShipoutBox=\box57
  985 +Package backref Info: ** backref set up for natbib ** on input line 113.
  986 +Package hyperref Info: Link coloring ON on input line 113.
1049 987 (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
1050   -Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section
  988 +Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
1051 989  
1052 990 (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
1053 991 Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
1054 992 )
1055   -\c@section@level=\count149
  993 +\c@section@level=\count135
1056 994 )
1057   -LaTeX Info: Redefining \ref on input line 49.
1058   -LaTeX Info: Redefining \pageref on input line 49.
1059   -LaTeX Info: Redefining \nameref on input line 49.
  995 +LaTeX Info: Redefining \ref on input line 113.
  996 +LaTeX Info: Redefining \pageref on input line 113.
  997 +LaTeX Info: Redefining \nameref on input line 113.
1060 998  
1061 999 (./refman.out) (./refman.out)
1062 1000 \@outlinefile=\write4
1063 1001 \openout4 = `refman.out'.
1064 1002  
1065   -LaTeX Info: Redefining \. on input line 49.
1066   -LaTeX Info: Redefining \% on input line 49.
1067   -\big@size=\dimen152
1068   -Package hyperref Info: Option `pageanchor' set `false' on input line 50.
  1003 +Package hyperref Info: Option `pageanchor' set `false' on input line 116.
1069 1004 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1070   -(Font) scaled to size 12.9599pt on input line 54.
  1005 +(Font) scaled to size 12.9599pt on input line 121.
1071 1006 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1072   -(Font) scaled to size 10.79993pt on input line 56.
  1007 +(Font) scaled to size 10.79993pt on input line 123.
1073 1008 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1074   -(Font) scaled to size 8.09995pt on input line 58.
  1009 +(Font) scaled to size 8.09995pt on input line 125.
  1010 +Package babel Info: Redefining spanish shorthand <<
  1011 +(babel) in language on input line 127.
  1012 +Package babel Info: Redefining spanish shorthand >>
  1013 +(babel) in language on input line 127.
  1014 +Package babel Info: Redefining spanish shorthand "=
  1015 +(babel) in language on input line 127.
  1016 +Package babel Info: Redefining spanish shorthand "~
  1017 +(babel) in language on input line 127.
  1018 +Package babel Info: Redefining spanish shorthand "!
  1019 +(babel) in language on input line 127.
  1020 +Package babel Info: Redefining spanish shorthand "?
  1021 +(babel) in language on input line 127.
1075 1022 [1
1076 1023  
1077 1024  
1078   -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2
  1025 +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
  1026 +Package babel Info: Redefining spanish shorthand <<
  1027 +(babel) in language on input line 128.
  1028 +Package babel Info: Redefining spanish shorthand >>
  1029 +(babel) in language on input line 128.
  1030 +Package babel Info: Redefining spanish shorthand "=
  1031 +(babel) in language on input line 128.
  1032 +Package babel Info: Redefining spanish shorthand "~
  1033 +(babel) in language on input line 128.
  1034 +Package babel Info: Redefining spanish shorthand "!
  1035 +(babel) in language on input line 128.
  1036 +Package babel Info: Redefining spanish shorthand "?
  1037 +(babel) in language on input line 128.
  1038 + [2
1079 1039  
1080 1040 ]
1081 1041 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1082   -(Font) scaled to size 22.39185pt on input line 63.
  1042 +(Font) scaled to size 22.39185pt on input line 129.
1083 1043 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <24.88> not available
1084   -(Font) Font shape `T1/phv/b/n' tried instead on input line 63.
  1044 +(Font) Font shape `T1/phv/b/n' tried instead on input line 129.
1085 1045 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1086   -(Font) scaled to size 22.39185pt on input line 63.
1087   -LaTeX Font Info: Try loading font information for OT1+phv on input line 63.
1088   - (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1phv.fd
1089   -File: ot1phv.fd 2001/06/04 scalable font definitions for OT1/phv.
1090   -)
1091   -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be
1092   -(Font) scaled to size 22.39185pt on input line 63.
1093   -
1094   -(./refman.toc
  1046 +(Font) scaled to size 22.39185pt on input line 129.
  1047 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
  1048 +(Font) scaled to size 22.39185pt on input line 129.
  1049 + (./refman.toc
1095 1050 LaTeX Info: Redefining \. on input line 1.
1096 1051 LaTeX Info: Redefining \% on input line 1.
1097 1052 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <10> not available
... ... @@ -1100,7 +1055,8 @@ LaTeX Font Info: Font shape `T1/phv/b/n&#39; will be
1100 1055 (Font) scaled to size 8.99994pt on input line 2.
1101 1056 LaTeX Font Info: Try loading font information for OT1+ztmcm on input line 2.
1102 1057  
1103   - (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd
  1058 +
  1059 +(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1ztmcm.fd
1104 1060 File: ot1ztmcm.fd 2000/01/03 Fontinst v1.801 font definitions for OT1/ztmcm.
1105 1061 )
1106 1062 LaTeX Font Info: Try loading font information for OML+ztmcm on input line 2.
... ... @@ -1132,7 +1088,19 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n&#39; in size &lt;7.4&gt; not available
1132 1088 (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2.
1133 1089 LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <6> not available
1134 1090 (Font) Font shape `OT1/ptm/b/n' tried instead on input line 2.
1135   - [1
  1091 +Package babel Info: Redefining spanish shorthand <<
  1092 +(babel) in language on input line 31.
  1093 +Package babel Info: Redefining spanish shorthand >>
  1094 +(babel) in language on input line 31.
  1095 +Package babel Info: Redefining spanish shorthand "=
  1096 +(babel) in language on input line 31.
  1097 +Package babel Info: Redefining spanish shorthand "~
  1098 +(babel) in language on input line 31.
  1099 +Package babel Info: Redefining spanish shorthand "!
  1100 +(babel) in language on input line 31.
  1101 +Package babel Info: Redefining spanish shorthand "?
  1102 +(babel) in language on input line 31.
  1103 + [3
1136 1104  
1137 1105 ]
1138 1106 LaTeX Font Info: Font shape `T1/phv/bx/sc' in size <10> not available
... ... @@ -1145,7 +1113,19 @@ LaTeX Font Info: Font shape `T1/phv/bx/n&#39; in size &lt;7&gt; not available
1145 1113 (Font) Font shape `T1/phv/b/n' tried instead on input line 70.
1146 1114 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1147 1115 (Font) scaled to size 6.29996pt on input line 70.
1148   - [2]
  1116 +Package babel Info: Redefining spanish shorthand <<
  1117 +(babel) in language on input line 70.
  1118 +Package babel Info: Redefining spanish shorthand >>
  1119 +(babel) in language on input line 70.
  1120 +Package babel Info: Redefining spanish shorthand "=
  1121 +(babel) in language on input line 70.
  1122 +Package babel Info: Redefining spanish shorthand "~
  1123 +(babel) in language on input line 70.
  1124 +Package babel Info: Redefining spanish shorthand "!
  1125 +(babel) in language on input line 70.
  1126 +Package babel Info: Redefining spanish shorthand "?
  1127 +(babel) in language on input line 70.
  1128 + [4]
1149 1129 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available
1150 1130 (Font) Font shape `T1/phv/b/n' tried instead on input line 76.
1151 1131 LaTeX Font Info: Font shape `T1/phv/b/n' will be
... ... @@ -1160,177 +1140,1017 @@ LaTeX Font Info: Font shape `OT1/ptm/bx/n&#39; in size &lt;7&gt; not available
1160 1140 \tf@toc=\write5
1161 1141 \openout5 = `refman.toc'.
1162 1142  
1163   -LaTeX Info: Redefining \. on input line 64.
1164   -LaTeX Info: Redefining \% on input line 64.
1165   - [3]
1166   -[4
  1143 +LaTeX Info: Redefining \. on input line 130.
  1144 +LaTeX Info: Redefining \% on input line 130.
  1145 +Package babel Info: Redefining spanish shorthand <<
  1146 +(babel) in language on input line 130.
  1147 +Package babel Info: Redefining spanish shorthand >>
  1148 +(babel) in language on input line 130.
  1149 +Package babel Info: Redefining spanish shorthand "=
  1150 +(babel) in language on input line 130.
  1151 +Package babel Info: Redefining spanish shorthand "~
  1152 +(babel) in language on input line 130.
  1153 +Package babel Info: Redefining spanish shorthand "!
  1154 +(babel) in language on input line 130.
  1155 +Package babel Info: Redefining spanish shorthand "?
  1156 +(babel) in language on input line 130.
  1157 + [5]
  1158 +Package babel Info: Redefining spanish shorthand <<
  1159 +(babel) in language on input line 130.
  1160 +Package babel Info: Redefining spanish shorthand >>
  1161 +(babel) in language on input line 130.
  1162 +Package babel Info: Redefining spanish shorthand "=
  1163 +(babel) in language on input line 130.
  1164 +Package babel Info: Redefining spanish shorthand "~
  1165 +(babel) in language on input line 130.
  1166 +Package babel Info: Redefining spanish shorthand "!
  1167 +(babel) in language on input line 130.
  1168 +Package babel Info: Redefining spanish shorthand "?
  1169 +(babel) in language on input line 130.
  1170 +
  1171 +[6
1167 1172  
1168 1173 ]
1169   -Package hyperref Info: Option `pageanchor' set `true' on input line 66.
  1174 +Package hyperref Info: Option `pageanchor' set `true' on input line 132.
1170 1175  
1171 1176 Cap\'{\i }tulo 1.
  1177 +Package babel Info: Redefining spanish shorthand <<
  1178 +(babel) in language on input line 135.
  1179 +Package babel Info: Redefining spanish shorthand >>
  1180 +(babel) in language on input line 135.
  1181 +Package babel Info: Redefining spanish shorthand "=
  1182 +(babel) in language on input line 135.
  1183 +Package babel Info: Redefining spanish shorthand "~
  1184 +(babel) in language on input line 135.
  1185 +Package babel Info: Redefining spanish shorthand "!
  1186 +(babel) in language on input line 135.
  1187 +Package babel Info: Redefining spanish shorthand "?
  1188 +(babel) in language on input line 135.
1172 1189 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1173   -(Font) scaled to size 18.66588pt on input line 67.
  1190 +(Font) scaled to size 18.66588pt on input line 135.
1174 1191 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <20.74> not available
1175   -(Font) Font shape `T1/phv/b/n' tried instead on input line 67.
  1192 +(Font) Font shape `T1/phv/b/n' tried instead on input line 135.
1176 1193 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1177   -(Font) scaled to size 18.66588pt on input line 67.
1178   -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be
1179   -(Font) scaled to size 18.66588pt on input line 67.
  1194 +(Font) scaled to size 18.66588pt on input line 135.
  1195 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
  1196 +(Font) scaled to size 18.66588pt on input line 135.
1180 1197 (./index.tex
1181 1198 LaTeX Font Info: Try loading font information for T1+pcr on input line 1.
1182 1199 (/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
1183 1200 File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
1184 1201 )
1185   -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be
  1202 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
1186 1203 (Font) scaled to size 8.99994pt on input line 9.
  1204 +
  1205 +Underfull \hbox (badness 10000) detected at line 9
  1206 +[][][]
  1207 + []
  1208 +
  1209 +
  1210 +Underfull \hbox (badness 10000) detected at line 12
  1211 +[][][]
  1212 + []
  1213 +
1187 1214 )
1188   -[1
  1215 +Package babel Info: Redefining spanish shorthand <<
  1216 +(babel) in language on input line 137.
  1217 +Package babel Info: Redefining spanish shorthand >>
  1218 +(babel) in language on input line 137.
  1219 +Package babel Info: Redefining spanish shorthand "=
  1220 +(babel) in language on input line 137.
  1221 +Package babel Info: Redefining spanish shorthand "~
  1222 +(babel) in language on input line 137.
  1223 +Package babel Info: Redefining spanish shorthand "!
  1224 +(babel) in language on input line 137.
  1225 +Package babel Info: Redefining spanish shorthand "?
  1226 +(babel) in language on input line 137.
  1227 +Package babel Info: Redefining spanish shorthand <<
  1228 +(babel) in language on input line 137.
  1229 +Package babel Info: Redefining spanish shorthand >>
  1230 +(babel) in language on input line 137.
  1231 +Package babel Info: Redefining spanish shorthand "=
  1232 +(babel) in language on input line 137.
  1233 +Package babel Info: Redefining spanish shorthand "~
  1234 +(babel) in language on input line 137.
  1235 +Package babel Info: Redefining spanish shorthand "!
  1236 +(babel) in language on input line 137.
  1237 +Package babel Info: Redefining spanish shorthand "?
  1238 +(babel) in language on input line 137.
  1239 + [1
1189 1240  
1190 1241 ]
1191   -LaTeX Info: Redefining \. on input line 69.
1192   -LaTeX Info: Redefining \% on input line 69.
  1242 +LaTeX Info: Redefining \. on input line 137.
  1243 +LaTeX Info: Redefining \% on input line 137.
  1244 +Package babel Info: Redefining spanish shorthand <<
  1245 +(babel) in language on input line 137.
  1246 +Package babel Info: Redefining spanish shorthand >>
  1247 +(babel) in language on input line 137.
  1248 +Package babel Info: Redefining spanish shorthand "=
  1249 +(babel) in language on input line 137.
  1250 +Package babel Info: Redefining spanish shorthand "~
  1251 +(babel) in language on input line 137.
  1252 +Package babel Info: Redefining spanish shorthand "!
  1253 +(babel) in language on input line 137.
  1254 +Package babel Info: Redefining spanish shorthand "?
  1255 +(babel) in language on input line 137.
  1256 +Package babel Info: Redefining spanish shorthand <<
  1257 +(babel) in language on input line 137.
  1258 +Package babel Info: Redefining spanish shorthand >>
  1259 +(babel) in language on input line 137.
  1260 +Package babel Info: Redefining spanish shorthand "=
  1261 +(babel) in language on input line 137.
  1262 +Package babel Info: Redefining spanish shorthand "~
  1263 +(babel) in language on input line 137.
  1264 +Package babel Info: Redefining spanish shorthand "!
  1265 +(babel) in language on input line 137.
  1266 +Package babel Info: Redefining spanish shorthand "?
  1267 +(babel) in language on input line 137.
1193 1268 [2
1194 1269  
1195 1270 ]
1196 1271 Cap\'{\i }tulo 2.
  1272 +Package babel Info: Redefining spanish shorthand <<
  1273 +(babel) in language on input line 137.
  1274 +Package babel Info: Redefining spanish shorthand >>
  1275 +(babel) in language on input line 137.
  1276 +Package babel Info: Redefining spanish shorthand "=
  1277 +(babel) in language on input line 137.
  1278 +Package babel Info: Redefining spanish shorthand "~
  1279 +(babel) in language on input line 137.
  1280 +Package babel Info: Redefining spanish shorthand "!
  1281 +(babel) in language on input line 137.
  1282 +Package babel Info: Redefining spanish shorthand "?
  1283 +(babel) in language on input line 137.
1197 1284 (./client_code.tex
1198 1285 LaTeX Font Info: Font shape `T1/phv/m/n' will be
1199 1286 (Font) scaled to size 6.29996pt on input line 4.
1200   -) [3]
1201   -LaTeX Info: Redefining \. on input line 73.
1202   -LaTeX Info: Redefining \% on input line 73.
  1287 +)
  1288 +Package babel Info: Redefining spanish shorthand <<
  1289 +(babel) in language on input line 141.
  1290 +Package babel Info: Redefining spanish shorthand >>
  1291 +(babel) in language on input line 141.
  1292 +Package babel Info: Redefining spanish shorthand "=
  1293 +(babel) in language on input line 141.
  1294 +Package babel Info: Redefining spanish shorthand "~
  1295 +(babel) in language on input line 141.
  1296 +Package babel Info: Redefining spanish shorthand "!
  1297 +(babel) in language on input line 141.
  1298 +Package babel Info: Redefining spanish shorthand "?
  1299 +(babel) in language on input line 141.
  1300 +Package babel Info: Redefining spanish shorthand <<
  1301 +(babel) in language on input line 141.
  1302 +Package babel Info: Redefining spanish shorthand >>
  1303 +(babel) in language on input line 141.
  1304 +Package babel Info: Redefining spanish shorthand "=
  1305 +(babel) in language on input line 141.
  1306 +Package babel Info: Redefining spanish shorthand "~
  1307 +(babel) in language on input line 141.
  1308 +Package babel Info: Redefining spanish shorthand "!
  1309 +(babel) in language on input line 141.
  1310 +Package babel Info: Redefining spanish shorthand "?
  1311 +(babel) in language on input line 141.
  1312 + [3]
  1313 +LaTeX Info: Redefining \. on input line 141.
  1314 +LaTeX Info: Redefining \% on input line 141.
  1315 +Package babel Info: Redefining spanish shorthand <<
  1316 +(babel) in language on input line 141.
  1317 +Package babel Info: Redefining spanish shorthand >>
  1318 +(babel) in language on input line 141.
  1319 +Package babel Info: Redefining spanish shorthand "=
  1320 +(babel) in language on input line 141.
  1321 +Package babel Info: Redefining spanish shorthand "~
  1322 +(babel) in language on input line 141.
  1323 +Package babel Info: Redefining spanish shorthand "!
  1324 +(babel) in language on input line 141.
  1325 +Package babel Info: Redefining spanish shorthand "?
  1326 +(babel) in language on input line 141.
  1327 +Package babel Info: Redefining spanish shorthand <<
  1328 +(babel) in language on input line 141.
  1329 +Package babel Info: Redefining spanish shorthand >>
  1330 +(babel) in language on input line 141.
  1331 +Package babel Info: Redefining spanish shorthand "=
  1332 +(babel) in language on input line 141.
  1333 +Package babel Info: Redefining spanish shorthand "~
  1334 +(babel) in language on input line 141.
  1335 +Package babel Info: Redefining spanish shorthand "!
  1336 +(babel) in language on input line 141.
  1337 +Package babel Info: Redefining spanish shorthand "?
  1338 +(babel) in language on input line 141.
1203 1339 [4
1204 1340  
1205 1341 ]
1206 1342 Cap\'{\i }tulo 3.
  1343 +Package babel Info: Redefining spanish shorthand <<
  1344 +(babel) in language on input line 141.
  1345 +Package babel Info: Redefining spanish shorthand >>
  1346 +(babel) in language on input line 141.
  1347 +Package babel Info: Redefining spanish shorthand "=
  1348 +(babel) in language on input line 141.
  1349 +Package babel Info: Redefining spanish shorthand "~
  1350 +(babel) in language on input line 141.
  1351 +Package babel Info: Redefining spanish shorthand "!
  1352 +(babel) in language on input line 141.
  1353 +Package babel Info: Redefining spanish shorthand "?
  1354 +(babel) in language on input line 141.
1207 1355 (./howto.tex
1208 1356 LaTeX Font Info: Font shape `T1/phv/bx/n' in size <14.4> not available
1209 1357 (Font) Font shape `T1/phv/b/n' tried instead on input line 5.
1210 1358 LaTeX Font Info: Font shape `T1/phv/b/n' will be
1211 1359 (Font) scaled to size 12.9599pt on input line 5.
1212   -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be
  1360 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
1213 1361 (Font) scaled to size 12.9599pt on input line 5.
1214   -LaTeX Font Info: Font shape `OT1/phv/bc/n' will be
  1362 +Package babel Info: Redefining spanish shorthand <<
  1363 +(babel) in language on input line 5.
  1364 +Package babel Info: Redefining spanish shorthand >>
  1365 +(babel) in language on input line 5.
  1366 +Package babel Info: Redefining spanish shorthand "=
  1367 +(babel) in language on input line 5.
  1368 +Package babel Info: Redefining spanish shorthand "~
  1369 +(babel) in language on input line 5.
  1370 +Package babel Info: Redefining spanish shorthand "!
  1371 +(babel) in language on input line 5.
  1372 +Package babel Info: Redefining spanish shorthand "?
  1373 +(babel) in language on input line 5.
  1374 +LaTeX Font Info: Font shape `T1/phv/bc/n' will be
1215 1375 (Font) scaled to size 10.79993pt on input line 15.
1216   - [5])
1217   -LaTeX Info: Redefining \. on input line 77.
1218   -LaTeX Info: Redefining \% on input line 77.
  1376 +Package babel Info: Redefining spanish shorthand <<
  1377 +(babel) in language on input line 15.
  1378 +Package babel Info: Redefining spanish shorthand >>
  1379 +(babel) in language on input line 15.
  1380 +Package babel Info: Redefining spanish shorthand "=
  1381 +(babel) in language on input line 15.
  1382 +Package babel Info: Redefining spanish shorthand "~
  1383 +(babel) in language on input line 15.
  1384 +Package babel Info: Redefining spanish shorthand "!
  1385 +(babel) in language on input line 15.
  1386 +Package babel Info: Redefining spanish shorthand "?
  1387 +(babel) in language on input line 15.
  1388 +Package babel Info: Redefining spanish shorthand <<
  1389 +(babel) in language on input line 17.
  1390 +Package babel Info: Redefining spanish shorthand >>
  1391 +(babel) in language on input line 17.
  1392 +Package babel Info: Redefining spanish shorthand "=
  1393 +(babel) in language on input line 17.
  1394 +Package babel Info: Redefining spanish shorthand "~
  1395 +(babel) in language on input line 17.
  1396 +Package babel Info: Redefining spanish shorthand "!
  1397 +(babel) in language on input line 17.
  1398 +Package babel Info: Redefining spanish shorthand "?
  1399 +(babel) in language on input line 17.
  1400 +Package babel Info: Redefining spanish shorthand <<
  1401 +(babel) in language on input line 27.
  1402 +Package babel Info: Redefining spanish shorthand >>
  1403 +(babel) in language on input line 27.
  1404 +Package babel Info: Redefining spanish shorthand "=
  1405 +(babel) in language on input line 27.
  1406 +Package babel Info: Redefining spanish shorthand "~
  1407 +(babel) in language on input line 27.
  1408 +Package babel Info: Redefining spanish shorthand "!
  1409 +(babel) in language on input line 27.
  1410 +Package babel Info: Redefining spanish shorthand "?
  1411 +(babel) in language on input line 27.
  1412 +Package babel Info: Redefining spanish shorthand <<
  1413 +(babel) in language on input line 29.
  1414 +Package babel Info: Redefining spanish shorthand >>
  1415 +(babel) in language on input line 29.
  1416 +Package babel Info: Redefining spanish shorthand "=
  1417 +(babel) in language on input line 29.
  1418 +Package babel Info: Redefining spanish shorthand "~
  1419 +(babel) in language on input line 29.
  1420 +Package babel Info: Redefining spanish shorthand "!
  1421 +(babel) in language on input line 29.
  1422 +Package babel Info: Redefining spanish shorthand "?
  1423 +(babel) in language on input line 29.
  1424 +Package babel Info: Redefining spanish shorthand <<
  1425 +(babel) in language on input line 29.
  1426 +Package babel Info: Redefining spanish shorthand >>
  1427 +(babel) in language on input line 29.
  1428 +Package babel Info: Redefining spanish shorthand "=
  1429 +(babel) in language on input line 29.
  1430 +Package babel Info: Redefining spanish shorthand "~
  1431 +(babel) in language on input line 29.
  1432 +Package babel Info: Redefining spanish shorthand "!
  1433 +(babel) in language on input line 29.
  1434 +Package babel Info: Redefining spanish shorthand "?
  1435 +(babel) in language on input line 29.
  1436 + [5]
  1437 +Package babel Info: Redefining spanish shorthand <<
  1438 +(babel) in language on input line 29.
  1439 +Package babel Info: Redefining spanish shorthand >>
  1440 +(babel) in language on input line 29.
  1441 +Package babel Info: Redefining spanish shorthand "=
  1442 +(babel) in language on input line 29.
  1443 +Package babel Info: Redefining spanish shorthand "~
  1444 +(babel) in language on input line 29.
  1445 +Package babel Info: Redefining spanish shorthand "!
  1446 +(babel) in language on input line 29.
  1447 +Package babel Info: Redefining spanish shorthand "?
  1448 +(babel) in language on input line 29.
  1449 +Package babel Info: Redefining spanish shorthand <<
  1450 +(babel) in language on input line 38.
  1451 +Package babel Info: Redefining spanish shorthand >>
  1452 +(babel) in language on input line 38.
  1453 +Package babel Info: Redefining spanish shorthand "=
  1454 +(babel) in language on input line 38.
  1455 +Package babel Info: Redefining spanish shorthand "~
  1456 +(babel) in language on input line 38.
  1457 +Package babel Info: Redefining spanish shorthand "!
  1458 +(babel) in language on input line 38.
  1459 +Package babel Info: Redefining spanish shorthand "?
  1460 +(babel) in language on input line 38.
  1461 +Package babel Info: Redefining spanish shorthand <<
  1462 +(babel) in language on input line 40.
  1463 +Package babel Info: Redefining spanish shorthand >>
  1464 +(babel) in language on input line 40.
  1465 +Package babel Info: Redefining spanish shorthand "=
  1466 +(babel) in language on input line 40.
  1467 +Package babel Info: Redefining spanish shorthand "~
  1468 +(babel) in language on input line 40.
  1469 +Package babel Info: Redefining spanish shorthand "!
  1470 +(babel) in language on input line 40.
  1471 +Package babel Info: Redefining spanish shorthand "?
  1472 +(babel) in language on input line 40.
  1473 +)
  1474 +LaTeX Info: Redefining \. on input line 145.
  1475 +LaTeX Info: Redefining \% on input line 145.
  1476 +Package babel Info: Redefining spanish shorthand <<
  1477 +(babel) in language on input line 145.
  1478 +Package babel Info: Redefining spanish shorthand >>
  1479 +(babel) in language on input line 145.
  1480 +Package babel Info: Redefining spanish shorthand "=
  1481 +(babel) in language on input line 145.
  1482 +Package babel Info: Redefining spanish shorthand "~
  1483 +(babel) in language on input line 145.
  1484 +Package babel Info: Redefining spanish shorthand "!
  1485 +(babel) in language on input line 145.
  1486 +Package babel Info: Redefining spanish shorthand "?
  1487 +(babel) in language on input line 145.
  1488 +Package babel Info: Redefining spanish shorthand <<
  1489 +(babel) in language on input line 145.
  1490 +Package babel Info: Redefining spanish shorthand >>
  1491 +(babel) in language on input line 145.
  1492 +Package babel Info: Redefining spanish shorthand "=
  1493 +(babel) in language on input line 145.
  1494 +Package babel Info: Redefining spanish shorthand "~
  1495 +(babel) in language on input line 145.
  1496 +Package babel Info: Redefining spanish shorthand "!
  1497 +(babel) in language on input line 145.
  1498 +Package babel Info: Redefining spanish shorthand "?
  1499 +(babel) in language on input line 145.
1219 1500 [6]
1220 1501 Cap\'{\i }tulo 4.
1221   -(./annotated.tex) [7
  1502 +Package babel Info: Redefining spanish shorthand <<
  1503 +(babel) in language on input line 145.
  1504 +Package babel Info: Redefining spanish shorthand >>
  1505 +(babel) in language on input line 145.
  1506 +Package babel Info: Redefining spanish shorthand "=
  1507 +(babel) in language on input line 145.
  1508 +Package babel Info: Redefining spanish shorthand "~
  1509 +(babel) in language on input line 145.
  1510 +Package babel Info: Redefining spanish shorthand "!
  1511 +(babel) in language on input line 145.
  1512 +Package babel Info: Redefining spanish shorthand "?
  1513 +(babel) in language on input line 145.
  1514 +(./annotated.tex
  1515 +Package babel Info: Redefining spanish shorthand <<
  1516 +(babel) in language on input line 1.
  1517 +Package babel Info: Redefining spanish shorthand >>
  1518 +(babel) in language on input line 1.
  1519 +Package babel Info: Redefining spanish shorthand "=
  1520 +(babel) in language on input line 1.
  1521 +Package babel Info: Redefining spanish shorthand "~
  1522 +(babel) in language on input line 1.
  1523 +Package babel Info: Redefining spanish shorthand "!
  1524 +(babel) in language on input line 1.
  1525 +Package babel Info: Redefining spanish shorthand "?
  1526 +(babel) in language on input line 1.
  1527 +)
  1528 +Package babel Info: Redefining spanish shorthand <<
  1529 +(babel) in language on input line 147.
  1530 +Package babel Info: Redefining spanish shorthand >>
  1531 +(babel) in language on input line 147.
  1532 +Package babel Info: Redefining spanish shorthand "=
  1533 +(babel) in language on input line 147.
  1534 +Package babel Info: Redefining spanish shorthand "~
  1535 +(babel) in language on input line 147.
  1536 +Package babel Info: Redefining spanish shorthand "!
  1537 +(babel) in language on input line 147.
  1538 +Package babel Info: Redefining spanish shorthand "?
  1539 +(babel) in language on input line 147.
  1540 +Package babel Info: Redefining spanish shorthand <<
  1541 +(babel) in language on input line 147.
  1542 +Package babel Info: Redefining spanish shorthand >>
  1543 +(babel) in language on input line 147.
  1544 +Package babel Info: Redefining spanish shorthand "=
  1545 +(babel) in language on input line 147.
  1546 +Package babel Info: Redefining spanish shorthand "~
  1547 +(babel) in language on input line 147.
  1548 +Package babel Info: Redefining spanish shorthand "!
  1549 +(babel) in language on input line 147.
  1550 +Package babel Info: Redefining spanish shorthand "?
  1551 +(babel) in language on input line 147.
  1552 + [7
1222 1553  
1223 1554 ]
1224   -LaTeX Info: Redefining \. on input line 79.
1225   -LaTeX Info: Redefining \% on input line 79.
  1555 +LaTeX Info: Redefining \. on input line 147.
  1556 +LaTeX Info: Redefining \% on input line 147.
  1557 +Package babel Info: Redefining spanish shorthand <<
  1558 +(babel) in language on input line 147.
  1559 +Package babel Info: Redefining spanish shorthand >>
  1560 +(babel) in language on input line 147.
  1561 +Package babel Info: Redefining spanish shorthand "=
  1562 +(babel) in language on input line 147.
  1563 +Package babel Info: Redefining spanish shorthand "~
  1564 +(babel) in language on input line 147.
  1565 +Package babel Info: Redefining spanish shorthand "!
  1566 +(babel) in language on input line 147.
  1567 +Package babel Info: Redefining spanish shorthand "?
  1568 +(babel) in language on input line 147.
  1569 +Package babel Info: Redefining spanish shorthand <<
  1570 +(babel) in language on input line 147.
  1571 +Package babel Info: Redefining spanish shorthand >>
  1572 +(babel) in language on input line 147.
  1573 +Package babel Info: Redefining spanish shorthand "=
  1574 +(babel) in language on input line 147.
  1575 +Package babel Info: Redefining spanish shorthand "~
  1576 +(babel) in language on input line 147.
  1577 +Package babel Info: Redefining spanish shorthand "!
  1578 +(babel) in language on input line 147.
  1579 +Package babel Info: Redefining spanish shorthand "?
  1580 +(babel) in language on input line 147.
1226 1581 [8
1227 1582  
1228 1583 ]
1229 1584 Cap\'{\i }tulo 5.
1230   -(./files.tex) [9]
1231   -LaTeX Info: Redefining \. on input line 81.
1232   -LaTeX Info: Redefining \% on input line 81.
  1585 +Package babel Info: Redefining spanish shorthand <<
  1586 +(babel) in language on input line 147.
  1587 +Package babel Info: Redefining spanish shorthand >>
  1588 +(babel) in language on input line 147.
  1589 +Package babel Info: Redefining spanish shorthand "=
  1590 +(babel) in language on input line 147.
  1591 +Package babel Info: Redefining spanish shorthand "~
  1592 +(babel) in language on input line 147.
  1593 +Package babel Info: Redefining spanish shorthand "!
  1594 +(babel) in language on input line 147.
  1595 +Package babel Info: Redefining spanish shorthand "?
  1596 +(babel) in language on input line 147.
  1597 +(./files.tex
  1598 +Package babel Info: Redefining spanish shorthand <<
  1599 +(babel) in language on input line 1.
  1600 +Package babel Info: Redefining spanish shorthand >>
  1601 +(babel) in language on input line 1.
  1602 +Package babel Info: Redefining spanish shorthand "=
  1603 +(babel) in language on input line 1.
  1604 +Package babel Info: Redefining spanish shorthand "~
  1605 +(babel) in language on input line 1.
  1606 +Package babel Info: Redefining spanish shorthand "!
  1607 +(babel) in language on input line 1.
  1608 +Package babel Info: Redefining spanish shorthand "?
  1609 +(babel) in language on input line 1.
  1610 +)
  1611 +Package babel Info: Redefining spanish shorthand <<
  1612 +(babel) in language on input line 149.
  1613 +Package babel Info: Redefining spanish shorthand >>
  1614 +(babel) in language on input line 149.
  1615 +Package babel Info: Redefining spanish shorthand "=
  1616 +(babel) in language on input line 149.
  1617 +Package babel Info: Redefining spanish shorthand "~
  1618 +(babel) in language on input line 149.
  1619 +Package babel Info: Redefining spanish shorthand "!
  1620 +(babel) in language on input line 149.
  1621 +Package babel Info: Redefining spanish shorthand "?
  1622 +(babel) in language on input line 149.
  1623 +Package babel Info: Redefining spanish shorthand <<
  1624 +(babel) in language on input line 149.
  1625 +Package babel Info: Redefining spanish shorthand >>
  1626 +(babel) in language on input line 149.
  1627 +Package babel Info: Redefining spanish shorthand "=
  1628 +(babel) in language on input line 149.
  1629 +Package babel Info: Redefining spanish shorthand "~
  1630 +(babel) in language on input line 149.
  1631 +Package babel Info: Redefining spanish shorthand "!
  1632 +(babel) in language on input line 149.
  1633 +Package babel Info: Redefining spanish shorthand "?
  1634 +(babel) in language on input line 149.
  1635 + [9]
  1636 +LaTeX Info: Redefining \. on input line 149.
  1637 +LaTeX Info: Redefining \% on input line 149.
  1638 +Package babel Info: Redefining spanish shorthand <<
  1639 +(babel) in language on input line 149.
  1640 +Package babel Info: Redefining spanish shorthand >>
  1641 +(babel) in language on input line 149.
  1642 +Package babel Info: Redefining spanish shorthand "=
  1643 +(babel) in language on input line 149.
  1644 +Package babel Info: Redefining spanish shorthand "~
  1645 +(babel) in language on input line 149.
  1646 +Package babel Info: Redefining spanish shorthand "!
  1647 +(babel) in language on input line 149.
  1648 +Package babel Info: Redefining spanish shorthand "?
  1649 +(babel) in language on input line 149.
  1650 +Package babel Info: Redefining spanish shorthand <<
  1651 +(babel) in language on input line 149.
  1652 +Package babel Info: Redefining spanish shorthand >>
  1653 +(babel) in language on input line 149.
  1654 +Package babel Info: Redefining spanish shorthand "=
  1655 +(babel) in language on input line 149.
  1656 +Package babel Info: Redefining spanish shorthand "~
  1657 +(babel) in language on input line 149.
  1658 +Package babel Info: Redefining spanish shorthand "!
  1659 +(babel) in language on input line 149.
  1660 +Package babel Info: Redefining spanish shorthand "?
  1661 +(babel) in language on input line 149.
1233 1662 [10
1234 1663  
1235 1664 ]
1236 1665 Cap\'{\i }tulo 6.
  1666 +Package babel Info: Redefining spanish shorthand <<
  1667 +(babel) in language on input line 149.
  1668 +Package babel Info: Redefining spanish shorthand >>
  1669 +(babel) in language on input line 149.
  1670 +Package babel Info: Redefining spanish shorthand "=
  1671 +(babel) in language on input line 149.
  1672 +Package babel Info: Redefining spanish shorthand "~
  1673 +(babel) in language on input line 149.
  1674 +Package babel Info: Redefining spanish shorthand "!
  1675 +(babel) in language on input line 149.
  1676 +Package babel Info: Redefining spanish shorthand "?
  1677 +(babel) in language on input line 149.
1237 1678 (./class_socket.tex
  1679 +Package babel Info: Redefining spanish shorthand <<
  1680 +(babel) in language on input line 3.
  1681 +Package babel Info: Redefining spanish shorthand >>
  1682 +(babel) in language on input line 3.
  1683 +Package babel Info: Redefining spanish shorthand "=
  1684 +(babel) in language on input line 3.
  1685 +Package babel Info: Redefining spanish shorthand "~
  1686 +(babel) in language on input line 3.
  1687 +Package babel Info: Redefining spanish shorthand "!
  1688 +(babel) in language on input line 3.
  1689 +Package babel Info: Redefining spanish shorthand "?
  1690 +(babel) in language on input line 3.
1238 1691 LaTeX Font Info: Font shape `T1/phv/m/it' in size <9> not available
1239 1692 (Font) Font shape `T1/phv/m/sl' tried instead on input line 17.
1240 1693 LaTeX Font Info: Font shape `T1/phv/m/sl' will be
1241 1694 (Font) scaled to size 8.09995pt on input line 17.
  1695 +Package babel Info: Redefining spanish shorthand <<
  1696 +(babel) in language on input line 47.
  1697 +Package babel Info: Redefining spanish shorthand >>
  1698 +(babel) in language on input line 47.
  1699 +Package babel Info: Redefining spanish shorthand "=
  1700 +(babel) in language on input line 47.
  1701 +Package babel Info: Redefining spanish shorthand "~
  1702 +(babel) in language on input line 47.
  1703 +Package babel Info: Redefining spanish shorthand "!
  1704 +(babel) in language on input line 47.
  1705 +Package babel Info: Redefining spanish shorthand "?
  1706 +(babel) in language on input line 47.
  1707 +Package babel Info: Redefining spanish shorthand <<
  1708 +(babel) in language on input line 47.
  1709 +Package babel Info: Redefining spanish shorthand >>
  1710 +(babel) in language on input line 47.
  1711 +Package babel Info: Redefining spanish shorthand "=
  1712 +(babel) in language on input line 47.
  1713 +Package babel Info: Redefining spanish shorthand "~
  1714 +(babel) in language on input line 47.
  1715 +Package babel Info: Redefining spanish shorthand "!
  1716 +(babel) in language on input line 47.
  1717 +Package babel Info: Redefining spanish shorthand "?
  1718 +(babel) in language on input line 47.
1242 1719 [11]
1243   -LaTeX Font Info: Font shape `OT1/phv/bc/it' in size <10> not available
1244   -(Font) Font shape `OT1/phv/bc/sl' tried instead on input line 78.
1245   -LaTeX Font Info: Font shape `OT1/phv/bc/sl' will be
  1720 +Package babel Info: Redefining spanish shorthand <<
  1721 +(babel) in language on input line 52.
  1722 +Package babel Info: Redefining spanish shorthand >>
  1723 +(babel) in language on input line 52.
  1724 +Package babel Info: Redefining spanish shorthand "=
  1725 +(babel) in language on input line 52.
  1726 +Package babel Info: Redefining spanish shorthand "~
  1727 +(babel) in language on input line 52.
  1728 +Package babel Info: Redefining spanish shorthand "!
  1729 +(babel) in language on input line 52.
  1730 +Package babel Info: Redefining spanish shorthand "?
  1731 +(babel) in language on input line 52.
  1732 +Package babel Info: Redefining spanish shorthand <<
  1733 +(babel) in language on input line 57.
  1734 +Package babel Info: Redefining spanish shorthand >>
  1735 +(babel) in language on input line 57.
  1736 +Package babel Info: Redefining spanish shorthand "=
  1737 +(babel) in language on input line 57.
  1738 +Package babel Info: Redefining spanish shorthand "~
  1739 +(babel) in language on input line 57.
  1740 +Package babel Info: Redefining spanish shorthand "!
  1741 +(babel) in language on input line 57.
  1742 +Package babel Info: Redefining spanish shorthand "?
  1743 +(babel) in language on input line 57.
  1744 +Package babel Info: Redefining spanish shorthand <<
  1745 +(babel) in language on input line 64.
  1746 +Package babel Info: Redefining spanish shorthand >>
  1747 +(babel) in language on input line 64.
  1748 +Package babel Info: Redefining spanish shorthand "=
  1749 +(babel) in language on input line 64.
  1750 +Package babel Info: Redefining spanish shorthand "~
  1751 +(babel) in language on input line 64.
  1752 +Package babel Info: Redefining spanish shorthand "!
  1753 +(babel) in language on input line 64.
  1754 +Package babel Info: Redefining spanish shorthand "?
  1755 +(babel) in language on input line 64.
  1756 +Package babel Info: Redefining spanish shorthand <<
  1757 +(babel) in language on input line 71.
  1758 +Package babel Info: Redefining spanish shorthand >>
  1759 +(babel) in language on input line 71.
  1760 +Package babel Info: Redefining spanish shorthand "=
  1761 +(babel) in language on input line 71.
  1762 +Package babel Info: Redefining spanish shorthand "~
  1763 +(babel) in language on input line 71.
  1764 +Package babel Info: Redefining spanish shorthand "!
  1765 +(babel) in language on input line 71.
  1766 +Package babel Info: Redefining spanish shorthand "?
  1767 +(babel) in language on input line 71.
  1768 +LaTeX Font Info: Font shape `T1/phv/bc/it' in size <10> not available
  1769 +(Font) Font shape `T1/phv/bc/sl' tried instead on input line 78.
  1770 +LaTeX Font Info: Font shape `T1/phv/bc/sl' will be
1246 1771 (Font) scaled to size 8.99994pt on input line 78.
1247   -LaTeX Font Info: Font shape `T1/phv/m/it' in size <10> not available
1248   -(Font) Font shape `T1/phv/m/sl' tried instead on input line 85.
1249   -LaTeX Font Info: Font shape `T1/phv/m/sl' will be
1250   -(Font) scaled to size 8.99994pt on input line 85.
  1772 +Package babel Info: Redefining spanish shorthand <<
  1773 +(babel) in language on input line 78.
  1774 +Package babel Info: Redefining spanish shorthand >>
  1775 +(babel) in language on input line 78.
  1776 +Package babel Info: Redefining spanish shorthand "=
  1777 +(babel) in language on input line 78.
  1778 +Package babel Info: Redefining spanish shorthand "~
  1779 +(babel) in language on input line 78.
  1780 +Package babel Info: Redefining spanish shorthand "!
  1781 +(babel) in language on input line 78.
  1782 +Package babel Info: Redefining spanish shorthand "?
  1783 +(babel) in language on input line 78.
  1784 +LaTeX Font Info: Font shape `T1/phv/m/n' will be
  1785 +(Font) scaled to size 7.19995pt on input line 83.
1251 1786  
1252   -Underfull \vbox (badness 10000) detected at line 87
  1787 +Overfull \hbox (139.95627pt too wide) in paragraph at lines 83--83
  1788 +[]\T1/pcr/m/n/8 Este método bloquea el thread que lo ejecuta hasta que recibe u
  1789 +na conexión entrante, que almacena como instancia de la clase
1253 1790 []
1254 1791  
1255   -
1256   -Underfull \vbox (badness 10000) detected at line 106
  1792 +LaTeX Font Info: Font shape `T1/phv/m/it' in size <10> not available
  1793 +(Font) Font shape `T1/phv/m/sl' tried instead on input line 87.
  1794 +LaTeX Font Info: Font shape `T1/phv/m/sl' will be
  1795 +(Font) scaled to size 8.99994pt on input line 87.
  1796 +Package babel Info: Redefining spanish shorthand <<
  1797 +(babel) in language on input line 97.
  1798 +Package babel Info: Redefining spanish shorthand >>
  1799 +(babel) in language on input line 97.
  1800 +Package babel Info: Redefining spanish shorthand "=
  1801 +(babel) in language on input line 97.
  1802 +Package babel Info: Redefining spanish shorthand "~
  1803 +(babel) in language on input line 97.
  1804 +Package babel Info: Redefining spanish shorthand "!
  1805 +(babel) in language on input line 97.
  1806 +Package babel Info: Redefining spanish shorthand "?
  1807 +(babel) in language on input line 97.
  1808 +
  1809 +Overfull \hbox (111.15625pt too wide) in paragraph at lines 102--102
  1810 +[]\T1/pcr/m/n/8 Este método asigna el socket a una dirección IP (y por tanto, a
  1811 + una interfaz de red en concreto) y un puerto, para que
1257 1812 []
1258 1813  
1259   -LaTeX Info: Redefining \. on input line 130.
1260   -LaTeX Info: Redefining \% on input line 130.
  1814 +Package babel Info: Redefining spanish shorthand <<
  1815 +(babel) in language on input line 117.
  1816 +Package babel Info: Redefining spanish shorthand >>
  1817 +(babel) in language on input line 117.
  1818 +Package babel Info: Redefining spanish shorthand "=
  1819 +(babel) in language on input line 117.
  1820 +Package babel Info: Redefining spanish shorthand "~
  1821 +(babel) in language on input line 117.
  1822 +Package babel Info: Redefining spanish shorthand "!
  1823 +(babel) in language on input line 117.
  1824 +Package babel Info: Redefining spanish shorthand "?
  1825 +(babel) in language on input line 117.
  1826 +LaTeX Info: Redefining \. on input line 129.
  1827 +LaTeX Info: Redefining \% on input line 129.
  1828 +Package babel Info: Redefining spanish shorthand <<
  1829 +(babel) in language on input line 129.
  1830 +Package babel Info: Redefining spanish shorthand >>
  1831 +(babel) in language on input line 129.
  1832 +Package babel Info: Redefining spanish shorthand "=
  1833 +(babel) in language on input line 129.
  1834 +Package babel Info: Redefining spanish shorthand "~
  1835 +(babel) in language on input line 129.
  1836 +Package babel Info: Redefining spanish shorthand "!
  1837 +(babel) in language on input line 129.
  1838 +Package babel Info: Redefining spanish shorthand "?
  1839 +(babel) in language on input line 129.
  1840 +Package babel Info: Redefining spanish shorthand <<
  1841 +(babel) in language on input line 129.
  1842 +Package babel Info: Redefining spanish shorthand >>
  1843 +(babel) in language on input line 129.
  1844 +Package babel Info: Redefining spanish shorthand "=
  1845 +(babel) in language on input line 129.
  1846 +Package babel Info: Redefining spanish shorthand "~
  1847 +(babel) in language on input line 129.
  1848 +Package babel Info: Redefining spanish shorthand "!
  1849 +(babel) in language on input line 129.
  1850 +Package babel Info: Redefining spanish shorthand "?
  1851 +(babel) in language on input line 129.
1261 1852 [12]
1262   -Underfull \vbox (badness 10000) detected at line 136
1263   - []
1264   -
1265   -
1266   -Underfull \vbox (badness 10000) detected at line 174
  1853 +Package babel Info: Redefining spanish shorthand <<
  1854 +(babel) in language on input line 129.
  1855 +Package babel Info: Redefining spanish shorthand >>
  1856 +(babel) in language on input line 129.
  1857 +Package babel Info: Redefining spanish shorthand "=
  1858 +(babel) in language on input line 129.
  1859 +Package babel Info: Redefining spanish shorthand "~
  1860 +(babel) in language on input line 129.
  1861 +Package babel Info: Redefining spanish shorthand "!
  1862 +(babel) in language on input line 129.
  1863 +Package babel Info: Redefining spanish shorthand "?
  1864 +(babel) in language on input line 129.
  1865 +
  1866 +Overfull \hbox (149.55627pt too wide) in paragraph at lines 134--134
  1867 +[]\T1/pcr/m/n/8 Este método sirve a los sockets que actúan como cliente para po
  1868 +der efectuar conexiones a otro socket que esté escuchando en la
1267 1869 []
1268 1870  
  1871 +Package babel Info: Redefining spanish shorthand <<
  1872 +(babel) in language on input line 149.
  1873 +Package babel Info: Redefining spanish shorthand >>
  1874 +(babel) in language on input line 149.
  1875 +Package babel Info: Redefining spanish shorthand "=
  1876 +(babel) in language on input line 149.
  1877 +Package babel Info: Redefining spanish shorthand "~
  1878 +(babel) in language on input line 149.
  1879 +Package babel Info: Redefining spanish shorthand "!
  1880 +(babel) in language on input line 149.
  1881 +Package babel Info: Redefining spanish shorthand "?
  1882 +(babel) in language on input line 149.
  1883 +Package babel Info: Redefining spanish shorthand <<
  1884 +(babel) in language on input line 160.
  1885 +Package babel Info: Redefining spanish shorthand >>
  1886 +(babel) in language on input line 160.
  1887 +Package babel Info: Redefining spanish shorthand "=
  1888 +(babel) in language on input line 160.
  1889 +Package babel Info: Redefining spanish shorthand "~
  1890 +(babel) in language on input line 160.
  1891 +Package babel Info: Redefining spanish shorthand "!
  1892 +(babel) in language on input line 160.
  1893 +Package babel Info: Redefining spanish shorthand "?
  1894 +(babel) in language on input line 160.
  1895 +Package babel Info: Redefining spanish shorthand <<
  1896 +(babel) in language on input line 171.
  1897 +Package babel Info: Redefining spanish shorthand >>
  1898 +(babel) in language on input line 171.
  1899 +Package babel Info: Redefining spanish shorthand "=
  1900 +(babel) in language on input line 171.
  1901 +Package babel Info: Redefining spanish shorthand "~
  1902 +(babel) in language on input line 171.
  1903 +Package babel Info: Redefining spanish shorthand "!
  1904 +(babel) in language on input line 171.
  1905 +Package babel Info: Redefining spanish shorthand "?
  1906 +(babel) in language on input line 171.
  1907 +Package babel Info: Redefining spanish shorthand <<
  1908 +(babel) in language on input line 187.
  1909 +Package babel Info: Redefining spanish shorthand >>
  1910 +(babel) in language on input line 187.
  1911 +Package babel Info: Redefining spanish shorthand "=
  1912 +(babel) in language on input line 187.
  1913 +Package babel Info: Redefining spanish shorthand "~
  1914 +(babel) in language on input line 187.
  1915 +Package babel Info: Redefining spanish shorthand "!
  1916 +(babel) in language on input line 187.
  1917 +Package babel Info: Redefining spanish shorthand "?
  1918 +(babel) in language on input line 187.
1269 1919  
1270 1920 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1271   -(hyperref) removing `math shift' on input line 181.
  1921 +(hyperref) removing `math shift' on input line 187.
1272 1922  
1273 1923  
1274 1924 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1275   -(hyperref) removing `math shift' on input line 181.
  1925 +(hyperref) removing `math shift' on input line 187.
1276 1926  
1277 1927  
1278 1928 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1279   -(hyperref) removing `math shift' on input line 181.
  1929 +(hyperref) removing `math shift' on input line 187.
1280 1930  
1281 1931  
1282 1932 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1283   -(hyperref) removing `math shift' on input line 181.
  1933 +(hyperref) removing `math shift' on input line 187.
1284 1934  
1285 1935  
1286   -Underfull \vbox (badness 10000) detected at line 190
  1936 +Overfull \hbox (19.95619pt too wide) in paragraph at lines 192--192
  1937 +[]\T1/pcr/m/n/8 Este método envía el mensaje que se le proporciona a través del
  1938 + Socket con o sin encriptación según
1287 1939 []
1288 1940  
  1941 +Package babel Info: Redefining spanish shorthand <<
  1942 +(babel) in language on input line 205.
  1943 +Package babel Info: Redefining spanish shorthand >>
  1944 +(babel) in language on input line 205.
  1945 +Package babel Info: Redefining spanish shorthand "=
  1946 +(babel) in language on input line 205.
  1947 +Package babel Info: Redefining spanish shorthand "~
  1948 +(babel) in language on input line 205.
  1949 +Package babel Info: Redefining spanish shorthand "!
  1950 +(babel) in language on input line 205.
  1951 +Package babel Info: Redefining spanish shorthand "?
  1952 +(babel) in language on input line 205.
1289 1953  
1290 1954 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1291   -(hyperref) removing `math shift' on input line 197.
  1955 +(hyperref) removing `math shift' on input line 205.
1292 1956  
1293 1957  
1294 1958 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1295   -(hyperref) removing `math shift' on input line 197.
  1959 +(hyperref) removing `math shift' on input line 205.
1296 1960  
1297 1961  
1298 1962 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1299   -(hyperref) removing `math shift' on input line 197.
  1963 +(hyperref) removing `math shift' on input line 205.
1300 1964  
1301 1965  
1302 1966 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1303   -(hyperref) removing `math shift' on input line 197.
  1967 +(hyperref) removing `math shift' on input line 205.
1304 1968  
1305 1969  
1306   -Underfull \vbox (badness 10000) detected at line 206
  1970 +Overfull \hbox (173.55629pt too wide) in paragraph at lines 210--210
  1971 +[]\T1/pcr/m/n/8 Este método recibe un mensaje de longitud arbitrária con o sin
  1972 +encriptación según las \ref defines "opciones de compilación" usando
1307 1973 []
1308 1974  
1309   -LaTeX Font Info: Try loading font information for OT1+pcr on input line 214.
1310   -
1311   -(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pcr.fd
1312   -File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr.
1313   -)
1314   -
1315   -LaTeX Font Warning: Font shape `OT1/pcr/bc/n' undefined
1316   -(Font) using `OT1/pcr/m/n' instead on input line 214.
1317   -
1318   -LaTeX Info: Redefining \. on input line 219.
1319   -LaTeX Info: Redefining \% on input line 219.
  1975 +LaTeX Info: Redefining \. on input line 213.
  1976 +LaTeX Info: Redefining \% on input line 213.
  1977 +Package babel Info: Redefining spanish shorthand <<
  1978 +(babel) in language on input line 213.
  1979 +Package babel Info: Redefining spanish shorthand >>
  1980 +(babel) in language on input line 213.
  1981 +Package babel Info: Redefining spanish shorthand "=
  1982 +(babel) in language on input line 213.
  1983 +Package babel Info: Redefining spanish shorthand "~
  1984 +(babel) in language on input line 213.
  1985 +Package babel Info: Redefining spanish shorthand "!
  1986 +(babel) in language on input line 213.
  1987 +Package babel Info: Redefining spanish shorthand "?
  1988 +(babel) in language on input line 213.
  1989 +Package babel Info: Redefining spanish shorthand <<
  1990 +(babel) in language on input line 213.
  1991 +Package babel Info: Redefining spanish shorthand >>
  1992 +(babel) in language on input line 213.
  1993 +Package babel Info: Redefining spanish shorthand "=
  1994 +(babel) in language on input line 213.
  1995 +Package babel Info: Redefining spanish shorthand "~
  1996 +(babel) in language on input line 213.
  1997 +Package babel Info: Redefining spanish shorthand "!
  1998 +(babel) in language on input line 213.
  1999 +Package babel Info: Redefining spanish shorthand "?
  2000 +(babel) in language on input line 213.
1320 2001 [13]
1321   -Underfull \vbox (badness 10000) detected at line 227
1322   - []
1323   -
1324   -
1325   -Underfull \vbox (badness 10000) detected at line 248
1326   - []
1327 2002  
  2003 +LaTeX Font Warning: Font shape `T1/pcr/bc/n' undefined
  2004 +(Font) using `T1/pcr/m/n' instead on input line 224.
  2005 +
  2006 +Package babel Info: Redefining spanish shorthand <<
  2007 +(babel) in language on input line 224.
  2008 +Package babel Info: Redefining spanish shorthand >>
  2009 +(babel) in language on input line 224.
  2010 +Package babel Info: Redefining spanish shorthand "=
  2011 +(babel) in language on input line 224.
  2012 +Package babel Info: Redefining spanish shorthand "~
  2013 +(babel) in language on input line 224.
  2014 +Package babel Info: Redefining spanish shorthand "!
  2015 +(babel) in language on input line 224.
  2016 +Package babel Info: Redefining spanish shorthand "?
  2017 +(babel) in language on input line 224.
  2018 +Package babel Info: Redefining spanish shorthand <<
  2019 +(babel) in language on input line 245.
  2020 +Package babel Info: Redefining spanish shorthand >>
  2021 +(babel) in language on input line 245.
  2022 +Package babel Info: Redefining spanish shorthand "=
  2023 +(babel) in language on input line 245.
  2024 +Package babel Info: Redefining spanish shorthand "~
  2025 +(babel) in language on input line 245.
  2026 +Package babel Info: Redefining spanish shorthand "!
  2027 +(babel) in language on input line 245.
  2028 +Package babel Info: Redefining spanish shorthand "?
  2029 +(babel) in language on input line 245.
  2030 +Package babel Info: Redefining spanish shorthand <<
  2031 +(babel) in language on input line 261.
  2032 +Package babel Info: Redefining spanish shorthand >>
  2033 +(babel) in language on input line 261.
  2034 +Package babel Info: Redefining spanish shorthand "=
  2035 +(babel) in language on input line 261.
  2036 +Package babel Info: Redefining spanish shorthand "~
  2037 +(babel) in language on input line 261.
  2038 +Package babel Info: Redefining spanish shorthand "!
  2039 +(babel) in language on input line 261.
  2040 +Package babel Info: Redefining spanish shorthand "?
  2041 +(babel) in language on input line 261.
  2042 +Package babel Info: Redefining spanish shorthand <<
  2043 +(babel) in language on input line 264.
  2044 +Package babel Info: Redefining spanish shorthand >>
  2045 +(babel) in language on input line 264.
  2046 +Package babel Info: Redefining spanish shorthand "=
  2047 +(babel) in language on input line 264.
  2048 +Package babel Info: Redefining spanish shorthand "~
  2049 +(babel) in language on input line 264.
  2050 +Package babel Info: Redefining spanish shorthand "!
  2051 +(babel) in language on input line 264.
  2052 +Package babel Info: Redefining spanish shorthand "?
  2053 +(babel) in language on input line 264.
  2054 +Package babel Info: Redefining spanish shorthand <<
  2055 +(babel) in language on input line 271.
  2056 +Package babel Info: Redefining spanish shorthand >>
  2057 +(babel) in language on input line 271.
  2058 +Package babel Info: Redefining spanish shorthand "=
  2059 +(babel) in language on input line 271.
  2060 +Package babel Info: Redefining spanish shorthand "~
  2061 +(babel) in language on input line 271.
  2062 +Package babel Info: Redefining spanish shorthand "!
  2063 +(babel) in language on input line 271.
  2064 +Package babel Info: Redefining spanish shorthand "?
  2065 +(babel) in language on input line 271.
1328 2066 ) (./class_socket_exception.tex
1329   -LaTeX Info: Redefining \. on input line 17.
1330   -LaTeX Info: Redefining \% on input line 17.
  2067 +Package babel Info: Redefining spanish shorthand <<
  2068 +(babel) in language on input line 3.
  2069 +Package babel Info: Redefining spanish shorthand >>
  2070 +(babel) in language on input line 3.
  2071 +Package babel Info: Redefining spanish shorthand "=
  2072 +(babel) in language on input line 3.
  2073 +Package babel Info: Redefining spanish shorthand "~
  2074 +(babel) in language on input line 3.
  2075 +Package babel Info: Redefining spanish shorthand "!
  2076 +(babel) in language on input line 3.
  2077 +Package babel Info: Redefining spanish shorthand "?
  2078 +(babel) in language on input line 3.
  2079 +LaTeX Info: Redefining \. on input line 13.
  2080 +LaTeX Info: Redefining \% on input line 13.
  2081 +Package babel Info: Redefining spanish shorthand <<
  2082 +(babel) in language on input line 13.
  2083 +Package babel Info: Redefining spanish shorthand >>
  2084 +(babel) in language on input line 13.
  2085 +Package babel Info: Redefining spanish shorthand "=
  2086 +(babel) in language on input line 13.
  2087 +Package babel Info: Redefining spanish shorthand "~
  2088 +(babel) in language on input line 13.
  2089 +Package babel Info: Redefining spanish shorthand "!
  2090 +(babel) in language on input line 13.
  2091 +Package babel Info: Redefining spanish shorthand "?
  2092 +(babel) in language on input line 13.
  2093 +Package babel Info: Redefining spanish shorthand <<
  2094 +(babel) in language on input line 13.
  2095 +Package babel Info: Redefining spanish shorthand >>
  2096 +(babel) in language on input line 13.
  2097 +Package babel Info: Redefining spanish shorthand "=
  2098 +(babel) in language on input line 13.
  2099 +Package babel Info: Redefining spanish shorthand "~
  2100 +(babel) in language on input line 13.
  2101 +Package babel Info: Redefining spanish shorthand "!
  2102 +(babel) in language on input line 13.
  2103 +Package babel Info: Redefining spanish shorthand "?
  2104 +(babel) in language on input line 13.
1331 2105 [14]
1332   -Underfull \vbox (badness 10000) detected at line 50
1333   - []
  2106 +Package babel Info: Redefining spanish shorthand <<
  2107 +(babel) in language on input line 29.
  2108 +Package babel Info: Redefining spanish shorthand >>
  2109 +(babel) in language on input line 29.
  2110 +Package babel Info: Redefining spanish shorthand "=
  2111 +(babel) in language on input line 29.
  2112 +Package babel Info: Redefining spanish shorthand "~
  2113 +(babel) in language on input line 29.
  2114 +Package babel Info: Redefining spanish shorthand "!
  2115 +(babel) in language on input line 29.
  2116 +Package babel Info: Redefining spanish shorthand "?
  2117 +(babel) in language on input line 29.
  2118 +Package babel Info: Redefining spanish shorthand <<
  2119 +(babel) in language on input line 34.
  2120 +Package babel Info: Redefining spanish shorthand >>
  2121 +(babel) in language on input line 34.
  2122 +Package babel Info: Redefining spanish shorthand "=
  2123 +(babel) in language on input line 34.
  2124 +Package babel Info: Redefining spanish shorthand "~
  2125 +(babel) in language on input line 34.
  2126 +Package babel Info: Redefining spanish shorthand "!
  2127 +(babel) in language on input line 34.
  2128 +Package babel Info: Redefining spanish shorthand "?
  2129 +(babel) in language on input line 34.
  2130 +Package babel Info: Redefining spanish shorthand <<
  2131 +(babel) in language on input line 41.
  2132 +Package babel Info: Redefining spanish shorthand >>
  2133 +(babel) in language on input line 41.
  2134 +Package babel Info: Redefining spanish shorthand "=
  2135 +(babel) in language on input line 41.
  2136 +Package babel Info: Redefining spanish shorthand "~
  2137 +(babel) in language on input line 41.
  2138 +Package babel Info: Redefining spanish shorthand "!
  2139 +(babel) in language on input line 41.
  2140 +Package babel Info: Redefining spanish shorthand "?
  2141 +(babel) in language on input line 41.
  2142 +Package babel Info: Redefining spanish shorthand <<
  2143 +(babel) in language on input line 57.
  2144 +Package babel Info: Redefining spanish shorthand >>
  2145 +(babel) in language on input line 57.
  2146 +Package babel Info: Redefining spanish shorthand "=
  2147 +(babel) in language on input line 57.
  2148 +Package babel Info: Redefining spanish shorthand "~
  2149 +(babel) in language on input line 57.
  2150 +Package babel Info: Redefining spanish shorthand "!
  2151 +(babel) in language on input line 57.
  2152 +Package babel Info: Redefining spanish shorthand "?
  2153 +(babel) in language on input line 57.
1334 2154  
1335 2155  
1336 2156 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
... ... @@ -1344,68 +2164,747 @@ Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1344 2164 Package hyperref Warning: Token not allowed in a PDF string (Unicode):
1345 2165 (hyperref) removing `math shift' on input line 57.
1346 2166  
  2167 +Package babel Info: Redefining spanish shorthand <<
  2168 +(babel) in language on input line 60.
  2169 +Package babel Info: Redefining spanish shorthand >>
  2170 +(babel) in language on input line 60.
  2171 +Package babel Info: Redefining spanish shorthand "=
  2172 +(babel) in language on input line 60.
  2173 +Package babel Info: Redefining spanish shorthand "~
  2174 +(babel) in language on input line 60.
  2175 +Package babel Info: Redefining spanish shorthand "!
  2176 +(babel) in language on input line 60.
  2177 +Package babel Info: Redefining spanish shorthand "?
  2178 +(babel) in language on input line 60.
  2179 +Package babel Info: Redefining spanish shorthand <<
  2180 +(babel) in language on input line 67.
  2181 +Package babel Info: Redefining spanish shorthand >>
  2182 +(babel) in language on input line 67.
  2183 +Package babel Info: Redefining spanish shorthand "=
  2184 +(babel) in language on input line 67.
  2185 +Package babel Info: Redefining spanish shorthand "~
  2186 +(babel) in language on input line 67.
  2187 +Package babel Info: Redefining spanish shorthand "!
  2188 +(babel) in language on input line 67.
  2189 +Package babel Info: Redefining spanish shorthand "?
  2190 +(babel) in language on input line 67.
  2191 +Package babel Info: Redefining spanish shorthand <<
  2192 +(babel) in language on input line 74.
  2193 +Package babel Info: Redefining spanish shorthand >>
  2194 +(babel) in language on input line 74.
  2195 +Package babel Info: Redefining spanish shorthand "=
  2196 +(babel) in language on input line 74.
  2197 +Package babel Info: Redefining spanish shorthand "~
  2198 +(babel) in language on input line 74.
  2199 +Package babel Info: Redefining spanish shorthand "!
  2200 +(babel) in language on input line 74.
  2201 +Package babel Info: Redefining spanish shorthand "?
  2202 +(babel) in language on input line 74.
  2203 +Package babel Info: Redefining spanish shorthand <<
  2204 +(babel) in language on input line 77.
  2205 +Package babel Info: Redefining spanish shorthand >>
  2206 +(babel) in language on input line 77.
  2207 +Package babel Info: Redefining spanish shorthand "=
  2208 +(babel) in language on input line 77.
  2209 +Package babel Info: Redefining spanish shorthand "~
  2210 +(babel) in language on input line 77.
  2211 +Package babel Info: Redefining spanish shorthand "!
  2212 +(babel) in language on input line 77.
  2213 +Package babel Info: Redefining spanish shorthand "?
  2214 +(babel) in language on input line 77.
1347 2215 ) (./structthread__args.tex
1348   -LaTeX Info: Redefining \. on input line 17.
1349   -LaTeX Info: Redefining \% on input line 17.
1350   - [15])
1351   -LaTeX Info: Redefining \. on input line 85.
1352   -LaTeX Info: Redefining \% on input line 85.
  2216 +Package babel Info: Redefining spanish shorthand <<
  2217 +(babel) in language on input line 3.
  2218 +Package babel Info: Redefining spanish shorthand >>
  2219 +(babel) in language on input line 3.
  2220 +Package babel Info: Redefining spanish shorthand "=
  2221 +(babel) in language on input line 3.
  2222 +Package babel Info: Redefining spanish shorthand "~
  2223 +(babel) in language on input line 3.
  2224 +Package babel Info: Redefining spanish shorthand "!
  2225 +(babel) in language on input line 3.
  2226 +Package babel Info: Redefining spanish shorthand "?
  2227 +(babel) in language on input line 3.
  2228 +LaTeX Info: Redefining \. on input line 13.
  2229 +LaTeX Info: Redefining \% on input line 13.
  2230 +Package babel Info: Redefining spanish shorthand <<
  2231 +(babel) in language on input line 13.
  2232 +Package babel Info: Redefining spanish shorthand >>
  2233 +(babel) in language on input line 13.
  2234 +Package babel Info: Redefining spanish shorthand "=
  2235 +(babel) in language on input line 13.
  2236 +Package babel Info: Redefining spanish shorthand "~
  2237 +(babel) in language on input line 13.
  2238 +Package babel Info: Redefining spanish shorthand "!
  2239 +(babel) in language on input line 13.
  2240 +Package babel Info: Redefining spanish shorthand "?
  2241 +(babel) in language on input line 13.
  2242 +Package babel Info: Redefining spanish shorthand <<
  2243 +(babel) in language on input line 13.
  2244 +Package babel Info: Redefining spanish shorthand >>
  2245 +(babel) in language on input line 13.
  2246 +Package babel Info: Redefining spanish shorthand "=
  2247 +(babel) in language on input line 13.
  2248 +Package babel Info: Redefining spanish shorthand "~
  2249 +(babel) in language on input line 13.
  2250 +Package babel Info: Redefining spanish shorthand "!
  2251 +(babel) in language on input line 13.
  2252 +Package babel Info: Redefining spanish shorthand "?
  2253 +(babel) in language on input line 13.
  2254 + [15]
  2255 +Package babel Info: Redefining spanish shorthand <<
  2256 +(babel) in language on input line 24.
  2257 +Package babel Info: Redefining spanish shorthand >>
  2258 +(babel) in language on input line 24.
  2259 +Package babel Info: Redefining spanish shorthand "=
  2260 +(babel) in language on input line 24.
  2261 +Package babel Info: Redefining spanish shorthand "~
  2262 +(babel) in language on input line 24.
  2263 +Package babel Info: Redefining spanish shorthand "!
  2264 +(babel) in language on input line 24.
  2265 +Package babel Info: Redefining spanish shorthand "?
  2266 +(babel) in language on input line 24.
  2267 +
  2268 +Underfull \hbox (badness 10000) detected at line 27
  2269 +[][][]
  2270 + []
  2271 +
  2272 +
  2273 +Underfull \hbox (badness 10000) detected at line 30
  2274 +[][][]
  2275 + []
  2276 +
  2277 +Package babel Info: Redefining spanish shorthand <<
  2278 +(babel) in language on input line 35.
  2279 +Package babel Info: Redefining spanish shorthand >>
  2280 +(babel) in language on input line 35.
  2281 +Package babel Info: Redefining spanish shorthand "=
  2282 +(babel) in language on input line 35.
  2283 +Package babel Info: Redefining spanish shorthand "~
  2284 +(babel) in language on input line 35.
  2285 +Package babel Info: Redefining spanish shorthand "!
  2286 +(babel) in language on input line 35.
  2287 +Package babel Info: Redefining spanish shorthand "?
  2288 +(babel) in language on input line 35.
  2289 +Package babel Info: Redefining spanish shorthand <<
  2290 +(babel) in language on input line 38.
  2291 +Package babel Info: Redefining spanish shorthand >>
  2292 +(babel) in language on input line 38.
  2293 +Package babel Info: Redefining spanish shorthand "=
  2294 +(babel) in language on input line 38.
  2295 +Package babel Info: Redefining spanish shorthand "~
  2296 +(babel) in language on input line 38.
  2297 +Package babel Info: Redefining spanish shorthand "!
  2298 +(babel) in language on input line 38.
  2299 +Package babel Info: Redefining spanish shorthand "?
  2300 +(babel) in language on input line 38.
  2301 +Package babel Info: Redefining spanish shorthand <<
  2302 +(babel) in language on input line 47.
  2303 +Package babel Info: Redefining spanish shorthand >>
  2304 +(babel) in language on input line 47.
  2305 +Package babel Info: Redefining spanish shorthand "=
  2306 +(babel) in language on input line 47.
  2307 +Package babel Info: Redefining spanish shorthand "~
  2308 +(babel) in language on input line 47.
  2309 +Package babel Info: Redefining spanish shorthand "!
  2310 +(babel) in language on input line 47.
  2311 +Package babel Info: Redefining spanish shorthand "?
  2312 +(babel) in language on input line 47.
  2313 +Package babel Info: Redefining spanish shorthand <<
  2314 +(babel) in language on input line 54.
  2315 +Package babel Info: Redefining spanish shorthand >>
  2316 +(babel) in language on input line 54.
  2317 +Package babel Info: Redefining spanish shorthand "=
  2318 +(babel) in language on input line 54.
  2319 +Package babel Info: Redefining spanish shorthand "~
  2320 +(babel) in language on input line 54.
  2321 +Package babel Info: Redefining spanish shorthand "!
  2322 +(babel) in language on input line 54.
  2323 +Package babel Info: Redefining spanish shorthand "?
  2324 +(babel) in language on input line 54.
  2325 +)
  2326 +LaTeX Info: Redefining \. on input line 153.
  2327 +LaTeX Info: Redefining \% on input line 153.
  2328 +Package babel Info: Redefining spanish shorthand <<
  2329 +(babel) in language on input line 153.
  2330 +Package babel Info: Redefining spanish shorthand >>
  2331 +(babel) in language on input line 153.
  2332 +Package babel Info: Redefining spanish shorthand "=
  2333 +(babel) in language on input line 153.
  2334 +Package babel Info: Redefining spanish shorthand "~
  2335 +(babel) in language on input line 153.
  2336 +Package babel Info: Redefining spanish shorthand "!
  2337 +(babel) in language on input line 153.
  2338 +Package babel Info: Redefining spanish shorthand "?
  2339 +(babel) in language on input line 153.
  2340 +Package babel Info: Redefining spanish shorthand <<
  2341 +(babel) in language on input line 153.
  2342 +Package babel Info: Redefining spanish shorthand >>
  2343 +(babel) in language on input line 153.
  2344 +Package babel Info: Redefining spanish shorthand "=
  2345 +(babel) in language on input line 153.
  2346 +Package babel Info: Redefining spanish shorthand "~
  2347 +(babel) in language on input line 153.
  2348 +Package babel Info: Redefining spanish shorthand "!
  2349 +(babel) in language on input line 153.
  2350 +Package babel Info: Redefining spanish shorthand "?
  2351 +(babel) in language on input line 153.
1353 2352 [16]
1354 2353 Cap\'{\i }tulo 7.
  2354 +Package babel Info: Redefining spanish shorthand <<
  2355 +(babel) in language on input line 153.
  2356 +Package babel Info: Redefining spanish shorthand >>
  2357 +(babel) in language on input line 153.
  2358 +Package babel Info: Redefining spanish shorthand "=
  2359 +(babel) in language on input line 153.
  2360 +Package babel Info: Redefining spanish shorthand "~
  2361 +(babel) in language on input line 153.
  2362 +Package babel Info: Redefining spanish shorthand "!
  2363 +(babel) in language on input line 153.
  2364 +Package babel Info: Redefining spanish shorthand "?
  2365 +(babel) in language on input line 153.
1355 2366 (./client_8cpp.tex
  2367 +Package babel Info: Redefining spanish shorthand <<
  2368 +(babel) in language on input line 3.
  2369 +Package babel Info: Redefining spanish shorthand >>
  2370 +(babel) in language on input line 3.
  2371 +Package babel Info: Redefining spanish shorthand "=
  2372 +(babel) in language on input line 3.
  2373 +Package babel Info: Redefining spanish shorthand "~
  2374 +(babel) in language on input line 3.
  2375 +Package babel Info: Redefining spanish shorthand "!
  2376 +(babel) in language on input line 3.
  2377 +Package babel Info: Redefining spanish shorthand "?
  2378 +(babel) in language on input line 3.
  2379 +
1356 2380 Underfull \hbox (badness 10000) in paragraph at lines 9--10
1357 2381  
1358 2382 []
1359 2383  
  2384 +Package babel Info: Redefining spanish shorthand <<
  2385 +(babel) in language on input line 32.
  2386 +Package babel Info: Redefining spanish shorthand >>
  2387 +(babel) in language on input line 32.
  2388 +Package babel Info: Redefining spanish shorthand "=
  2389 +(babel) in language on input line 32.
  2390 +Package babel Info: Redefining spanish shorthand "~
  2391 +(babel) in language on input line 32.
  2392 +Package babel Info: Redefining spanish shorthand "!
  2393 +(babel) in language on input line 32.
  2394 +Package babel Info: Redefining spanish shorthand "?
  2395 +(babel) in language on input line 32.
  2396 +
  2397 +Underfull \hbox (badness 10000) detected at line 33
  2398 +[][][]
  2399 + []
  2400 +
  2401 +
  2402 +Underfull \hbox (badness 10000) detected at line 36
  2403 +[][][]
  2404 + []
  2405 +
  2406 +Package babel Info: Redefining spanish shorthand <<
  2407 +(babel) in language on input line 41.
  2408 +Package babel Info: Redefining spanish shorthand >>
  2409 +(babel) in language on input line 41.
  2410 +Package babel Info: Redefining spanish shorthand "=
  2411 +(babel) in language on input line 41.
  2412 +Package babel Info: Redefining spanish shorthand "~
  2413 +(babel) in language on input line 41.
  2414 +Package babel Info: Redefining spanish shorthand "!
  2415 +(babel) in language on input line 41.
  2416 +Package babel Info: Redefining spanish shorthand "?
  2417 +(babel) in language on input line 41.
  2418 +Package babel Info: Redefining spanish shorthand <<
  2419 +(babel) in language on input line 41.
  2420 +Package babel Info: Redefining spanish shorthand >>
  2421 +(babel) in language on input line 41.
  2422 +Package babel Info: Redefining spanish shorthand "=
  2423 +(babel) in language on input line 41.
  2424 +Package babel Info: Redefining spanish shorthand "~
  2425 +(babel) in language on input line 41.
  2426 +Package babel Info: Redefining spanish shorthand "!
  2427 +(babel) in language on input line 41.
  2428 +Package babel Info: Redefining spanish shorthand "?
  2429 +(babel) in language on input line 41.
1360 2430 [17
1361 2431  
1362   -]) (./client_8dox.tex
  2432 +]
  2433 +Package babel Info: Redefining spanish shorthand <<
  2434 +(babel) in language on input line 41.
  2435 +Package babel Info: Redefining spanish shorthand >>
  2436 +(babel) in language on input line 41.
  2437 +Package babel Info: Redefining spanish shorthand "=
  2438 +(babel) in language on input line 41.
  2439 +Package babel Info: Redefining spanish shorthand "~
  2440 +(babel) in language on input line 41.
  2441 +Package babel Info: Redefining spanish shorthand "!
  2442 +(babel) in language on input line 41.
  2443 +Package babel Info: Redefining spanish shorthand "?
  2444 +(babel) in language on input line 41.
  2445 +Package babel Info: Redefining spanish shorthand <<
  2446 +(babel) in language on input line 48.
  2447 +Package babel Info: Redefining spanish shorthand >>
  2448 +(babel) in language on input line 48.
  2449 +Package babel Info: Redefining spanish shorthand "=
  2450 +(babel) in language on input line 48.
  2451 +Package babel Info: Redefining spanish shorthand "~
  2452 +(babel) in language on input line 48.
  2453 +Package babel Info: Redefining spanish shorthand "!
  2454 +(babel) in language on input line 48.
  2455 +Package babel Info: Redefining spanish shorthand "?
  2456 +(babel) in language on input line 48.
  2457 +Package babel Info: Redefining spanish shorthand <<
  2458 +(babel) in language on input line 59.
  2459 +Package babel Info: Redefining spanish shorthand >>
  2460 +(babel) in language on input line 59.
  2461 +Package babel Info: Redefining spanish shorthand "=
  2462 +(babel) in language on input line 59.
  2463 +Package babel Info: Redefining spanish shorthand "~
  2464 +(babel) in language on input line 59.
  2465 +Package babel Info: Redefining spanish shorthand "!
  2466 +(babel) in language on input line 59.
  2467 +Package babel Info: Redefining spanish shorthand "?
  2468 +(babel) in language on input line 59.
  2469 +Package babel Info: Redefining spanish shorthand <<
  2470 +(babel) in language on input line 70.
  2471 +Package babel Info: Redefining spanish shorthand >>
  2472 +(babel) in language on input line 70.
  2473 +Package babel Info: Redefining spanish shorthand "=
  2474 +(babel) in language on input line 70.
  2475 +Package babel Info: Redefining spanish shorthand "~
  2476 +(babel) in language on input line 70.
  2477 +Package babel Info: Redefining spanish shorthand "!
  2478 +(babel) in language on input line 70.
  2479 +Package babel Info: Redefining spanish shorthand "?
  2480 +(babel) in language on input line 70.
  2481 +Package babel Info: Redefining spanish shorthand <<
  2482 +(babel) in language on input line 81.
  2483 +Package babel Info: Redefining spanish shorthand >>
  2484 +(babel) in language on input line 81.
  2485 +Package babel Info: Redefining spanish shorthand "=
  2486 +(babel) in language on input line 81.
  2487 +Package babel Info: Redefining spanish shorthand "~
  2488 +(babel) in language on input line 81.
  2489 +Package babel Info: Redefining spanish shorthand "!
  2490 +(babel) in language on input line 81.
  2491 +Package babel Info: Redefining spanish shorthand "?
  2492 +(babel) in language on input line 81.
  2493 +Package babel Info: Redefining spanish shorthand <<
  2494 +(babel) in language on input line 92.
  2495 +Package babel Info: Redefining spanish shorthand >>
  2496 +(babel) in language on input line 92.
  2497 +Package babel Info: Redefining spanish shorthand "=
  2498 +(babel) in language on input line 92.
  2499 +Package babel Info: Redefining spanish shorthand "~
  2500 +(babel) in language on input line 92.
  2501 +Package babel Info: Redefining spanish shorthand "!
  2502 +(babel) in language on input line 92.
  2503 +Package babel Info: Redefining spanish shorthand "?
  2504 +(babel) in language on input line 92.
  2505 +Package babel Info: Redefining spanish shorthand <<
  2506 +(babel) in language on input line 99.
  2507 +Package babel Info: Redefining spanish shorthand >>
  2508 +(babel) in language on input line 99.
  2509 +Package babel Info: Redefining spanish shorthand "=
  2510 +(babel) in language on input line 99.
  2511 +Package babel Info: Redefining spanish shorthand "~
  2512 +(babel) in language on input line 99.
  2513 +Package babel Info: Redefining spanish shorthand "!
  2514 +(babel) in language on input line 99.
  2515 +Package babel Info: Redefining spanish shorthand "?
  2516 +(babel) in language on input line 99.
  2517 +Package babel Info: Redefining spanish shorthand <<
  2518 +(babel) in language on input line 102.
  2519 +Package babel Info: Redefining spanish shorthand >>
  2520 +(babel) in language on input line 102.
  2521 +Package babel Info: Redefining spanish shorthand "=
  2522 +(babel) in language on input line 102.
  2523 +Package babel Info: Redefining spanish shorthand "~
  2524 +(babel) in language on input line 102.
  2525 +Package babel Info: Redefining spanish shorthand "!
  2526 +(babel) in language on input line 102.
  2527 +Package babel Info: Redefining spanish shorthand "?
  2528 +(babel) in language on input line 102.
  2529 +Package babel Info: Redefining spanish shorthand <<
  2530 +(babel) in language on input line 109.
  2531 +Package babel Info: Redefining spanish shorthand >>
  2532 +(babel) in language on input line 109.
  2533 +Package babel Info: Redefining spanish shorthand "=
  2534 +(babel) in language on input line 109.
  2535 +Package babel Info: Redefining spanish shorthand "~
  2536 +(babel) in language on input line 109.
  2537 +Package babel Info: Redefining spanish shorthand "!
  2538 +(babel) in language on input line 109.
  2539 +Package babel Info: Redefining spanish shorthand "?
  2540 +(babel) in language on input line 109.
  2541 +) (./client_8dox.tex
  2542 +Package babel Info: Redefining spanish shorthand <<
  2543 +(babel) in language on input line 3.
  2544 +Package babel Info: Redefining spanish shorthand >>
  2545 +(babel) in language on input line 3.
  2546 +Package babel Info: Redefining spanish shorthand "=
  2547 +(babel) in language on input line 3.
  2548 +Package babel Info: Redefining spanish shorthand "~
  2549 +(babel) in language on input line 3.
  2550 +Package babel Info: Redefining spanish shorthand "!
  2551 +(babel) in language on input line 3.
  2552 +Package babel Info: Redefining spanish shorthand "?
  2553 +(babel) in language on input line 3.
  2554 +Package babel Info: Redefining spanish shorthand <<
  2555 +(babel) in language on input line 6.
  2556 +Package babel Info: Redefining spanish shorthand >>
  2557 +(babel) in language on input line 6.
  2558 +Package babel Info: Redefining spanish shorthand "=
  2559 +(babel) in language on input line 6.
  2560 +Package babel Info: Redefining spanish shorthand "~
  2561 +(babel) in language on input line 6.
  2562 +Package babel Info: Redefining spanish shorthand "!
  2563 +(babel) in language on input line 6.
  2564 +Package babel Info: Redefining spanish shorthand "?
  2565 +(babel) in language on input line 6.
1363 2566 LaTeX Info: Redefining \. on input line 7.
1364 2567 LaTeX Info: Redefining \% on input line 7.
1365   - [18]) (./howto_8dox.tex) (./client_8h.tex
  2568 +Package babel Info: Redefining spanish shorthand <<
  2569 +(babel) in language on input line 7.
  2570 +Package babel Info: Redefining spanish shorthand >>
  2571 +(babel) in language on input line 7.
  2572 +Package babel Info: Redefining spanish shorthand "=
  2573 +(babel) in language on input line 7.
  2574 +Package babel Info: Redefining spanish shorthand "~
  2575 +(babel) in language on input line 7.
  2576 +Package babel Info: Redefining spanish shorthand "!
  2577 +(babel) in language on input line 7.
  2578 +Package babel Info: Redefining spanish shorthand "?
  2579 +(babel) in language on input line 7.
  2580 +Package babel Info: Redefining spanish shorthand <<
  2581 +(babel) in language on input line 7.
  2582 +Package babel Info: Redefining spanish shorthand >>
  2583 +(babel) in language on input line 7.
  2584 +Package babel Info: Redefining spanish shorthand "=
  2585 +(babel) in language on input line 7.
  2586 +Package babel Info: Redefining spanish shorthand "~
  2587 +(babel) in language on input line 7.
  2588 +Package babel Info: Redefining spanish shorthand "!
  2589 +(babel) in language on input line 7.
  2590 +Package babel Info: Redefining spanish shorthand "?
  2591 +(babel) in language on input line 7.
  2592 + [18]
  2593 +Underfull \hbox (badness 10000) detected at line 7
  2594 +[][][]
  2595 + []
  2596 +
  2597 +
  2598 +Underfull \hbox (badness 10000) detected at line 10
  2599 +[][][]
  2600 + []
  2601 +
  2602 +) (./howto_8dox.tex
  2603 +Package babel Info: Redefining spanish shorthand <<
  2604 +(babel) in language on input line 3.
  2605 +Package babel Info: Redefining spanish shorthand >>
  2606 +(babel) in language on input line 3.
  2607 +Package babel Info: Redefining spanish shorthand "=
  2608 +(babel) in language on input line 3.
  2609 +Package babel Info: Redefining spanish shorthand "~
  2610 +(babel) in language on input line 3.
  2611 +Package babel Info: Redefining spanish shorthand "!
  2612 +(babel) in language on input line 3.
  2613 +Package babel Info: Redefining spanish shorthand "?
  2614 +(babel) in language on input line 3.
  2615 +Package babel Info: Redefining spanish shorthand <<
  2616 +(babel) in language on input line 6.
  2617 +Package babel Info: Redefining spanish shorthand >>
  2618 +(babel) in language on input line 6.
  2619 +Package babel Info: Redefining spanish shorthand "=
  2620 +(babel) in language on input line 6.
  2621 +Package babel Info: Redefining spanish shorthand "~
  2622 +(babel) in language on input line 6.
  2623 +Package babel Info: Redefining spanish shorthand "!
  2624 +(babel) in language on input line 6.
  2625 +Package babel Info: Redefining spanish shorthand "?
  2626 +(babel) in language on input line 6.
  2627 +
  2628 +Underfull \hbox (badness 10000) detected at line 7
  2629 +[][][]
  2630 + []
  2631 +
  2632 +
  2633 +Underfull \hbox (badness 10000) detected at line 10
  2634 +[][][]
  2635 + []
  2636 +
  2637 +) (./client_8h.tex
  2638 +Package babel Info: Redefining spanish shorthand <<
  2639 +(babel) in language on input line 3.
  2640 +Package babel Info: Redefining spanish shorthand >>
  2641 +(babel) in language on input line 3.
  2642 +Package babel Info: Redefining spanish shorthand "=
  2643 +(babel) in language on input line 3.
  2644 +Package babel Info: Redefining spanish shorthand "~
  2645 +(babel) in language on input line 3.
  2646 +Package babel Info: Redefining spanish shorthand "!
  2647 +(babel) in language on input line 3.
  2648 +Package babel Info: Redefining spanish shorthand "?
  2649 +(babel) in language on input line 3.
  2650 +
1366 2651 Underfull \hbox (badness 10000) in paragraph at lines 4--11
1367 2652  
1368 2653 []
1369 2654  
1370 2655 ) (./_socket_8h.tex
1371 2656 Underfull \hbox (badness 3471) in paragraph at lines 3--3
1372   -[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/
  2657 +[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/
1373 2658 -J-Chat-Client/src/include/-
1374 2659 []
1375 2660  
  2661 +Package babel Info: Redefining spanish shorthand <<
  2662 +(babel) in language on input line 3.
  2663 +Package babel Info: Redefining spanish shorthand >>
  2664 +(babel) in language on input line 3.
  2665 +Package babel Info: Redefining spanish shorthand "=
  2666 +(babel) in language on input line 3.
  2667 +Package babel Info: Redefining spanish shorthand "~
  2668 +(babel) in language on input line 3.
  2669 +Package babel Info: Redefining spanish shorthand "!
  2670 +(babel) in language on input line 3.
  2671 +Package babel Info: Redefining spanish shorthand "?
  2672 +(babel) in language on input line 3.
1376 2673  
1377 2674 Underfull \hbox (badness 10000) in paragraph at lines 9--21
1378 2675  
1379 2676 []
1380 2677  
1381 2678  
1382   -Underfull \vbox (badness 1077) has occurred while \output is active []
  2679 +Underfull \vbox (badness 1087) has occurred while \output is active []
1383 2680  
1384 2681 LaTeX Info: Redefining \. on input line 21.
1385 2682 LaTeX Info: Redefining \% on input line 21.
1386   - [19])
1387   -(./_socket_exception_8h.tex
  2683 +Package babel Info: Redefining spanish shorthand <<
  2684 +(babel) in language on input line 21.
  2685 +Package babel Info: Redefining spanish shorthand >>
  2686 +(babel) in language on input line 21.
  2687 +Package babel Info: Redefining spanish shorthand "=
  2688 +(babel) in language on input line 21.
  2689 +Package babel Info: Redefining spanish shorthand "~
  2690 +(babel) in language on input line 21.
  2691 +Package babel Info: Redefining spanish shorthand "!
  2692 +(babel) in language on input line 21.
  2693 +Package babel Info: Redefining spanish shorthand "?
  2694 +(babel) in language on input line 21.
  2695 +Package babel Info: Redefining spanish shorthand <<
  2696 +(babel) in language on input line 21.
  2697 +Package babel Info: Redefining spanish shorthand >>
  2698 +(babel) in language on input line 21.
  2699 +Package babel Info: Redefining spanish shorthand "=
  2700 +(babel) in language on input line 21.
  2701 +Package babel Info: Redefining spanish shorthand "~
  2702 +(babel) in language on input line 21.
  2703 +Package babel Info: Redefining spanish shorthand "!
  2704 +(babel) in language on input line 21.
  2705 +Package babel Info: Redefining spanish shorthand "?
  2706 +(babel) in language on input line 21.
  2707 + [19]
  2708 +Package babel Info: Redefining spanish shorthand <<
  2709 +(babel) in language on input line 28.
  2710 +Package babel Info: Redefining spanish shorthand >>
  2711 +(babel) in language on input line 28.
  2712 +Package babel Info: Redefining spanish shorthand "=
  2713 +(babel) in language on input line 28.
  2714 +Package babel Info: Redefining spanish shorthand "~
  2715 +(babel) in language on input line 28.
  2716 +Package babel Info: Redefining spanish shorthand "!
  2717 +(babel) in language on input line 28.
  2718 +Package babel Info: Redefining spanish shorthand "?
  2719 +(babel) in language on input line 28.
  2720 +
  2721 +Underfull \hbox (badness 10000) detected at line 29
  2722 +[][][]
  2723 + []
  2724 +
  2725 +
  2726 +Underfull \hbox (badness 10000) detected at line 32
  2727 +[][][]
  2728 + []
  2729 +
  2730 +) (./_socket_exception_8h.tex
1388 2731 Underfull \hbox (badness 3471) in paragraph at lines 3--3
1389   -[]\OT1/phv/bc/n/14.4 Referencia del Archi-vo /home/imanol/devel/eclipse/-P-A-D/
  2732 +[]\T1/phv/bc/n/14.4 Referencia del Ar-chi-vo /home/imanol/devel/eclipse/-P-A-D/
1390 2733 -J-Chat-Client/src/include/-
1391 2734 []
1392 2735  
  2736 +Package babel Info: Redefining spanish shorthand <<
  2737 +(babel) in language on input line 3.
  2738 +Package babel Info: Redefining spanish shorthand >>
  2739 +(babel) in language on input line 3.
  2740 +Package babel Info: Redefining spanish shorthand "=
  2741 +(babel) in language on input line 3.
  2742 +Package babel Info: Redefining spanish shorthand "~
  2743 +(babel) in language on input line 3.
  2744 +Package babel Info: Redefining spanish shorthand "!
  2745 +(babel) in language on input line 3.
  2746 +Package babel Info: Redefining spanish shorthand "?
  2747 +(babel) in language on input line 3.
1393 2748  
1394 2749 Underfull \hbox (badness 10000) in paragraph at lines 9--10
1395 2750  
1396 2751 []
1397 2752  
  2753 +Package babel Info: Redefining spanish shorthand <<
  2754 +(babel) in language on input line 17.
  2755 +Package babel Info: Redefining spanish shorthand >>
  2756 +(babel) in language on input line 17.
  2757 +Package babel Info: Redefining spanish shorthand "=
  2758 +(babel) in language on input line 17.
  2759 +Package babel Info: Redefining spanish shorthand "~
  2760 +(babel) in language on input line 17.
  2761 +Package babel Info: Redefining spanish shorthand "!
  2762 +(babel) in language on input line 17.
  2763 +Package babel Info: Redefining spanish shorthand "?
  2764 +(babel) in language on input line 17.
  2765 +
  2766 +Underfull \hbox (badness 10000) detected at line 18
  2767 +[][][]
  2768 + []
  2769 +
1398 2770 LaTeX Info: Redefining \. on input line 21.
1399 2771 LaTeX Info: Redefining \% on input line 21.
1400   -[20]) (./mainpage_8dox.tex) (./makefile_8dox.tex) (./_socket_8cpp.tex
  2772 +Package babel Info: Redefining spanish shorthand <<
  2773 +(babel) in language on input line 21.
  2774 +Package babel Info: Redefining spanish shorthand >>
  2775 +(babel) in language on input line 21.
  2776 +Package babel Info: Redefining spanish shorthand "=
  2777 +(babel) in language on input line 21.
  2778 +Package babel Info: Redefining spanish shorthand "~
  2779 +(babel) in language on input line 21.
  2780 +Package babel Info: Redefining spanish shorthand "!
  2781 +(babel) in language on input line 21.
  2782 +Package babel Info: Redefining spanish shorthand "?
  2783 +(babel) in language on input line 21.
  2784 +Package babel Info: Redefining spanish shorthand <<
  2785 +(babel) in language on input line 21.
  2786 +Package babel Info: Redefining spanish shorthand >>
  2787 +(babel) in language on input line 21.
  2788 +Package babel Info: Redefining spanish shorthand "=
  2789 +(babel) in language on input line 21.
  2790 +Package babel Info: Redefining spanish shorthand "~
  2791 +(babel) in language on input line 21.
  2792 +Package babel Info: Redefining spanish shorthand "!
  2793 +(babel) in language on input line 21.
  2794 +Package babel Info: Redefining spanish shorthand "?
  2795 +(babel) in language on input line 21.
  2796 +[20]
  2797 +Underfull \hbox (badness 10000) detected at line 21
  2798 +[][][]
  2799 + []
  2800 +
  2801 +) (./mainpage_8dox.tex
  2802 +Package babel Info: Redefining spanish shorthand <<
  2803 +(babel) in language on input line 3.
  2804 +Package babel Info: Redefining spanish shorthand >>
  2805 +(babel) in language on input line 3.
  2806 +Package babel Info: Redefining spanish shorthand "=
  2807 +(babel) in language on input line 3.
  2808 +Package babel Info: Redefining spanish shorthand "~
  2809 +(babel) in language on input line 3.
  2810 +Package babel Info: Redefining spanish shorthand "!
  2811 +(babel) in language on input line 3.
  2812 +Package babel Info: Redefining spanish shorthand "?
  2813 +(babel) in language on input line 3.
  2814 +) (./makefile_8dox.tex
  2815 +Package babel Info: Redefining spanish shorthand <<
  2816 +(babel) in language on input line 3.
  2817 +Package babel Info: Redefining spanish shorthand >>
  2818 +(babel) in language on input line 3.
  2819 +Package babel Info: Redefining spanish shorthand "=
  2820 +(babel) in language on input line 3.
  2821 +Package babel Info: Redefining spanish shorthand "~
  2822 +(babel) in language on input line 3.
  2823 +Package babel Info: Redefining spanish shorthand "!
  2824 +(babel) in language on input line 3.
  2825 +Package babel Info: Redefining spanish shorthand "?
  2826 +(babel) in language on input line 3.
  2827 +) (./_socket_8cpp.tex
  2828 +Package babel Info: Redefining spanish shorthand <<
  2829 +(babel) in language on input line 3.
  2830 +Package babel Info: Redefining spanish shorthand >>
  2831 +(babel) in language on input line 3.
  2832 +Package babel Info: Redefining spanish shorthand "=
  2833 +(babel) in language on input line 3.
  2834 +Package babel Info: Redefining spanish shorthand "~
  2835 +(babel) in language on input line 3.
  2836 +Package babel Info: Redefining spanish shorthand "!
  2837 +(babel) in language on input line 3.
  2838 +Package babel Info: Redefining spanish shorthand "?
  2839 +(babel) in language on input line 3.
  2840 +
1401 2841 Underfull \hbox (badness 10000) in paragraph at lines 9--10
1402 2842  
1403 2843 []
1404 2844  
1405   -) (./refman.ind
1406   -LaTeX Info: Redefining \. on input line 1.
1407   -LaTeX Info: Redefining \% on input line 1.
  2845 +Package babel Info: Redefining spanish shorthand <<
  2846 +(babel) in language on input line 12.
  2847 +Package babel Info: Redefining spanish shorthand >>
  2848 +(babel) in language on input line 12.
  2849 +Package babel Info: Redefining spanish shorthand "=
  2850 +(babel) in language on input line 12.
  2851 +Package babel Info: Redefining spanish shorthand "~
  2852 +(babel) in language on input line 12.
  2853 +Package babel Info: Redefining spanish shorthand "!
  2854 +(babel) in language on input line 12.
  2855 +Package babel Info: Redefining spanish shorthand "?
  2856 +(babel) in language on input line 12.
  2857 +
  2858 +Underfull \hbox (badness 10000) detected at line 13
  2859 +[][][]
  2860 + []
  2861 +
  2862 +
  2863 +Underfull \hbox (badness 10000) detected at line 16
  2864 +[][][]
  2865 + []
  2866 +
  2867 +)
  2868 +LaTeX Info: Redefining \. on input line 166.
  2869 +LaTeX Info: Redefining \% on input line 166.
  2870 +Package babel Info: Redefining spanish shorthand <<
  2871 +(babel) in language on input line 166.
  2872 +Package babel Info: Redefining spanish shorthand >>
  2873 +(babel) in language on input line 166.
  2874 +Package babel Info: Redefining spanish shorthand "=
  2875 +(babel) in language on input line 166.
  2876 +Package babel Info: Redefining spanish shorthand "~
  2877 +(babel) in language on input line 166.
  2878 +Package babel Info: Redefining spanish shorthand "!
  2879 +(babel) in language on input line 166.
  2880 +Package babel Info: Redefining spanish shorthand "?
  2881 +(babel) in language on input line 166.
  2882 +Package babel Info: Redefining spanish shorthand <<
  2883 +(babel) in language on input line 166.
  2884 +Package babel Info: Redefining spanish shorthand >>
  2885 +(babel) in language on input line 166.
  2886 +Package babel Info: Redefining spanish shorthand "=
  2887 +(babel) in language on input line 166.
  2888 +Package babel Info: Redefining spanish shorthand "~
  2889 +(babel) in language on input line 166.
  2890 +Package babel Info: Redefining spanish shorthand "!
  2891 +(babel) in language on input line 166.
  2892 +Package babel Info: Redefining spanish shorthand "?
  2893 +(babel) in language on input line 166.
1408 2894 [21]
  2895 +Package babel Info: Redefining spanish shorthand <<
  2896 +(babel) in language on input line 168.
  2897 +Package babel Info: Redefining spanish shorthand >>
  2898 +(babel) in language on input line 168.
  2899 +Package babel Info: Redefining spanish shorthand "=
  2900 +(babel) in language on input line 168.
  2901 +Package babel Info: Redefining spanish shorthand "~
  2902 +(babel) in language on input line 168.
  2903 +Package babel Info: Redefining spanish shorthand "!
  2904 +(babel) in language on input line 168.
  2905 +Package babel Info: Redefining spanish shorthand "?
  2906 +(babel) in language on input line 168.
  2907 + (./refman.ind
1409 2908 Underfull \hbox (badness 10000) in paragraph at lines 5--7
1410 2909 []\T1/phv/m/n/10 /home/imanol/devel/eclipse/-P-A-D/-J-Chat-Client/src/-
1411 2910 []
... ... @@ -1432,38 +2931,86 @@ Overfull \hbox (17.3224pt too wide) in paragraph at lines 19--21
1432 2931 -
1433 2932 []
1434 2933  
  2934 +Package babel Info: Redefining spanish shorthand <<
  2935 +(babel) in language on input line 134.
  2936 +Package babel Info: Redefining spanish shorthand >>
  2937 +(babel) in language on input line 134.
  2938 +Package babel Info: Redefining spanish shorthand "=
  2939 +(babel) in language on input line 134.
  2940 +Package babel Info: Redefining spanish shorthand "~
  2941 +(babel) in language on input line 134.
  2942 +Package babel Info: Redefining spanish shorthand "!
  2943 +(babel) in language on input line 134.
  2944 +Package babel Info: Redefining spanish shorthand "?
  2945 +(babel) in language on input line 134.
  2946 +Package babel Info: Redefining spanish shorthand <<
  2947 +(babel) in language on input line 134.
  2948 +Package babel Info: Redefining spanish shorthand >>
  2949 +(babel) in language on input line 134.
  2950 +Package babel Info: Redefining spanish shorthand "=
  2951 +(babel) in language on input line 134.
  2952 +Package babel Info: Redefining spanish shorthand "~
  2953 +(babel) in language on input line 134.
  2954 +Package babel Info: Redefining spanish shorthand "!
  2955 +(babel) in language on input line 134.
  2956 +Package babel Info: Redefining spanish shorthand "?
  2957 +(babel) in language on input line 134.
1435 2958 [22
1436 2959  
1437 2960 ]
1438 2961 LaTeX Info: Redefining \. on input line 151.
1439 2962 LaTeX Info: Redefining \% on input line 151.
  2963 +Package babel Info: Redefining spanish shorthand <<
  2964 +(babel) in language on input line 151.
  2965 +Package babel Info: Redefining spanish shorthand >>
  2966 +(babel) in language on input line 151.
  2967 +Package babel Info: Redefining spanish shorthand "=
  2968 +(babel) in language on input line 151.
  2969 +Package babel Info: Redefining spanish shorthand "~
  2970 +(babel) in language on input line 151.
  2971 +Package babel Info: Redefining spanish shorthand "!
  2972 +(babel) in language on input line 151.
  2973 +Package babel Info: Redefining spanish shorthand "?
  2974 +(babel) in language on input line 151.
  2975 +Package babel Info: Redefining spanish shorthand <<
  2976 +(babel) in language on input line 151.
  2977 +Package babel Info: Redefining spanish shorthand >>
  2978 +(babel) in language on input line 151.
  2979 +Package babel Info: Redefining spanish shorthand "=
  2980 +(babel) in language on input line 151.
  2981 +Package babel Info: Redefining spanish shorthand "~
  2982 +(babel) in language on input line 151.
  2983 +Package babel Info: Redefining spanish shorthand "!
  2984 +(babel) in language on input line 151.
  2985 +Package babel Info: Redefining spanish shorthand "?
  2986 +(babel) in language on input line 151.
1440 2987 [23
1441 2988  
1442 2989 ])
1443   -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 97.
1444   -Package atveryend Info: Empty hook `AfterLastShipout' on input line 97.
  2990 +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 171.
  2991 +Package atveryend Info: Empty hook `AfterLastShipout' on input line 171.
1445 2992 (./refman.aux
1446   -LaTeX Info: Redefining \. on input line 21.
1447   -LaTeX Info: Redefining \% on input line 21.
  2993 +LaTeX Info: Redefining \. on input line 23.
  2994 +LaTeX Info: Redefining \% on input line 23.
1448 2995 )
1449   -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 97.
1450   -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 97.
  2996 +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 171.
  2997 +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 171.
1451 2998 Package rerunfilecheck Info: File `refman.out' has not changed.
1452   -(rerunfilecheck) Checksum: DDDDBC43CB7E9CFAA74D492C11EA7B0A;14371.
  2999 +(rerunfilecheck) Checksum: 90DE45FB725CFE1F61E3D4F1E8F376EA;14366.
1453 3000  
1454 3001  
1455 3002 LaTeX Font Warning: Some font shapes were not available, defaults substituted.
1456 3003  
1457   -Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 97.
  3004 +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 171.
1458 3005 )
1459 3006 Here is how much of TeX's memory you used:
1460   - 12386 strings out of 495059
1461   - 171405 string characters out of 3182031
1462   - 293523 words of memory out of 3000000
1463   - 15121 multiletter control sequences out of 15000+200000
1464   - 78540 words of font info for 111 fonts, out of 3000000 for 9000
1465   - 14 hyphenation exceptions out of 8191
1466   - 41i,13n,58p,578b,625s stack positions out of 5000i,500n,10000p,200000b,50000s
  3007 + 13117 strings out of 494969
  3008 + 181938 string characters out of 6179593
  3009 + 267729 words of memory out of 5000000
  3010 + 15919 multiletter control sequences out of 15000+600000
  3011 + 87263 words of font info for 113 fonts, out of 8000000 for 9000
  3012 + 40 hyphenation exceptions out of 8191
  3013 + 48i,13n,43p,578b,691s stack positions out of 5000i,500n,10000p,200000b,80000s
1467 3014 {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv
1468 3015 e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texlive/texm
1469 3016 f-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist
... ... @@ -1472,10 +3019,10 @@ urw/helvetic/uhvb8a.pfb&gt;&lt;/usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic
1472 3019 /uhvb8ac.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvbo8ac.p
1473 3020 fb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></usr/sha
1474 3021 re/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvro8a.pfb>
1475   -Output written on refman.pdf (29 pages, 133388 bytes).
  3022 +Output written on refman.pdf (29 pages, 133189 bytes).
1476 3023 PDF statistics:
1477   - 804 PDF objects out of 1000 (max. 8388607)
1478   - 757 compressed objects within 8 object streams
1479   - 173 named destinations out of 1000 (max. 500000)
  3024 + 794 PDF objects out of 1000 (max. 8388607)
  3025 + 747 compressed objects within 8 object streams
  3026 + 165 named destinations out of 1000 (max. 500000)
1480 3027 601 words of extra memory for PDF output out of 10000 (max. 10000000)
1481 3028  
... ...
JChatClient/doc/latex/refman.out
... ... @@ -72,4 +72,4 @@
72 72 \BOOKMARK [1][-]{section.7.8}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000m\000a\000k\000e\000f\000i\000l\000e\000.\000d\000o\000x}{chapter.7}% 72
73 73 \BOOKMARK [1][-]{section.7.9}{\376\377\000R\000e\000f\000e\000r\000e\000n\000c\000i\000a\000\040\000d\000e\000l\000\040\000A\000r\000c\000h\000i\000v\000o\000\040\000/\000h\000o\000m\000e\000/\000i\000m\000a\000n\000o\000l\000/\000d\000e\000v\000e\000l\000/\000e\000c\000l\000i\000p\000s\000e\000/\000P\000A\000D\000/\000J\000C\000h\000a\000t\000C\000l\000i\000e\000n\000t\000/\000s\000r\000c\000/\000S\000o\000c\000k\000e\000t\000.\000c\000p\000p}{chapter.7}% 73
74 74 \BOOKMARK [2][-]{subsection.7.9.1}{\376\377\000D\000e\000s\000c\000r\000i\000p\000c\000i\000\363\000n\000\040\000d\000e\000t\000a\000l\000l\000a\000d\000a}{section.7.9}% 74
75   -\BOOKMARK [-1][-]{subsection.7.9.1}{\376\377\000\315\000n\000d\000i\000c\000e}{}% 75
  75 +\BOOKMARK [-1][-]{section*.13}{\376\377\000\315\000n\000d\000i\000c\000e}{}% 75
... ...
JChatClient/doc/latex/refman.pdf
No preview for this file type
JChatClient/doc/latex/refman.tex
1   -\documentclass{book}
2   -\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm]{geometry}
3   -\usepackage{makeidx}
4   -\usepackage{natbib}
  1 +\documentclass[twoside]{book}
  2 +
  3 +% Packages required by doxygen
  4 +\usepackage{calc}
  5 +\usepackage{doxygen}
5 6 \usepackage{graphicx}
  7 +\usepackage[utf8]{inputenc}
  8 +\usepackage{makeidx}
6 9 \usepackage{multicol}
7   -\usepackage{float}
8   -\usepackage{listings}
9   -\usepackage{color}
10   -\usepackage{ifthen}
11   -\usepackage[table]{xcolor}
  10 +\usepackage{multirow}
12 11 \usepackage{textcomp}
13   -\usepackage{alltt}
14   -\usepackage{ifpdf}
15   -\ifpdf
16   -\usepackage[pdftex,
17   - pagebackref=true,
18   - colorlinks=true,
19   - linkcolor=blue,
20   - unicode
21   - ]{hyperref}
22   -\else
23   -\usepackage[ps2pdf,
24   - pagebackref=true,
25   - colorlinks=true,
26   - linkcolor=blue,
27   - unicode
28   - ]{hyperref}
29   -\usepackage{pspicture}
30   -\fi
31   -\usepackage[utf8]{inputenc}
  12 +\usepackage[table]{xcolor}
  13 +
  14 +% NLS support packages
32 15 \usepackage[spanish]{babel}
  16 +% Font selection
  17 +\usepackage[T1]{fontenc}
33 18 \usepackage{mathptmx}
34 19 \usepackage[scaled=.90]{helvet}
35 20 \usepackage{courier}
36   -\usepackage{sectsty}
37 21 \usepackage{amssymb}
38   -\usepackage[titles]{tocloft}
39   -\usepackage{doxygen}
40   -\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left }
41   -\makeindex
42   -\setcounter{tocdepth}{3}
43   -\renewcommand{\footrulewidth}{0.4pt}
  22 +\usepackage{sectsty}
44 23 \renewcommand{\familydefault}{\sfdefault}
  24 +\allsectionsfont{%
  25 + \fontseries{bc}\selectfont%
  26 + \color{darkgray}%
  27 +}
  28 +\renewcommand{\DoxyLabelFont}{%
  29 + \fontseries{bc}\selectfont%
  30 + \color{darkgray}%
  31 +}
  32 +
  33 +% Page & text layout
  34 +\usepackage{geometry}
  35 +\geometry{%
  36 + a4paper,%
  37 + top=2.5cm,%
  38 + bottom=2.5cm,%
  39 + left=2.5cm,%
  40 + right=2.5cm%
  41 +}
  42 +\tolerance=750
45 43 \hfuzz=15pt
46   -\setlength{\emergencystretch}{15pt}
47 44 \hbadness=750
48   -\tolerance=750
  45 +\setlength{\emergencystretch}{15pt}
  46 +\setlength{\parindent}{0cm}
  47 +\setlength{\parskip}{0.2cm}
  48 +\makeatletter
  49 +\renewcommand{\paragraph}{%
  50 + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
  51 + \normalfont\normalsize\bfseries\SS@parafont%
  52 + }%
  53 +}
  54 +\renewcommand{\subparagraph}{%
  55 + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
  56 + \normalfont\normalsize\bfseries\SS@subparafont%
  57 + }%
  58 +}
  59 +\makeatother
  60 +
  61 +% Headers & footers
  62 +\usepackage{fancyhdr}
  63 +\pagestyle{fancyplain}
  64 +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
  65 +\fancyhead[CE]{\fancyplain{}{}}
  66 +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
  67 +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
  68 +\fancyhead[CO]{\fancyplain{}{}}
  69 +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
  70 +\fancyfoot[LE]{\fancyplain{}{}}
  71 +\fancyfoot[CE]{\fancyplain{}{}}
  72 +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por Doxygen }}
  73 +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generado el Jueves, 12 de Diciembre de 2013 17:44:34 para Socket por Doxygen }}
  74 +\fancyfoot[CO]{\fancyplain{}{}}
  75 +\fancyfoot[RO]{\fancyplain{}{}}
  76 +\renewcommand{\footrulewidth}{0.4pt}
  77 +\renewcommand{\chaptermark}[1]{%
  78 + \markboth{#1}{}%
  79 +}
  80 +\renewcommand{\sectionmark}[1]{%
  81 + \markright{\thesection\ #1}%
  82 +}
  83 +
  84 +% Indices & bibliography
  85 +\usepackage{natbib}
  86 +\usepackage[titles]{tocloft}
  87 +\setcounter{tocdepth}{3}
  88 +\setcounter{secnumdepth}{5}
  89 +\makeindex
  90 +
  91 +% Hyperlinks (required, but should be loaded last)
  92 +\usepackage{ifpdf}
  93 +\ifpdf
  94 + \usepackage[pdftex,pagebackref=true]{hyperref}
  95 +\else
  96 + \usepackage[ps2pdf,pagebackref=true]{hyperref}
  97 +\fi
  98 +\hypersetup{%
  99 + colorlinks=true,%
  100 + linkcolor=blue,%
  101 + citecolor=blue,%
  102 + unicode%
  103 +}
  104 +
  105 +% Custom commands
  106 +\newcommand{\clearemptydoublepage}{%
  107 + \newpage{\pagestyle{empty}\cleardoublepage}%
  108 +}
  109 +
  110 +
  111 +%===== C O N T E N T S =====
  112 +
49 113 \begin{document}
50   -\hypersetup{pageanchor=false,citecolor=blue}
  114 +
  115 +% Titlepage & ToC
  116 +\hypersetup{pageanchor=false}
  117 +\pagenumbering{roman}
51 118 \begin{titlepage}
52 119 \vspace*{7cm}
53   -\begin{center}
  120 +\begin{center}%
54 121 {\Large Socket }\\
55 122 \vspace*{1cm}
56   -{\large Generado por Doxygen 1.8.3.1}\\
  123 +{\large Generado por Doxygen 1.8.4}\\
57 124 \vspace*{0.5cm}
58   -{\small Martes, 10 de Diciembre de 2013 04:23:31}\\
  125 +{\small Jueves, 12 de Diciembre de 2013 17:44:34}\\
59 126 \end{center}
60 127 \end{titlepage}
61 128 \clearemptydoublepage
62   -\pagenumbering{roman}
63 129 \tableofcontents
64 130 \clearemptydoublepage
65 131 \pagenumbering{arabic}
66   -\hypersetup{pageanchor=true,citecolor=blue}
  132 +\hypersetup{pageanchor=true}
  133 +
  134 +%--- Begin generated contents ---
67 135 \chapter{Página principal}
68 136 \label{index}\hypertarget{index}{}\input{index}
69 137 \chapter{Client}
... ... @@ -92,6 +160,12 @@
92 160 \input{mainpage_8dox}
93 161 \input{makefile_8dox}
94 162 \input{_socket_8cpp}
  163 +%--- End generated contents ---
  164 +
  165 +% Index
  166 +\newpage
  167 +\phantomsection
95 168 \addcontentsline{toc}{part}{Índice}
96 169 \printindex
  170 +
97 171 \end{document}
... ...
JChatClient/doc/latex/refman.toc
... ... @@ -42,7 +42,7 @@
42 42 \contentsline {subsubsection}{\numberline {6.2.3.1}description}{15}{subsubsection.6.2.3.1}
43 43 \contentsline {subsection}{\numberline {6.2.4}Documentaci\IeC {\'o}n de los datos miembro}{15}{subsection.6.2.4}
44 44 \contentsline {subsubsection}{\numberline {6.2.4.1}message}{15}{subsubsection.6.2.4.1}
45   -\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{15}{section.6.3}
  45 +\contentsline {section}{\numberline {6.3}Referencia de la Estructura thread\discretionary {-}{}{}\_\discretionary {-}{}{}args}{16}{section.6.3}
46 46 \contentsline {subsection}{\numberline {6.3.1}Descripci\IeC {\'o}n detallada}{16}{subsection.6.3.1}
47 47 \contentsline {subsection}{\numberline {6.3.2}Documentaci\IeC {\'o}n de los datos miembro}{16}{subsection.6.3.2}
48 48 \contentsline {subsubsection}{\numberline {6.3.2.1}condition}{16}{subsubsection.6.3.2.1}
... ... @@ -73,4 +73,4 @@
73 73 \contentsline {section}{\numberline {7.8}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/makefile.dox}{21}{section.7.8}
74 74 \contentsline {section}{\numberline {7.9}Referencia del Archivo /home/imanol/devel/eclipse/\discretionary {-}{}{}P\discretionary {-}{}{}A\discretionary {-}{}{}D/\discretionary {-}{}{}J\discretionary {-}{}{}Chat\discretionary {-}{}{}Client/src/\discretionary {-}{}{}Socket.cpp}{21}{section.7.9}
75 75 \contentsline {subsection}{\numberline {7.9.1}Descripci\IeC {\'o}n detallada}{21}{subsection.7.9.1}
76   -\contentsline {part}{\IeC {\'I}ndice}{21}{subsection.7.9.1}
  76 +\contentsline {part}{\IeC {\'I}ndice}{22}{section*.13}
... ...
JChatClient/doc/latex/structthread__args.tex
... ... @@ -42,7 +42,7 @@ Variable de notificación a otros threads.
42 42  
43 43 Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.
44 44  
45   -{\itshape Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.} \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}}
  45 +Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.$\ast$ \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}}
46 46 \index{mutex@{mutex}!thread_args@{thread\-\_\-args}}
47 47 \subsubsection[{mutex}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t$\ast$ thread\-\_\-args\-::mutex}}\label{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}
48 48  
... ...
JChatClient/src/client.cpp
... ... @@ -40,9 +40,6 @@ bool connect(Socket&amp; s)
40 40 cin.ignore();
41 41 cout << "Nickname: ";
42 42 getline(cin,nick);
43   - host = "localhost";
44   - port = 3001;
45   -
46 43 try
47 44 {
48 45 s.Create();
... ...
JChatServer/bin/pad/prac2/Connection.class
No preview for this file type
JChatServer/src/pad/prac2/Connection.java
... ... @@ -96,7 +96,7 @@ public class Connection extends Thread
96 96 {
97 97 try
98 98 {
99   - str = "";
  99 + str = "/disconnect";
100 100 str = socket.recvMsg();
101 101 if(str.equals("/disconnect"))
102 102 {
... ... @@ -132,11 +132,6 @@ public class Connection extends Thread
132 132 socket.sendMsg(cE.getMessage());
133 133 }
134 134 }
135   - else if(str.equals(""))
136   - {
137   - System.out.println(serv.getNickname(this) + " disconnected");
138   - break;
139   - }
140 135 else
141 136 {
142 137 System.out.println("FROM " + serv.getNickname(this) + ": " + str);
... ...
QChatClient/QChatClient.pro
... ... @@ -15,20 +15,21 @@ TEMPLATE = app
15 15 SOURCES += main.cpp\
16 16 chatwindow.cpp \
17 17 loginscreen.cpp \
18   - chatroomselect.cpp \
19 18 chatroom.cpp \
20 19 Socket.cpp \
21   - client.cpp
  20 + client.cpp \
  21 + chatwidget.cpp
22 22  
23 23 HEADERS += chatwindow.h \
24 24 loginscreen.h \
25   - chatroomselect.h \
26 25 chatroom.h \
27 26 SocketException.h \
28 27 Socket.h \
29   - client.h
  28 + client.h \
  29 + chatwidget.h
30 30  
31 31 FORMS += chatwindow.ui \
32 32 loginscreen.ui \
33   - chatroomselect.ui \
34 33 chatroom.ui
  34 +
  35 +LIBS += -lpthread
... ...
QChatClient/QChatClient.pro.user
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3   -<!-- Written by QtCreator 2.7.0, 2013-12-12T02:20:40. -->
  3 +<!-- Written by QtCreator 2.7.1, 2013-12-18T16:20:32. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
... ... @@ -53,7 +53,7 @@
53 53 <valuemap type="QVariantMap">
54 54 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
55 55 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
56   - <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{d6a12d1a-dee4-4341-8f4f-e2749eba145e}</value>
  56 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{430bae4e-c8d6-488c-936e-c89fd5587cd0}</value>
57 57 <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
58 58 <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
59 59 <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
... ... @@ -189,6 +189,7 @@
189 189 <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
190 190 </valuemap>
191 191 <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
  192 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
192 193 <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
193 194 <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
194 195 <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
... ... @@ -246,7 +247,7 @@
246 247 </data>
247 248 <data>
248 249 <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
249   - <value type="QString">{fd24a9a9-cdbc-49b3-845c-b174fda2a7ac}</value>
  250 + <value type="QString">{0fd5067a-d849-4d4e-9457-800baef2de83}</value>
250 251 </data>
251 252 <data>
252 253 <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
... ...
QChatClient/QChatClient.pro.user.fd24a9a 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE QtCreatorProject>
  3 +<!-- Written by QtCreator 2.7.0, 2013-12-12T02:20:40. -->
  4 +<qtcreator>
  5 + <data>
  6 + <variable>ProjectExplorer.Project.ActiveTarget</variable>
  7 + <value type="int">0</value>
  8 + </data>
  9 + <data>
  10 + <variable>ProjectExplorer.Project.EditorSettings</variable>
  11 + <valuemap type="QVariantMap">
  12 + <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
  13 + <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
  14 + <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
  15 + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
  16 + <value type="QByteArray" key="language">Cpp</value>
  17 + <valuemap type="QVariantMap" key="value">
  18 + <value type="QString" key="CurrentPreferences">CppGlobal</value>
  19 + </valuemap>
  20 + </valuemap>
  21 + <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
  22 + <value type="QByteArray" key="language">QmlJS</value>
  23 + <valuemap type="QVariantMap" key="value">
  24 + <value type="QString" key="CurrentPreferences">QmlJSGlobal</value>
  25 + </valuemap>
  26 + </valuemap>
  27 + <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
  28 + <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
  29 + <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
  30 + <value type="int" key="EditorConfiguration.IndentSize">4</value>
  31 + <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
  32 + <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
  33 + <value type="int" key="EditorConfiguration.PaddingMode">1</value>
  34 + <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
  35 + <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
  36 + <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
  37 + <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
  38 + <value type="int" key="EditorConfiguration.TabSize">8</value>
  39 + <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
  40 + <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
  41 + <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
  42 + <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
  43 + <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
  44 + <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
  45 + </valuemap>
  46 + </data>
  47 + <data>
  48 + <variable>ProjectExplorer.Project.PluginSettings</variable>
  49 + <valuemap type="QVariantMap"/>
  50 + </data>
  51 + <data>
  52 + <variable>ProjectExplorer.Project.Target.0</variable>
  53 + <valuemap type="QVariantMap">
  54 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
  55 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
  56 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">{d6a12d1a-dee4-4341-8f4f-e2749eba145e}</value>
  57 + <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
  58 + <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
  59 + <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
  60 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
  61 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
  62 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  63 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  64 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
  65 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  66 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
  67 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
  68 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
  69 + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
  70 + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
  71 + </valuemap>
  72 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
  73 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  74 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  75 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  76 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  77 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  78 + <value type="QString">-w</value>
  79 + <value type="QString">-r</value>
  80 + </valuelist>
  81 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
  82 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
  83 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  84 + </valuemap>
  85 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
  86 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
  87 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  88 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
  89 + </valuemap>
  90 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
  91 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  92 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  93 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  94 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  95 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  96 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  97 + <value type="QString">-w</value>
  98 + <value type="QString">-r</value>
  99 + </valuelist>
  100 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
  101 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
  102 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  103 + </valuemap>
  104 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
  105 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
  106 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  107 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
  108 + </valuemap>
  109 + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
  110 + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
  111 + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
  112 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
  113 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  114 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
  115 + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
  116 + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/imanol/devel/eclipse/PAD/build-QChatClient-Desktop-Debug</value>
  117 + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
  118 + </valuemap>
  119 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
  120 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
  121 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  122 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  123 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
  124 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  125 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
  126 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
  127 + <value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibraryAuto">true</value>
  128 + <value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
  129 + <value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
  130 + </valuemap>
  131 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
  132 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  133 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  134 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  135 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  136 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  137 + <value type="QString">-w</value>
  138 + <value type="QString">-r</value>
  139 + </valuelist>
  140 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
  141 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
  142 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  143 + </valuemap>
  144 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
  145 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
  146 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  147 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
  148 + </valuemap>
  149 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
  150 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
  151 + <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
  152 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
  153 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  154 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
  155 + <valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.AutomaticallyAddedMakeArguments">
  156 + <value type="QString">-w</value>
  157 + <value type="QString">-r</value>
  158 + </valuelist>
  159 + <value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
  160 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
  161 + <value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
  162 + </valuemap>
  163 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
  164 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
  165 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  166 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
  167 + </valuemap>
  168 + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
  169 + <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
  170 + <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
  171 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
  172 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  173 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
  174 + <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
  175 + <value type="QString" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory">/home/imanol/devel/eclipse/PAD/build-QChatClient-Desktop-Release</value>
  176 + <value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
  177 + </valuemap>
  178 + <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">2</value>
  179 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
  180 + <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
  181 + <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
  182 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
  183 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  184 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
  185 + </valuemap>
  186 + <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
  187 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
  188 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  189 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
  190 + </valuemap>
  191 + <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
  192 + <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
  193 + <value type="bool" key="Analyzer.Project.UseGlobal">true</value>
  194 + <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
  195 + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
  196 + <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
  197 + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
  198 + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
  199 + <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
  200 + <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
  201 + <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
  202 + <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
  203 + <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
  204 + <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
  205 + <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
  206 + <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
  207 + <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
  208 + <value type="int">0</value>
  209 + <value type="int">1</value>
  210 + <value type="int">2</value>
  211 + <value type="int">3</value>
  212 + <value type="int">4</value>
  213 + <value type="int">5</value>
  214 + <value type="int">6</value>
  215 + <value type="int">7</value>
  216 + <value type="int">8</value>
  217 + <value type="int">9</value>
  218 + <value type="int">10</value>
  219 + <value type="int">11</value>
  220 + <value type="int">12</value>
  221 + <value type="int">13</value>
  222 + <value type="int">14</value>
  223 + </valuelist>
  224 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">QChatClient</value>
  225 + <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
  226 + <value type="QByteArray" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/imanol/devel/eclipse/PAD/QChatClient/QChatClient.pro</value>
  227 + <value type="int" key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase">2</value>
  228 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments"></value>
  229 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">QChatClient.pro</value>
  230 + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
  231 + <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
  232 + <valuelist type="QVariantList" key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges"/>
  233 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory"></value>
  234 + <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
  235 + <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
  236 + <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
  237 + <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
  238 + <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
  239 + </valuemap>
  240 + <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
  241 + </valuemap>
  242 + </data>
  243 + <data>
  244 + <variable>ProjectExplorer.Project.TargetCount</variable>
  245 + <value type="int">1</value>
  246 + </data>
  247 + <data>
  248 + <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
  249 + <value type="QString">{fd24a9a9-cdbc-49b3-845c-b174fda2a7ac}</value>
  250 + </data>
  251 + <data>
  252 + <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
  253 + <value type="int">12</value>
  254 + </data>
  255 +</qtcreator>
... ...
QChatClient/chatroom.cpp
... ... @@ -6,6 +6,133 @@ Chatroom::Chatroom(QWidget *parent) :
6 6 ui(new Ui::Chatroom)
7 7 {
8 8 ui->setupUi(this);
  9 + QList<int> chatSizes;
  10 + QList<int> splitSizes;
  11 + chatSizes.push_front(ui->chatText->height());
  12 + chatSizes.push_front(100);
  13 + splitSizes.push_front(ui->chatWindow->width());
  14 + splitSizes.push_front(200);
  15 + ui->chatSplitter->setSizes(chatSizes);
  16 + ui->windowSplitter->setSizes(splitSizes);
  17 + connected = false;
  18 +}
  19 +
  20 +void killThread(thread_args *t_arg)
  21 +{
  22 + if(t_arg != 0)
  23 + {
  24 + delete t_arg;
  25 + t_arg = 0;
  26 + }
  27 + pthread_exit(NULL);
  28 +}
  29 +
  30 +void *sendThread(void* args)
  31 +{
  32 + string send;
  33 + struct thread_args *t_arg = (struct thread_args*)args;
  34 + while(connected)
  35 + {
  36 + cout << "> ";
  37 + getline(cin,send);
  38 + if(cin.eof())
  39 + {
  40 + send = "/exit";
  41 + }
  42 + try
  43 + {
  44 + *(t_arg->s) << send;
  45 + if(send == "/disconnect" || send == "/exit")
  46 + {
  47 + break;
  48 + }
  49 + }
  50 + catch(SocketException& e)
  51 + {
  52 + cout << e.description() << endl;
  53 + }
  54 + }
  55 + killThread(t_arg);
  56 +}
  57 +
  58 +void *recvThread(void* args)
  59 +{
  60 + string recv;
  61 + struct thread_args *t_arg = (struct thread_args*)args;
  62 + while(true)
  63 + {
  64 + try
  65 + {
  66 + *(t_arg->s) >> recv;
  67 + }
  68 + catch(SocketException &e)
  69 + {
  70 + connected = false;
  71 + cout << e.description() << endl;
  72 + cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl;
  73 + pthread_cond_signal(t_arg->condition);
  74 + break;
  75 + }
  76 + if(recv == "DISC_OK")
  77 + {
  78 + cout << "Disconnecting" << endl;
  79 + connected = false;
  80 + pthread_cond_signal(t_arg->condition);
  81 + break;
  82 + }
  83 + else if(recv == "EXIT_OK")
  84 + {
  85 + cout << "Exiting" << endl;
  86 + connected = false;
  87 + pthread_cond_signal(t_arg->condition);
  88 + break;
  89 + }
  90 + else
  91 + {
  92 + cout << recv << endl;
  93 + }
  94 + }
  95 + killThread(t_arg);
  96 +}
  97 +
  98 +void Chatroom::start()
  99 +{
  100 + Socket s;
  101 + connected = false;
  102 + pthread_mutex_t mutex;
  103 + pthread_mutex_init(&mutex,0);
  104 + pthread_cond_t condition;
  105 + pthread_cond_init(&condition,0);
  106 + pthread_t recv, send;
  107 + pthread_attr_t attr;
  108 + pthread_attr_init(&attr);
  109 + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
  110 + pthread_mutex_lock(&mutex);
  111 + thread_args *sArgs = new thread_args;
  112 + thread_args *rArgs = new thread_args;
  113 + sArgs->mutex = &mutex;
  114 + sArgs->condition = &condition;
  115 + sArgs->s = &s;
  116 +
  117 + rArgs->mutex = &mutex;
  118 + rArgs->condition = &condition;
  119 + rArgs->s = &s;
  120 +
  121 + pthread_create(&send,&attr,sendThread,(void *)sArgs);
  122 + pthread_create(&recv,&attr,recvThread,(void *)rArgs);
  123 +
  124 + while(connected)
  125 + {
  126 + pthread_cond_wait(&condition,&mutex);
  127 + }
  128 + pthread_mutex_unlock(&mutex);
  129 + pthread_join(recv,NULL);
  130 + pthread_join(send,NULL);
  131 + s.Close();
  132 + pthread_cond_destroy(&condition);
  133 + pthread_mutex_destroy(&mutex);
  134 +
  135 + //LAUNCH LOGINSCREEN
9 136 }
10 137  
11 138 Chatroom::~Chatroom()
... ...
QChatClient/chatroom.h
... ... @@ -2,6 +2,14 @@
2 2 #define CHATROOM_H
3 3  
4 4 #include <QMainWindow>
  5 +#include "Socket.h"
  6 +
  7 +struct thread_args
  8 +{
  9 + pthread_mutex_t *mutex;
  10 + pthread_cond_t *condition;
  11 + Socket *s;
  12 +};
5 13  
6 14 namespace Ui {
7 15 class Chatroom;
... ... @@ -17,6 +25,12 @@ public:
17 25  
18 26 private:
19 27 Ui::Chatroom *ui;
  28 + void start();
  29 + bool connected;
20 30 };
21 31  
  32 +void *sendThread(void* args);
  33 +void *recvThread(void* args);
  34 +void killThread(thread_args *t_arg);
  35 +
22 36 #endif // CHATROOM_H
... ...
QChatClient/chatroom.ui
... ... @@ -13,9 +13,90 @@
13 13 <property name="windowTitle">
14 14 <string>MainWindow</string>
15 15 </property>
16   - <widget class="QWidget" name="centralwidget"/>
17   - <widget class="QStatusBar" name="statusbar"/>
  16 + <widget class="QWidget" name="centralwidget">
  17 + <layout class="QGridLayout" name="gridLayout_2">
  18 + <item row="0" column="0">
  19 + <widget class="QSplitter" name="windowSplitter">
  20 + <property name="orientation">
  21 + <enum>Qt::Horizontal</enum>
  22 + </property>
  23 + <widget class="QWidget" name="chatWindow" native="true">
  24 + <layout class="QGridLayout" name="gridLayout">
  25 + <property name="leftMargin">
  26 + <number>0</number>
  27 + </property>
  28 + <property name="topMargin">
  29 + <number>0</number>
  30 + </property>
  31 + <property name="rightMargin">
  32 + <number>0</number>
  33 + </property>
  34 + <property name="bottomMargin">
  35 + <number>0</number>
  36 + </property>
  37 + <property name="spacing">
  38 + <number>0</number>
  39 + </property>
  40 + <item row="0" column="0">
  41 + <widget class="QSplitter" name="chatSplitter">
  42 + <property name="orientation">
  43 + <enum>Qt::Vertical</enum>
  44 + </property>
  45 + <widget class="ChatWidget" name="chatText">
  46 + <property name="readOnly">
  47 + <bool>true</bool>
  48 + </property>
  49 + </widget>
  50 + <widget class="QTextEdit" name="inputText">
  51 + <property name="sizePolicy">
  52 + <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
  53 + <horstretch>0</horstretch>
  54 + <verstretch>0</verstretch>
  55 + </sizepolicy>
  56 + </property>
  57 + <property name="maximumSize">
  58 + <size>
  59 + <width>16777215</width>
  60 + <height>16777215</height>
  61 + </size>
  62 + </property>
  63 + </widget>
  64 + </widget>
  65 + </item>
  66 + </layout>
  67 + </widget>
  68 + <widget class="QListWidget" name="userList">
  69 + <property name="sizePolicy">
  70 + <sizepolicy hsizetype="Ignored" vsizetype="Expanding">
  71 + <horstretch>0</horstretch>
  72 + <verstretch>0</verstretch>
  73 + </sizepolicy>
  74 + </property>
  75 + <property name="minimumSize">
  76 + <size>
  77 + <width>0</width>
  78 + <height>0</height>
  79 + </size>
  80 + </property>
  81 + <property name="maximumSize">
  82 + <size>
  83 + <width>16777215</width>
  84 + <height>16777215</height>
  85 + </size>
  86 + </property>
  87 + </widget>
  88 + </widget>
  89 + </item>
  90 + </layout>
  91 + </widget>
18 92 </widget>
  93 + <customwidgets>
  94 + <customwidget>
  95 + <class>ChatWidget</class>
  96 + <extends>QTextEdit</extends>
  97 + <header>chatwidget.h</header>
  98 + </customwidget>
  99 + </customwidgets>
19 100 <resources/>
20 101 <connections/>
21 102 </ui>
... ...
QChatClient/chatroomselect.cpp deleted
1   -#include "chatroomselect.h"
2   -#include "ui_chatroomselect.h"
3   -
4   -ChatroomSelect::ChatroomSelect(QWidget *parent) :
5   - QDialog(parent),
6   - ui(new Ui::ChatroomSelect)
7   -{
8   - ui->setupUi(this);
9   -}
10   -
11   -ChatroomSelect::~ChatroomSelect()
12   -{
13   - delete ui;
14   -}
QChatClient/chatroomselect.h deleted
1   -#ifndef CHATROOMSELECT_H
2   -#define CHATROOMSELECT_H
3   -
4   -#include <QDialog>
5   -
6   -namespace Ui {
7   -class ChatroomSelect;
8   -}
9   -
10   -class ChatroomSelect : public QDialog
11   -{
12   - Q_OBJECT
13   -
14   -public:
15   - explicit ChatroomSelect(QWidget *parent = 0);
16   - ~ChatroomSelect();
17   -
18   -private:
19   - Ui::ChatroomSelect *ui;
20   -};
21   -
22   -#endif // CHATROOMSELECT_H
QChatClient/chatroomselect.ui deleted
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<ui version="4.0">
3   - <class>ChatroomSelect</class>
4   - <widget class="QDialog" name="ChatroomSelect">
5   - <property name="geometry">
6   - <rect>
7   - <x>0</x>
8   - <y>0</y>
9   - <width>555</width>
10   - <height>379</height>
11   - </rect>
12   - </property>
13   - <property name="sizePolicy">
14   - <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
15   - <horstretch>0</horstretch>
16   - <verstretch>0</verstretch>
17   - </sizepolicy>
18   - </property>
19   - <property name="windowTitle">
20   - <string>Dialog</string>
21   - </property>
22   - <layout class="QGridLayout" name="gridLayout">
23   - <item row="2" column="1">
24   - <spacer name="listVertSpacer">
25   - <property name="orientation">
26   - <enum>Qt::Vertical</enum>
27   - </property>
28   - <property name="sizeType">
29   - <enum>QSizePolicy::Fixed</enum>
30   - </property>
31   - <property name="sizeHint" stdset="0">
32   - <size>
33   - <width>20</width>
34   - <height>5</height>
35   - </size>
36   - </property>
37   - </spacer>
38   - </item>
39   - <item row="5" column="1" colspan="3">
40   - <widget class="QWidget" name="buttonBox" native="true">
41   - <layout class="QGridLayout" name="gridLayout_3">
42   - <item row="0" column="1">
43   - <widget class="QPushButton" name="okButton">
44   - <property name="text">
45   - <string>OK</string>
46   - </property>
47   - </widget>
48   - </item>
49   - <item row="0" column="2">
50   - <widget class="QPushButton" name="cancelButton">
51   - <property name="text">
52   - <string>Cancel</string>
53   - </property>
54   - </widget>
55   - </item>
56   - <item row="0" column="0">
57   - <spacer name="buttonHorizSpacer">
58   - <property name="orientation">
59   - <enum>Qt::Horizontal</enum>
60   - </property>
61   - <property name="sizeHint" stdset="0">
62   - <size>
63   - <width>40</width>
64   - <height>20</height>
65   - </size>
66   - </property>
67   - </spacer>
68   - </item>
69   - </layout>
70   - </widget>
71   - </item>
72   - <item row="0" column="1">
73   - <spacer name="topSpacer">
74   - <property name="orientation">
75   - <enum>Qt::Vertical</enum>
76   - </property>
77   - <property name="sizeType">
78   - <enum>QSizePolicy::Fixed</enum>
79   - </property>
80   - <property name="sizeHint" stdset="0">
81   - <size>
82   - <width>20</width>
83   - <height>5</height>
84   - </size>
85   - </property>
86   - </spacer>
87   - </item>
88   - <item row="3" column="0">
89   - <spacer name="leftSpacer">
90   - <property name="orientation">
91   - <enum>Qt::Horizontal</enum>
92   - </property>
93   - <property name="sizeType">
94   - <enum>QSizePolicy::Fixed</enum>
95   - </property>
96   - <property name="sizeHint" stdset="0">
97   - <size>
98   - <width>10</width>
99   - <height>20</height>
100   - </size>
101   - </property>
102   - </spacer>
103   - </item>
104   - <item row="3" column="1">
105   - <widget class="QColumnView" name="chatroomList"/>
106   - </item>
107   - <item row="1" column="1">
108   - <widget class="QLabel" name="titleLabel">
109   - <property name="text">
110   - <string>Select one chatroom from the list:</string>
111   - </property>
112   - </widget>
113   - </item>
114   - <item row="3" column="3">
115   - <widget class="QWidget" name="roomButtonBox" native="true">
116   - <layout class="QGridLayout" name="gridLayout_2">
117   - <item row="1" column="0">
118   - <widget class="QPushButton" name="editButton">
119   - <property name="text">
120   - <string>Edit</string>
121   - </property>
122   - </widget>
123   - </item>
124   - <item row="2" column="0">
125   - <widget class="QPushButton" name="removeButton">
126   - <property name="text">
127   - <string>Delete</string>
128   - </property>
129   - </widget>
130   - </item>
131   - <item row="0" column="0">
132   - <widget class="QPushButton" name="addButton">
133   - <property name="text">
134   - <string>Add</string>
135   - </property>
136   - </widget>
137   - </item>
138   - <item row="3" column="0">
139   - <spacer name="buttonVertSpacer">
140   - <property name="orientation">
141   - <enum>Qt::Vertical</enum>
142   - </property>
143   - <property name="sizeHint" stdset="0">
144   - <size>
145   - <width>20</width>
146   - <height>40</height>
147   - </size>
148   - </property>
149   - </spacer>
150   - </item>
151   - </layout>
152   - </widget>
153   - </item>
154   - <item row="3" column="2">
155   - <spacer name="listHorizSpacer">
156   - <property name="orientation">
157   - <enum>Qt::Horizontal</enum>
158   - </property>
159   - <property name="sizeType">
160   - <enum>QSizePolicy::Fixed</enum>
161   - </property>
162   - <property name="sizeHint" stdset="0">
163   - <size>
164   - <width>5</width>
165   - <height>20</height>
166   - </size>
167   - </property>
168   - </spacer>
169   - </item>
170   - </layout>
171   - </widget>
172   - <resources/>
173   - <connections/>
174   -</ui>
QChatClient/chatwidget.cpp 0 → 100644
  1 +#include "chatwidget.h"
  2 +
  3 +ChatWidget::ChatWidget(QWidget *parent) :
  4 + QTextEdit(parent)
  5 +{
  6 +
  7 +}
  8 +
  9 +void ChatWidget::printServerMsg(QString &str)
  10 +{
  11 + this->append("<p style=\"font-style:italic;color:gray;\">" + str + "</p>");
  12 +}
  13 +
  14 +void ChatWidget::printMsg(QString &str)
  15 +{
  16 + this->append(str);
  17 +}
  18 +
  19 +void ChatWidget::printStatusMsg(QString &str)
  20 +{
  21 + this->append("<p style=\"font-weight:bold;\">" + str + "</p>");
  22 +}
  23 +
... ...
QChatClient/chatwidget.h 0 → 100644
  1 +#ifndef CHATWIDGET_H
  2 +#define CHATWIDGET_H
  3 +
  4 +#include <QTextEdit>
  5 +
  6 +class ChatWidget : public QTextEdit
  7 +{
  8 + Q_OBJECT
  9 +public:
  10 + explicit ChatWidget(QWidget *parent = 0);
  11 + void printServerMsg(QString &str);
  12 + void printMsg(QString& str);
  13 + void printStatusMsg(QString& str);
  14 +
  15 +signals:
  16 +
  17 +public slots:
  18 +
  19 +};
  20 +
  21 +#endif // CHATWIDGET_H
... ...
QChatClient/chatwindow.cpp
... ... @@ -8,6 +8,10 @@ ChatWindow::ChatWindow(QWidget *parent) :
8 8 ui(new Ui::ChatWindow)
9 9 {
10 10 ui->setupUi(this);
  11 + QList<int> sizes;
  12 + sizes.push_front(ui->chatText->height());
  13 + sizes.push_front(100);
  14 + ui->splitter->setSizes(sizes);
11 15 }
12 16  
13 17 ChatWindow::~ChatWindow()
... ...
QChatClient/chatwindow.ui
... ... @@ -7,7 +7,7 @@
7 7 <x>0</x>
8 8 <y>0</y>
9 9 <width>400</width>
10   - <height>449</height>
  10 + <height>502</height>
11 11 </rect>
12 12 </property>
13 13 <property name="windowTitle">
... ... @@ -24,54 +24,45 @@
24 24 </sizepolicy>
25 25 </property>
26 26 <layout class="QGridLayout" name="gridLayout">
27   - <item row="1" column="0">
28   - <widget class="QWidget" name="widget" native="true">
29   - <layout class="QGridLayout" name="gridLayout_2">
30   - <item row="0" column="0">
31   - <widget class="QSplitter" name="splitter">
32   - <property name="orientation">
33   - <enum>Qt::Vertical</enum>
34   - </property>
35   - <widget class="QTextBrowser" name="chatText">
36   - <property name="sizePolicy">
37   - <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
38   - <horstretch>0</horstretch>
39   - <verstretch>0</verstretch>
40   - </sizepolicy>
41   - </property>
42   - </widget>
43   - <widget class="QTextEdit" name="inputText">
44   - <property name="enabled">
45   - <bool>true</bool>
46   - </property>
47   - <property name="sizePolicy">
48   - <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
49   - <horstretch>0</horstretch>
50   - <verstretch>0</verstretch>
51   - </sizepolicy>
52   - </property>
53   - <property name="minimumSize">
54   - <size>
55   - <width>0</width>
56   - <height>0</height>
57   - </size>
58   - </property>
59   - <property name="maximumSize">
60   - <size>
61   - <width>16777215</width>
62   - <height>16777215</height>
63   - </size>
64   - </property>
65   - <property name="baseSize">
66   - <size>
67   - <width>0</width>
68   - <height>0</height>
69   - </size>
70   - </property>
71   - </widget>
72   - </widget>
73   - </item>
74   - </layout>
  27 + <item row="0" column="0">
  28 + <widget class="QSplitter" name="splitter">
  29 + <property name="orientation">
  30 + <enum>Qt::Vertical</enum>
  31 + </property>
  32 + <widget class="ChatWidget" name="chatText">
  33 + <property name="readOnly">
  34 + <bool>true</bool>
  35 + </property>
  36 + </widget>
  37 + <widget class="QTextEdit" name="inputText">
  38 + <property name="enabled">
  39 + <bool>true</bool>
  40 + </property>
  41 + <property name="sizePolicy">
  42 + <sizepolicy hsizetype="Expanding" vsizetype="Ignored">
  43 + <horstretch>0</horstretch>
  44 + <verstretch>0</verstretch>
  45 + </sizepolicy>
  46 + </property>
  47 + <property name="minimumSize">
  48 + <size>
  49 + <width>0</width>
  50 + <height>0</height>
  51 + </size>
  52 + </property>
  53 + <property name="maximumSize">
  54 + <size>
  55 + <width>16777215</width>
  56 + <height>16777215</height>
  57 + </size>
  58 + </property>
  59 + <property name="baseSize">
  60 + <size>
  61 + <width>0</width>
  62 + <height>0</height>
  63 + </size>
  64 + </property>
  65 + </widget>
75 66 </widget>
76 67 </item>
77 68 </layout>
... ... @@ -88,6 +79,13 @@
88 79 </widget>
89 80 </widget>
90 81 <layoutdefault spacing="6" margin="11"/>
  82 + <customwidgets>
  83 + <customwidget>
  84 + <class>ChatWidget</class>
  85 + <extends>QTextEdit</extends>
  86 + <header>chatwidget.h</header>
  87 + </customwidget>
  88 + </customwidgets>
91 89 <resources/>
92 90 <connections/>
93 91 </ui>
... ...
QChatClient/client.cpp
1   -/** @file
2   -* \brief Fichero de implementación de un cliente
3   -* \author Imanol Barba Sabariego
4   -* \date 13/06/2013
5   -*
6   -* En este fichero se implementa un cliente para poder usar con el servidor creado, usando la clase Socket.
7   -* REVISADO EL 10/12/2013 PARA LA APLIACIÓN JCHAT
8   -*/
9 1 #include "client.h"
10 2  
11 3 using namespace std;
12 4  
13   -//! Variable de estado del programa.
14   -bool connected;
15   -//! Variable de estado del programa.
16   -bool finished;
17   -
18   -//! Método de liberación de los argumentos
19   -/*! Este método se encarga de liberar la memoria asignada a los argumentos pasados a los threads que ahora han terminado. */
20   -void killThread(thread_args *t_arg)
21   -{
22   - if(t_arg != 0)
23   - {
24   - delete t_arg;
25   - t_arg = 0;
26   - }
27   - pthread_exit(NULL);
28   -}
29   -
30   -//! Método de conexión
31   -/*! Este método conecta el cliente a una sala de chat. */
32   -bool connect(Socket& s)
33   -{
34   - string host, nick, response;
35   - int port;
36   - cout << "Hostname: ";
37   - getline(cin,host);
38   - cout << "Port: ";
39   - cin >> port;
40   - cin.ignore();
41   - cout << "Nickname: ";
42   - getline(cin,nick);
43   - host = "localhost";
44   - port = 3001;
45   -
46   - try
47   - {
48   - s.Create();
49   - s.Connect(host,port);
50   - cout << "Connected" << endl;
51   - connected = true;
52   - s << nick;
53   - s >> response;
54   - while(response == "CHATNICKINVALID")
55   - {
56   - cout << "Spaces not allowed in nicknames, please enter another nickname: ";
57   - getline(cin,nick);
58   - s << nick;
59   - s >> response;
60   - }
61   - while(response == "CHATNICKEXIST")
62   - {
63   - cout << "Nickname in use, please enter another nickname: ";
64   - getline(cin,nick);
65   - s << nick;
66   - s >> response;
67   - }
68   - while(response == "CHATFULL")
69   - {
70   - cout << "Chatroom is full, please wait..." << endl;
71   - s.Close();
72   - return false;
73   - }
74   - if(response != "CHATOK")
75   - {
76   - cout << "Error: " << response << endl;
77   - s.Close();
78   - return false;
79   - }
80   - }
81   - catch(SocketException& e)
82   - {
83   - cout << e.description() << endl;
84   - exit(-1);
85   - }
86   - return true;
87   -}
88   -
89   -//! Thread de envío de mensajes
90   -/*! Este método es ejecutado por un thread con el objetivo de enviar los mensajes y comandos que el usuario introduce por teclado. */
91   -void *sendThread(void* args)
92   -{
93   - string send;
94   - struct thread_args *t_arg = (struct thread_args*)args;
95   - while(connected)
96   - {
97   - cout << "> ";
98   - getline(cin,send);
99   - if(cin.eof())
100   - {
101   - send = "/exit";
102   - }
103   - try
104   - {
105   - *(t_arg->s) << send;
106   - if(send == "/disconnect" || send == "/exit")
107   - {
108   - break;
109   - }
110   - }
111   - catch(SocketException& e)
112   - {
113   - cout << e.description() << endl;
114   - }
115   - }
116   - killThread(t_arg);
117   -}
118   -
119   -//! Thread de recepción de mensajes
120   -/*! Este método es ejecutado por un thread con el objetivo de recibir los mensajes por el socket, gestionarlos e imprimirlos por pantalla o tomar las medidas necesarias .*/
121   -void *recvThread(void* args)
122   -{
123   - string recv;
124   - struct thread_args *t_arg = (struct thread_args*)args;
125   - while(true)
126   - {
127   - try
128   - {
129   - *(t_arg->s) >> recv;
130   - }
131   - catch(SocketException &e)
132   - {
133   - connected = false;
134   - cout << e.description() << endl;
135   - cout << "Connection lost. Press Enter to retry connection to chatroom. Press CTRL+C to exit." << endl;
136   - pthread_cond_signal(t_arg->condition);
137   - break;
138   - }
139   - if(recv == "DISC_OK")
140   - {
141   - cout << "Disconnecting" << endl;
142   - connected = false;
143   - pthread_cond_signal(t_arg->condition);
144   - break;
145   - }
146   - else if(recv == "EXIT_OK")
147   - {
148   - cout << "Exiting" << endl;
149   - connected = false;
150   - finished = true;
151   - pthread_cond_signal(t_arg->condition);
152   - break;
153   - }
154   - else
155   - {
156   - cout << recv << endl;
157   - }
158   - }
159   - killThread(t_arg);
160   -}
161   -
162 5 //! Método principal del cliente
163 6 /*! Este método inicializa el Socket, establece la conexión y realiza las acciones que se le hayan programado para comunicarse con el servidor.*/
164   -/*int main()
165   -{
166   - //signal(SIGPIPE, exitClient); UNUSED
167   - Socket s;
168   - connected = finished = false;
169   - pthread_mutex_t mutex;
170   - pthread_mutex_init(&mutex,0);
171   - pthread_cond_t condition;
172   - pthread_cond_init(&condition,0);
173   - pthread_t recv, send;
174   - pthread_attr_t attr;
175   - pthread_attr_init(&attr);
176   - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
177   - int retries = 3;
178   - while (!finished)
179   - {
180   - while(!connect(s))
181   - {
182   - if((--retries) <= 0)
183   - {
184   - cout << "Exiting" << endl;
185   - exit(-1);
186   - }
187   - cout << "Couldn't connect to chatroom, retrying..." << endl;
188   - }
189   - pthread_mutex_lock(&mutex);
190   - thread_args *sArgs = new thread_args;
191   - thread_args *rArgs = new thread_args;
192   - sArgs->mutex = &mutex;
193   - sArgs->condition = &condition;
194   - sArgs->s = &s;
195   -
196   - rArgs->mutex = &mutex;
197   - rArgs->condition = &condition;
198   - rArgs->s = &s;
199   -
200   - pthread_create(&send,&attr,sendThread,(void *)sArgs);
201   - pthread_create(&recv,&attr,recvThread,(void *)rArgs);
202   -
203   - while(connected)
204   - {
205   - pthread_cond_wait(&condition,&mutex);
206   - }
207   - pthread_mutex_unlock(&mutex);
208   - pthread_join(recv,NULL);
209   - pthread_join(send,NULL);
210   - s.Close();
211   - }
212   - pthread_cond_destroy(&condition);
213   - pthread_mutex_destroy(&mutex);
214   -}*/
  7 +/
... ...
QChatClient/client.h
... ... @@ -14,23 +14,8 @@
14 14 \brief Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante
15 15 \author Imanol Barba Sabariego
16 16 \date 11/06/2013 */
17   -struct thread_args
18   -{
19   - //! Variable de control de la exclusión mútua entre threads
20   - /** Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas */
21   - pthread_mutex_t *mutex;
22   - //! Variable de notificación a otros threads
23   - /*! \brief Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.
24 17  
25   - *Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya
26   - quedado bloqueado y no admita más conexiones.* */
27   - pthread_cond_t *condition;
28   - //! Puntero al socket
29   - /*! \brief Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread
30   - puede recibir y enviar los datos. */
31   - Socket *s;
32   -};
33 18  
34 19  
35 20  
36   -#endif /* CLIENT_H_ */
37 21 \ No newline at end of file
  22 +#endif /* CLIENT_H_ */
... ...
QChatClient/loginscreen.cpp
... ... @@ -6,6 +6,61 @@ LoginScreen::LoginScreen(QWidget *parent) :
6 6 ui(new Ui::LoginScreen)
7 7 {
8 8 ui->setupUi(this);
  9 + ui->nickEdit->setPlaceholderText("Nickname");
  10 + ui->serverURLEdit->setPlaceholderText("Server hostname:port");
  11 +}
  12 +
  13 +void LoginScreen::parseURL(QString host, int port, QString URL)
  14 +{
  15 +
  16 +}
  17 +
  18 +bool LoginScreen::validateURL(QString& url)
  19 +{
  20 +
  21 +}
  22 +
  23 +bool LoginScreen::connect(Socket& s)
  24 +{
  25 + QString host, nick;
  26 + string response;
  27 + int port;
  28 + parseURL(host,port,ui->serverURLEdit->text());
  29 + nick = ui->nickEdit->text();
  30 + try
  31 + {
  32 + s.Create();
  33 + s.Connect(host.toStdString(),port);
  34 + s << nick.toStdString();
  35 + s >> response;
  36 + if(response == "CHATNICKINVALID")
  37 + {
  38 + cout << "Spaces not allowed in nicknames, please enter another nickname: ";
  39 + }
  40 + else if(response == "CHATNICKEXIST")
  41 + {
  42 + cout << "Nickname in use, please enter another nickname: ";
  43 + }
  44 + else if(response == "CHATFULL")
  45 + {
  46 + cout << "Chatroom is full, please wait..." << endl;
  47 + }
  48 + else if(response != "CHATOK")
  49 + {
  50 + cout << "Error: " << response << endl;
  51 + }
  52 + else
  53 + {
  54 + return true;
  55 + }
  56 + s.Close();
  57 + return false;
  58 + }
  59 + catch(SocketException& e)
  60 + {
  61 + cout << e.description() << endl;
  62 + exit(-1);
  63 + }
9 64 }
10 65  
11 66 LoginScreen::~LoginScreen()
... ...
QChatClient/loginscreen.h
... ... @@ -2,6 +2,7 @@
2 2 #define LOGINSCREEN_H
3 3  
4 4 #include <QDialog>
  5 +#include "Socket.h"
5 6  
6 7 namespace Ui {
7 8 class LoginScreen;
... ... @@ -13,6 +14,9 @@ class LoginScreen : public QDialog
13 14  
14 15 public:
15 16 explicit LoginScreen(QWidget *parent = 0);
  17 + bool connect(Socket& s);
  18 + bool validateURL(QString& url);
  19 + void parseURL(QString host, int port, QString URL);
16 20 ~LoginScreen();
17 21  
18 22 private:
... ...
QChatClient/loginscreen.ui
... ... @@ -7,7 +7,7 @@
7 7 <x>0</x>
8 8 <y>0</y>
9 9 <width>402</width>
10   - <height>204</height>
  10 + <height>173</height>
11 11 </rect>
12 12 </property>
13 13 <property name="sizePolicy">
... ... @@ -20,61 +20,6 @@
20 20 <string>Login</string>
21 21 </property>
22 22 <layout class="QGridLayout" name="gridLayout">
23   - <item row="5" column="1">
24   - <widget class="QComboBox" name="chatroomBox">
25   - <property name="currentText">
26   - <string/>
27   - </property>
28   - </widget>
29   - </item>
30   - <item row="2" column="1">
31   - <spacer name="verticalSpacer">
32   - <property name="orientation">
33   - <enum>Qt::Vertical</enum>
34   - </property>
35   - <property name="sizeType">
36   - <enum>QSizePolicy::Fixed</enum>
37   - </property>
38   - <property name="sizeHint" stdset="0">
39   - <size>
40   - <width>20</width>
41   - <height>10</height>
42   - </size>
43   - </property>
44   - </spacer>
45   - </item>
46   - <item row="4" column="2">
47   - <spacer name="rightSpacer">
48   - <property name="orientation">
49   - <enum>Qt::Horizontal</enum>
50   - </property>
51   - <property name="sizeType">
52   - <enum>QSizePolicy::Minimum</enum>
53   - </property>
54   - <property name="sizeHint" stdset="0">
55   - <size>
56   - <width>10</width>
57   - <height>20</height>
58   - </size>
59   - </property>
60   - </spacer>
61   - </item>
62   - <item row="0" column="1">
63   - <spacer name="topSpacer">
64   - <property name="orientation">
65   - <enum>Qt::Vertical</enum>
66   - </property>
67   - <property name="sizeType">
68   - <enum>QSizePolicy::Fixed</enum>
69   - </property>
70   - <property name="sizeHint" stdset="0">
71   - <size>
72   - <width>20</width>
73   - <height>5</height>
74   - </size>
75   - </property>
76   - </spacer>
77   - </item>
78 23 <item row="1" column="1">
79 24 <widget class="QLabel" name="titleLabel">
80 25 <property name="sizePolicy">
... ... @@ -94,7 +39,7 @@
94 39 </property>
95 40 </widget>
96 41 </item>
97   - <item row="6" column="1">
  42 + <item row="7" column="1">
98 43 <widget class="QWidget" name="buttonBox" native="true">
99 44 <property name="sizePolicy">
100 45 <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
... ... @@ -133,6 +78,38 @@
133 78 </layout>
134 79 </widget>
135 80 </item>
  81 + <item row="2" column="1">
  82 + <spacer name="verticalSpacer">
  83 + <property name="orientation">
  84 + <enum>Qt::Vertical</enum>
  85 + </property>
  86 + <property name="sizeType">
  87 + <enum>QSizePolicy::Fixed</enum>
  88 + </property>
  89 + <property name="sizeHint" stdset="0">
  90 + <size>
  91 + <width>20</width>
  92 + <height>10</height>
  93 + </size>
  94 + </property>
  95 + </spacer>
  96 + </item>
  97 + <item row="0" column="1">
  98 + <spacer name="topSpacer">
  99 + <property name="orientation">
  100 + <enum>Qt::Vertical</enum>
  101 + </property>
  102 + <property name="sizeType">
  103 + <enum>QSizePolicy::Fixed</enum>
  104 + </property>
  105 + <property name="sizeHint" stdset="0">
  106 + <size>
  107 + <width>20</width>
  108 + <height>5</height>
  109 + </size>
  110 + </property>
  111 + </spacer>
  112 + </item>
136 113 <item row="3" column="0">
137 114 <spacer name="leftSpacer">
138 115 <property name="orientation">
... ... @@ -150,10 +127,26 @@
150 127 </spacer>
151 128 </item>
152 129 <item row="3" column="1">
153   - <widget class="QLineEdit" name="userEdit"/>
  130 + <widget class="QLineEdit" name="nickEdit"/>
154 131 </item>
155 132 <item row="4" column="1">
156   - <widget class="QLineEdit" name="passwordEdit"/>
  133 + <widget class="QLineEdit" name="serverURLEdit"/>
  134 + </item>
  135 + <item row="4" column="2">
  136 + <spacer name="rightSpacer">
  137 + <property name="orientation">
  138 + <enum>Qt::Horizontal</enum>
  139 + </property>
  140 + <property name="sizeType">
  141 + <enum>QSizePolicy::Minimum</enum>
  142 + </property>
  143 + <property name="sizeHint" stdset="0">
  144 + <size>
  145 + <width>10</width>
  146 + <height>20</height>
  147 + </size>
  148 + </property>
  149 + </spacer>
157 150 </item>
158 151 </layout>
159 152 </widget>
... ...
QChatClient/main.cpp
... ... @@ -6,8 +6,8 @@
6 6 int main(int argc, char *argv[])
7 7 {
8 8 QApplication a(argc, argv);
9   - ChatWindow l;
10   - l.show();
  9 + Chatroom c;
  10 + c.show();
11 11  
12 12 return a.exec();
13 13 }
... ...
build-QChatClient-Desktop-Debug/Makefile
1 1 #############################################################################
2 2 # Makefile for building: QChatClient
3   -# Generated by qmake (3.0) (Qt 5.0.1) on: jue dic 12 02:20:27 2013
  3 +# Generated by qmake (3.0) (Qt 5.0.2) on: mié dic 18 16:05:46 2013
4 4 # Project: ../QChatClient/QChatClient.pro
5 5 # Template: app
6 6 # Command: /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -spec linux-g++-64 CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ../QChatClient/QChatClient.pro
... ... @@ -48,24 +48,24 @@ OBJECTS_DIR = ./
48 48 SOURCES = ../QChatClient/main.cpp \
49 49 ../QChatClient/chatwindow.cpp \
50 50 ../QChatClient/loginscreen.cpp \
51   - ../QChatClient/chatroomselect.cpp \
52 51 ../QChatClient/chatroom.cpp \
53 52 ../QChatClient/Socket.cpp \
54   - ../QChatClient/client.cpp moc_chatwindow.cpp \
  53 + ../QChatClient/client.cpp \
  54 + ../QChatClient/chatwidget.cpp moc_chatwindow.cpp \
55 55 moc_loginscreen.cpp \
56   - moc_chatroomselect.cpp \
57   - moc_chatroom.cpp
  56 + moc_chatroom.cpp \
  57 + moc_chatwidget.cpp
58 58 OBJECTS = main.o \
59 59 chatwindow.o \
60 60 loginscreen.o \
61   - chatroomselect.o \
62 61 chatroom.o \
63 62 Socket.o \
64 63 client.o \
  64 + chatwidget.o \
65 65 moc_chatwindow.o \
66 66 moc_loginscreen.o \
67   - moc_chatroomselect.o \
68   - moc_chatroom.o
  67 + moc_chatroom.o \
  68 + moc_chatwidget.o
69 69 DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
70 70 /usr/share/qt5/mkspecs/common/shell-unix.conf \
71 71 /usr/share/qt5/mkspecs/common/unix.conf \
... ... @@ -84,14 +84,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
84 84 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
85 85 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
86 86 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
87   - /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
88   - /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
89   - /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
90   - /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
91   - /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
92 87 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
93 88 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
94   - /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
95 89 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
96 90 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
97 91 /usr/share/qt5/mkspecs/features/qt_functions.prf \
... ... @@ -101,9 +95,8 @@ DIST = /usr/share/qt5/mkspecs/features/spec_pre.prf \
101 95 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
102 96 /usr/share/qt5/mkspecs/features/default_pre.prf \
103 97 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
104   - /usr/share/qt5/mkspecs/features/debug.prf \
  98 + /usr/share/qt5/mkspecs/features/resolve_config.prf \
105 99 /usr/share/qt5/mkspecs/features/default_post.prf \
106   - /usr/share/qt5/mkspecs/features/shared.prf \
107 100 /usr/share/qt5/mkspecs/features/qml_debug.prf \
108 101 /usr/share/qt5/mkspecs/features/declarative_debug.prf \
109 102 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
... ... @@ -150,7 +143,7 @@ first: all
150 143  
151 144 all: Makefile $(TARGET)
152 145  
153   -$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h $(OBJECTS)
  146 +$(TARGET): ui_chatwindow.h ui_loginscreen.h ui_chatroom.h $(OBJECTS)
154 147 $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
155 148 { test -n "$(DESTDIR)" && DESTDIR="$(DESTDIR)" || DESTDIR=.; } && test $$(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $$DESTDIR" -ex quit '$(TARGET)' && test -f $(TARGET).gdb-index && objcopy --add-section '.gdb_index=$(TARGET).gdb-index' --set-section-flags '.gdb_index=readonly' '$(TARGET)' '$(TARGET)' && rm -f $(TARGET).gdb-index || true
156 149  
... ... @@ -172,14 +165,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
172 165 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri \
173 166 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri \
174 167 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri \
175   - /usr/share/qt5/mkspecs/modules/qt_lib_qml.pri \
176   - /usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri \
177   - /usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri \
178   - /usr/share/qt5/mkspecs/modules/qt_lib_quick.pri \
179   - /usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri \
180 168 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri \
181 169 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri \
182   - /usr/share/qt5/mkspecs/modules/qt_lib_v8.pri \
183 170 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri \
184 171 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri \
185 172 /usr/share/qt5/mkspecs/features/qt_functions.prf \
... ... @@ -189,9 +176,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
189 176 /usr/share/qt5/mkspecs/features/exclusive_builds.prf \
190 177 /usr/share/qt5/mkspecs/features/default_pre.prf \
191 178 /usr/share/qt5/mkspecs/features/unix/default_pre.prf \
192   - /usr/share/qt5/mkspecs/features/debug.prf \
  179 + /usr/share/qt5/mkspecs/features/resolve_config.prf \
193 180 /usr/share/qt5/mkspecs/features/default_post.prf \
194   - /usr/share/qt5/mkspecs/features/shared.prf \
195 181 /usr/share/qt5/mkspecs/features/qml_debug.prf \
196 182 /usr/share/qt5/mkspecs/features/declarative_debug.prf \
197 183 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf \
... ... @@ -230,14 +216,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
230 216 /usr/share/qt5/mkspecs/modules/qt_lib_opengl.pri:
231 217 /usr/share/qt5/mkspecs/modules/qt_lib_platformsupport.pri:
232 218 /usr/share/qt5/mkspecs/modules/qt_lib_printsupport.pri:
233   -/usr/share/qt5/mkspecs/modules/qt_lib_qml.pri:
234   -/usr/share/qt5/mkspecs/modules/qt_lib_qmldevtools.pri:
235   -/usr/share/qt5/mkspecs/modules/qt_lib_qmltest.pri:
236   -/usr/share/qt5/mkspecs/modules/qt_lib_quick.pri:
237   -/usr/share/qt5/mkspecs/modules/qt_lib_quickparticles.pri:
238 219 /usr/share/qt5/mkspecs/modules/qt_lib_sql.pri:
239 220 /usr/share/qt5/mkspecs/modules/qt_lib_testlib.pri:
240   -/usr/share/qt5/mkspecs/modules/qt_lib_v8.pri:
241 221 /usr/share/qt5/mkspecs/modules/qt_lib_widgets.pri:
242 222 /usr/share/qt5/mkspecs/modules/qt_lib_xml.pri:
243 223 /usr/share/qt5/mkspecs/features/qt_functions.prf:
... ... @@ -247,9 +227,8 @@ Makefile: ../QChatClient/QChatClient.pro /usr/share/qt5/mkspecs/linux-g++-64/qma
247 227 /usr/share/qt5/mkspecs/features/exclusive_builds.prf:
248 228 /usr/share/qt5/mkspecs/features/default_pre.prf:
249 229 /usr/share/qt5/mkspecs/features/unix/default_pre.prf:
250   -/usr/share/qt5/mkspecs/features/debug.prf:
  230 +/usr/share/qt5/mkspecs/features/resolve_config.prf:
251 231 /usr/share/qt5/mkspecs/features/default_post.prf:
252   -/usr/share/qt5/mkspecs/features/shared.prf:
253 232 /usr/share/qt5/mkspecs/features/qml_debug.prf:
254 233 /usr/share/qt5/mkspecs/features/declarative_debug.prf:
255 234 /usr/share/qt5/mkspecs/features/unix/gdb_dwarf_index.prf:
... ... @@ -275,8 +254,8 @@ qmake: FORCE
275 254 qmake_all: FORCE
276 255  
277 256 dist:
278   - @test -d .tmp/QChatClient1.0.0 || $(MKDIR) .tmp/QChatClient1.0.0
279   - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroomselect.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroomselect.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroomselect.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0
  257 + @test -d .tmp/QChatClient1.0.0 || mkdir -p .tmp/QChatClient1.0.0
  258 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.h ../QChatClient/loginscreen.h ../QChatClient/chatroom.h ../QChatClient/SocketException.h ../QChatClient/Socket.h ../QChatClient/client.h ../QChatClient/chatwidget.h .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/main.cpp ../QChatClient/chatwindow.cpp ../QChatClient/loginscreen.cpp ../QChatClient/chatroom.cpp ../QChatClient/Socket.cpp ../QChatClient/client.cpp ../QChatClient/chatwidget.cpp .tmp/QChatClient1.0.0/ && $(COPY_FILE) --parents ../QChatClient/chatwindow.ui ../QChatClient/loginscreen.ui ../QChatClient/chatroom.ui .tmp/QChatClient1.0.0/ && (cd `dirname .tmp/QChatClient1.0.0` && $(TAR) QChatClient1.0.0.tar QChatClient1.0.0 && $(COMPRESS) QChatClient1.0.0.tar) && $(MOVE) `dirname .tmp/QChatClient1.0.0`/QChatClient1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/QChatClient1.0.0
280 259  
281 260  
282 261 clean:compiler_clean
... ... @@ -303,9 +282,9 @@ compiler_wayland-server-header_make_all:
303 282 compiler_wayland-server-header_clean:
304 283 compiler_wayland-client-header_make_all:
305 284 compiler_wayland-client-header_clean:
306   -compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp
  285 +compiler_moc_header_make_all: moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroom.cpp moc_chatwidget.cpp
307 286 compiler_moc_header_clean:
308   - -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroomselect.cpp moc_chatroom.cpp
  287 + -$(DEL_FILE) moc_chatwindow.cpp moc_loginscreen.cpp moc_chatroom.cpp moc_chatwidget.cpp
309 288 moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
310 289 /usr/include/qt5/QtWidgets/qmainwindow.h \
311 290 /usr/include/qt5/QtWidgets/qwidget.h \
... ... @@ -339,6 +318,7 @@ moc_chatwindow.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
339 318 /usr/include/qt5/QtCore/qoldbasicatomic.h \
340 319 /usr/include/qt5/QtCore/qatomic_vxworks.h \
341 320 /usr/include/qt5/QtCore/qatomic_power.h \
  321 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
342 322 /usr/include/qt5/QtCore/qatomic_alpha.h \
343 323 /usr/include/qt5/QtCore/qatomic_armv7.h \
344 324 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -451,6 +431,7 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \
451 431 /usr/include/qt5/QtCore/qoldbasicatomic.h \
452 432 /usr/include/qt5/QtCore/qatomic_vxworks.h \
453 433 /usr/include/qt5/QtCore/qatomic_power.h \
  434 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
454 435 /usr/include/qt5/QtCore/qatomic_alpha.h \
455 436 /usr/include/qt5/QtCore/qatomic_armv7.h \
456 437 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -525,11 +506,13 @@ moc_loginscreen.cpp: /usr/include/qt5/QtWidgets/QDialog \
525 506 /usr/include/qt5/QtCore/qfiledevice.h \
526 507 /usr/include/qt5/QtGui/qvector2d.h \
527 508 /usr/include/qt5/QtGui/qtouchdevice.h \
  509 + ../QChatClient/Socket.h \
  510 + ../QChatClient/SocketException.h \
528 511 ../QChatClient/loginscreen.h
529 512 /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/loginscreen.h -o moc_loginscreen.cpp
530 513  
531   -moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \
532   - /usr/include/qt5/QtWidgets/qdialog.h \
  514 +moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
  515 + /usr/include/qt5/QtWidgets/qmainwindow.h \
533 516 /usr/include/qt5/QtWidgets/qwidget.h \
534 517 /usr/include/qt5/QtGui/qwindowdefs.h \
535 518 /usr/include/qt5/QtCore/qglobal.h \
... ... @@ -561,6 +544,7 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \
561 544 /usr/include/qt5/QtCore/qoldbasicatomic.h \
562 545 /usr/include/qt5/QtCore/qatomic_vxworks.h \
563 546 /usr/include/qt5/QtCore/qatomic_power.h \
  547 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
564 548 /usr/include/qt5/QtCore/qatomic_alpha.h \
565 549 /usr/include/qt5/QtCore/qatomic_armv7.h \
566 550 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -635,11 +619,17 @@ moc_chatroomselect.cpp: /usr/include/qt5/QtWidgets/QDialog \
635 619 /usr/include/qt5/QtCore/qfiledevice.h \
636 620 /usr/include/qt5/QtGui/qvector2d.h \
637 621 /usr/include/qt5/QtGui/qtouchdevice.h \
638   - ../QChatClient/chatroomselect.h
639   - /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroomselect.h -o moc_chatroomselect.cpp
  622 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  623 + /usr/include/qt5/QtGui/qicon.h \
  624 + ../QChatClient/Socket.h \
  625 + ../QChatClient/SocketException.h \
  626 + ../QChatClient/chatroom.h
  627 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp
640 628  
641   -moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
642   - /usr/include/qt5/QtWidgets/qmainwindow.h \
  629 +moc_chatwidget.cpp: /usr/include/qt5/QtWidgets/QTextEdit \
  630 + /usr/include/qt5/QtWidgets/qtextedit.h \
  631 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  632 + /usr/include/qt5/QtWidgets/qframe.h \
643 633 /usr/include/qt5/QtWidgets/qwidget.h \
644 634 /usr/include/qt5/QtGui/qwindowdefs.h \
645 635 /usr/include/qt5/QtCore/qglobal.h \
... ... @@ -671,6 +661,7 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
671 661 /usr/include/qt5/QtCore/qoldbasicatomic.h \
672 662 /usr/include/qt5/QtCore/qatomic_vxworks.h \
673 663 /usr/include/qt5/QtCore/qatomic_power.h \
  664 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
674 665 /usr/include/qt5/QtCore/qatomic_alpha.h \
675 666 /usr/include/qt5/QtCore/qatomic_armv7.h \
676 667 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -745,28 +736,260 @@ moc_chatroom.cpp: /usr/include/qt5/QtWidgets/QMainWindow \
745 736 /usr/include/qt5/QtCore/qfiledevice.h \
746 737 /usr/include/qt5/QtGui/qvector2d.h \
747 738 /usr/include/qt5/QtGui/qtouchdevice.h \
748   - /usr/include/qt5/QtWidgets/qtabwidget.h \
749   - /usr/include/qt5/QtGui/qicon.h \
750   - ../QChatClient/chatroom.h
751   - /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatroom.h -o moc_chatroom.cpp
  739 + /usr/include/qt5/QtGui/qtextdocument.h \
  740 + /usr/include/qt5/QtGui/qtextoption.h \
  741 + /usr/include/qt5/QtGui/qtextcursor.h \
  742 + /usr/include/qt5/QtGui/qtextformat.h \
  743 + /usr/include/qt5/QtGui/qpen.h \
  744 + ../QChatClient/chatwidget.h
  745 + /usr/lib/x86_64-linux-gnu/qt5/bin/moc $(DEFINES) $(INCPATH) ../QChatClient/chatwidget.h -o moc_chatwidget.cpp
752 746  
753 747 compiler_wayland-code_make_all:
754 748 compiler_wayland-code_clean:
755 749 compiler_moc_source_make_all:
756 750 compiler_moc_source_clean:
757   -compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h
  751 +compiler_uic_make_all: ui_chatwindow.h ui_loginscreen.h ui_chatroom.h
758 752 compiler_uic_clean:
759   - -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroomselect.h ui_chatroom.h
760   -ui_chatwindow.h: ../QChatClient/chatwindow.ui
  753 + -$(DEL_FILE) ui_chatwindow.h ui_loginscreen.h ui_chatroom.h
  754 +ui_chatwindow.h: ../QChatClient/chatwindow.ui \
  755 + ../QChatClient/chatwidget.h \
  756 + /usr/include/qt5/QtWidgets/QTextEdit \
  757 + /usr/include/qt5/QtWidgets/qtextedit.h \
  758 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  759 + /usr/include/qt5/QtWidgets/qframe.h \
  760 + /usr/include/qt5/QtWidgets/qwidget.h \
  761 + /usr/include/qt5/QtGui/qwindowdefs.h \
  762 + /usr/include/qt5/QtCore/qglobal.h \
  763 + /usr/include/qt5/QtCore/qconfig.h \
  764 + /usr/include/qt5/QtCore/qfeatures.h \
  765 + /usr/include/qt5/QtCore/qsystemdetection.h \
  766 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  767 + /usr/include/qt5/QtCore/qprocessordetection.h \
  768 + /usr/include/qt5/QtCore/qlogging.h \
  769 + /usr/include/qt5/QtCore/qflags.h \
  770 + /usr/include/qt5/QtCore/qtypeinfo.h \
  771 + /usr/include/qt5/QtCore/qtypetraits.h \
  772 + /usr/include/qt5/QtCore/qsysinfo.h \
  773 + /usr/include/qt5/QtCore/qobjectdefs.h \
  774 + /usr/include/qt5/QtCore/qnamespace.h \
  775 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  776 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  777 + /usr/include/qt5/QtCore/qobject.h \
  778 + /usr/include/qt5/QtCore/qstring.h \
  779 + /usr/include/qt5/QtCore/qchar.h \
  780 + /usr/include/qt5/QtCore/qbytearray.h \
  781 + /usr/include/qt5/QtCore/qrefcount.h \
  782 + /usr/include/qt5/QtCore/qatomic.h \
  783 + /usr/include/qt5/QtCore/qbasicatomic.h \
  784 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  785 + /usr/include/qt5/QtCore/qgenericatomic.h \
  786 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  787 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  788 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  789 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  790 + /usr/include/qt5/QtCore/qatomic_power.h \
  791 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  792 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  793 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  794 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  795 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  796 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  797 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  798 + /usr/include/qt5/QtCore/qatomic_mips.h \
  799 + /usr/include/qt5/QtCore/qatomic_s390.h \
  800 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  801 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  802 + /usr/include/qt5/QtCore/qatomic_x86.h \
  803 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  804 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  805 + /usr/include/qt5/QtCore/qatomic_unix.h \
  806 + /usr/include/qt5/QtCore/qarraydata.h \
  807 + /usr/include/qt5/QtCore/qstringbuilder.h \
  808 + /usr/include/qt5/QtCore/qlist.h \
  809 + /usr/include/qt5/QtCore/qalgorithms.h \
  810 + /usr/include/qt5/QtCore/qiterator.h \
  811 + /usr/include/qt5/QtCore/qcoreevent.h \
  812 + /usr/include/qt5/QtCore/qscopedpointer.h \
  813 + /usr/include/qt5/QtCore/qmetatype.h \
  814 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  815 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  816 + /usr/include/qt5/QtCore/qisenum.h \
  817 + /usr/include/qt5/QtCore/qobject_impl.h \
  818 + /usr/include/qt5/QtCore/qmargins.h \
  819 + /usr/include/qt5/QtGui/qpaintdevice.h \
  820 + /usr/include/qt5/QtCore/qrect.h \
  821 + /usr/include/qt5/QtCore/qsize.h \
  822 + /usr/include/qt5/QtCore/qpoint.h \
  823 + /usr/include/qt5/QtGui/qpalette.h \
  824 + /usr/include/qt5/QtGui/qcolor.h \
  825 + /usr/include/qt5/QtGui/qrgb.h \
  826 + /usr/include/qt5/QtCore/qstringlist.h \
  827 + /usr/include/qt5/QtCore/qdatastream.h \
  828 + /usr/include/qt5/QtCore/qiodevice.h \
  829 + /usr/include/qt5/QtCore/qpair.h \
  830 + /usr/include/qt5/QtCore/qregexp.h \
  831 + /usr/include/qt5/QtCore/qstringmatcher.h \
  832 + /usr/include/qt5/QtGui/qbrush.h \
  833 + /usr/include/qt5/QtCore/qvector.h \
  834 + /usr/include/qt5/QtGui/qmatrix.h \
  835 + /usr/include/qt5/QtGui/qpolygon.h \
  836 + /usr/include/qt5/QtGui/qregion.h \
  837 + /usr/include/qt5/QtCore/qline.h \
  838 + /usr/include/qt5/QtGui/qtransform.h \
  839 + /usr/include/qt5/QtGui/qpainterpath.h \
  840 + /usr/include/qt5/QtGui/qimage.h \
  841 + /usr/include/qt5/QtGui/qpixmap.h \
  842 + /usr/include/qt5/QtCore/qsharedpointer.h \
  843 + /usr/include/qt5/QtCore/qshareddata.h \
  844 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  845 + /usr/include/qt5/QtCore/qhash.h \
  846 + /usr/include/qt5/QtGui/qfont.h \
  847 + /usr/include/qt5/QtGui/qfontmetrics.h \
  848 + /usr/include/qt5/QtGui/qfontinfo.h \
  849 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  850 + /usr/include/qt5/QtGui/qcursor.h \
  851 + /usr/include/qt5/QtGui/qkeysequence.h \
  852 + /usr/include/qt5/QtGui/qevent.h \
  853 + /usr/include/qt5/QtCore/qvariant.h \
  854 + /usr/include/qt5/QtCore/qmap.h \
  855 + /usr/include/qt5/QtCore/qdebug.h \
  856 + /usr/include/qt5/QtCore/qtextstream.h \
  857 + /usr/include/qt5/QtCore/qlocale.h \
  858 + /usr/include/qt5/QtCore/qset.h \
  859 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  860 + /usr/include/qt5/QtCore/qurl.h \
  861 + /usr/include/qt5/QtCore/qurlquery.h \
  862 + /usr/include/qt5/QtCore/qfile.h \
  863 + /usr/include/qt5/QtCore/qfiledevice.h \
  864 + /usr/include/qt5/QtGui/qvector2d.h \
  865 + /usr/include/qt5/QtGui/qtouchdevice.h \
  866 + /usr/include/qt5/QtGui/qtextdocument.h \
  867 + /usr/include/qt5/QtGui/qtextoption.h \
  868 + /usr/include/qt5/QtGui/qtextcursor.h \
  869 + /usr/include/qt5/QtGui/qtextformat.h \
  870 + /usr/include/qt5/QtGui/qpen.h
761 871 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatwindow.ui -o ui_chatwindow.h
762 872  
763 873 ui_loginscreen.h: ../QChatClient/loginscreen.ui
764 874 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/loginscreen.ui -o ui_loginscreen.h
765 875  
766   -ui_chatroomselect.h: ../QChatClient/chatroomselect.ui
767   - /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroomselect.ui -o ui_chatroomselect.h
768   -
769   -ui_chatroom.h: ../QChatClient/chatroom.ui
  876 +ui_chatroom.h: ../QChatClient/chatroom.ui \
  877 + ../QChatClient/chatwidget.h \
  878 + /usr/include/qt5/QtWidgets/QTextEdit \
  879 + /usr/include/qt5/QtWidgets/qtextedit.h \
  880 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  881 + /usr/include/qt5/QtWidgets/qframe.h \
  882 + /usr/include/qt5/QtWidgets/qwidget.h \
  883 + /usr/include/qt5/QtGui/qwindowdefs.h \
  884 + /usr/include/qt5/QtCore/qglobal.h \
  885 + /usr/include/qt5/QtCore/qconfig.h \
  886 + /usr/include/qt5/QtCore/qfeatures.h \
  887 + /usr/include/qt5/QtCore/qsystemdetection.h \
  888 + /usr/include/qt5/QtCore/qcompilerdetection.h \
  889 + /usr/include/qt5/QtCore/qprocessordetection.h \
  890 + /usr/include/qt5/QtCore/qlogging.h \
  891 + /usr/include/qt5/QtCore/qflags.h \
  892 + /usr/include/qt5/QtCore/qtypeinfo.h \
  893 + /usr/include/qt5/QtCore/qtypetraits.h \
  894 + /usr/include/qt5/QtCore/qsysinfo.h \
  895 + /usr/include/qt5/QtCore/qobjectdefs.h \
  896 + /usr/include/qt5/QtCore/qnamespace.h \
  897 + /usr/include/qt5/QtCore/qobjectdefs_impl.h \
  898 + /usr/include/qt5/QtGui/qwindowdefs_win.h \
  899 + /usr/include/qt5/QtCore/qobject.h \
  900 + /usr/include/qt5/QtCore/qstring.h \
  901 + /usr/include/qt5/QtCore/qchar.h \
  902 + /usr/include/qt5/QtCore/qbytearray.h \
  903 + /usr/include/qt5/QtCore/qrefcount.h \
  904 + /usr/include/qt5/QtCore/qatomic.h \
  905 + /usr/include/qt5/QtCore/qbasicatomic.h \
  906 + /usr/include/qt5/QtCore/qatomic_bootstrap.h \
  907 + /usr/include/qt5/QtCore/qgenericatomic.h \
  908 + /usr/include/qt5/QtCore/qatomic_msvc.h \
  909 + /usr/include/qt5/QtCore/qatomic_integrity.h \
  910 + /usr/include/qt5/QtCore/qoldbasicatomic.h \
  911 + /usr/include/qt5/QtCore/qatomic_vxworks.h \
  912 + /usr/include/qt5/QtCore/qatomic_power.h \
  913 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
  914 + /usr/include/qt5/QtCore/qatomic_alpha.h \
  915 + /usr/include/qt5/QtCore/qatomic_armv7.h \
  916 + /usr/include/qt5/QtCore/qatomic_armv6.h \
  917 + /usr/include/qt5/QtCore/qatomic_armv5.h \
  918 + /usr/include/qt5/QtCore/qatomic_bfin.h \
  919 + /usr/include/qt5/QtCore/qatomic_ia64.h \
  920 + /usr/include/qt5/QtCore/qatomic_mips.h \
  921 + /usr/include/qt5/QtCore/qatomic_s390.h \
  922 + /usr/include/qt5/QtCore/qatomic_sh4a.h \
  923 + /usr/include/qt5/QtCore/qatomic_sparc.h \
  924 + /usr/include/qt5/QtCore/qatomic_x86.h \
  925 + /usr/include/qt5/QtCore/qatomic_cxx11.h \
  926 + /usr/include/qt5/QtCore/qatomic_gcc.h \
  927 + /usr/include/qt5/QtCore/qatomic_unix.h \
  928 + /usr/include/qt5/QtCore/qarraydata.h \
  929 + /usr/include/qt5/QtCore/qstringbuilder.h \
  930 + /usr/include/qt5/QtCore/qlist.h \
  931 + /usr/include/qt5/QtCore/qalgorithms.h \
  932 + /usr/include/qt5/QtCore/qiterator.h \
  933 + /usr/include/qt5/QtCore/qcoreevent.h \
  934 + /usr/include/qt5/QtCore/qscopedpointer.h \
  935 + /usr/include/qt5/QtCore/qmetatype.h \
  936 + /usr/include/qt5/QtCore/qvarlengtharray.h \
  937 + /usr/include/qt5/QtCore/qcontainerfwd.h \
  938 + /usr/include/qt5/QtCore/qisenum.h \
  939 + /usr/include/qt5/QtCore/qobject_impl.h \
  940 + /usr/include/qt5/QtCore/qmargins.h \
  941 + /usr/include/qt5/QtGui/qpaintdevice.h \
  942 + /usr/include/qt5/QtCore/qrect.h \
  943 + /usr/include/qt5/QtCore/qsize.h \
  944 + /usr/include/qt5/QtCore/qpoint.h \
  945 + /usr/include/qt5/QtGui/qpalette.h \
  946 + /usr/include/qt5/QtGui/qcolor.h \
  947 + /usr/include/qt5/QtGui/qrgb.h \
  948 + /usr/include/qt5/QtCore/qstringlist.h \
  949 + /usr/include/qt5/QtCore/qdatastream.h \
  950 + /usr/include/qt5/QtCore/qiodevice.h \
  951 + /usr/include/qt5/QtCore/qpair.h \
  952 + /usr/include/qt5/QtCore/qregexp.h \
  953 + /usr/include/qt5/QtCore/qstringmatcher.h \
  954 + /usr/include/qt5/QtGui/qbrush.h \
  955 + /usr/include/qt5/QtCore/qvector.h \
  956 + /usr/include/qt5/QtGui/qmatrix.h \
  957 + /usr/include/qt5/QtGui/qpolygon.h \
  958 + /usr/include/qt5/QtGui/qregion.h \
  959 + /usr/include/qt5/QtCore/qline.h \
  960 + /usr/include/qt5/QtGui/qtransform.h \
  961 + /usr/include/qt5/QtGui/qpainterpath.h \
  962 + /usr/include/qt5/QtGui/qimage.h \
  963 + /usr/include/qt5/QtGui/qpixmap.h \
  964 + /usr/include/qt5/QtCore/qsharedpointer.h \
  965 + /usr/include/qt5/QtCore/qshareddata.h \
  966 + /usr/include/qt5/QtCore/qsharedpointer_impl.h \
  967 + /usr/include/qt5/QtCore/qhash.h \
  968 + /usr/include/qt5/QtGui/qfont.h \
  969 + /usr/include/qt5/QtGui/qfontmetrics.h \
  970 + /usr/include/qt5/QtGui/qfontinfo.h \
  971 + /usr/include/qt5/QtWidgets/qsizepolicy.h \
  972 + /usr/include/qt5/QtGui/qcursor.h \
  973 + /usr/include/qt5/QtGui/qkeysequence.h \
  974 + /usr/include/qt5/QtGui/qevent.h \
  975 + /usr/include/qt5/QtCore/qvariant.h \
  976 + /usr/include/qt5/QtCore/qmap.h \
  977 + /usr/include/qt5/QtCore/qdebug.h \
  978 + /usr/include/qt5/QtCore/qtextstream.h \
  979 + /usr/include/qt5/QtCore/qlocale.h \
  980 + /usr/include/qt5/QtCore/qset.h \
  981 + /usr/include/qt5/QtCore/qcontiguouscache.h \
  982 + /usr/include/qt5/QtCore/qurl.h \
  983 + /usr/include/qt5/QtCore/qurlquery.h \
  984 + /usr/include/qt5/QtCore/qfile.h \
  985 + /usr/include/qt5/QtCore/qfiledevice.h \
  986 + /usr/include/qt5/QtGui/qvector2d.h \
  987 + /usr/include/qt5/QtGui/qtouchdevice.h \
  988 + /usr/include/qt5/QtGui/qtextdocument.h \
  989 + /usr/include/qt5/QtGui/qtextoption.h \
  990 + /usr/include/qt5/QtGui/qtextcursor.h \
  991 + /usr/include/qt5/QtGui/qtextformat.h \
  992 + /usr/include/qt5/QtGui/qpen.h
770 993 /usr/lib/x86_64-linux-gnu/qt5/bin/uic ../QChatClient/chatroom.ui -o ui_chatroom.h
771 994  
772 995 compiler_yacc_decl_make_all:
... ... @@ -813,6 +1036,7 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \
813 1036 /usr/include/qt5/QtCore/qoldbasicatomic.h \
814 1037 /usr/include/qt5/QtCore/qatomic_vxworks.h \
815 1038 /usr/include/qt5/QtCore/qatomic_power.h \
  1039 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
816 1040 /usr/include/qt5/QtCore/qatomic_alpha.h \
817 1041 /usr/include/qt5/QtCore/qatomic_armv7.h \
818 1042 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -887,6 +1111,8 @@ main.o: ../QChatClient/main.cpp ../QChatClient/loginscreen.h \
887 1111 /usr/include/qt5/QtCore/qfiledevice.h \
888 1112 /usr/include/qt5/QtGui/qvector2d.h \
889 1113 /usr/include/qt5/QtGui/qtouchdevice.h \
  1114 + ../QChatClient/Socket.h \
  1115 + ../QChatClient/SocketException.h \
890 1116 ../QChatClient/chatroom.h \
891 1117 /usr/include/qt5/QtWidgets/QMainWindow \
892 1118 /usr/include/qt5/QtWidgets/qmainwindow.h \
... ... @@ -936,6 +1162,7 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \
936 1162 /usr/include/qt5/QtCore/qoldbasicatomic.h \
937 1163 /usr/include/qt5/QtCore/qatomic_vxworks.h \
938 1164 /usr/include/qt5/QtCore/qatomic_power.h \
  1165 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
939 1166 /usr/include/qt5/QtCore/qatomic_alpha.h \
940 1167 /usr/include/qt5/QtCore/qatomic_armv7.h \
941 1168 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -1052,16 +1279,15 @@ chatwindow.o: ../QChatClient/chatwindow.cpp ../QChatClient/chatwindow.h \
1052 1279 /usr/include/qt5/QtWidgets/qmenu.h \
1053 1280 /usr/include/qt5/QtWidgets/QSplitter \
1054 1281 /usr/include/qt5/QtWidgets/qsplitter.h \
1055   - /usr/include/qt5/QtWidgets/QTextBrowser \
1056   - /usr/include/qt5/QtWidgets/qtextbrowser.h \
  1282 + /usr/include/qt5/QtWidgets/QTextEdit \
1057 1283 /usr/include/qt5/QtWidgets/qtextedit.h \
1058 1284 /usr/include/qt5/QtGui/qtextdocument.h \
1059 1285 /usr/include/qt5/QtGui/qtextoption.h \
1060 1286 /usr/include/qt5/QtGui/qtextcursor.h \
1061 1287 /usr/include/qt5/QtGui/qtextformat.h \
1062 1288 /usr/include/qt5/QtGui/qpen.h \
1063   - /usr/include/qt5/QtWidgets/QTextEdit \
1064   - /usr/include/qt5/QtWidgets/QWidget
  1289 + /usr/include/qt5/QtWidgets/QWidget \
  1290 + ../QChatClient/chatwidget.h
1065 1291 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwindow.o ../QChatClient/chatwindow.cpp
1066 1292  
1067 1293 loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
... ... @@ -1098,6 +1324,7 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1098 1324 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1099 1325 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1100 1326 /usr/include/qt5/QtCore/qatomic_power.h \
  1327 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
1101 1328 /usr/include/qt5/QtCore/qatomic_alpha.h \
1102 1329 /usr/include/qt5/QtCore/qatomic_armv7.h \
1103 1330 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -1172,6 +1399,8 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1172 1399 /usr/include/qt5/QtCore/qfiledevice.h \
1173 1400 /usr/include/qt5/QtGui/qvector2d.h \
1174 1401 /usr/include/qt5/QtGui/qtouchdevice.h \
  1402 + ../QChatClient/Socket.h \
  1403 + ../QChatClient/SocketException.h \
1175 1404 ui_loginscreen.h \
1176 1405 /usr/include/qt5/QtCore/QVariant \
1177 1406 /usr/include/qt5/QtWidgets/QAction \
... ... @@ -1187,20 +1416,6 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1187 1416 /usr/include/qt5/QtGui/qinputmethod.h \
1188 1417 /usr/include/qt5/QtWidgets/QButtonGroup \
1189 1418 /usr/include/qt5/QtWidgets/qbuttongroup.h \
1190   - /usr/include/qt5/QtWidgets/QComboBox \
1191   - /usr/include/qt5/QtWidgets/qcombobox.h \
1192   - /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
1193   - /usr/include/qt5/QtWidgets/qstyleoption.h \
1194   - /usr/include/qt5/QtWidgets/qabstractspinbox.h \
1195   - /usr/include/qt5/QtGui/qvalidator.h \
1196   - /usr/include/qt5/QtWidgets/qslider.h \
1197   - /usr/include/qt5/QtWidgets/qabstractslider.h \
1198   - /usr/include/qt5/QtWidgets/qstyle.h \
1199   - /usr/include/qt5/QtWidgets/qtabbar.h \
1200   - /usr/include/qt5/QtWidgets/qtabwidget.h \
1201   - /usr/include/qt5/QtWidgets/qrubberband.h \
1202   - /usr/include/qt5/QtWidgets/qframe.h \
1203   - /usr/include/qt5/QtCore/qabstractitemmodel.h \
1204 1419 /usr/include/qt5/QtWidgets/QGridLayout \
1205 1420 /usr/include/qt5/QtWidgets/qgridlayout.h \
1206 1421 /usr/include/qt5/QtWidgets/qlayout.h \
... ... @@ -1210,7 +1425,19 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1210 1425 /usr/include/qt5/QtWidgets/qheaderview.h \
1211 1426 /usr/include/qt5/QtWidgets/qabstractitemview.h \
1212 1427 /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1428 + /usr/include/qt5/QtWidgets/qframe.h \
  1429 + /usr/include/qt5/QtCore/qabstractitemmodel.h \
1213 1430 /usr/include/qt5/QtCore/qitemselectionmodel.h \
  1431 + /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
  1432 + /usr/include/qt5/QtWidgets/qstyleoption.h \
  1433 + /usr/include/qt5/QtWidgets/qabstractspinbox.h \
  1434 + /usr/include/qt5/QtGui/qvalidator.h \
  1435 + /usr/include/qt5/QtWidgets/qslider.h \
  1436 + /usr/include/qt5/QtWidgets/qabstractslider.h \
  1437 + /usr/include/qt5/QtWidgets/qstyle.h \
  1438 + /usr/include/qt5/QtWidgets/qtabbar.h \
  1439 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1440 + /usr/include/qt5/QtWidgets/qrubberband.h \
1214 1441 /usr/include/qt5/QtWidgets/QLabel \
1215 1442 /usr/include/qt5/QtWidgets/qlabel.h \
1216 1443 /usr/include/qt5/QtWidgets/QLineEdit \
... ... @@ -1226,9 +1453,9 @@ loginscreen.o: ../QChatClient/loginscreen.cpp ../QChatClient/loginscreen.h \
1226 1453 /usr/include/qt5/QtWidgets/QWidget
1227 1454 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o loginscreen.o ../QChatClient/loginscreen.cpp
1228 1455  
1229   -chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselect.h \
1230   - /usr/include/qt5/QtWidgets/QDialog \
1231   - /usr/include/qt5/QtWidgets/qdialog.h \
  1456 +chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
  1457 + /usr/include/qt5/QtWidgets/QMainWindow \
  1458 + /usr/include/qt5/QtWidgets/qmainwindow.h \
1232 1459 /usr/include/qt5/QtWidgets/qwidget.h \
1233 1460 /usr/include/qt5/QtGui/qwindowdefs.h \
1234 1461 /usr/include/qt5/QtCore/qglobal.h \
... ... @@ -1260,6 +1487,7 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1260 1487 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1261 1488 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1262 1489 /usr/include/qt5/QtCore/qatomic_power.h \
  1490 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
1263 1491 /usr/include/qt5/QtCore/qatomic_alpha.h \
1264 1492 /usr/include/qt5/QtCore/qatomic_armv7.h \
1265 1493 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -1334,11 +1562,14 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1334 1562 /usr/include/qt5/QtCore/qfiledevice.h \
1335 1563 /usr/include/qt5/QtGui/qvector2d.h \
1336 1564 /usr/include/qt5/QtGui/qtouchdevice.h \
1337   - ui_chatroomselect.h \
  1565 + /usr/include/qt5/QtWidgets/qtabwidget.h \
  1566 + /usr/include/qt5/QtGui/qicon.h \
  1567 + ../QChatClient/Socket.h \
  1568 + ../QChatClient/SocketException.h \
  1569 + ui_chatroom.h \
1338 1570 /usr/include/qt5/QtCore/QVariant \
1339 1571 /usr/include/qt5/QtWidgets/QAction \
1340 1572 /usr/include/qt5/QtWidgets/qaction.h \
1341   - /usr/include/qt5/QtGui/qicon.h \
1342 1573 /usr/include/qt5/QtWidgets/qactiongroup.h \
1343 1574 /usr/include/qt5/QtWidgets/QApplication \
1344 1575 /usr/include/qt5/QtWidgets/qapplication.h \
... ... @@ -1349,8 +1580,13 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1349 1580 /usr/include/qt5/QtGui/qinputmethod.h \
1350 1581 /usr/include/qt5/QtWidgets/QButtonGroup \
1351 1582 /usr/include/qt5/QtWidgets/qbuttongroup.h \
1352   - /usr/include/qt5/QtWidgets/QColumnView \
1353   - /usr/include/qt5/QtWidgets/qcolumnview.h \
  1583 + /usr/include/qt5/QtWidgets/QGridLayout \
  1584 + /usr/include/qt5/QtWidgets/qgridlayout.h \
  1585 + /usr/include/qt5/QtWidgets/qlayout.h \
  1586 + /usr/include/qt5/QtWidgets/qlayoutitem.h \
  1587 + /usr/include/qt5/QtWidgets/qboxlayout.h \
  1588 + /usr/include/qt5/QtWidgets/QHeaderView \
  1589 + /usr/include/qt5/QtWidgets/qheaderview.h \
1354 1590 /usr/include/qt5/QtWidgets/qabstractitemview.h \
1355 1591 /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
1356 1592 /usr/include/qt5/QtWidgets/qframe.h \
... ... @@ -1364,27 +1600,37 @@ chatroomselect.o: ../QChatClient/chatroomselect.cpp ../QChatClient/chatroomselec
1364 1600 /usr/include/qt5/QtWidgets/qabstractslider.h \
1365 1601 /usr/include/qt5/QtWidgets/qstyle.h \
1366 1602 /usr/include/qt5/QtWidgets/qtabbar.h \
1367   - /usr/include/qt5/QtWidgets/qtabwidget.h \
1368 1603 /usr/include/qt5/QtWidgets/qrubberband.h \
1369   - /usr/include/qt5/QtWidgets/QGridLayout \
1370   - /usr/include/qt5/QtWidgets/qgridlayout.h \
1371   - /usr/include/qt5/QtWidgets/qlayout.h \
1372   - /usr/include/qt5/QtWidgets/qlayoutitem.h \
1373   - /usr/include/qt5/QtWidgets/qboxlayout.h \
1374   - /usr/include/qt5/QtWidgets/QHeaderView \
1375   - /usr/include/qt5/QtWidgets/qheaderview.h \
1376   - /usr/include/qt5/QtWidgets/QLabel \
1377   - /usr/include/qt5/QtWidgets/qlabel.h \
1378   - /usr/include/qt5/QtWidgets/QPushButton \
1379   - /usr/include/qt5/QtWidgets/qpushbutton.h \
1380   - /usr/include/qt5/QtWidgets/qabstractbutton.h \
1381   - /usr/include/qt5/QtWidgets/QSpacerItem \
1382   - /usr/include/qt5/QtWidgets/QWidget
1383   - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroomselect.o ../QChatClient/chatroomselect.cpp
  1604 + /usr/include/qt5/QtWidgets/QListWidget \
  1605 + /usr/include/qt5/QtWidgets/qlistwidget.h \
  1606 + /usr/include/qt5/QtWidgets/qlistview.h \
  1607 + /usr/include/qt5/QtWidgets/QSplitter \
  1608 + /usr/include/qt5/QtWidgets/qsplitter.h \
  1609 + /usr/include/qt5/QtWidgets/QTextEdit \
  1610 + /usr/include/qt5/QtWidgets/qtextedit.h \
  1611 + /usr/include/qt5/QtGui/qtextdocument.h \
  1612 + /usr/include/qt5/QtGui/qtextoption.h \
  1613 + /usr/include/qt5/QtGui/qtextcursor.h \
  1614 + /usr/include/qt5/QtGui/qtextformat.h \
  1615 + /usr/include/qt5/QtGui/qpen.h \
  1616 + /usr/include/qt5/QtWidgets/QWidget \
  1617 + ../QChatClient/chatwidget.h
  1618 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp
1384 1619  
1385   -chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
1386   - /usr/include/qt5/QtWidgets/QMainWindow \
1387   - /usr/include/qt5/QtWidgets/qmainwindow.h \
  1620 +Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \
  1621 + ../QChatClient/SocketException.h
  1622 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp
  1623 +
  1624 +client.o: ../QChatClient/client.cpp ../QChatClient/client.h \
  1625 + ../QChatClient/Socket.h \
  1626 + ../QChatClient/SocketException.h
  1627 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp
  1628 +
  1629 +chatwidget.o: ../QChatClient/chatwidget.cpp ../QChatClient/chatwidget.h \
  1630 + /usr/include/qt5/QtWidgets/QTextEdit \
  1631 + /usr/include/qt5/QtWidgets/qtextedit.h \
  1632 + /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
  1633 + /usr/include/qt5/QtWidgets/qframe.h \
1388 1634 /usr/include/qt5/QtWidgets/qwidget.h \
1389 1635 /usr/include/qt5/QtGui/qwindowdefs.h \
1390 1636 /usr/include/qt5/QtCore/qglobal.h \
... ... @@ -1416,6 +1662,7 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
1416 1662 /usr/include/qt5/QtCore/qoldbasicatomic.h \
1417 1663 /usr/include/qt5/QtCore/qatomic_vxworks.h \
1418 1664 /usr/include/qt5/QtCore/qatomic_power.h \
  1665 + /usr/include/qt5/QtCore/qatomic_aarch64.h \
1419 1666 /usr/include/qt5/QtCore/qatomic_alpha.h \
1420 1667 /usr/include/qt5/QtCore/qatomic_armv7.h \
1421 1668 /usr/include/qt5/QtCore/qatomic_armv6.h \
... ... @@ -1490,69 +1737,12 @@ chatroom.o: ../QChatClient/chatroom.cpp ../QChatClient/chatroom.h \
1490 1737 /usr/include/qt5/QtCore/qfiledevice.h \
1491 1738 /usr/include/qt5/QtGui/qvector2d.h \
1492 1739 /usr/include/qt5/QtGui/qtouchdevice.h \
1493   - /usr/include/qt5/QtWidgets/qtabwidget.h \
1494   - /usr/include/qt5/QtGui/qicon.h \
1495   - ui_chatroom.h \
1496   - /usr/include/qt5/QtCore/QVariant \
1497   - /usr/include/qt5/QtWidgets/QAction \
1498   - /usr/include/qt5/QtWidgets/qaction.h \
1499   - /usr/include/qt5/QtWidgets/qactiongroup.h \
1500   - /usr/include/qt5/QtWidgets/QApplication \
1501   - /usr/include/qt5/QtWidgets/qapplication.h \
1502   - /usr/include/qt5/QtCore/qcoreapplication.h \
1503   - /usr/include/qt5/QtCore/qeventloop.h \
1504   - /usr/include/qt5/QtWidgets/qdesktopwidget.h \
1505   - /usr/include/qt5/QtGui/qguiapplication.h \
1506   - /usr/include/qt5/QtGui/qinputmethod.h \
1507   - /usr/include/qt5/QtWidgets/QButtonGroup \
1508   - /usr/include/qt5/QtWidgets/qbuttongroup.h \
1509   - /usr/include/qt5/QtWidgets/QFrame \
1510   - /usr/include/qt5/QtWidgets/qframe.h \
1511   - /usr/include/qt5/QtWidgets/QGridLayout \
1512   - /usr/include/qt5/QtWidgets/qgridlayout.h \
1513   - /usr/include/qt5/QtWidgets/qlayout.h \
1514   - /usr/include/qt5/QtWidgets/qlayoutitem.h \
1515   - /usr/include/qt5/QtWidgets/qboxlayout.h \
1516   - /usr/include/qt5/QtWidgets/QHeaderView \
1517   - /usr/include/qt5/QtWidgets/qheaderview.h \
1518   - /usr/include/qt5/QtWidgets/qabstractitemview.h \
1519   - /usr/include/qt5/QtWidgets/qabstractscrollarea.h \
1520   - /usr/include/qt5/QtCore/qabstractitemmodel.h \
1521   - /usr/include/qt5/QtCore/qitemselectionmodel.h \
1522   - /usr/include/qt5/QtWidgets/qabstractitemdelegate.h \
1523   - /usr/include/qt5/QtWidgets/qstyleoption.h \
1524   - /usr/include/qt5/QtWidgets/qabstractspinbox.h \
1525   - /usr/include/qt5/QtGui/qvalidator.h \
1526   - /usr/include/qt5/QtWidgets/qslider.h \
1527   - /usr/include/qt5/QtWidgets/qabstractslider.h \
1528   - /usr/include/qt5/QtWidgets/qstyle.h \
1529   - /usr/include/qt5/QtWidgets/qtabbar.h \
1530   - /usr/include/qt5/QtWidgets/qrubberband.h \
1531   - /usr/include/qt5/QtWidgets/QListView \
1532   - /usr/include/qt5/QtWidgets/qlistview.h \
1533   - /usr/include/qt5/QtWidgets/QMenuBar \
1534   - /usr/include/qt5/QtWidgets/qmenubar.h \
1535   - /usr/include/qt5/QtWidgets/qmenu.h \
1536   - /usr/include/qt5/QtWidgets/QTextBrowser \
1537   - /usr/include/qt5/QtWidgets/qtextbrowser.h \
1538   - /usr/include/qt5/QtWidgets/qtextedit.h \
1539 1740 /usr/include/qt5/QtGui/qtextdocument.h \
1540 1741 /usr/include/qt5/QtGui/qtextoption.h \
1541 1742 /usr/include/qt5/QtGui/qtextcursor.h \
1542 1743 /usr/include/qt5/QtGui/qtextformat.h \
1543   - /usr/include/qt5/QtGui/qpen.h \
1544   - /usr/include/qt5/QtWidgets/QTextEdit \
1545   - /usr/include/qt5/QtWidgets/QWidget
1546   - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatroom.o ../QChatClient/chatroom.cpp
1547   -
1548   -Socket.o: ../QChatClient/Socket.cpp ../QChatClient/Socket.h \
1549   - ../QChatClient/SocketException.h
1550   - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o Socket.o ../QChatClient/Socket.cpp
1551   -
1552   -client.o: ../QChatClient/client.cpp ../QChatClient/client.h \
1553   - ../QChatClient/Socket.h \
1554   - ../QChatClient/SocketException.h
1555   - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o client.o ../QChatClient/client.cpp
  1744 + /usr/include/qt5/QtGui/qpen.h
  1745 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chatwidget.o ../QChatClient/chatwidget.cpp
1556 1746  
1557 1747 moc_chatwindow.o: moc_chatwindow.cpp
1558 1748 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwindow.o moc_chatwindow.cpp
... ... @@ -1560,12 +1750,12 @@ moc_chatwindow.o: moc_chatwindow.cpp
1560 1750 moc_loginscreen.o: moc_loginscreen.cpp
1561 1751 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_loginscreen.o moc_loginscreen.cpp
1562 1752  
1563   -moc_chatroomselect.o: moc_chatroomselect.cpp
1564   - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroomselect.o moc_chatroomselect.cpp
1565   -
1566 1753 moc_chatroom.o: moc_chatroom.cpp
1567 1754 $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatroom.o moc_chatroom.cpp
1568 1755  
  1756 +moc_chatwidget.o: moc_chatwidget.cpp
  1757 + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chatwidget.o moc_chatwidget.cpp
  1758 +
1569 1759 ####### Install
1570 1760  
1571 1761 install: FORCE
... ...
build-QChatClient-Desktop-Debug/QChatClient
No preview for this file type
build-QChatClient-Desktop-Debug/Socket.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/chatroomselect.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/chatwidget.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/chatwindow.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/client.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/customtextedit.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/loginscreen.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/main.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatroom.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatroomselect.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatwidget.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'chatwidget.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/chatwidget.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'chatwidget.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_ChatWidget_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[12];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_ChatWidget_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_ChatWidget_t qt_meta_stringdata_ChatWidget = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 10)
  33 + },
  34 + "ChatWidget\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_ChatWidget[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void ChatWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject ChatWidget::staticMetaObject = {
  63 + { &QTextEdit::staticMetaObject, qt_meta_stringdata_ChatWidget.data,
  64 + qt_meta_data_ChatWidget, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *ChatWidget::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *ChatWidget::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_ChatWidget.stringdata))
  77 + return static_cast<void*>(const_cast< ChatWidget*>(this));
  78 + return QTextEdit::qt_metacast(_clname);
  79 +}
  80 +
  81 +int ChatWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QTextEdit::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
... ...
build-QChatClient-Desktop-Debug/moc_chatwidget.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_chatwindow.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_customtextedit.cpp 0 → 100644
  1 +/****************************************************************************
  2 +** Meta object code from reading C++ file 'customtextedit.h'
  3 +**
  4 +** Created by: The Qt Meta Object Compiler version 67 (Qt 5.0.2)
  5 +**
  6 +** WARNING! All changes made in this file will be lost!
  7 +*****************************************************************************/
  8 +
  9 +#include "../QChatClient/customtextedit.h"
  10 +#include <QtCore/qbytearray.h>
  11 +#include <QtCore/qmetatype.h>
  12 +#if !defined(Q_MOC_OUTPUT_REVISION)
  13 +#error "The header file 'customtextedit.h' doesn't include <QObject>."
  14 +#elif Q_MOC_OUTPUT_REVISION != 67
  15 +#error "This file was generated using the moc from 5.0.2. It"
  16 +#error "cannot be used with the include files from this version of Qt."
  17 +#error "(The moc has changed too much.)"
  18 +#endif
  19 +
  20 +QT_BEGIN_MOC_NAMESPACE
  21 +struct qt_meta_stringdata_customTextEdit_t {
  22 + QByteArrayData data[1];
  23 + char stringdata[16];
  24 +};
  25 +#define QT_MOC_LITERAL(idx, ofs, len) \
  26 + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
  27 + offsetof(qt_meta_stringdata_customTextEdit_t, stringdata) + ofs \
  28 + - idx * sizeof(QByteArrayData) \
  29 + )
  30 +static const qt_meta_stringdata_customTextEdit_t qt_meta_stringdata_customTextEdit = {
  31 + {
  32 +QT_MOC_LITERAL(0, 0, 14)
  33 + },
  34 + "customTextEdit\0"
  35 +};
  36 +#undef QT_MOC_LITERAL
  37 +
  38 +static const uint qt_meta_data_customTextEdit[] = {
  39 +
  40 + // content:
  41 + 7, // revision
  42 + 0, // classname
  43 + 0, 0, // classinfo
  44 + 0, 0, // methods
  45 + 0, 0, // properties
  46 + 0, 0, // enums/sets
  47 + 0, 0, // constructors
  48 + 0, // flags
  49 + 0, // signalCount
  50 +
  51 + 0 // eod
  52 +};
  53 +
  54 +void customTextEdit::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
  55 +{
  56 + Q_UNUSED(_o);
  57 + Q_UNUSED(_id);
  58 + Q_UNUSED(_c);
  59 + Q_UNUSED(_a);
  60 +}
  61 +
  62 +const QMetaObject customTextEdit::staticMetaObject = {
  63 + { &QTextEdit::staticMetaObject, qt_meta_stringdata_customTextEdit.data,
  64 + qt_meta_data_customTextEdit, qt_static_metacall, 0, 0}
  65 +};
  66 +
  67 +
  68 +const QMetaObject *customTextEdit::metaObject() const
  69 +{
  70 + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
  71 +}
  72 +
  73 +void *customTextEdit::qt_metacast(const char *_clname)
  74 +{
  75 + if (!_clname) return 0;
  76 + if (!strcmp(_clname, qt_meta_stringdata_customTextEdit.stringdata))
  77 + return static_cast<void*>(const_cast< customTextEdit*>(this));
  78 + return QTextEdit::qt_metacast(_clname);
  79 +}
  80 +
  81 +int customTextEdit::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
  82 +{
  83 + _id = QTextEdit::qt_metacall(_c, _id, _a);
  84 + if (_id < 0)
  85 + return _id;
  86 + return _id;
  87 +}
  88 +QT_END_MOC_NAMESPACE
... ...
build-QChatClient-Desktop-Debug/moc_customtextedit.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/moc_loginscreen.o 0 → 100644
No preview for this file type
build-QChatClient-Desktop-Debug/ui_chatroom.h
... ... @@ -13,15 +13,14 @@
13 13 #include <QtWidgets/QAction>
14 14 #include <QtWidgets/QApplication>
15 15 #include <QtWidgets/QButtonGroup>
16   -#include <QtWidgets/QFrame>
17 16 #include <QtWidgets/QGridLayout>
18 17 #include <QtWidgets/QHeaderView>
19   -#include <QtWidgets/QListView>
  18 +#include <QtWidgets/QListWidget>
20 19 #include <QtWidgets/QMainWindow>
21   -#include <QtWidgets/QMenuBar>
22   -#include <QtWidgets/QTextBrowser>
  20 +#include <QtWidgets/QSplitter>
23 21 #include <QtWidgets/QTextEdit>
24 22 #include <QtWidgets/QWidget>
  23 +#include "chatwidget.h"
25 24  
26 25 QT_BEGIN_NAMESPACE
27 26  
... ... @@ -29,12 +28,14 @@ class Ui_Chatroom
29 28 {
30 29 public:
31 30 QWidget *centralwidget;
  31 + QGridLayout *gridLayout_2;
  32 + QSplitter *windowSplitter;
  33 + QWidget *chatWindow;
32 34 QGridLayout *gridLayout;
33   - QListView *listView;
34   - QTextBrowser *textBrowser;
35   - QTextEdit *textEdit;
36   - QFrame *frame;
37   - QMenuBar *menubar;
  35 + QSplitter *chatSplitter;
  36 + ChatWidget *chatText;
  37 + QTextEdit *inputText;
  38 + QListWidget *userList;
38 39  
39 40 void setupUi(QMainWindow *Chatroom)
40 41 {
... ... @@ -43,48 +44,51 @@ public:
43 44 Chatroom->resize(800, 600);
44 45 centralwidget = new QWidget(Chatroom);
45 46 centralwidget->setObjectName(QStringLiteral("centralwidget"));
46   - gridLayout = new QGridLayout(centralwidget);
  47 + gridLayout_2 = new QGridLayout(centralwidget);
  48 + gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
  49 + windowSplitter = new QSplitter(centralwidget);
  50 + windowSplitter->setObjectName(QStringLiteral("windowSplitter"));
  51 + windowSplitter->setOrientation(Qt::Horizontal);
  52 + chatWindow = new QWidget(windowSplitter);
  53 + chatWindow->setObjectName(QStringLiteral("chatWindow"));
  54 + gridLayout = new QGridLayout(chatWindow);
  55 + gridLayout->setSpacing(0);
47 56 gridLayout->setObjectName(QStringLiteral("gridLayout"));
48   - listView = new QListView(centralwidget);
49   - listView->setObjectName(QStringLiteral("listView"));
50   - QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
  57 + gridLayout->setContentsMargins(0, 0, 0, 0);
  58 + chatSplitter = new QSplitter(chatWindow);
  59 + chatSplitter->setObjectName(QStringLiteral("chatSplitter"));
  60 + chatSplitter->setOrientation(Qt::Vertical);
  61 + chatText = new ChatWidget(chatSplitter);
  62 + chatText->setObjectName(QStringLiteral("chatText"));
  63 + chatText->setReadOnly(true);
  64 + chatSplitter->addWidget(chatText);
  65 + inputText = new QTextEdit(chatSplitter);
  66 + inputText->setObjectName(QStringLiteral("inputText"));
  67 + QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);
51 68 sizePolicy.setHorizontalStretch(0);
52 69 sizePolicy.setVerticalStretch(0);
53   - sizePolicy.setHeightForWidth(listView->sizePolicy().hasHeightForWidth());
54   - listView->setSizePolicy(sizePolicy);
55   - listView->setMaximumSize(QSize(150, 16777215));
  70 + sizePolicy.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());
  71 + inputText->setSizePolicy(sizePolicy);
  72 + inputText->setMaximumSize(QSize(16777215, 16777215));
  73 + chatSplitter->addWidget(inputText);
56 74  
57   - gridLayout->addWidget(listView, 0, 2, 1, 1);
  75 + gridLayout->addWidget(chatSplitter, 0, 0, 1, 1);
58 76  
59   - textBrowser = new QTextBrowser(centralwidget);
60   - textBrowser->setObjectName(QStringLiteral("textBrowser"));
61   -
62   - gridLayout->addWidget(textBrowser, 0, 1, 1, 1);
63   -
64   - textEdit = new QTextEdit(centralwidget);
65   - textEdit->setObjectName(QStringLiteral("textEdit"));
66   - QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed);
  77 + windowSplitter->addWidget(chatWindow);
  78 + userList = new QListWidget(windowSplitter);
  79 + userList->setObjectName(QStringLiteral("userList"));
  80 + QSizePolicy sizePolicy1(QSizePolicy::Ignored, QSizePolicy::Expanding);
67 81 sizePolicy1.setHorizontalStretch(0);
68 82 sizePolicy1.setVerticalStretch(0);
69   - sizePolicy1.setHeightForWidth(textEdit->sizePolicy().hasHeightForWidth());
70   - textEdit->setSizePolicy(sizePolicy1);
71   - textEdit->setMinimumSize(QSize(0, 100));
72   - textEdit->setMaximumSize(QSize(16777215, 100));
73   -
74   - gridLayout->addWidget(textEdit, 2, 1, 1, 2);
75   -
76   - frame = new QFrame(centralwidget);
77   - frame->setObjectName(QStringLiteral("frame"));
78   - frame->setFrameShape(QFrame::StyledPanel);
79   - frame->setFrameShadow(QFrame::Raised);
  83 + sizePolicy1.setHeightForWidth(userList->sizePolicy().hasHeightForWidth());
  84 + userList->setSizePolicy(sizePolicy1);
  85 + userList->setMinimumSize(QSize(0, 0));
  86 + userList->setMaximumSize(QSize(16777215, 16777215));
  87 + windowSplitter->addWidget(userList);
80 88  
81   - gridLayout->addWidget(frame, 1, 1, 1, 1);
  89 + gridLayout_2->addWidget(windowSplitter, 0, 0, 1, 1);
82 90  
83 91 Chatroom->setCentralWidget(centralwidget);
84   - menubar = new QMenuBar(Chatroom);
85   - menubar->setObjectName(QStringLiteral("menubar"));
86   - menubar->setGeometry(QRect(0, 0, 800, 25));
87   - Chatroom->setMenuBar(menubar);
88 92  
89 93 retranslateUi(Chatroom);
90 94  
... ...
build-QChatClient-Desktop-Debug/ui_chatroomselect.h
... ... @@ -51,6 +51,11 @@ public:
51 51 if (ChatroomSelect->objectName().isEmpty())
52 52 ChatroomSelect->setObjectName(QStringLiteral("ChatroomSelect"));
53 53 ChatroomSelect->resize(555, 379);
  54 + QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
  55 + sizePolicy.setHorizontalStretch(0);
  56 + sizePolicy.setVerticalStretch(0);
  57 + sizePolicy.setHeightForWidth(ChatroomSelect->sizePolicy().hasHeightForWidth());
  58 + ChatroomSelect->setSizePolicy(sizePolicy);
54 59 gridLayout = new QGridLayout(ChatroomSelect);
55 60 gridLayout->setObjectName(QStringLiteral("gridLayout"));
56 61 listVertSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
... ...
build-QChatClient-Desktop-Debug/ui_chatwindow.h
1 1 /********************************************************************************
2 2 ** Form generated from reading UI file 'chatwindow.ui'
3 3 **
4   -** Created by: Qt User Interface Compiler version 5.0.1
  4 +** Created by: Qt User Interface Compiler version 5.0.2
5 5 **
6 6 ** WARNING! All changes made in this file will be lost when recompiling UI file!
7 7 ********************************************************************************/
... ... @@ -18,9 +18,9 @@
18 18 #include <QtWidgets/QMainWindow>
19 19 #include <QtWidgets/QMenuBar>
20 20 #include <QtWidgets/QSplitter>
21   -#include <QtWidgets/QTextBrowser>
22 21 #include <QtWidgets/QTextEdit>
23 22 #include <QtWidgets/QWidget>
  23 +#include "chatwidget.h"
24 24  
25 25 QT_BEGIN_NAMESPACE
26 26  
... ... @@ -29,10 +29,8 @@ class Ui_ChatWindow
29 29 public:
30 30 QWidget *centralWidget;
31 31 QGridLayout *gridLayout;
32   - QWidget *widget;
33   - QGridLayout *gridLayout_2;
34 32 QSplitter *splitter;
35   - QTextBrowser *chatText;
  33 + ChatWidget *chatText;
36 34 QTextEdit *inputText;
37 35 QMenuBar *menuBar;
38 36  
... ... @@ -40,7 +38,7 @@ public:
40 38 {
41 39 if (ChatWindow->objectName().isEmpty())
42 40 ChatWindow->setObjectName(QStringLiteral("ChatWindow"));
43   - ChatWindow->resize(400, 449);
  41 + ChatWindow->resize(400, 502);
44 42 centralWidget = new QWidget(ChatWindow);
45 43 centralWidget->setObjectName(QStringLiteral("centralWidget"));
46 44 centralWidget->setEnabled(true);
... ... @@ -53,40 +51,27 @@ public:
53 51 gridLayout->setSpacing(6);
54 52 gridLayout->setContentsMargins(11, 11, 11, 11);
55 53 gridLayout->setObjectName(QStringLiteral("gridLayout"));
56   - widget = new QWidget(centralWidget);
57   - widget->setObjectName(QStringLiteral("widget"));
58   - gridLayout_2 = new QGridLayout(widget);
59   - gridLayout_2->setSpacing(6);
60   - gridLayout_2->setContentsMargins(11, 11, 11, 11);
61   - gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
62   - splitter = new QSplitter(widget);
  54 + splitter = new QSplitter(centralWidget);
63 55 splitter->setObjectName(QStringLiteral("splitter"));
64 56 splitter->setOrientation(Qt::Vertical);
65   - chatText = new QTextBrowser(splitter);
  57 + chatText = new ChatWidget(splitter);
66 58 chatText->setObjectName(QStringLiteral("chatText"));
67   - QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored);
68   - sizePolicy1.setHorizontalStretch(0);
69   - sizePolicy1.setVerticalStretch(0);
70   - sizePolicy1.setHeightForWidth(chatText->sizePolicy().hasHeightForWidth());
71   - chatText->setSizePolicy(sizePolicy1);
  59 + chatText->setReadOnly(true);
72 60 splitter->addWidget(chatText);
73 61 inputText = new QTextEdit(splitter);
74 62 inputText->setObjectName(QStringLiteral("inputText"));
75 63 inputText->setEnabled(true);
76   - QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Preferred);
77   - sizePolicy2.setHorizontalStretch(0);
78   - sizePolicy2.setVerticalStretch(0);
79   - sizePolicy2.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());
80   - inputText->setSizePolicy(sizePolicy2);
  64 + QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Ignored);
  65 + sizePolicy1.setHorizontalStretch(0);
  66 + sizePolicy1.setVerticalStretch(0);
  67 + sizePolicy1.setHeightForWidth(inputText->sizePolicy().hasHeightForWidth());
  68 + inputText->setSizePolicy(sizePolicy1);
81 69 inputText->setMinimumSize(QSize(0, 0));
82 70 inputText->setMaximumSize(QSize(16777215, 16777215));
83 71 inputText->setBaseSize(QSize(0, 0));
84 72 splitter->addWidget(inputText);
85 73  
86   - gridLayout_2->addWidget(splitter, 0, 0, 1, 1);
87   -
88   -
89   - gridLayout->addWidget(widget, 1, 0, 1, 1);
  74 + gridLayout->addWidget(splitter, 0, 0, 1, 1);
90 75  
91 76 ChatWindow->setCentralWidget(centralWidget);
92 77 menuBar = new QMenuBar(ChatWindow);
... ...
build-QChatClient-Desktop-Debug/ui_loginscreen.h
... ... @@ -13,7 +13,6 @@
13 13 #include <QtWidgets/QAction>
14 14 #include <QtWidgets/QApplication>
15 15 #include <QtWidgets/QButtonGroup>
16   -#include <QtWidgets/QComboBox>
17 16 #include <QtWidgets/QDialog>
18 17 #include <QtWidgets/QGridLayout>
19 18 #include <QtWidgets/QHeaderView>
... ... @@ -29,59 +28,46 @@ class Ui_LoginScreen
29 28 {
30 29 public:
31 30 QGridLayout *gridLayout;
32   - QComboBox *chatroomBox;
33   - QSpacerItem *verticalSpacer;
34   - QSpacerItem *rightSpacer;
35   - QSpacerItem *topSpacer;
36 31 QLabel *titleLabel;
37 32 QWidget *buttonBox;
38 33 QGridLayout *gridLayout_2;
39 34 QPushButton *cancelButton;
40 35 QPushButton *connectButton;
41 36 QSpacerItem *buttonHorizSpacer;
  37 + QSpacerItem *verticalSpacer;
  38 + QSpacerItem *topSpacer;
42 39 QSpacerItem *leftSpacer;
43   - QLineEdit *userEdit;
44   - QLineEdit *passwordEdit;
  40 + QLineEdit *nickEdit;
  41 + QLineEdit *serverURLEdit;
  42 + QSpacerItem *rightSpacer;
45 43  
46 44 void setupUi(QDialog *LoginScreen)
47 45 {
48 46 if (LoginScreen->objectName().isEmpty())
49 47 LoginScreen->setObjectName(QStringLiteral("LoginScreen"));
50   - LoginScreen->resize(402, 204);
  48 + LoginScreen->resize(402, 173);
  49 + QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
  50 + sizePolicy.setHorizontalStretch(0);
  51 + sizePolicy.setVerticalStretch(0);
  52 + sizePolicy.setHeightForWidth(LoginScreen->sizePolicy().hasHeightForWidth());
  53 + LoginScreen->setSizePolicy(sizePolicy);
51 54 gridLayout = new QGridLayout(LoginScreen);
52 55 gridLayout->setObjectName(QStringLiteral("gridLayout"));
53   - chatroomBox = new QComboBox(LoginScreen);
54   - chatroomBox->setObjectName(QStringLiteral("chatroomBox"));
55   -
56   - gridLayout->addWidget(chatroomBox, 5, 1, 1, 1);
57   -
58   - verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);
59   -
60   - gridLayout->addItem(verticalSpacer, 2, 1, 1, 1);
61   -
62   - rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
63   -
64   - gridLayout->addItem(rightSpacer, 4, 2, 1, 1);
65   -
66   - topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
67   -
68   - gridLayout->addItem(topSpacer, 0, 1, 1, 1);
69   -
70 56 titleLabel = new QLabel(LoginScreen);
71 57 titleLabel->setObjectName(QStringLiteral("titleLabel"));
72   - QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
73   - sizePolicy.setHorizontalStretch(0);
74   - sizePolicy.setVerticalStretch(0);
75   - sizePolicy.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth());
76   - titleLabel->setSizePolicy(sizePolicy);
  58 + QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Maximum);
  59 + sizePolicy1.setHorizontalStretch(0);
  60 + sizePolicy1.setVerticalStretch(0);
  61 + sizePolicy1.setHeightForWidth(titleLabel->sizePolicy().hasHeightForWidth());
  62 + titleLabel->setSizePolicy(sizePolicy1);
77 63 titleLabel->setMaximumSize(QSize(16777215, 20));
78 64  
79 65 gridLayout->addWidget(titleLabel, 1, 1, 1, 1);
80 66  
81 67 buttonBox = new QWidget(LoginScreen);
82 68 buttonBox->setObjectName(QStringLiteral("buttonBox"));
83   - sizePolicy.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth());
84   - buttonBox->setSizePolicy(sizePolicy);
  69 + sizePolicy1.setHeightForWidth(buttonBox->sizePolicy().hasHeightForWidth());
  70 + buttonBox->setSizePolicy(sizePolicy1);
85 71 gridLayout_2 = new QGridLayout(buttonBox);
86 72 gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
87 73 cancelButton = new QPushButton(buttonBox);
... ... @@ -99,21 +85,33 @@ public:
99 85 gridLayout_2->addItem(buttonHorizSpacer, 0, 0, 1, 1);
100 86  
101 87  
102   - gridLayout->addWidget(buttonBox, 6, 1, 1, 1);
  88 + gridLayout->addWidget(buttonBox, 7, 1, 1, 1);
  89 +
  90 + verticalSpacer = new QSpacerItem(20, 10, QSizePolicy::Minimum, QSizePolicy::Fixed);
  91 +
  92 + gridLayout->addItem(verticalSpacer, 2, 1, 1, 1);
  93 +
  94 + topSpacer = new QSpacerItem(20, 5, QSizePolicy::Minimum, QSizePolicy::Fixed);
  95 +
  96 + gridLayout->addItem(topSpacer, 0, 1, 1, 1);
103 97  
104 98 leftSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
105 99  
106 100 gridLayout->addItem(leftSpacer, 3, 0, 1, 1);
107 101  
108   - userEdit = new QLineEdit(LoginScreen);
109   - userEdit->setObjectName(QStringLiteral("userEdit"));
  102 + nickEdit = new QLineEdit(LoginScreen);
  103 + nickEdit->setObjectName(QStringLiteral("nickEdit"));
110 104  
111   - gridLayout->addWidget(userEdit, 3, 1, 1, 1);
  105 + gridLayout->addWidget(nickEdit, 3, 1, 1, 1);
112 106  
113   - passwordEdit = new QLineEdit(LoginScreen);
114   - passwordEdit->setObjectName(QStringLiteral("passwordEdit"));
  107 + serverURLEdit = new QLineEdit(LoginScreen);
  108 + serverURLEdit->setObjectName(QStringLiteral("serverURLEdit"));
115 109  
116   - gridLayout->addWidget(passwordEdit, 4, 1, 1, 1);
  110 + gridLayout->addWidget(serverURLEdit, 4, 1, 1, 1);
  111 +
  112 + rightSpacer = new QSpacerItem(10, 20, QSizePolicy::Minimum, QSizePolicy::Minimum);
  113 +
  114 + gridLayout->addItem(rightSpacer, 4, 2, 1, 1);
117 115  
118 116  
119 117 retranslateUi(LoginScreen);
... ... @@ -124,7 +122,6 @@ public:
124 122 void retranslateUi(QDialog *LoginScreen)
125 123 {
126 124 LoginScreen->setWindowTitle(QApplication::translate("LoginScreen", "Login", 0));
127   - chatroomBox->setCurrentText(QString());
128 125 titleLabel->setText(QApplication::translate("LoginScreen", "Log in to chatroom", 0));
129 126 cancelButton->setText(QApplication::translate("LoginScreen", "Cancel", 0));
130 127 connectButton->setText(QApplication::translate("LoginScreen", "OK", 0));
... ...