blob: 639afdcb207033274aab94343dbaec7040d7462d [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Apache Flink: Apache Flink 1.5.1 Released</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<!-- Bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/flink.css">
<link rel="stylesheet" href="/css/syntax.css">
<!-- Blog RSS feed -->
<link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!-- We need to load Jquery in the header for custom google analytics event tracking-->
<script src="/js/jquery.min.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Main content. -->
<div class="container">
<div class="row">
<div id="sidebar" class="col-sm-3">
<!-- Top navbar. -->
<nav class="navbar navbar-default">
<!-- The logo. -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-logo">
<a href="/">
<img alt="Apache Flink" src="/img/flink-header-logo.svg" width="147px" height="73px">
</a>
</div>
</div><!-- /.navbar-header -->
<!-- The navigation links. -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-main">
<!-- First menu section explains visitors what Flink is -->
<!-- What is Stream Processing? -->
<!--
<li><a href="/streamprocessing1.html">What is Stream Processing?</a></li>
-->
<!-- What is Flink? -->
<li><a href="/flink-architecture.html">What is Apache Flink?</a></li>
<!-- What is Stateful Functions? -->
<li><a href="/stateful-functions.html">What is Stateful Functions?</a></li>
<!-- Use cases -->
<li><a href="/usecases.html">Use Cases</a></li>
<!-- Powered by -->
<li><a href="/poweredby.html">Powered By</a></li>
&nbsp;
<!-- Second menu section aims to support Flink users -->
<!-- Downloads -->
<li><a href="/downloads.html">Downloads</a></li>
<!-- Getting Started -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Getting Started<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.11/getting-started/index.html" target="_blank">With Flink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1/getting-started/project-setup.html" target="_blank">With Flink Stateful Functions <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="/training.html">Training Course</a></li>
</ul>
</li>
<!-- Documentation -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.11" target="_blank">Flink 1.11 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-docs-master" target="_blank">Flink Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1" target="_blank">Flink Stateful Functions 2.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-master" target="_blank">Flink Stateful Functions Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
</ul>
</li>
<!-- getting help -->
<li><a href="/gettinghelp.html">Getting Help</a></li>
<!-- Blog -->
<li class="active"><a href="/blog/"><b>Flink Blog</b></a></li>
<!-- Flink-packages -->
<li>
<a href="https://flink-packages.org" target="_blank">flink-packages.org <small><span class="glyphicon glyphicon-new-window"></span></small></a>
</li>
&nbsp;
<!-- Third menu section aim to support community and contributors -->
<!-- Community -->
<li><a href="/community.html">Community &amp; Project Info</a></li>
<!-- Roadmap -->
<li><a href="/roadmap.html">Roadmap</a></li>
<!-- Contribute -->
<li><a href="/contributing/how-to-contribute.html">How to Contribute</a></li>
<!-- GitHub -->
<li>
<a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
</li>
&nbsp;
<!-- Language Switcher -->
<li>
<!-- link to the Chinese home page when current is blog page -->
<a href="/zh">中文版</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-bottom">
<hr />
<!-- Twitter -->
<li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<!-- Visualizer -->
<li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<hr />
<li><a href="https://apache.org" target="_blank">Apache Software Foundation <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li>
<style>
.smalllinks:link {
display: inline-block !important; background: none; padding-top: 0px; padding-bottom: 0px; padding-right: 0px; min-width: 75px;
}
</style>
<a class="smalllinks" href="https://www.apache.org/licenses/" target="_blank">License</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/security/" target="_blank">Security</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</nav>
</div>
<div class="col-sm-9">
<div class="row-fluid">
<div class="col-sm-12">
<div class="row">
<h1>Apache Flink 1.5.1 Released</h1>
<p><i></i></p>
<article>
<p>12 Jul 2018</p>
<p>The Apache Flink community released the first bugfix version of the Apache Flink 1.5 series.</p>
<p>This release includes more than 60 fixes and minor improvements for Flink 1.5.0. The list below includes a detailed list of all fixes.</p>
<p>We highly recommend all users to upgrade to Flink 1.5.1.</p>
<p>Updated Maven dependencies:</p>
<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.5.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-streaming-java_2.11<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.5.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-clients_2.11<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.5.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
<p>You can find the binaries on the updated <a href="http://flink.apache.org/downloads.html">Downloads page</a>.</p>
<p>List of resolved issues:</p>
<h2> Sub-task
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8977">FLINK-8977</a>] - End-to-end test: Manually resume job after terminal failure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8982">FLINK-8982</a>] - End-to-end test: Queryable state
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8989">FLINK-8989</a>] - End-to-end test: ElasticSearch connector
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8996">FLINK-8996</a>] - Include an operator with broadcast and union state
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9008">FLINK-9008</a>] - End-to-end test: Quickstarts
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9320">FLINK-9320</a>] - Update `test-ha.sh` end-to-end test to use general purpose DataStream job
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9322">FLINK-9322</a>] - Add exception throwing map function that simulates failures to the general purpose DataStream job
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9394">FLINK-9394</a>] - Let externalized checkpoint resume e2e also test rescaling
</li>
</ul>
<h2> Bug
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8785">FLINK-8785</a>] - JobSubmitHandler does not handle JobSubmissionExceptions
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8795">FLINK-8795</a>] - Scala shell broken for Flip6
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8946">FLINK-8946</a>] - TaskManager stop sending metrics after JobManager failover
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9174">FLINK-9174</a>] - The type of state created in ProccessWindowFunction.proccess() is inconsistency
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9215">FLINK-9215</a>] - TaskManager Releasing - org.apache.flink.util.FlinkException
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9257">FLINK-9257</a>] - End-to-end tests prints &quot;All tests PASS&quot; even if individual test-script returns non-zero exit code
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9258">FLINK-9258</a>] - ConcurrentModificationException in ComponentMetricGroup.getAllVariables
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9326">FLINK-9326</a>] - TaskManagerOptions.NUM_TASK_SLOTS does not work for local/embedded mode
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9374">FLINK-9374</a>] - Flink Kinesis Producer does not backpressure
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9398">FLINK-9398</a>] - Flink CLI list running job returns all jobs except in CREATE state
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9437">FLINK-9437</a>] - Revert cypher suite update
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9458">FLINK-9458</a>] - Unable to recover from job failure on YARN with NPE
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9467">FLINK-9467</a>] - No Watermark display on Web UI
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9468">FLINK-9468</a>] - Wrong calculation of outputLimit in LimitedConnectionsFileSystem
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9493">FLINK-9493</a>] - Forward exception when releasing a TaskManager at the SlotPool
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9494">FLINK-9494</a>] - Race condition in Dispatcher with concurrent granting and revoking of leaderhship
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9500">FLINK-9500</a>] - FileUploadHandler does not handle EmptyLastHttpContent
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9524">FLINK-9524</a>] - NPE from ProcTimeBoundedRangeOver.scala
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9530">FLINK-9530</a>] - Task numRecords metrics broken for chains
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9554">FLINK-9554</a>] - flink scala shell doesn&#39;t work in yarn mode
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9567">FLINK-9567</a>] - Flink does not release resource in Yarn Cluster mode
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9570">FLINK-9570</a>] - SQL Client merging environments uses AbstractMap
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9580">FLINK-9580</a>] - Potentially unclosed ByteBufInputStream in RestClient#readRawResponse
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9627">FLINK-9627</a>] - Extending &#39;KafkaJsonTableSource&#39; according to comments will result in NPE
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9629">FLINK-9629</a>] - Datadog metrics reporter does not have shaded dependencies
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9633">FLINK-9633</a>] - Flink doesn&#39;t use the Savepoint path&#39;s filesystem to create the OuptutStream on Task.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9634">FLINK-9634</a>] - Deactivate previous location based scheduling if local recovery is disabled
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9636">FLINK-9636</a>] - Network buffer leaks in requesting a batch of segments during canceling
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9646">FLINK-9646</a>] - ExecutionGraphCoLocationRestartTest.testConstraintsAfterRestart failed on Travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9654">FLINK-9654</a>] - Internal error while deserializing custom Scala TypeSerializer instances
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9655">FLINK-9655</a>] - Externalized checkpoint E2E test fails on travis
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9665">FLINK-9665</a>] - PrometheusReporter does not properly unregister metrics
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9676">FLINK-9676</a>] - Deadlock during canceling task and recycling exclusive buffer
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9677">FLINK-9677</a>] - RestClient fails for large uploads
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9684">FLINK-9684</a>] - HistoryServerArchiveFetcher not working properly with secure hdfs cluster
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9693">FLINK-9693</a>] - Possible memory leak in jobmanager retaining archived checkpoints
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9708">FLINK-9708</a>] - Network buffer leaks when buffer request fails during buffer redistribution
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9769">FLINK-9769</a>] - FileUploads may be shared across requests
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9770">FLINK-9770</a>] - UI jar list broken
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9789">FLINK-9789</a>] - Watermark metrics for an operator&amp;task shadow each other
</li>
</ul>
<h2> New Feature
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9153">FLINK-9153</a>] - TaskManagerRunner should support rpc port range
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9280">FLINK-9280</a>] - Extend JobSubmitHandler to accept jar files
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9316">FLINK-9316</a>] - Expose operator unique ID to the user defined functions in DataStream .
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9564">FLINK-9564</a>] - Expose end-to-end module directory to test scripts
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9599">FLINK-9599</a>] - Implement generic mechanism to receive files via rest
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9669">FLINK-9669</a>] - Introduce task manager assignment store
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9670">FLINK-9670</a>] - Introduce slot manager factory
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9671">FLINK-9671</a>] - Add configuration to enable task manager isolation.
</li>
</ul>
<h2> Improvement
</h2>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4301">FLINK-4301</a>] - Parameterize Flink version in Quickstart bash script
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8650">FLINK-8650</a>] - Add tests and documentation for WINDOW clause
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-8654">FLINK-8654</a>] - Extend quickstart docs on how to submit jobs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9109">FLINK-9109</a>] - Add flink modify command to documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9355">FLINK-9355</a>] - Simplify configuration of local recovery to a simple on/off
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9372">FLINK-9372</a>] - Typo on Elasticsearch website link (elastic.io --&gt; elastic.co)
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9409">FLINK-9409</a>] - Remove flink-avro and flink-json from /opt
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9456">FLINK-9456</a>] - Let ResourceManager notify JobManager about failed/killed TaskManagers
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9508">FLINK-9508</a>] - General Spell Check on Flink Docs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9517">FLINK-9517</a>] - Fixing broken links on CLI and Upgrade Docs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9518">FLINK-9518</a>] - SSL setup Docs config example has wrong keys password
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9549">FLINK-9549</a>] - Fix FlickCEP Docs broken link and minor style changes
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9573">FLINK-9573</a>] - Check for leadership with leader session id
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9594">FLINK-9594</a>] - Add documentation for e2e test changes introduced with FLINK-9257
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9595">FLINK-9595</a>] - Add instructions to docs about ceased support of KPL version used in Kinesis connector
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9638">FLINK-9638</a>] - Add helper script to run single e2e test
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9672">FLINK-9672</a>] - Fail fatally if we cannot submit job on added JobGraph signal
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9707">FLINK-9707</a>] - LocalFileSystem does not support concurrent directory creations
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9729">FLINK-9729</a>] - Duplicate lines for &quot;Weekday name (Sunday .. Saturday)&quot;
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-9734">FLINK-9734</a>] - Typo &#39;field-deleimiter&#39; in SQL client docs
</li>
</ul>
</article>
</div>
<div class="row">
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'stratosphere-eu'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
</div>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="footer text-center col-sm-12">
<p>Copyright © 2014-2019 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
<p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
</div>
</div>
</div><!-- /.container -->
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js"></script>
<script src="/js/codetabs.js"></script>
<script src="/js/stickysidebar.js"></script>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-52545728-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>