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
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
|
<!DOCTYPE html>
<!--[if IE 6]>
<html id="ie6" dir="ltr" lang="en-US">
<![endif]-->
<!--[if IE 7]>
<html id="ie7" dir="ltr" lang="en-US">
<![endif]-->
<!--[if IE 8]>
<html id="ie8" dir="ltr" lang="en-US">
<![endif]-->
<!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!-->
<html dir="ltr" lang="en-US">
<!--<![endif]-->
<head>
<link rel="shortcut icon" href="/favicon.ico" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<title>
Spark News Archive | Apache Spark
</title>
<link rel="stylesheet" type="text/css" media="all" href="/css/style.css" />
<link rel="stylesheet" href="/css/pygments-default.css">
<script type="text/javascript">
<!-- Google Analytics initialization -->
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-32518208-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
<!-- Adds slight delay to links to allow async reporting -->
function trackOutboundLink(link, category, action) {
try {
_gaq.push(['_trackEvent', category , action]);
} catch(err){}
setTimeout(function() {
document.location.href = link.href;
}, 100);
}
</script>
<link rel='canonical' href='/index.html' />
<style type="text/css">
#site-title,
#site-description {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
}
</style>
<style type="text/css" id="custom-background-css">
body.custom-background { background-color: #f1f1f1; }
</style>
</head>
<!--body class="page singular"-->
<body class="archive">
<div id="page" class="hfeed">
<header id="branding" role="banner">
<hgroup>
<h1 id="site-title"><span><a href="/" title="Spark" rel="home">Spark</a></span></h1>
<h2 id="site-description">Lightning-Fast Cluster Computing</h2>
</hgroup>
<a href="/">
<img src="/images/spark-project-header1.png" width="1000" height="220" alt="Spark: Lightning-Fast Cluster Computing" title="Spark: Lightning-Fast Cluster Computing" />
</a>
<nav id="access" role="navigation">
<h3 class="assistive-text">Main menu</h3>
<div class="menu-main-menu-container">
<ul id="menu-main-menu" class="menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/index.html">Home</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/downloads.html">Downloads</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/documentation.html">Documentation</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/examples.html">Examples</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/mailing-lists.html">Mailing Lists</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/research.html">Research</a>
</li>
<li class="menu-item menu-item-type-post_type menu-item-object-page ">
<a href="/faq.html">FAQ</a>
</li>
</ul></div>
</nav><!-- #access -->
</header><!-- #branding -->
<div id="main">
<div id="primary">
<div id="content" role="main">
<h2 id="spark-news-archive">Spark News Archive</h2>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/announcing-the-first-spark-summit.html">Announcing the first Spark Summit: December 2, 2013</a></h1>
<div class="entry-meta">October 08, 2013</div>
</header>
<div class="entry-content"><p>We are excited to announce the <b><a href="http://www.spark-summit.org">first Spark Summit</a> on Dec 2, 2013 in Downtown San Francisco</b>. Come hear from key production users of Spark, Shark, Spark Streaming and related projects. Also find out where the development is going, and learn how to use the Spark stack in a variety of applications. The summit is being organized and sponsored by leading organizations in the Spark community.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-0-8-0-released.html">Spark 0.8.0 released</a></h1>
<div class="entry-meta">September 25, 2013</div>
</header>
<div class="entry-content"><p>We’re proud to announce the release of <a href="/releases/spark-release-0-8-0.html" title="Spark Release 0.8.0">Apache Spark 0.8.0</a>. Spark 0.8.0 is a major release that includes many new capabilities and usability improvements. It’s also our first release under the Apache incubator. It is the largest Spark release yet, with contributions from 67 developers and 24 companies. Major new features include an expanded monitoring framework and UI, a machine learning library, and support for running Spark inside of YARN.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-user-survey-and-powered-by-page.html">Spark user survey and "Powered By" page</a></h1>
<div class="entry-meta">September 05, 2013</div>
</header>
<div class="entry-content"><p>As we continue developing Spark, we would love to get feedback from users and hear what you’d like us to work on next. We’ve decided that a good way to do that is a survey – we hope to run this at regular intervals. If you have a few minutes to participate, <a href="https://docs.google.com/forms/d/1eMXp4GjcIXglxJe5vYYBzXKVm-6AiYt1KThJwhCjJiY/viewform">fill in the survey here</a>. Your time is greatly appreciated.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/fourth-spark-screencast-published.html">Fourth Spark screencast released</a></h1>
<div class="entry-meta">August 27, 2013</div>
</header>
<div class="entry-content"><p>We have released the next screencast, <a href="/screencasts/4-a-standalone-job-in-spark.html">A Standalone Job in Scala</a> that takes you beyond the Spark shell, helping you write your first standalone Spark job.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/amp-camp-2013-registration-ope.html">Registration open for AMP Camp training camp in Berkeley</a></h1>
<div class="entry-meta">July 23, 2013</div>
</header>
<div class="entry-content"><p>Want to learn how to use Spark, Shark, GraphX, and related technologies in person? The AMP Lab is hosting a two-day training workshop for them on August 29th and 30th in Berkeley. The workshop will include tutorials, talks from users, and over four hours of hands-on exercises. <a href="http://ampcamp.berkeley.edu/amp-camp-three-berkeley-2013/">Registration is now open on the AMP Camp website</a>, for a price of $250 per person. We recommend signing up early because last year’s workshop was sold out.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-mailing-lists-moving-to-apache.html">Spark mailing lists moving to Apache</a></h1>
<div class="entry-meta">July 22, 2013</div>
</header>
<div class="entry-content"><p>As part of the Spark project's recent move to Apache, we are planning to migrate the mailing lists to Apache infrastructure this month, so that <strong>the existing Google groups will become read-only on September 1, 2013</strong>. To keep receiving updates about Spark or to participate in development discussions, please subscribe to the following lists:</p>
<ul>
<li>
<a href="http://mail-archives.apache.org/mod_mbox/incubator-spark-user/">user@spark.incubator.apache.org</a> -- for usage questions, help, and announcements. <a href="mailto:user-subscribe@spark.incubator.apache.org?subject=(send%20this%20email%20to%20subscribe)">(subscribe)</a> <a href="http://mail-archives.apache.org/mod_mbox/incubator-spark-user/">(archives)</a>
</li>
<li>
<a href="http://mail-archives.apache.org/mod_mbox/incubator-spark-dev/">dev@spark.incubator.apache.org</a> -- for people who want to contribute code to Spark. <a href="mailto:dev-subscribe@spark.incubator.apache.org?subject=(send%20this%20email%20to%20subscribe)">(subscribe)</a> <a href="http://mail-archives.apache.org/mod_mbox/incubator-spark-dev/">(archives)</a>
</li>
</ul>
<p>Most users will probably want the User list, but individuals interested in contributing code to the project should also subscribe to the Dev list.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-0-7-3-released.html">Spark 0.7.3 released</a></h1>
<div class="entry-meta">July 16, 2013</div>
</header>
<div class="entry-content"><p>We’ve just posted <a href="/releases/spark-release-0-7-3.html" title="Spark Release 0.7.3">Spark Release 0.7.3</a>, a maintenance release that contains several fixes, including streaming API updates and new functionality for adding JARs to a <code>spark-shell</code> session. We recommend that all users update to this release. Visit the <a href="/releases/spark-release-0-7-3.html" title="Spark Release 0.7.3">release notes</a> to read about the new features, or <a href="/downloads.html">download</a> the release today.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-featured-in-wired.html">Spark featured in Wired</a></h1>
<div class="entry-meta">June 21, 2013</div>
</header>
<div class="entry-content"><p>Spark, its creators at the AMP Lab, and some of its users were featured in a <a href="http://www.wired.com/wiredenterprise/2013/06/yahoo-amazon-amplab-spark/all/">Wired Enterprise article</a> a few days ago. Read on to learn a little about how Spark is being used in industry.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-accepted-into-apache-incubator.html">Spark accepted into Apache Incubator</a></h1>
<div class="entry-meta">June 21, 2013</div>
</header>
<div class="entry-content"><p>Spark was recently <a href="http://mail-archives.apache.org/mod_mbox/incubator-general/201306.mbox/%3CCDE7B773.E9A48%25chris.a.mattmann%40jpl.nasa.gov%3E">accepted</a> into the <a href="http://incubator.apache.org">Apache Incubator</a>, which will serve as the long-term home for the project. While moving the source code and issue tracking to Apache will take some time, we are excited to be joining the community at Apache. Stay tuned on this site for updates on how the project hosting will change.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-0-7-2-released.html">Spark 0.7.2 released</a></h1>
<div class="entry-meta">June 02, 2013</div>
</header>
<div class="entry-content"><p>We’re happy to announce the release of <a href="/releases/spark-release-0-7-2.html" title="Spark Release 0.7.2">Spark 0.7.2</a>, a new maintenance release that includes several bug fixes and improvements, as well as new code examples and API features. We recommend that all users update to this release. Head over to the <a href="/releases/spark-release-0-7-2.html" title="Spark Release 0.7.2">release notes</a> to read about the new features, or <a href="/downloads.html">download</a> the release today.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-screencasts-published.html">Spark screencasts published</a></h1>
<div class="entry-meta">April 16, 2013</div>
</header>
<div class="entry-content"><p>We have released the first two screencasts in a series of short hands-on video training courses we will be publishing to help new users get up and running with Spark in minutes.</p>
<p>The first Spark screencast is called <a href="/screencasts/1-first-steps-with-spark.html">First Steps With Spark</a> and walks you through downloading and building Spark, as well as using the Spark shell, all in less than 10 minutes!</p>
<p>The second screencast is a 2 minute <a href="/screencasts/2-spark-documentation-overview.html">overview of the Spark documentation</a>.</p>
<p>We hope you find these screencasts useful.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/strata-exercises-now-available-online.html">Strata exercises now available online</a></h1>
<div class="entry-meta">March 17, 2013</div>
</header>
<div class="entry-content"><p>At this year’s <a href="http://strataconf.com/strata2013">Strata</a> conference, the AMP Lab hosted a full day of tutorials on Spark, Shark, and Spark Streaming, including online exercises on Amazon EC2. Those exercises are now <a href="http://ampcamp.berkeley.edu/big-data-mini-course/">available online</a>, letting you learn Spark and Shark at your own pace on an EC2 cluster with real data. They are a great resource for learning the systems. You can also find <a href="http://ampcamp.berkeley.edu/amp-camp-two-strata-2013/">slides</a> from the Strata tutorials online, as well as <a href="http://ampcamp.berkeley.edu/amp-camp-one-berkeley-2012/">videos</a> from the AMP Camp workshop we held at Berkeley in August.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-0-7-0-released.html">Spark 0.7.0 released</a></h1>
<div class="entry-meta">February 27, 2013</div>
</header>
<div class="entry-content"><p>We’re proud to announce the release of <a href="/releases/spark-release-0-7-0.html" title="Spark Release 0.7.0">Spark 0.7.0</a>, a new major version of Spark that adds several key features, including a <a href="/docs/latest/python-programming-guide.html">Python API</a> for Spark and an <a href="/docs/latest/streaming-programming-guide.html">alpha of Spark Streaming</a>. This release is the result of the largest group of contributors yet behind a Spark release – 31 contributors from inside and outside Berkeley. Head over to the <a href="/releases/spark-release-0-7-0.html" title="Spark Release 0.7.0">release notes</a> to read more about the new features, or <a href="/downloads.html">download</a> the release today.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/run-spark-and-shark-on-amazon-emr.html">Spark/Shark Tutorial for Amazon EMR</a></h1>
<div class="entry-meta">February 24, 2013</div>
</header>
<div class="entry-content"><p>This weekend, Amazon posted an <a href="http://aws.amazon.com/articles/Elastic-MapReduce/4926593393724923">article</a> and code that make it easy to launch Spark and Shark on Elastic MapReduce. The article includes examples of how to run both interactive Scala commands and SQL queries from Shark on data in S3. Head over to the <a href="http://aws.amazon.com/articles/Elastic-MapReduce/4926593393724923">Amazon article</a> for details. We’re very excited because, to our knowledge, this makes Spark the first non-Hadoop engine that you can launch with EMR.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-0-6-2-released.html">Spark 0.6.2 released</a></h1>
<div class="entry-meta">February 07, 2013</div>
</header>
<div class="entry-content"><p>We recently released <a href="/releases/spark-release-0-6-2.html" title="Spark Release 0.6.2">Spark 0.6.2</a>, a new version of Spark. This is a maintenance release that includes several bug fixes and usability improvements (see the <a href="/releases/spark-release-0-6-2.html" title="Spark Release 0.6.2">release notes</a>). We recommend that all users upgrade to this release.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-tips-from-quantifind.html">Spark tips from Quantifind</a></h1>
<div class="entry-meta">January 12, 2013</div>
</header>
<div class="entry-content"><p><a href="http://www.quantifind.com">Quantifind</a>, one of the Bay Area companies that has been using Spark for predictive analytics, recently posted two useful entries on working with Spark in their tech blog:</p>
<ul>
<li><a href="http://blog.quantifind.com/posts/spark-unit-test/">Unit testing with Spark</a></li>
<li><a href="http://blog.quantifind.com/posts/logging-post/">Configuring Spark's logs</a></li>
</ul>
<p>Thanks for sharing this, and looking forward to see others!</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/video-from-first-spark-development-meetup.html">Video up from first Spark development meetup</a></h1>
<div class="entry-meta">December 21, 2012</div>
</header>
<div class="entry-content"><p>On December 18th, we held the first of a series of Spark development meetups, for people interested in learning the Spark codebase and contributing to the project. There was quite a bit more demand than we anticipated, with over 80 people signing up and 64 attending. The first meetup was an <a href="http://www.meetup.com/spark-users/events/94101942/">introduction to Spark internals</a>. Thanks to one of the attendees, there’s now a <a href="http://www.youtube.com/watch?v=49Hr5xZyTEA">video of the meetup</a> on YouTube. We’ve also posted the <a href="http://files.meetup.com/3138542/dev-meetup-dec-2012.pptx">slides</a>. Look to see more development meetups on Spark and Shark in the future.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-and-shark-in-the-news.html">Spark and Shark in the news</a></h1>
<div class="entry-meta">December 21, 2012</div>
</header>
<div class="entry-content"><p>Recently, we’ve seen quite a bit of coverage of both Spark and <a href="http://shark.cs.berkeley.edu">Shark</a> in the news. I wanted to list some of the more recent articles, for readers interested in learning more.</p>
<ul>
<li>Curt Monash, editor of the popular DBMS2 blog, wrote a great <a href="http://www.dbms2.com/2012/12/13/introduction-to-spark-shark-bdas-and-amplab/">introduction to Spark and Shark</a>, as well as a more detailed <a href="http://www.dbms2.com/2012/12/13/spark-shark-and-rdds-technology-notes/">technical overview</a>.</li>
<li><a href="http://siliconangle.com/blog/2012/11/29/big-data-up-to-100x-faster-researchers-crank-up-the-speed-dial/">Silicon Angle</a> covered Spark and Shark after our <a href="https://amplab.cs.berkeley.edu/news/sparkshark-a-big-hit-at-aws-reinvent/">presentation at Amazon re:Invent</a>.</li>
<li><a href="http://www.datanami.com/datanami/2012-12-01/the_week_in_big_data_research.html?page=2">Datanami</a> highlighted Shark in its survey of big data research projects.</li>
<li>O'Reilly's Strata blog recently covered <a href="http://strata.oreilly.com/2012/08/seven-reasons-why-i-like-spark.html">Spark</a>, <a href="http://strata.oreilly.com/2012/11/shark-real-time-queries-and-analytics-for-big-data.html">Shark</a>, and the <a href="http://strata.oreilly.com/2012/10/spark-0-6-improves-performance-and-accessibility.html">Spark 0.6 release</a>.</li>
<li><a href="http://data-informed.com/spark-an-open-source-engine-for-iterative-data-mining/">DataInformed</a> interviewed two Spark users and wrote about their applications in anomaly detection, predictive analytics and data mining.</li>
</ul>
<p>In other news, there will be a full day of tutorials on Spark and Shark at the <a href="http://strataconf.com/strata2013">O’Reilly Strata conference</a> in February. They include a three-hour <a href="http://strataconf.com/strata2013/public/schedule/detail/27438">introduction to Spark, Shark and BDAS</a> Tuesday morning, and a three-hour <a href="http://strataconf.com/strata2013/public/schedule/detail/27440">hands-on exercise session</a>. </p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-0-6-1-and-0-5-2-released.html">Spark 0.6.1 and 0.5.2 out</a></h1>
<div class="entry-meta">November 22, 2012</div>
</header>
<div class="entry-content"><p>Today we’ve made available two maintenance releases for Spark: <a href="/releases/spark-release-0-6-1.html" title="Spark Release 0.6.1">0.6.1</a> and <a href="/releases/spark-release-0-5-2.html" title="Spark Release 0.5.2">0.5.2</a>. They both contain important bug fixes as well as some new features, such as the ability to build against Hadoop 2 distributions. We recommend that users update to the latest version for their branch; for new users, we recommend <a href="/releases/spark-release-0-6-1.html" title="Spark Release 0.6.1">0.6.1</a>.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-version-0-6-0-released.html">Spark version 0.6.0 released</a></h1>
<div class="entry-meta">October 15, 2012</div>
</header>
<div class="entry-content"><p><a href="/releases/spark-release-0-6-0.html">Spark version 0.6.0</a> was released today, a major release that brings a wide range of performance improvements and new features, including a simpler standalone deploy mode and a Java API. Read more about it in the <a href="/releases/spark-release-0-6-0.html">release notes</a>.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/nsdi-paper.html">Spark wins Best Paper Award at USENIX NSDI</a></h1>
<div class="entry-meta">April 25, 2012</div>
</header>
<div class="entry-content"><p>Our <a href="http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf">paper on Spark</a> won the Best Paper Award at the <a href="http://www.usenix.org/nsdi12/">USENIX NSDI conference</a>. You can see a video of the talk, as well as slides, online on the <a href="https://www.usenix.org/conference/nsdi12/resilient-distributed-datasets-fault-tolerant-abstraction-memory-cluster-computing">NSDI website</a>.</p>
</div>
</article>
<article class="hentry">
<header class="entry-header">
<h1 class="entry-title"><a href="/news/spark-meetups.html">We've started hosting a Bay Area Spark User Meetup</a></h1>
<div class="entry-meta">January 10, 2012</div>
</header>
<div class="entry-content"><p>We’ve started hosting a regular <a href="http://www.meetup.com/spark-users/">Bay Area Spark User Meetup</a>. Sign up on the meetup.com page to be notified about events and meet other Spark developers and users.</p>
</div>
</article>
</div><!-- #content -->
<footer id="colophon" role="contentinfo">
<div id="site-generator">
<p style="padding-top: 0; padding-bottom: 15px;">
Apache Spark is an effort undergoing incubation at The Apache Software Foundation.
<a href="http://incubator.apache.org/" style="border: none;">
<img style="vertical-align: middle; border: none;" src="/images/incubator-logo.png" alt="Apache Incubator" title="Apache Incubator" />
</a>
</p>
</div>
</footer><!-- #colophon -->
</div><!-- #primary -->
</div><!-- #main -->
</div><!-- #page -->
</body>
</html>
|