1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
|
<html>
<head>
<title>repl-utils - clojure-contrib next API documentation</title>
<link href="../static/favicon.png" rel="icon" />
<link href="../static/favicon.png" rel="shortcut icon" />
<link media="all" type="text/css" href="../static/clojure.css" rel="stylesheet" />
<link media="all" type="text/css" href="../static/wiki.css" rel="stylesheet" />
<link media="all" type="text/css" href="../static/internal.css" rel="stylesheet" />
<!-- TODO: are we using these (from clojure.org)? If so, add the files -->
<script src="file/view/code_highlighter.js" type="text/javascript"></script>
<script src="file/view/clojure.js" type="text/javascript"></script>
<style>.menuWrapper{height: 36px;}</style>
<!--[if lte IE 6]>
<link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" />
<![endif]-->
</head>
<!--
This document was auto-generated from the source by the clojure autodoc system.
To report errors or ask questions about the overall documentation structure, formatting,
etc., contact Tom Faulhaber (google mail name: tomfaulhaber).
For errors in the documentation of a particular namespace, contact the author of that
namespace.
-->
<body>
<div id="AllContentContainer">
<div id="Header">
<a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a>
<h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1>
</div>
<div id="leftcolumn"><div style="text-align: center;"></div>
<div class="menu">
<div class="WikiCustomNav WikiElement wiki">
<span class="toc-header"><span id="project-name">clojure-contrib</span> <span id="version">next</span> API</span><br />
<ul>
<li><a class="wiki_link" href="index.html">Overview</a></li>
<li><a class="wiki_link" href="api-index.html">API Index</a></li>
</ul>
<span class="toc-header">Namespaces</span>
<ul id="left-sidebar-list">
<li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="priority-map-api.html" class="wiki_link">priority-map</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-complex-numbers-api.html" class="wiki_link">test-complex-numbers</a></li><li><a href="test-core-api.html" class="wiki_link">test-core</a></li><li><a href="test-dataflow-api.html" class="wiki_link">test-dataflow</a></li><li><a href="test-def-api.html" class="wiki_link">test-def</a></li><li><a href="test-fnmap-api.html" class="wiki_link">test-fnmap</a></li><li><a href="test-graph-api.html" class="wiki_link">test-graph</a></li><li><a href="test-greatest-least-api.html" class="wiki_link">test-greatest-least</a></li><li><a href="test-io-api.html" class="wiki_link">test-io</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="test-jmx-api.html" class="wiki_link">test-jmx</a></li><li><a href="test-json-api.html" class="wiki_link">test-json</a></li><li><a href="test-lazy-seqs-api.html" class="wiki_link">test-lazy-seqs</a></li><li><a href="test-logging-api.html" class="wiki_link">test-logging</a></li><li><a href="test-macro-utils-api.html" class="wiki_link">test-macro-utils</a></li><li><a href="test-math-api.html" class="wiki_link">test-math</a></li><li><a href="test-miglayout-api.html" class="wiki_link">test-miglayout</a></li><li><a href="test-mock-api.html" class="wiki_link">test-mock</a></li><li><a href="test-monads-api.html" class="wiki_link">test-monads</a></li><li><a href="test-profile-api.html" class="wiki_link">test-profile</a></li><li><a href="test-properties-api.html" class="wiki_link">test-properties</a></li><li><a href="test-prxml-api.html" class="wiki_link">test-prxml</a></li><li><a href="test-repl-utils-api.html" class="wiki_link">test-repl-utils</a></li><li><a href="test-seq-api.html" class="wiki_link">test-seq</a></li><li><a href="test-shell-api.html" class="wiki_link">test-shell</a></li><li><a href="test-sql-api.html" class="wiki_link">test-sql</a></li><li><a href="test-string-api.html" class="wiki_link">test-string</a></li><li><a href="test-strint-api.html" class="wiki_link">test-strint</a></li><li><a href="test-trace-api.html" class="wiki_link">test-trace</a></li><li><a href="test-with-ns-api.html" class="wiki_link">test-with-ns</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li>
</ul>
<div class="BranchTOC">
<span class="toc-header">Other Versions</span>
<ul id="left-sidebar-branch-list">
<li><a href="../index.html" class="wiki_link">v1.2 (stable)</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">v1.1 (stable)</a></li>
</ul>
</div>
<a href="http://clojure.org" class="wiki_link">Clojure Home</a>
</div>
</div>
</div>
<div id="rightcolumn">
<div id="Content">
<div class="contentBox"><div class="innerContentBox">
<div id="content_view" class="wiki wikiPage">
<div id="right-sidebar"><div id="toc">
<h1 class="nopad">Table of Contents</h1>
<div style="margin-left: 1em;" class="toc-section">
<a href="#toc0">Overview</a>
<div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/*local-javadocs*">*local-javadocs*</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/*remote-javadocs*">*remote-javadocs*</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/add-break-thread!">add-break-thread!</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/add-local-javadoc">add-local-javadoc</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/add-remote-javadoc">add-remote-javadoc</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/apropos">apropos</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/break-threads">break-threads</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/expression-info">expression-info</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/find-javadoc-url">find-javadoc-url</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/get-source">get-source</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/javadoc">javadoc</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/run">run</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/run*">run*</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/show">show</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/source">source</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#clojure.contrib.repl-utils/start-handling-break">start-handling-break</a>
</div>
<br />
</div>
</div>
</div>
<div id="content-tag"><h1 id="overview">API for <span id="namespace-name">repl-utils</span>
- <span id="header-project">clojure-contrib</span> <span id="header-version">next</span> (<span id="header-status">in development</span>)
</h1>
<span id="author-line">by <span id="author-name">Chris Houser, Christophe Grand, Stephen Gilardi, Michel Salim</span><br /></span>
<br />Usage:
<pre>
(ns your-namespace
(:require <span id="long-name">clojure.contrib.repl-utils</span>))
</pre><pre>
</pre><h2>Overview</h2>
<pre id="namespace-docstr">Utilities meant to be used interactively at the REPL</pre>
<br />
<h2>Public Variables and Functions</h2>
<div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/*local-javadocs*">*local-javadocs*</h2>
<span id="var-type">var</span><br />
<pre id="var-usage"></pre>
<pre id="var-docstr">Ref to a list of local paths for Javadoc-generated HTML
files.</pre>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/*remote-javadocs*">*remote-javadocs*</h2>
<span id="var-type">var</span><br />
<pre id="var-usage"></pre>
<pre id="var-docstr">Ref to a map from package name prefixes to URLs for remote
Javadocs.</pre>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/add-break-thread!">add-break-thread!</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (add-break-thread!)
(add-break-thread! t)
</pre>
<pre id="var-docstr">Add the given thread to break-threads so that it will be stopped
any time the user presses Ctrl-C. Calls start-handling-break for
you. Adds the current thread if none is given.</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L168" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/add-local-javadoc">add-local-javadoc</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (add-local-javadoc path)
</pre>
<pre id="var-docstr">Adds to the list of local Javadoc paths.</pre>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/add-remote-javadoc">add-remote-javadoc</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (add-remote-javadoc package-prefix url)
</pre>
<pre id="var-docstr">Adds to the list of remote Javadoc URLs. package-prefix is the
beginning of the package name that has docs at this URL.</pre>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/apropos">apropos</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (apropos str-or-pattern)
</pre>
<pre id="var-docstr">Given a regular expression or stringable thing, return a seq of
all definitions in all currently-loaded namespaces that match the
str-or-pattern.</pre>
<span class="var-deprecated"><span id="content">Deprecated since clojure-contrib version 1.2</span><br /></span>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L133" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/break-threads">break-threads</h2>
<span id="var-type">var</span><br />
<pre id="var-usage"></pre>
<pre id="var-docstr">Threads to stop when Ctrl-C is pressed. See 'add-break-thread!'</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L149" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/expression-info">expression-info</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (expression-info expr)
</pre>
<pre id="var-docstr">Uses the Clojure compiler to analyze the given s-expr. Returns
a map with keys :class and :primitive? indicating what the compiler
concluded about the return value of the expression. Returns nil if
not type info can be determined at compile-time.
Example: (expression-info '(+ (int 5) (float 10)))
Returns: {:class float, :primitive? true}</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L181" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/find-javadoc-url">find-javadoc-url</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (find-javadoc-url classname)
</pre>
<pre id="var-docstr">Searches for a URL for the given class name. Tries
*local-javadocs* first, then *remote-javadocs*. Returns a string.</pre>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/get-source">get-source</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (get-source x)
</pre>
<pre id="var-docstr">Returns a string of the source code for the given symbol, if it can
find it. This requires that the symbol resolve to a Var defined in
a namespace for which the .clj is in the classpath. Returns nil if
it can't find the source. For most REPL usage, 'source' is more
convenient.
Example: (get-source 'filter)</pre>
<span class="var-deprecated"><span id="content">Deprecated since clojure-contrib version 1.2</span><br /></span>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L100" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/javadoc">javadoc</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (javadoc class-or-object)
</pre>
<pre id="var-docstr">Opens a browser window displaying the javadoc for the argument.
Tries *local-javadocs* first, then *remote-javadocs*.</pre>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/run">run</h2>
<span id="var-type">macro</span><br />
<pre id="var-usage">Usage: (run ns-name & args)
</pre>
<pre id="var-docstr">Loads the specified namespace and invokes its "main" function with
optional args. ns-name is not evaluated.</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L206" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/run*">run*</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (run* ns-sym & args)
</pre>
<pre id="var-docstr">Loads the specified namespace and invokes its "main" function with
optional args.</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L199" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/show">show</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (show x)
(show x selector)
</pre>
<pre id="var-docstr">With one arg prints all static and instance members of x or (class x).
Each member is listed with a number which can be given as 'selector'
to return the member object -- the REPL will print more details for
that member.
The selector also may be a string or regex, in which case only
members whose names match 'selector' as a case-insensitive regex
will be printed.
Finally, the selector also may be a predicate, in which case only
members for which the predicate returns true will be printed. The
predicate will be passed a single argument, a map that includes the
:text that will be printed and the :member object itself, as well as
all the properies of the member object as translated by 'bean'.
Examples: (show Integer) (show []) (show String 23) (show String "case")</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L62" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/source">source</h2>
<span id="var-type">macro</span><br />
<pre id="var-usage">Usage: (source n)
</pre>
<pre id="var-docstr">Prints the source code for the given symbol, if it can find it.
This requires that the symbol resolve to a Var defined in a
namespace for which the .clj is in the classpath.
Example: (source filter)</pre>
<span class="var-deprecated"><span id="content">Deprecated since clojure-contrib version 1.2</span><br /></span>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L123" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
<h2 id="clojure.contrib.repl-utils/start-handling-break">start-handling-break</h2>
<span id="var-type">function</span><br />
<pre id="var-usage">Usage: (start-handling-break)
</pre>
<pre id="var-docstr">Register INT signal handler. After calling this, Ctrl-C will cause
all break-threads to be stopped. See 'add-break-thread!'</pre>
<a href="http://github.com/clojure/clojure-contrib/blob//modules/repl-utils/target/classes/clojure/contrib/repl_utils.clj#L153" id="var-source">Source</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="foot">
<div style="text-align: center;" id="copyright">Copyright 2007-2010 by Rich Hickey and the various contributors</div>
</div>
</div>
<div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br />
Clojure auto-documentation system by Tom Faulhaber.</div>
</div>
<!-- /AllContentContainer -->
</body>
</html>
|