blob: e4dad8b8386f9a692516dba714b042021ffe140b [file] [log] [blame]
Joe Gregorio1b425aa2012-08-24 12:04:34 -04001<?xml version="1.0" encoding="ascii"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6 <title>oauth2client.gce.AppAssertionCredentials</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
9</head>
10
11<body bgcolor="white" text="black" link="blue" vlink="#204080"
12 alink="#204080">
13<!-- ==================== NAVIGATION BAR ==================== -->
14<table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
16 <tr valign="middle">
17
18 <!-- Tree link -->
19 <th>&nbsp;&nbsp;&nbsp;<a
20 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
21
22 <!-- Index link -->
23 <th>&nbsp;&nbsp;&nbsp;<a
24 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
25
26 <!-- Help link -->
27 <th>&nbsp;&nbsp;&nbsp;<a
28 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
29
30 <th class="navbar" width="100%"></th>
31 </tr>
32</table>
33<table width="100%" cellpadding="0" cellspacing="0">
34 <tr valign="top">
35 <td width="100%">
36 <span class="breadcrumbs">
37 <a href="oauth2client-module.html">Package&nbsp;oauth2client</a> ::
38 <a href="oauth2client.gce-module.html">Module&nbsp;gce</a> ::
39 Class&nbsp;AppAssertionCredentials
40 </span>
41 </td>
42 <td>
43 <table cellpadding="0" cellspacing="0">
44 <!-- hide/show private -->
45 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
46 onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
47 <tr><td align="right"><span class="options"
48 >[<a href="frames.html" target="_top">frames</a
49 >]&nbsp;|&nbsp;<a href="oauth2client.gce.AppAssertionCredentials-class.html"
50 target="_top">no&nbsp;frames</a>]</span></td></tr>
51 </table>
52 </td>
53 </tr>
54</table>
55<!-- ==================== CLASS DESCRIPTION ==================== -->
56<h1 class="epydoc">Class AppAssertionCredentials</h1><p class="nomargin-top"><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials">source&nbsp;code</a></span></p>
57<center>
Joe Gregorio37802c32013-08-06 12:24:05 -040058<center> <map id="uml_class_diagram_for_oauth2cl_40" name="uml_class_diagram_for_oauth2cl_40">
59<area shape="rect" id="node200" href="oauth2client.gce.AppAssertionCredentials-class.html#__init__" title="Constructor for AppAssertionCredentials" alt="" coords="25,420,209,439"/>
60<area shape="rect" id="node200" href="oauth2client.gce.AppAssertionCredentials-class.html#from_json" title="Instantiate a Credentials object from a JSON description of it." alt="" coords="25,439,209,457"/>
61<area shape="rect" id="node1" href="oauth2client.gce.AppAssertionCredentials-class.html" title="Credentials object for Compute Engine Assertion Grants" alt="" coords="13,387,221,463"/>
62<area shape="rect" id="node2" href="oauth2client.client.AssertionCredentials-class.html" title="Abstract Credentials object used for OAuth 2.0 assertion grants." alt="" coords="25,323,207,367"/>
63<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#authorize" title="Authorize an httplib2.Http instance with these credentials." alt="" coords="33,129,200,148"/>
64<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#refresh" title="Forces a refresh of the access_token." alt="" coords="33,148,200,167"/>
65<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#revoke" title="Revokes a refresh_token and makes the credentials void." alt="" coords="33,167,200,185"/>
66<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#apply" title="Add the authorization to the headers." alt="" coords="33,185,200,204"/>
67<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#to_json" title="Creating a JSON representation of an instance of Credentials." alt="" coords="33,204,200,223"/>
68<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired" title="True if the credential is expired or invalid." alt="" coords="33,223,200,241"/>
69<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#set_store" title="Set the Storage for the credential." alt="" coords="33,241,200,260"/>
70<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#__getstate__" title="Trim the state down to something that can be pickled." alt="" coords="33,260,200,279"/>
71<area shape="rect" id="node202" href="oauth2client.client.OAuth2Credentials-class.html#__setstate__" title="Reconstitute the state of the object from being pickled." alt="" coords="33,279,200,297"/>
72<area shape="rect" id="node3" href="oauth2client.client.OAuth2Credentials-class.html" title="Credentials object for OAuth 2.0." alt="" coords="21,97,211,303"/>
73<area shape="rect" id="node203" href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS" title="oauth2client.client.Credentials.NON_SERIALIZED_MEMBERS" alt="" coords="17,31,216,49"/>
74<area shape="rect" id="node203" href="oauth2client.client.Credentials-class.html#new_from_json" title="Utility class method to instantiate a Credentials subclass from a JSON representation produced by to_json()." alt="" coords="17,52,216,71"/>
75<area shape="rect" id="node4" href="oauth2client.client.Credentials-class.html" title="Base class for all Credentials objects." alt="" coords="5,6,227,77"/>
Joe Gregorio1b425aa2012-08-24 12:04:34 -040076</map>
Joe Gregorio37802c32013-08-06 12:24:05 -040077 <img src="uml_class_diagram_for_oauth2cl_40.gif" alt='' usemap="#uml_class_diagram_for_oauth2cl_40" ismap="ismap" class="graph-without-title" />
Joe Gregorio1b425aa2012-08-24 12:04:34 -040078</center>
79</center>
80<hr />
81<pre class="literalblock">
82Credentials object for Compute Engine Assertion Grants
83
84This object will allow a Compute Engine instance to identify itself to
85Google and other OAuth 2.0 servers that can verify assertions. It can be used
86for the purpose of accessing data stored under an account assigned to the
87Compute Engine instance itself.
88
89This credential does not require a flow to instantiate because it represents
90a two legged flow, and therefore has all of the required information to
91generate and refresh its own access tokens.
92
93</pre>
94
95<!-- ==================== INSTANCE METHODS ==================== -->
96<a name="section-InstanceMethods"></a>
97<table class="summary" border="1" cellpadding="3"
98 cellspacing="0" width="100%" bgcolor="white">
99<tr bgcolor="#70b0f0" class="table-header">
100 <td colspan="2" class="table-header">
101 <table border="0" cellpadding="0" cellspacing="0" width="100%">
102 <tr valign="top">
103 <td align="left"><span class="table-header">Instance Methods</span></td>
104 <td align="right" valign="top"
105 ><span class="options">[<a href="#section-InstanceMethods"
106 class="privatelink" onclick="toggle_private();"
107 >hide private</a>]</span></td>
108 </tr>
109 </table>
110 </td>
111</tr>
112<tr>
113 <td width="15%" align="right" valign="top" class="summary">
114 <span class="summary-type">&nbsp;</span>
115 </td><td class="summary">
116 <table width="100%" cellpadding="0" cellspacing="0" border="0">
117 <tr>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400118 <td><span class="summary-sig"><a href="oauth2client.gce.AppAssertionCredentials-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
119 <span class="summary-sig-arg">scope</span>,
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400120 <span class="summary-sig-arg">**kwargs</span>)</span><br />
121 Constructor for AppAssertionCredentials</td>
122 <td align="right" valign="top">
Joe Gregoriof4839b02012-09-06 13:47:24 -0400123 <span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.__init__">source&nbsp;code</a></span>
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400124
125 </td>
126 </tr>
127 </table>
128
129 </td>
130 </tr>
131<tr class="private">
132 <td width="15%" align="right" valign="top" class="summary">
133 <span class="summary-type">&nbsp;</span>
134 </td><td class="summary">
135 <table width="100%" cellpadding="0" cellspacing="0" border="0">
136 <tr>
137 <td><span class="summary-sig"><a href="oauth2client.gce.AppAssertionCredentials-class.html#_refresh" class="summary-sig-name" onclick="show_private();">_refresh</a>(<span class="summary-sig-arg">self</span>,
138 <span class="summary-sig-arg">http_request</span>)</span><br />
139 Refreshes the access_token.</td>
140 <td align="right" valign="top">
141 <span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials._refresh">source&nbsp;code</a></span>
142
143 </td>
144 </tr>
145 </table>
146
147 </td>
148 </tr>
149 <tr>
150 <td colspan="2" class="summary">
151 <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.AssertionCredentials-class.html">client.AssertionCredentials</a></code></b> (private):
152 <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_assertion" onclick="show_private();">_generate_assertion</a></code>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500153 <code><a href="oauth2client.client.AssertionCredentials-class.html#_generate_refresh_request_body" onclick="show_private();">_generate_refresh_request_body</a></code>,
154 <code><a href="oauth2client.client.AssertionCredentials-class.html#_revoke" onclick="show_private();">_revoke</a></code>
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400155 </p></div>
156 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">client.OAuth2Credentials</a></code></b>:
157 <code><a href="oauth2client.client.OAuth2Credentials-class.html#__getstate__">__getstate__</a></code>,
158 <code><a href="oauth2client.client.OAuth2Credentials-class.html#__setstate__">__setstate__</a></code>,
Joe Gregoriof4839b02012-09-06 13:47:24 -0400159 <code><a href="oauth2client.client.OAuth2Credentials-class.html#access_token_expired">access_token_expired</a></code>,
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400160 <code><a href="oauth2client.client.OAuth2Credentials-class.html#apply">apply</a></code>,
161 <code><a href="oauth2client.client.OAuth2Credentials-class.html#authorize">authorize</a></code>,
162 <code><a href="oauth2client.client.OAuth2Credentials-class.html#refresh">refresh</a></code>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500163 <code><a href="oauth2client.client.OAuth2Credentials-class.html#revoke">revoke</a></code>,
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400164 <code><a href="oauth2client.client.OAuth2Credentials-class.html#set_store">set_store</a></code>,
165 <code><a href="oauth2client.client.OAuth2Credentials-class.html#to_json">to_json</a></code>
166 </p>
167 <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.OAuth2Credentials-class.html">client.OAuth2Credentials</a></code></b> (private):
168 <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_refresh_request" onclick="show_private();">_do_refresh_request</a></code>,
Joe Gregorio41be8e82013-03-07 10:31:47 -0500169 <code><a href="oauth2client.client.OAuth2Credentials-class.html#_do_revoke" onclick="show_private();">_do_revoke</a></code>,
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400170 <code><a href="oauth2client.client.OAuth2Credentials-class.html#_generate_refresh_request_headers" onclick="show_private();">_generate_refresh_request_headers</a></code>,
171 <code><a href="oauth2client.client.OAuth2Credentials-class.html#_updateFromCredential" onclick="show_private();">_updateFromCredential</a></code>
172 </p></div>
173 <div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b> (private):
174 <code><a href="oauth2client.client.Credentials-class.html#_to_json" onclick="show_private();">_to_json</a></code>
175 </p></div>
176 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
177 <code>__delattr__</code>,
178 <code>__format__</code>,
179 <code>__getattribute__</code>,
180 <code>__hash__</code>,
181 <code>__new__</code>,
182 <code>__reduce__</code>,
183 <code>__reduce_ex__</code>,
184 <code>__repr__</code>,
185 <code>__setattr__</code>,
186 <code>__sizeof__</code>,
187 <code>__str__</code>,
188 <code>__subclasshook__</code>
189 </p>
190 </td>
191 </tr>
192</table>
193<!-- ==================== CLASS METHODS ==================== -->
194<a name="section-ClassMethods"></a>
195<table class="summary" border="1" cellpadding="3"
196 cellspacing="0" width="100%" bgcolor="white">
197<tr bgcolor="#70b0f0" class="table-header">
198 <td colspan="2" class="table-header">
199 <table border="0" cellpadding="0" cellspacing="0" width="100%">
200 <tr valign="top">
201 <td align="left"><span class="table-header">Class Methods</span></td>
202 <td align="right" valign="top"
203 ><span class="options">[<a href="#section-ClassMethods"
204 class="privatelink" onclick="toggle_private();"
205 >hide private</a>]</span></td>
206 </tr>
207 </table>
208 </td>
209</tr>
210<tr>
211 <td width="15%" align="right" valign="top" class="summary">
212 <span class="summary-type">&nbsp;</span>
213 </td><td class="summary">
214 <table width="100%" cellpadding="0" cellspacing="0" border="0">
215 <tr>
216 <td><span class="summary-sig"><a href="oauth2client.gce.AppAssertionCredentials-class.html#from_json" class="summary-sig-name">from_json</a>(<span class="summary-sig-arg">cls</span>,
217 <span class="summary-sig-arg">json</span>)</span><br />
218 Instantiate a Credentials object from a JSON description of it.</td>
219 <td align="right" valign="top">
220 <span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.from_json">source&nbsp;code</a></span>
221
222 </td>
223 </tr>
224 </table>
225
226 </td>
227 </tr>
228 <tr>
229 <td colspan="2" class="summary">
230 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b>:
231 <code><a href="oauth2client.client.Credentials-class.html#new_from_json">new_from_json</a></code>
232 </p>
233 </td>
234 </tr>
235</table>
236<!-- ==================== CLASS VARIABLES ==================== -->
237<a name="section-ClassVariables"></a>
238<table class="summary" border="1" cellpadding="3"
239 cellspacing="0" width="100%" bgcolor="white">
240<tr bgcolor="#70b0f0" class="table-header">
241 <td colspan="2" class="table-header">
242 <table border="0" cellpadding="0" cellspacing="0" width="100%">
243 <tr valign="top">
244 <td align="left"><span class="table-header">Class Variables</span></td>
245 <td align="right" valign="top"
246 ><span class="options">[<a href="#section-ClassVariables"
247 class="privatelink" onclick="toggle_private();"
248 >hide private</a>]</span></td>
249 </tr>
250 </table>
251 </td>
252</tr>
253 <tr>
254 <td colspan="2" class="summary">
255 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="oauth2client.client.Credentials-class.html">client.Credentials</a></code></b>:
256 <code><a href="oauth2client.client.Credentials-class.html#NON_SERIALIZED_MEMBERS">NON_SERIALIZED_MEMBERS</a></code>
257 </p>
258 </td>
259 </tr>
260</table>
261<!-- ==================== PROPERTIES ==================== -->
262<a name="section-Properties"></a>
263<table class="summary" border="1" cellpadding="3"
264 cellspacing="0" width="100%" bgcolor="white">
265<tr bgcolor="#70b0f0" class="table-header">
266 <td colspan="2" class="table-header">
267 <table border="0" cellpadding="0" cellspacing="0" width="100%">
268 <tr valign="top">
269 <td align="left"><span class="table-header">Properties</span></td>
270 <td align="right" valign="top"
271 ><span class="options">[<a href="#section-Properties"
272 class="privatelink" onclick="toggle_private();"
273 >hide private</a>]</span></td>
274 </tr>
275 </table>
276 </td>
277</tr>
278 <tr>
279 <td colspan="2" class="summary">
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400280 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
281 <code>__class__</code>
282 </p>
283 </td>
284 </tr>
285</table>
286<!-- ==================== METHOD DETAILS ==================== -->
287<a name="section-MethodDetails"></a>
288<table class="details" border="1" cellpadding="3"
289 cellspacing="0" width="100%" bgcolor="white">
290<tr bgcolor="#70b0f0" class="table-header">
291 <td colspan="2" class="table-header">
292 <table border="0" cellpadding="0" cellspacing="0" width="100%">
293 <tr valign="top">
294 <td align="left"><span class="table-header">Method Details</span></td>
295 <td align="right" valign="top"
296 ><span class="options">[<a href="#section-MethodDetails"
297 class="privatelink" onclick="toggle_private();"
298 >hide private</a>]</span></td>
299 </tr>
300 </table>
301 </td>
302</tr>
303</table>
304<a name="__init__"></a>
305<div>
306<table class="details" border="1" cellpadding="3"
307 cellspacing="0" width="100%" bgcolor="white">
308<tr><td>
309 <table width="100%" cellpadding="0" cellspacing="0" border="0">
310 <tr valign="top"><td>
Joe Gregoriof4839b02012-09-06 13:47:24 -0400311 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
312 <span class="sig-arg">scope</span>,
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400313 <span class="sig-arg">**kwargs</span>)</span>
314 <br /><em class="fname">(Constructor)</em>
315 </h3>
316 </td><td align="right" valign="top"
Joe Gregoriof4839b02012-09-06 13:47:24 -0400317 ><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.__init__">source&nbsp;code</a></span>&nbsp;
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400318 </td>
319 </tr></table>
320
321 <pre class="literalblock">
322Constructor for AppAssertionCredentials
323
324Args:
Joe Gregorio52a5c532013-01-24 16:19:07 -0500325 scope: string or iterable of strings, scope(s) of the credentials being
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400326 requested.
327
328</pre>
329 <dl class="fields">
330 <dt>Decorators:</dt>
331 <dd><ul class="nomargin-top">
332 <li><code>@util.positional(2)</code></li>
333 </ul></dd>
334 <dt>Overrides:
335 object.__init__
336 </dt>
337 </dl>
338</td></tr></table>
339</div>
340<a name="from_json"></a>
341<div>
342<table class="details" border="1" cellpadding="3"
343 cellspacing="0" width="100%" bgcolor="white">
344<tr><td>
345 <table width="100%" cellpadding="0" cellspacing="0" border="0">
346 <tr valign="top"><td>
347 <h3 class="epydoc"><span class="sig"><span class="sig-name">from_json</span>(<span class="sig-arg">cls</span>,
348 <span class="sig-arg">json</span>)</span>
349 <br /><em class="fname">Class Method</em>
350 </h3>
351 </td><td align="right" valign="top"
352 ><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials.from_json">source&nbsp;code</a></span>&nbsp;
353 </td>
354 </tr></table>
355
356 <pre class="literalblock">
357Instantiate a Credentials object from a JSON description of it. The JSON
358should have been produced by calling .to_json() on the object.
359
360Args:
361 data: dict, A deserialized JSON object.
362
363Returns:
364 An instance of a Credentials subclass.
365
366</pre>
367 <dl class="fields">
368 <dt>Overrides:
369 <a href="oauth2client.client.Credentials-class.html#from_json">client.Credentials.from_json</a>
370 <dd><em class="note">(inherited documentation)</em></dd>
371 </dt>
372 </dl>
373</td></tr></table>
374</div>
375<a name="_refresh"></a>
376<div class="private">
377<table class="details" border="1" cellpadding="3"
378 cellspacing="0" width="100%" bgcolor="white">
379<tr><td>
380 <table width="100%" cellpadding="0" cellspacing="0" border="0">
381 <tr valign="top"><td>
382 <h3 class="epydoc"><span class="sig"><span class="sig-name">_refresh</span>(<span class="sig-arg">self</span>,
383 <span class="sig-arg">http_request</span>)</span>
384 </h3>
385 </td><td align="right" valign="top"
386 ><span class="codelink"><a href="oauth2client.gce-pysrc.html#AppAssertionCredentials._refresh">source&nbsp;code</a></span>&nbsp;
387 </td>
388 </tr></table>
389
390 <pre class="literalblock">
391Refreshes the access_token.
392
393Skip all the storage hoops and just refresh using the API.
394
395Args:
396 http_request: callable, a callable that matches the method signature of
397 httplib2.Http.request, used to make the refresh request.
398
399Raises:
400 AccessTokenRefreshError: When the refresh fails.
401
402</pre>
403 <dl class="fields">
404 <dt>Overrides:
405 <a href="oauth2client.client.OAuth2Credentials-class.html#_refresh" onclick="show_private();">client.OAuth2Credentials._refresh</a>
406 </dt>
407 </dl>
408</td></tr></table>
409</div>
410<br />
411<!-- ==================== NAVIGATION BAR ==================== -->
412<table class="navbar" border="0" width="100%" cellpadding="0"
413 bgcolor="#a0c0ff" cellspacing="0">
414 <tr valign="middle">
415
416 <!-- Tree link -->
417 <th>&nbsp;&nbsp;&nbsp;<a
418 href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
419
420 <!-- Index link -->
421 <th>&nbsp;&nbsp;&nbsp;<a
422 href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
423
424 <!-- Help link -->
425 <th>&nbsp;&nbsp;&nbsp;<a
426 href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
427
428 <th class="navbar" width="100%"></th>
429 </tr>
430</table>
431<table border="0" cellpadding="0" cellspacing="0" width="100%%">
432 <tr>
433 <td align="left" class="footer">
Joe Gregorio37802c32013-08-06 12:24:05 -0400434 Generated by Epydoc 3.0.1 on Tue Aug 6 12:16:46 2013
Joe Gregorio1b425aa2012-08-24 12:04:34 -0400435 </td>
436 <td align="right" class="footer">
437 <a target="mainFrame" href="http://epydoc.sourceforge.net"
438 >http://epydoc.sourceforge.net</a>
439 </td>
440 </tr>
441</table>
442
443<script type="text/javascript">
444 <!--
445 // Private objects are initially displayed (because if
446 // javascript is turned off then we want them to be
447 // visible); but by default, we want to hide them. So hide
448 // them unless we have a cookie that says to show them.
449 checkCookie();
450 // -->
451</script>
452</body>
453</html>