<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 *
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<p><span class="weinre">weinre</span> is shipped as two archives
available at
<a href="https://github.com/callback/callback-weinre/archives/master">https://github.com/callback/callback-weinre/archives/master</a>

<ul class="spaced">

<li><b><tt>weinre-jar-x.y.z.zip</tt></b>
<br>This archive includes a Java .jar file.

<li><b><tt>weinre-mac-x.y.z.zip</tt></b>
<br>This archive includes a Mac OS X application.

</ul>

<p>Install the .jar and/or Mac OS X application wherever you wish.
At runtime, the .jar file is not sensive to the directory
it is installed in, or the current directory when it's launched.
