<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::NotifyServer::Interface Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1NotifyServer.html">NotifyServer</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html">Interface</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classcrashpad_1_1NotifyServer_1_1Interface-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::NotifyServer::Interface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>An interface that the different request messages that are a part of the <code>notify</code> Mach subsystem can be dispatched to.  
 <a href="classcrashpad_1_1NotifyServer_1_1Interface.html#details">More...</a></p>

<p><code>#include &quot;util/mach/notify_server.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::NotifyServer::Interface:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1NotifyServer_1_1Interface.png" usemap="#crashpad::NotifyServer::Interface_map" alt=""/>
  <map id="crashpad::NotifyServer::Interface_map" name="crashpad::NotifyServer::Interface_map">
<area href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html" title="A concrete implementation of Interface that provides a default behavior for all notify routines..." alt="crashpad::NotifyServer::DefaultInterface" shape="rect" coords="0,56,239,80"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afb31bdbba0f94be2efa0caff19a89fa4"><td class="memItemLeft" align="right" valign="top">virtual kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#afb31bdbba0f94be2efa0caff19a89fa4">DoMachNotifyPortDeleted</a> (notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer)=0</td></tr>
<tr class="memdesc:afb31bdbba0f94be2efa0caff19a89fa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles port-deleted notifications sent by <code>mach_notify_port_deleted()</code>.  <a href="#afb31bdbba0f94be2efa0caff19a89fa4">More...</a><br /></td></tr>
<tr class="separator:afb31bdbba0f94be2efa0caff19a89fa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd3f056edee7243e1b388aed2dcd6505"><td class="memItemLeft" align="right" valign="top">virtual kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#afd3f056edee7243e1b388aed2dcd6505">DoMachNotifyPortDestroyed</a> (notify_port_t notify, mach_port_t rights, const mach_msg_trailer_t *trailer, bool *destroy_request)=0</td></tr>
<tr class="memdesc:afd3f056edee7243e1b388aed2dcd6505"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles port-destroyed notifications sent by <code>mach_notify_port_destroyed()</code>.  <a href="#afd3f056edee7243e1b388aed2dcd6505">More...</a><br /></td></tr>
<tr class="separator:afd3f056edee7243e1b388aed2dcd6505"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9818bb1f746ab470b06daffa53f4a3f6"><td class="memItemLeft" align="right" valign="top">virtual kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a9818bb1f746ab470b06daffa53f4a3f6">DoMachNotifyNoSenders</a> (notify_port_t notify, mach_port_mscount_t mscount, const mach_msg_trailer_t *trailer)=0</td></tr>
<tr class="memdesc:a9818bb1f746ab470b06daffa53f4a3f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles no-senders notifications sent by <code>mach_notify_no_senders()</code>.  <a href="#a9818bb1f746ab470b06daffa53f4a3f6">More...</a><br /></td></tr>
<tr class="separator:a9818bb1f746ab470b06daffa53f4a3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d4166913a905e3354cc2f689869b0e"><td class="memItemLeft" align="right" valign="top">virtual kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a39d4166913a905e3354cc2f689869b0e">DoMachNotifySendOnce</a> (notify_port_t notify, const mach_msg_trailer_t *trailer)=0</td></tr>
<tr class="memdesc:a39d4166913a905e3354cc2f689869b0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles send-once notifications sent by <code>mach_notify_send_once()</code>.  <a href="#a39d4166913a905e3354cc2f689869b0e">More...</a><br /></td></tr>
<tr class="separator:a39d4166913a905e3354cc2f689869b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14dd1d58279338be03f2d8bcb4cec552"><td class="memItemLeft" align="right" valign="top">virtual kern_return_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a14dd1d58279338be03f2d8bcb4cec552">DoMachNotifyDeadName</a> (notify_port_t notify, mach_port_name_t name, const mach_msg_trailer_t *trailer)=0</td></tr>
<tr class="memdesc:a14dd1d58279338be03f2d8bcb4cec552"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles dead-name notifications sent by <code>mach_notify_dead_name()</code>.  <a href="#a14dd1d58279338be03f2d8bcb4cec552">More...</a><br /></td></tr>
<tr class="separator:a14dd1d58279338be03f2d8bcb4cec552"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An interface that the different request messages that are a part of the <code>notify</code> Mach subsystem can be dispatched to. </p>
<p>Default implementations of all methods are available in the <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html" title="A concrete implementation of Interface that provides a default behavior for all notify routines...">DefaultInterface</a> class. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a14dd1d58279338be03f2d8bcb4cec552"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a14dd1d58279338be03f2d8bcb4cec552">&#9670;&nbsp;</a></span>DoMachNotifyDeadName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual kern_return_t crashpad::NotifyServer::Interface::DoMachNotifyDeadName </td>
          <td>(</td>
          <td class="paramtype">notify_port_t&#160;</td>
          <td class="paramname"><em>notify</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mach_port_name_t&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const mach_msg_trailer_t *&#160;</td>
          <td class="paramname"><em>trailer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles dead-name notifications sent by <code>mach_notify_dead_name()</code>. </p>
<p>A dead-name notification is generated when a port with a dead-name notification request is destroyed and the right becomes a dead name.</p>
<p>This behaves equivalently to a <code>do_mach_notify_dead_name()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The dead name. Although this is transferred as a <code>mach_port_name_t</code> and not a <code>mach_port_t</code>, the callee assumes an additional reference to this port when this method is called. See the note below. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>When a dead-name notification is generated, the user reference count of the dead name is incremented. A send right with one reference that becomes a dead name will have one dead-name reference, and the dead-name notification will add another dead-name reference, for a total of 2. <a class="el" href="classcrashpad_1_1NotifyServer_1_1Interface.html#a14dd1d58279338be03f2d8bcb4cec552" title="Handles dead-name notifications sent by mach_notify_dead_name(). ">DoMachNotifyDeadName()</a> implementations must take care to deallocate this extra reference. There is no <em>destroy_request</em> parameter to simplify this operation because dead-name notifications carry a port name only (<em>name</em> is of type <code>mach_port_name_t</code>) without transferring port rights, and are thus not complex Mach messages. </dd></dl>

<p>Implemented in <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a0373d989a72ee8c37ab4977f8ffb836a">crashpad::NotifyServer::DefaultInterface</a>.</p>

</div>
</div>
<a id="a9818bb1f746ab470b06daffa53f4a3f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9818bb1f746ab470b06daffa53f4a3f6">&#9670;&nbsp;</a></span>DoMachNotifyNoSenders()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual kern_return_t crashpad::NotifyServer::Interface::DoMachNotifyNoSenders </td>
          <td>(</td>
          <td class="paramtype">notify_port_t&#160;</td>
          <td class="paramname"><em>notify</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mach_port_mscount_t&#160;</td>
          <td class="paramname"><em>mscount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const mach_msg_trailer_t *&#160;</td>
          <td class="paramname"><em>trailer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles no-senders notifications sent by <code>mach_notify_no_senders()</code>. </p>
<p>A no-senders notification is generated when a receive right with a no-senders notification request loses its last corresponding send right.</p>
<p>This behaves equivalently to a <code>do_mach_notify_no_senders()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">mscount</td><td>The value of the sender-less port’s make-send count at the time the notification was generated. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#aed9cb9e85f275edd5ee72eca34888188">crashpad::NotifyServer::DefaultInterface</a>.</p>

</div>
</div>
<a id="afb31bdbba0f94be2efa0caff19a89fa4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb31bdbba0f94be2efa0caff19a89fa4">&#9670;&nbsp;</a></span>DoMachNotifyPortDeleted()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual kern_return_t crashpad::NotifyServer::Interface::DoMachNotifyPortDeleted </td>
          <td>(</td>
          <td class="paramtype">notify_port_t&#160;</td>
          <td class="paramname"><em>notify</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mach_port_name_t&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const mach_msg_trailer_t *&#160;</td>
          <td class="paramname"><em>trailer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles port-deleted notifications sent by <code>mach_notify_port_deleted()</code>. </p>
<p>A port-deleted notification is generated when a port with a dead-name notification request is destroyed and the port name becomes available for reuse.</p>
<p>This behaves equivalently to a <code>do_mach_notify_port_deleted()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>The name that formerly referenced the deleted port. When this method is called, <em>name</em> no longer corresponds to the port that has been deleted, and may be reused for another purpose. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a462b8fbfe77693bc77e4dc394d89398f">crashpad::NotifyServer::DefaultInterface</a>.</p>

</div>
</div>
<a id="afd3f056edee7243e1b388aed2dcd6505"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd3f056edee7243e1b388aed2dcd6505">&#9670;&nbsp;</a></span>DoMachNotifyPortDestroyed()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual kern_return_t crashpad::NotifyServer::Interface::DoMachNotifyPortDestroyed </td>
          <td>(</td>
          <td class="paramtype">notify_port_t&#160;</td>
          <td class="paramname"><em>notify</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">mach_port_t&#160;</td>
          <td class="paramname"><em>rights</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const mach_msg_trailer_t *&#160;</td>
          <td class="paramname"><em>trailer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>destroy_request</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles port-destroyed notifications sent by <code>mach_notify_port_destroyed()</code>. </p>
<p>A port-destroyed notification is generated when a receive right with a port-destroyed notification request is destroyed. Rather than destroying the receive right, it is transferred via this notification’s <em>rights</em> parameter.</p>
<p>This behaves equivalently to a <code>do_mach_notify_port_destroyed()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rights</td><td>A receive right for the port that would have been destroyed. The callee takes ownership of this port, however, if the callee does not wish to take ownership, it may set <em>destroy_request</em> to <code>true</code>. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">destroy_request</td><td><code>true</code> if the request message is to be destroyed even when this method returns success. See <a class="el" href="classcrashpad_1_1MachMessageServer_1_1Interface.html" title="A Mach RPC callback interface, called by Run(). ">MachMessageServer::Interface</a>. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a26e577092f3d7289a950545319e29d7f">crashpad::NotifyServer::DefaultInterface</a>.</p>

</div>
</div>
<a id="a39d4166913a905e3354cc2f689869b0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39d4166913a905e3354cc2f689869b0e">&#9670;&nbsp;</a></span>DoMachNotifySendOnce()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual kern_return_t crashpad::NotifyServer::Interface::DoMachNotifySendOnce </td>
          <td>(</td>
          <td class="paramtype">notify_port_t&#160;</td>
          <td class="paramname"><em>notify</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const mach_msg_trailer_t *&#160;</td>
          <td class="paramname"><em>trailer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles send-once notifications sent by <code>mach_notify_send_once()</code>. </p>
<p>A send-once notification is generated when a send-once right is destroyed without being used.</p>
<p>This behaves equivalently to a <code>do_mach_notify_send_once()</code> function used with <code>notify_server()</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notify</td><td>The Mach port that the notification was sent to. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trailer</td><td>The trailer received with the notification message.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Unlike the other notifications in the <code>notify</code> subsystem, send-once notifications are not generated as a result of a notification request, but are generated any time a send-once right is destroyed rather than being used. The notification is sent via the send-once right to its receiver. These notifications are more useful for clients, not servers. Send-once notifications are normally handled by MIG-generated client routines, which make send-once rights for their reply ports and interpret send-once notifications as a signal that there will be no reply. Although not expected to be primarily useful for servers, this method is provided because send-once notifications are defined as a part of the <code>notify</code> subsystem. </dd></dl>

<p>Implemented in <a class="el" href="classcrashpad_1_1NotifyServer_1_1DefaultInterface.html#a3a5e82e6bd51eac1dbff7aac2c7b6bf4">crashpad::NotifyServer::DefaultInterface</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>util/mach/notify_server.h</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
