summaryrefslogtreecommitdiff
path: root/priv/static/metrics-graphics-3.0-alpha3/examples
diff options
context:
space:
mode:
Diffstat (limited to 'priv/static/metrics-graphics-3.0-alpha3/examples')
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm338
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm296
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm486
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm166
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm386
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm1159
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm335
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm368
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm48
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm309
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm169
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css153
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css26
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css686
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css220
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css187
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json402
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json402
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json548
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json483
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json1448
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json1448
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json168
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json802
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json802
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py56
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json57
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json1436
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json39
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json35
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json902
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json602
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json30
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv6
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json802
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json26
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json402
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json482
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json548
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json266
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv22841
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json34
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm113
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.pngbin2879 -> 0 bytes
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg242
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/index.htm269
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm236
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js1
-rwxr-xr-xpriv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js1
-rwxr-xr-xpriv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js1
-rw-r--r--priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js125
51 files changed, 0 insertions, 41387 deletions
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm
deleted file mode 100644
index 5bd4d11..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/annotations.htm
+++ /dev/null
@@ -1,338 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='markers'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': '1st Milestone'
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': '2nd Milestone'
- }];
-
- MG.data_graphic({
- title: "Markers",
- description: "Markers are vertical lines that can be added at arbitrary points. Markers that are close to each other won't collide.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='markers-clickable'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
-
- <pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var clicker = function() {
- window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank');
- };
-
- var markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': "Click me",
- 'click': clicker
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': "Nothing to see here"
- }];
-
- MG.data_graphic({
- title: "Clickable Markers",
- description: "You can assign arbitrary functions to markers' click events.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers-clickable'
- });
-});</code></pre>
-
- </div>
- </div>
-
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='markers-mouseover'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
-
- <pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var mouseover = function() {
- alert("You are over me!");
- };
-
- var markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': "Place your mouse here",
- 'mouseover': mouseover
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': "Nothing to see here"
- }];
-
- MG.data_graphic({
- title: "Mouse Over Markers",
- description: "You can assign arbitrary functions to markers' mouseover events.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers-mouseover'
- });</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='markers-mouseout'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
-
- <pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var mouseout = function() {
- alert("You just left me!");
- };
-
- var markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': "Place your mouse here and out!",
- 'mouseout': mouseout
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': "Nothing to see here"
- }];
-
- MG.data_graphic({
- title: "Mouse Out Markers",
- description: "You can assign arbitrary functions to markers' mouseout events.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers-mouseout'
- });</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='baselines'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Baselines",
- description: "Baselines are horizontal lines that can added at arbitrary points.",
- data: data,
- baselines: [{value: 160000000, label: 'a baseline'}],
- width: 600,
- height: 200,
- right: 40,
- target: '#baselines'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center mg-main-area-solid' id='spike'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
-
- var markers = [{
- 'date': new Date('2014-03-17T00:00:00.000Z'),
- 'label': 'Look, a spike!'
- }];
-
- MG.data_graphic({
- title: "Annotating a Point",
- description: "By setting the graphic's target a class name of mg-main-area-solid, markers don't extend down to the bottom of the graphic, which better draws attention to, say, spikes.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- target: '#spike'
- });
-});</code></pre>
-
- </div>
- </div>
-
-<script>
-MG._hooks = {};
-d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': '1st Milestone'
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': '2nd Milestone'
- }];
-
- MG.data_graphic({
- title: "Markers",
- description: "Markers are vertical lines that can be added at arbitrary points. Markers that are close to each other won't collide.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers'
- });
-
- var clicker = function() {
- window.open('https://www.youtube.com/watch?v=dQw4w9WgXcQ', '_blank');
- };
-
- markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': "Click me",
- 'click': clicker
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': "Nothing to see here"
- }];
-
- MG.data_graphic({
- title: "Clickable Markers",
- description: "You can assign arbitrary functions to markers' click events.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers-clickable'
- });
-
- var mouseover = function() {
- alert("You are over me!");
- };
-
- markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': "Place your mouse here",
- 'mouseover': mouseover
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': "Nothing to see here"
- }];
-
- MG.data_graphic({
- title: "Mouse Over Markers",
- description: "You can assign arbitrary functions to markers' mouseover events.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers-mouseover'
- });
-
- var mouseout = function() {
- alert("You just left me!");
- };
-
- markers = [{
- 'date': new Date('2014-02-01T00:00:00.000Z'),
- 'label': "Place your mouse here and out!",
- 'mouseout': mouseout
- }, {
- 'date': new Date('2014-03-15T00:00:00.000Z'),
- 'label': "Nothing to see here"
- }];
-
- MG.data_graphic({
- title: "Mouse Out Markers",
- description: "You can assign arbitrary functions to markers' mouseout events.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- format: 'percentage',
- target: '#markers-mouseout'
- });
-
-});
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Baselines",
- description: "Baselines are horizontal lines that can added at arbitrary points.",
- data: data,
- baselines: [{value: 160000000, label: 'goal'}],
- width: 600,
- height: 200,
- right: 40,
- target: '#baselines'
- });
-});
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
-
- var markers = [{
- 'date': new Date('2014-03-17T00:00:00.000Z'),
- 'label': 'Look, a spike!'
- }];
-
- MG.data_graphic({
- title: "Annotating a Point",
- description: "By setting the graphic's target a class name of main-area-solid, markers don't extend down to the bottom of the graphic, which better draws attention to, say, spikes.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- markers: markers,
- target: '#spike'
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm
deleted file mode 100644
index af132dd..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/auto-time-formatting.htm
+++ /dev/null
@@ -1,296 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='time1'></div>
- <div class='col-lg-12 text-center' id='time2'></div>
- <div class='col-lg-12 text-center' id='time3'></div>
- <div class='col-lg-12 text-center' id='time4'></div>
- <div class='col-lg-12 text-center' id='many-months'></div>
- <div class='col-lg-12 text-center' id='a-few-years'></div>
- <div class='col-lg-12 text-center' id='years'></div>
- <div class='col-lg-12 text-center' id='decades'></div>
- <div class='col-lg-12 text-center' id='centuries'></div>
-
- </div>
- </div>
- <div class='col-lg-5'>
-
- <pre><code class='javascript'>function fake_data(length, seconds) {
- var d = new Date();
- var v = 100000;
- var data=[];
-
- for (var i = 0; i < length; i++) {
- v += (Math.random() - 0.5) * 10000;
- data.push({date: MG.clone(d), value: v});
- d = new Date(d.getTime() + seconds * 1000);
- }
- return data;
-}
-
-function fake_days(length) {
- var d = new Date();
- var v = 100000;
-
- var data = [];
- for (var i = 0; i < length; i++) {
- v += (Math.random() - 0.5) * 10000;
- if (v < 0) v = 0;
- data.push({date: MG.clone(d), value: v});
- d.setDate(d.getDate() + 1);
- }
- return data;
-}
-
-function fake_years(length) {
- var y = 2015;
- var d = new Date(y,0,1);
- out = [];
- v = 100000;
- for (var i = 0; i < length; i++) {
- v += (Math.random()-.5) * 10000;
- out.push({value:v, date: MG.clone(d)});
- y -=1;
- d = new Date(y,0,1);
- }
- out.reverse();
- return out;
-}
-
-
-var less_than_a_minute = fake_data(25, 1);
-var less_than_a_day = fake_data(25,60 * 20);
-var a_few_days = fake_data(75,60 * 60);
-var many_days = fake_days(60);
-var many_many_many_days = fake_days(365*2);
-var a_few_years = fake_days(365*4);
-
-MG.data_graphic({
- title: "European Clock",
- description: 'By setting european_clock to true, you can default to European-style time. This is at the moment experimental, and the formatting may change.',
- data: less_than_a_minute,
- target: '#european',
- european_clock: true,
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Less Than A Minute",
- data: less_than_a_minute,
- target: '#time1',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Less Than A Day",
- data: less_than_a_day,
- target: '#time2',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "A Few Days",
- data: a_few_days,
- target: '#time3',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over A Large Span of Days",
- data: many_days,
- target: '#time4',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over Many Months",
- data: many_many_many_days,
- target: '#many-months',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over A Few Years",
- data: a_few_years,
- target: '#a-few-years',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over Centuries",
- data: fake_years(300),
- target: '#centuries',
- width: 600,
- height: 200,
- right: 40
-});</code></pre>
-
- </div>
- </div>
-
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='european'></div>
- </div>
- </div>
- <div class='col-lg-5'>
-
- <pre><code class='javascript'>MG.data_graphic({
- title: "European Clock",
- description: 'By setting european_clock to true, you can default to European-style time. This is at the moment experimental, and the formatting may change.',
- data: less_than_a_minute,
- target: '#european',
- european_clock: true,
- width: 600,
- height: 200,
- right: 40
-});
- </code></pre>
-
- </div>
- </div>
-
-<script>
-MG._hooks = {};
-function fake_data(length, seconds) {
- var d = new Date();
- var v = 100000;
- var data=[];
-
- for (var i = 0; i < length; i++) {
- v += (Math.random() - 0.5) * 10000;
- data.push({date: MG.clone(d), value: v});
- d = new Date(d.getTime() + seconds * 1000);
- }
- return data;
-}
-
-function fake_days(length) {
- var d = new Date();
- var v = 100000;
-
- var data = [];
- for (var i = 0; i < length; i++) {
- v += (Math.random() - 0.5) * 10000;
- if (v < 0) v = 0;
- data.push({date: MG.clone(d), value: v});
- d.setDate(d.getDate() + 1);
- }
- return data;
-}
-
-function fake_years(length) {
- var y = 2015;
- var d = new Date(y,0,1);
- out = [];
- v = 100000;
- for (var i = 0; i < length; i++) {
- v += (Math.random()-.5) * 10000;
- out.push({value:v, date: MG.clone(d)});
- y -=1;
- d = new Date(y,0,1);
- }
- out.reverse();
- return out;
-}
-
-
-var less_than_a_minute = fake_data(25, 1);
-var less_than_a_day = fake_data(25,60 * 20);
-var a_few_days = fake_data(75,60 * 60);
-var many_days = fake_days(80);
-var many_many_many_days = fake_days(365*2);
-var a_few_years = fake_days(365*3);
-
-MG.data_graphic({
- title: "European Clock",
- description: 'By setting european_clock to true, you can default to European-style time. This is at the moment experimental, and the formatting may change.',
- data: less_than_a_minute,
- target: '#european',
- european_clock: true,
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Less Than A Minute",
- data: less_than_a_minute,
- target: '#time1',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Less Than A Day",
- data: less_than_a_day,
- target: '#time2',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "A Few Days",
- data: a_few_days,
- target: '#time3',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over A Large Span of Days",
- data: many_days,
- width:600,
- target: '#time4',
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over Many Months",
- data: many_many_many_days,
- target: '#many-months',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over A Few Years",
- data: a_few_years,
- target: '#a-few-years',
- width: 600,
- height: 200,
- right: 40
-});
-
-MG.data_graphic({
- title: "Over Centuries",
- data: fake_years(300),
- target: '#centuries',
- width: 600,
- height: 200,
- right: 40
-});
-
-
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm
deleted file mode 100644
index 375120a..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/axes.htm
+++ /dev/null
@@ -1,486 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='xnotdate'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/xnotdate.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/xnotdate.json', function(data) {
- MG.data_graphic({
- title: "Axis Labels",
- description: "A graphic where we're not plotting dates on the x-axis and where the axes include labels and the line animates on load. We've also enabled extended ticks along the y-axis.",
- data: data,
- animate_on_load: true,
- area: false,
- width: 600,
- height: 240,
- right: 40,
- left: 90,
- bottom: 50,
- y_extended_ticks: true,
- target: '#xnotdate',
- x_accessor: 'males',
- y_accessor: 'females',
- x_label: 'males',
- y_label: 'females',
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='percentage'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/some_percentage.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Some Percentages",
- description: "Here is an example that shows percentages.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- format: 'percentage',
- target: '#percentage'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='currency'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/some_currency.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/some_currency.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Some Currency",
- description: "Here is an example that uses custom units for currency.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#currency',
- yax_units: '$'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='log1'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/log.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/log.json', function(data) {
- data = [data];
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Log Scale",
- description: "You can change the y-axis' scale to logarithmic by setting <i>y_scale_type</i> to <i>log</i>.",
- data: data,
- y_scale_type: 'log',
- width: 600,
- height: 200,
- right: 40,
- target: '#log1'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='col-lg-12 text-center' id='hidden1'></div>
- <div class='col-lg-12 text-center' id='hidden2'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/fake_users1.json'>data 1</a>,
- <a href='data/brief-1.json'>data 2</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "No X Axis",
- description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
- data: data,
- decimals: 0,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#hidden1',
- area: false,
- x_axis: false,
- });
-});
-
-d3.json('data/brief-1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "No Y Axis",
- description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
- data: data,
- decimals: 0,
- width: 600,
- height: 200,
- right: 20,
- xax_count: 4,
- target: '#hidden2',
- area: false,
- y_axis: false
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='y_rug'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Rug Plots",
- description: "You can set rug plots either axis by setting <i>x_rug</i> or <i>y_rug</i> to true.",
- data: data,
- decimals: 0,
- width: 600,
- height: 200,
- right: 40,
- target: '#y_rug',
- area: false,
- y_rug: true
- });
-});</code></pre>
-
- </div>
-</div>
-
-
-
-
-
-
-
-
-
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-6 text-center' id='axis-pos-1'></div>
- <div class='col-lg-6 text-center' id='axis-pos-2'></div>
- </div>
- <div class='row'>
- <div class='col-lg-6 text-center' id='axis-pos-3'></div>
- <div class='col-lg-6 text-center' id='axis-pos-4'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/fake_users1.json'>data 1</a>,
- <a href='data/brief-1.json'>data 2</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/brief-1.json', function(data) {
- data = MG.convert.date(data, 'date');
- var position = [['left', 'top'],['right', 'top'], ['left', 'bottom'], ['right', 'bottom']];
- position.forEach(function(pos,i) {
- console.log(pos,i)
- var i = i+1;
-
- MG.data_graphic({
- title: "Axis Positions: " + pos[0] +', ' + pos[1],
- description: "Set <i>x_axis_position: " + pos[1] + "</i> and <i>x_axis_position: " + pos[0] +"</i>.",
- x_axis_position: pos[1],
- y_axis_position: pos[0],
- data: data,
- decimals: 0,
- left: pos[0] === 'right' ? 20 : 50,
- right: pos[0] === 'left' ? 20 : 50,
- top: pos[1] === 'bottom' ? 50 : 50,
- bottom: pos[1] === 'top' ? 25 : 50,
- target: '#axis-pos-'+i,
- area: false
- });
- })
-});</code></pre>
-
- </div>
-</div>
-
-
-<script>
-d3.json('data/brief-1.json', function(data) {
- data = MG.convert.date(data, 'date');
- var position = [['left', 'top'],['right', 'top'], ['left', 'bottom'], ['right', 'bottom']];
- position.forEach(function(pos,i) {
- var i = i+1;
-
- MG.data_graphic({
- title: "Axis Positions: " + pos[0] +', ' + pos[1],
- description: "Set <i>x_axis_position: " + pos[1] + "</i> and <i>x_axis_position: " + pos[0] +"</i>.",
- x_axis_position: pos[1],
- y_axis_position: pos[0],
- data: data,
- decimals: 0,
- left: pos[0] === 'right' ? 20 : 50,
- right: pos[0] === 'left' ? 20 : 50,
- top: pos[1] === 'bottom' ? 50 : 50,
- bottom: pos[1] === 'top' ? 25 : 50,
- target: '#axis-pos-'+i,
- area: false
- });
- })
-});
-</script>
-
-
-
-
-
-
-
-
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='col-lg-6 text-center' id='neg1'></div>
- <div class='col-lg-6 text-center' id='neg2'></div>
- <div class='col-lg-6 text-center' id='y-axis-not-zero'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/neg1.json'>data 1</a>,
- <a href='data/neg2.json'>data 2</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/neg1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Negative Values 1",
- description: "MG defaults to 0 on the y-axis as min if there are no negative numbers. If there are negatives, should provide some buffer below.",
- data: data,
- width: 295,
- height: 220,
- right: 10,
- target: '#neg1'
- });
-
- var data2 = MG.clone(data).map(function(d) {
- d.value = d.value + 550;
- return d;
- });
-
- MG.data_graphic({
- title: "Y-Axis Not Zero",
- data: data2,
- width: 295,
- height: 220,
- right: 10,
- min_y_from_data: true,
- yax_units: '$',
- target: '#y-axis-not-zero',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-
-d3.json('data/neg2.json', function(data) {
- MG.data_graphic({
- title: "Negative Values 2",
- data: data,
- width: 295,
- height: 220,
- right: 10,
- target: '#neg2',
- x_accessor: 'subject',
- y_accessor: 'measure'
- });
-});</code></pre>
-
- </div>
- </div>
-
-<script>
-MG._hooks = {};
-d3.json('data/xnotdate.json', function(data) {
- MG.data_graphic({
- title: "Axis Labels",
- description: "A graphic where we're not plotting dates on the x-axis and where the axes include labels and the line animates on load. We've also enabled extended ticks along the y-axis.",
- data: data,
- animate_on_load: true,
- area: false,
- width: 600,
- height: 240,
- right: 40,
- left: 90,
- bottom: 50,
- y_extended_ticks: true,
- target: '#xnotdate',
- x_accessor: 'males',
- y_accessor: 'females',
- x_label: 'males',
- y_label: 'females',
- });
-});
-
-d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Some Percentages",
- description: "Here is an example that shows percentages.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- format: 'percentage',
- target: '#percentage'
- });
-});
-
-d3.json('data/some_currency.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Some Currency",
- description: "Here is an example that uses custom units for currency.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#currency',
- yax_units: '$'
- });
-});
-
-d3.json('data/log.json', function(data) {
- data = [data];
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Log Scale",
- description: "You can change the y-axis' scale to logarithmic by setting <i>y_scale_type</i> to <i>log</i>.",
- data: data,
- y_scale_type: 'log',
- width: 600,
- height: 200,
- right: 40,
- target: '#log1'
- });
-});
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "No X Axis",
- description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
- data: data,
- decimals: 0,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#hidden1',
- area: false,
- x_axis: false,
- });
-});
-
-d3.json('data/brief-1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "No Y Axis",
- description: "You can hide either axis by setting <i>x_axis</i> or <i>y_axis</i> to false.",
- data: data,
- decimals: 0,
- width: 600,
- height: 200,
- right: 20,
- xax_count: 4,
- target: '#hidden2',
- area: false,
- y_axis: false
- });
-});
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Rug Plots",
- description: "You can set rug plots either axis by setting <i>x_rug</i> or <i>y_rug</i> to true.",
- data: data,
- decimals: 0,
- width: 600,
- height: 200,
- right: 40,
- target: '#y_rug',
- area: false,
- y_rug: true
- });
-});
-
-d3.json('data/neg1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Negative Values 1",
- description: "MG defaults to 0 on the y-axis as min if there are no negative numbers. If there are negatives, should provide some buffer below.",
- data: data,
- width: 295,
- height: 220,
- right: 10,
- target: '#neg1'
- });
-
- var data2 = MG.clone(data).map(function(d) {
- d.value = d.value + 550;
- return d;
- });
-
- MG.data_graphic({
- title: "Y-Axis Not Zero",
- data: data2,
- width: 295,
- height: 220,
- right: 10,
- min_y_from_data: true,
- yax_units: '$',
- target: '#y-axis-not-zero',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-
-d3.json('data/neg2.json', function(data) {
- MG.data_graphic({
- title: "Negative Values 2",
- data: data,
- width: 295,
- height: 220,
- right: 10,
- target: '#neg2',
- x_accessor: 'subject',
- y_accessor: 'measure'
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm
deleted file mode 100644
index e23e35d..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/brushing_zooming.htm
+++ /dev/null
@@ -1,166 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='basic_brushing'></div>
- <div class='col-lg-12 text-center' id='point_chart_brushing'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
- MG.data_graphic({
- title: "Basic Brushing &amp; Zooming",
- description: "This is a simple example of brushing and zooming. You can set 'brush' as 'xy', 'x', 'y' to specify the axis(es) that may be brushed.",
- data: data,
- top: 70,
- width: 600,
- height: 240,
- right: 40,
- missing_is_hidden: true,
- target: '#basic_brushing',
- brush: 'xy',
- });
-});
-
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Point Chart Brushing",
- description: "Brushing and zooming also works for point charts.",
- data: data,
- chart_type: 'point',
- width: 600,
- height: 240,
- right: 40,
- target: '#point_chart_brushing',
- x_accessor: 'x',
- y_accessor: 'y',
- y_rug: true,
- brush: 'xy',
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='main'></div>
- <div class='col-lg-12 text-center' id='overview_plot'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
- const main = {
- title: "Overview Plot",
- description: "This is a simple example of an overview plot. You can create an overview plot by creating another chart with 'zoom_target' option and then setting it as the object of the main chart.",
- data: data,
- top: 70,
- width: 600,
- height: 200,
- right: 40,
- missing_is_hidden: true,
- target: '#main',
- brush: 'xy',
- }
- MG.data_graphic(main);
- MG.data_graphic({
- data: data,
- width: 600,
- height: 50,
- top: 8,
- bottom: 0,
- right: 40,
- missing_is_hidden: true,
- target: '#overview_plot',
- brush: 'x',
- zoom_target: main,
- x_axis: false,
- y_axis: false,
- showActivePoint: false,
- });
-});</code></pre>
-
- </div>
- </div>
-
-<script>
-d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
- MG.data_graphic({
- title: "Basic Brushing & Zooming",
- description: "This is a simple example of brushing and zooming. You can set 'brush' as 'xy', 'x', 'y' to specify the axis(es) that may be brushed.",
- data: data,
- top: 70,
- width: 600,
- height: 240,
- right: 40,
- missing_is_hidden: true,
- target: '#basic_brushing',
- brush: 'xy',
- });
-});
-
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Point Chart Brushing",
- description: "Brushing and zooming also works for point charts.",
- data: data,
- chart_type: 'point',
- width: 600,
- height: 240,
- right: 40,
- target: '#point_chart_brushing',
- x_accessor: 'x',
- y_accessor: 'y',
- y_rug: true,
- brush: 'xy',
- });
-});
-
-d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
- const main = {
- title: "Overview Plot",
- description: "This is a simple example of an overview plot. You can create an overview plot by creating another chart with 'zoom_target' option and then setting it as the object of the main chart.",
- data: data,
- top: 70,
- width: 600,
- height: 200,
- right: 40,
- missing_is_hidden: true,
- target: '#main',
- brush: 'xy',
- }
- MG.data_graphic(main);
- MG.data_graphic({
- data: data,
- width: 600,
- height: 50,
- top: 8,
- bottom: 0,
- right: 40,
- missing_is_hidden: true,
- target: '#overview_plot',
- brush: 'x',
- zoom_target: main,
- x_axis: false,
- y_axis: false,
- showActivePoint: false,
- });
-});
-
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm
deleted file mode 100644
index aa0f076..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/data.htm
+++ /dev/null
@@ -1,386 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='missing-y'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/missing-y.json'>data</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/missing-y.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Few Observations",
- description: "We sometimes have only a few observations. By setting <i>missing_is_zero: true</i>, missing values for a time-series will be interpreted as zeros. In this example, we've overridden the rollover callback to show 'no data' for missing observations and have set the <i>min_x</i> and <i>max_x</i> options in order to expand the date range.",
- data: data,
- interpolate: d3.curveLinear,
- missing_is_zero: true,
- width: 600,
- height: 200,
- right: 40,
- min_x: new Date('2014-01-01'),
- max_x: new Date('2014-06-01'),
- target: '#missing-y',
- mouseover: function(d, i) {
- var df = d3.timeFormat('%b %d, %Y');
- var date = df(d.date);
- var y_val = (d.value === 0) ? 'no data' : d.value;
-
- d3.select('#missing-y svg .mg-active-datapoint')
- .text(date + ' ' + y_val);
- }
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='missing_is_hidden'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/missing-is-hidden.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/missing-is-hidden.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Broken Lines",
- description: "Setting <i>missing_is_hidden</i> to true will hide missing ranges rather than considering them to be zeros or interpolating between the two points on either side.",
- data: data,
- missing_is_hidden: true,
- width: 600,
- height: 200,
- right: 40,
- target: '#missing_is_hidden',
- area: false,
- show_secondary_x_label: false
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='missing_is_hidden_accessor'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/missing-is-hidden-accessor.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/missing-is-hidden-accessor.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Broken Lines (Missing Data Points)",
- description: "You can hide individual data points on a particular attribute by setting <i>missing_is_hidden_accessor</i>. Data points whose y-accessor values are null are also hidden.",
- data: data,
- missing_is_hidden: true,
- missing_is_hidden_accessor: 'dead',
- width: 600,
- height: 200,
- right: 40,
- target: '#missing_is_hidden_accessor'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='missing-data'></div>
- </div>
- </div>
- <div class='col-lg-5'>
-
-<pre><code class='javascript'>MG.data_graphic({
- title: "Missing Data",
- description: "This is an example of a graphic whose data is currently missing. We've also set the <i>error</i> option, which appends an error icon to the title and logs an error to the browser's console.",
- error: 'This data is blocked by Lorem Ipsum. Get your **** together, Ipsum.',
- chart_type: 'missing-data',
- missing_text: 'This is an example of a missing chart',
- target: '#missing-data',
- width: 600,
- height: 200
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='missing1'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/fake_users2.json'>data</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var all_the_data = MG.clone(data[0]);
- for (i = 1; i < data.length; i++){
- for (var j = 0; j < data[i].length; j++) {
- if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
- } else {
- all_the_data[j]['value' + (i + 1)] = data[i][j].value;
- }
- }
- }
-
- MG.data_graphic({
- title: "Handling Different Sized Lines in a Single Array",
- description: "How do you handle data with multiple implied time series lengths?",
- data: all_the_data,
- width: 600,
- height: 200,
- right: 40,
- target: '#missing1',
- linked: true,
- x_accessor: 'date',
- y_accessor: ['value', 'value2', 'value3']
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='display_active_point_01'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/fake_users2.json'>data</a>
- </div>
-
- <pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
-
- for (var i = 0; i < data.length; i++) {
- data[i].active = (i % 5 === 0);
- }
-
- data = MG.convert.date(data, 'date');
-
- MG.data_graphic({
- title: "Show active points on line chart",
- description: "This line chart displays pre-defined active points",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- point_size: 3,
- active_point_on_lines: true,
- active_point_accessor: 'active',
- active_point_size: 2,
- target: '#display_active_point_01',
- aggregate_rollover: true
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-12 text-center' id='display_active_point_02'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/fake_users2.json'>data</a>
- </div>
-
- <pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
-
- for (var i = 0; i < data.length; i++) {
- for (var j = 0; j < data[i].length; j++) {
- if (i === 0) {
- data[i][j].active = (j % 5 === 0);
- }
- if (i === 1) {
- data[i][j].active = (j % 10 === 0);
- }
- }
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Show active points on multi-lines chart",
- description: "This multi-lines chart displays pre-defined active points for each lines",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- point_size: 3,
- active_point_on_lines: true,
- active_point_accessor: 'active',
- active_point_size: 2,
- target: '#display_active_point_01',
- aggregate_rollover: true
- });
-});</code></pre>
-
- </div>
- </div>
-
-<script>
-MG._hooks = {};
-d3.json('data/missing-y.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Few Observations",
- description: "We sometimes have only a few observations. By setting <i>missing_is_zero: true</i>, missing values for a time-series will be interpreted as zeros. In this example, we've overridden the rollover callback to show 'no data' for missing observations and have set the <i>min_x</i> and <i>max_x</i> options in order to expand the date range.",
- data: data,
- interpolate: d3.curveLinear,
- missing_is_zero: true,
- width: 600,
- height: 200,
- right: 40,
- min_x: new Date('2014-01-01'),
- max_x: new Date('2014-06-01'),
- target: '#missing-y',
- mouseover: function(d, i) {
- var df = d3.timeFormat('%b %d, %Y');
- var date = df(d.date);
- var y_val = (d.value === 0) ? 'no data' : d.value;
-
- d3.select('#missing-y svg .mg-active-datapoint')
- .text(date + ' ' + y_val);
- }
- });
-});
-
-d3.json('data/missing-is-hidden.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Broken Lines (Missing Data Range)",
- description: "Setting <i>missing_is_hidden</i> to true will hide missing ranges rather than considering them to be zeros or interpolating between the two points on either side.",
- data: data,
- missing_is_hidden: true,
- width: 600,
- height: 200,
- right: 40,
- target: '#missing_is_hidden',
- area: false,
- show_secondary_x_label: false
- });
-});
-
-d3.json('data/missing-is-hidden-accessor.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Broken Lines (Missing Data Points)",
- description: "You can hide individual data points on a particular attribute by setting <i>missing_is_hidden_accessor</i>. Data points whose y-accessor values are null are also hidden.",
- data: data,
- missing_is_hidden: true,
- missing_is_hidden_accessor: 'dead',
- width: 600,
- height: 200,
- right: 40,
- target: '#missing_is_hidden_accessor'
- });
-});
-
-
-MG.data_graphic({
- title: "Missing Data",
- chart_type: 'missing-data',
- description: "This is an example of a graphic whose data is currently missing. We've also set the <i>error</i> option, which appends an error icon to the title and logs an error to the browser's console.",
- error: 'This data is blocked by Lorem Ipsum. Get your **** together, Ipsum.',
- missing_text: 'This is an example of a missing chart',
- target: '#missing-data',
- width: 600,
- height: 200
-});
-
-d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var all_the_data = MG.clone(data[0]);
- for (i = 1; i < data.length; i++){
- for (var j = 0; j < data[i].length; j++) {
- if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
- } else {
- all_the_data[j]['value' + (i + 1)] = data[i][j].value;
- }
- }
- }
-
- MG.data_graphic({
- title: "Handling Different Sized Lines in a Single Array",
- description: "How do you handle data with multiple implied time series lengths?",
- data: all_the_data,
- width: 600,
- height: 200,
- right: 40,
- target: '#missing1',
- linked: true,
- x_accessor: 'date',
- y_accessor: ['value', 'value2', 'value3']
- });
-});
-
-d3.json('data/fake_users1.json', function(data) {
-
- for (var i = 0; i < data.length; i++) {
- data[i].active = (i % 5 === 0);
- }
-
- data = MG.convert.date(data, 'date');
-
- MG.data_graphic({
- title: "Show active points on line chart",
- description: "This line chart displays pre-defined active points",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- point_size: 3,
- active_point_on_lines: true,
- active_point_accessor: 'active',
- active_point_size: 2,
- target: '#display_active_point_01',
- aggregate_rollover: true
- });
-});
-
-d3.json('data/fake_users2.json', function(data) {
-
- for (var i = 0; i < data.length; i++) {
- for (var j = 0; j < data[i].length; j++) {
- if (i === 0) {
- data[i][j].active = (j % 5 === 0);
- }
- if (i === 1) {
- data[i][j].active = (j % 10 === 0);
- }
- }
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Show active points on multi-lines chart",
- description: "This multi-lines chart displays pre-defined active points for each lines",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- point_size: 3,
- active_point_on_lines: true,
- active_point_accessor: 'active',
- active_point_size: 2,
- target: '#display_active_point_02',
- aggregate_rollover: true
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm
deleted file mode 100644
index 725a8d3..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/experimental.htm
+++ /dev/null
@@ -1,1159 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='col-lg-6 text-center' id='scatter-simple'></div>
- <div class='col-lg-6 text-center' id='categorical1'></div>
- <div class='col-lg-6 text-center' id='categorical2'></div>
- <div class='col-lg-6 text-center' id='scatter-line-best-fit'></div>
- <div class='col-lg-6 text-center' id='scatter-size-and-color'></div>
- <div class='col-lg-6 text-center' id='sls-time-series'></div>
- <div class='col-lg-6 text-center' id='highlight'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/points1.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Simple Scatterplot",
- description: "This is an example of a simple scatterplot, in which we have enabled rug plots on the y-axis by setting the <i>y_rug</i> option to true.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-simple',
- x_accessor: 'x',
- y_accessor: 'y',
- mouseover: function(d, i) { console.log(d,i); },
- y_rug: true
- });
-
- MG.data_graphic({
- title: "Automatic Category Coloring",
- description: "By setting <i>color_type</i> to 'category' you can color the points according to another discrete value.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#categorical1',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor: 'v',
- color_type:'category',
- y_rug: true
- });
-
- MG.data_graphic({
- title: "Custom Category Color Mapping",
- description: "You can specify the color domain and the corresponding color range to get custom mapping of categories to colors.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#categorical2',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor: 'v',
- color_domain: ['cat_0', 'cat_1', 'other'],
- color_range: ['blue', 'gray', 'black'],
- color_type: 'category',
- x_rug: true
- });
-
- MG.data_graphic({
- title: "Simple Line of Best Fit",
- description: "For any scatterplot, set <i>least_squares</i> to true to add.",
- data: data,
- least_squares: true,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-line-best-fit',
- x_accessor: 'x',
- y_accessor: 'y'
- });
-
- MG.data_graphic({
- title: "Points Highlighting",
- description: "You can set <i>highlight</i> to filter the points you want to highlight.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#highlight',
- x_accessor: 'x',
- y_accessor: 'y',
- y_rug: true,
- highlight: (d, i) => d.z > 2
- });
-});
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Another Least Squares Example",
- description: "Least squares effortlessly works with dates or times on axes.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- left: 60,
- right: 10,
- least_squares: true,
- target: '#sls-time-series',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-
-var color_range = (theme === 'light') ? null : ['white','yellow'];
-
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Scatterplot with Size and Color",
- description: "Scatterplots have <i>x_accessor</i>, <i>y_accessor</i>, <i>size_accessor</i>, and <i>color_accessor</i>. For the last two you can also provide domain and range functions, to make it easy to change the color ranges. Colors default to red and blue, but can be overridden by passing an array of colors to <i>color_range</i>, as we've done in this example for the dark theme.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-size-and-color',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor:'z',
- color_range: color_range,
- size_accessor:'w',
- x_rug: true,
- y_rug: true
- });
-});</code></pre>
-
- </div>
- </div>
-
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='row'>
- <div class='col-lg-6 text-center' id='point-categorical'></div>
- <div class='col-lg-6 text-center' id='bar-categorical'></div>
- </div>
-
- <div class='row'>
- <div class='col-lg-6 text-center' id='point-categorical2'></div>
- <div class='col-lg-6 text-center' id='bar-categorical2'></div>
-
- </div>
- <div class='row'>
- <div class='col-lg-6 text-center' id='point-categorical-group'></div>
- <div class='col-lg-6 text-center' id='bar-categorical-group'>
- </div>
-
- </div>
- <div class='row'>
- <div class='col-lg-12 text-center' id='point-categorical-group-horizontal'></div>
- </div>
- <div class='row'>
- <div class='col-lg-12 text-center' id='bar-categorical-group-horizontal'></div>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/nh-gop.tsv'>data</a></div>
-
-<pre><code class='javascript'>
-d3.tsv('data/nh-gop.tsv', function(data) {
- var polls = [];
- var who = ['Bush', 'Rubio', 'Trump', 'Cruz'];
- data.forEach(function(p){
- who.forEach(function(d){
- var out = {};
- out.candidate = d;
- out.number = p[d] === '--' ? 0 : parseFloat(p[d]);
- out.poll = p.Poll;
- out.size = Math.random();
- out.when = p.Date;
- polls.push(out);
- })
- });
-
- var trump = polls.filter(function(d){
- return d.poll == 'PPP (D)';
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: X, points',
- data: trump,
- chart_type: 'point',
- y_accessor: 'number',
- x_accessor: 'candidate',
- height:400,
- width:300,
- target: '#point-categorical',
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: X, bars',
- data: trump,
- chart_type: 'bar',
- y_accessor: 'number',
- x_accessor: 'candidate',
- height:400,
- width:300,
- target: '#bar-categorical',
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, points',
- data: trump,
- chart_type: 'point',
- x_accessor: 'number',
- y_accessor: 'candidate',
- height:400,
- width:300,
- target: '#point-categorical2',
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, bars',
- data: trump,
- chart_type: 'bar',
- x_accessor: 'number',
- y_accessor: 'candidate',
- height:400,
- width:300,
- target: '#bar-categorical2',
- })
-
- MG.data_graphic({
- title: 'Y points, groups',
- data: polls,
- chart_type: 'point',
- y_axis_type: 'categorical',
- x_accessor: 'number',
- y_accessor: 'candidate',
- ygroup_accessor: 'poll',
- size_accessor: 'size',
- size_domain: [0,1],
- size_range: [3,6],
- height:550,
- width:300,
- left:100,
- target: '#point-categorical-group'
- })
-
- MG.data_graphic({
- title: 'Y bars, groups',
- data: polls,
- chart_type: 'bar',
- y_axis_type: 'categorical',
- x_accessor: 'number',
- y_accessor: 'candidate',
- ygroup_accessor: 'poll',
- height:550,
- width:300,
- left:100,
- right:40,
- target: '#bar-categorical-group'
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, groups, horizontal',
- data: polls,
- chart_type: 'point',
- y_accessor: 'number',
- x_accessor: 'candidate',
- xgroup_accessor: 'poll',
- size_accessor: 'size',
- size_domain: [0,1],
- size_range: [3,6],
- height:350,
- width:700,
- target: '#point-categorical-group-horizontal'
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, groups, horizontal',
- data: polls,
- chart_type: 'bar',
- y_accessor: 'number',
- x_accessor: 'candidate',
- xgroup_accessor: 'poll',
- size_accessor: 'size',
- size_domain: [0,1],
- size_range: [3,6],
- height:350,
- width:700,
- target: '#bar-categorical-group-horizontal'
- })
-})
-</code></pre>
-
- </div>
-</div>
-
-
-<script>
-d3.tsv('data/nh-gop.tsv', function(data) {
- var polls = [];
- var who = ['Bush', 'Rubio', 'Trump', 'Cruz'];
- data.forEach(function(p,j){
- who.forEach(function(d,i){
- var out = {};
- out.candidate = d;
- out.number = p[d] === '--' ? 0 : parseFloat(p[d]);
- out.poll = p.Poll;
- out.size = Math.random();
- out.when = p.Date;
- out.reference = Math.floor(Math.random() * 20 + 1);
- out.comparison = j+i + 1;
- polls.push(out);
- })
- });
-
- var trump = polls.filter(function(d){
- return d.poll == 'PPP (D)';
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: X, points',
- data: trump,
- chart_type: 'point',
- y_accessor: 'number',
- x_accessor: 'candidate',
- height:300,
- width:300,
- target: '#point-categorical',
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: X, bars',
- data: trump,
- chart_type: 'bar',
- y_accessor: 'number',
- x_accessor: 'candidate',
- height:300,
- width:300,
- target: '#bar-categorical',
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, points',
- data: trump,
- chart_type: 'point',
- x_accessor: 'number',
- y_accessor: 'candidate',
- height:300,
- width:300,
- target: '#point-categorical2',
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, bars',
- data: trump,
- chart_type: 'bar',
- x_accessor: 'number',
- y_accessor: 'candidate',
- height:300,
- width:300,
- target: '#bar-categorical2',
- })
-
- MG.data_graphic({
- title: 'Y points, groups',
- data: polls,
- chart_type: 'point',
- y_axis_type: 'categorical',
- x_accessor: 'number',
- y_accessor: 'candidate',
- ygroup_accessor: 'poll',
- size_accessor: 'size',
- size_domain: [0,1],
- size_range: [3,6],
- height:550,
- width:300,
- left:100,
- target: '#point-categorical-group'
- })
-
- MG.data_graphic({
- title: 'Y bars, groups',
- data: polls,
- chart_type: 'bar',
- y_axis_type: 'categorical',
- x_accessor: 'number',
- y_accessor: 'candidate',
- ygroup_accessor: 'poll',
- height:550,
- width:300,
- left:100,
- target: '#bar-categorical-group'
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, groups, horizontal',
- data: polls,
- chart_type: 'point',
- y_accessor: 'number',
- x_accessor: 'candidate',
- xgroup_accessor: 'poll',
- size_accessor: 'size',
- size_domain: [0,1],
- size_range: [3,6],
- height:300,
- width:650,
- target: '#point-categorical-group-horizontal'
- })
-
- MG.data_graphic({
- title: 'Categorical Scale: Y, groups, horizontal',
- data: polls,
- chart_type: 'bar',
- y_accessor: 'number',
- x_accessor: 'candidate',
- xgroup_accessor: 'poll',
- size_accessor: 'size',
- size_domain: [0,1],
- size_range: [3,6],
- height:300,
- width:650,
- target: '#bar-categorical-group-horizontal'
- })
-})
-</script>
-
-
-
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='col-lg-6 text-center' id='histogram1'></div>
- <div class='col-lg-6 text-center' id='histogram2'></div>
- <div class='col-lg-6 text-center' id='histogram3'></div>
- <div class='col-lg-6 text-center' id='histogram4'></div>
- <div class='col-lg-12 text-center' id='time-hist'></div>
- <div class='col-lg-12 text-center' id='ufos'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/ufo_dates.csv'>data</a></div>
-
-<pre><code class='javascript'>var values = d3.range(10000).map(d3.randomBates(10));
-
-MG.data_graphic({
- title: "Histogram 1",
- description: "Raw data values being fed in. Here, we specify the number of bins to be 50 and have bar margins set to 0. The histogram graphic type includes the ability to <a href='http://en.wikipedia.org/wiki/Freedman%E2%80%93Diaconis_rule'>bin data</a>.",
- data: values,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- right: 10,
- bins: 50,
- bar_margin: 0,
- target: '#histogram1',
- y_extended_ticks: true,
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram1 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-d3.csv('data/ufo_dates.csv', function(ufos){
- var data = ufos.map(function(d){
- return parseInt(d.value) / 30;
- });
- data.sort();
- MG.data_graphic({
- title: "Difference in UFO Sighting and Reporting Dates (in months)",
- description: "Semi-real data about the reported differences between the supposed sighting of a UFO and the date it was reported.",
- data: data,
- chart_type: 'histogram',
- width: 600,
- height: 300,
- right: 40,
- bar_margin: 0,
- bins: 150,
- target: '#ufos',
- y_extended_ticks: true,
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#ufos svg .mg-active-datapoint')
- .text(pf(d.x) + ' months Volume: ' + pf(d.y));
- }
- });
-});
-
-var second = d3.range(10000).map(function(d) { return Math.random() * 10; });
-second = d3.histogram()(second)
- .map(function(d) {
- return {'count': d.y, 'value': d.x};
-});
-
-MG.data_graphic({
- title: "Histogram 2",
- description: "Already binned data being fed in.",
- data: second,
- binned: true,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- right: 10,
- target: '#histogram2',
- y_extended_ticks: true,
- x_accessor: 'value',
- y_accessor: 'count',
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram2 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-var third = d3.range(10000).map(d3.randomBates(10));
-third = third.map(function(d,i){ return {val1: d, val2: i}; });
-
-MG.data_graphic({
- title: "Histogram 3",
- description: "Unbinned, but in same format as other line chart data.",
- data: third,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- right: 10,
- target: '#histogram3',
- linked: true,
- y_extended_ticks: true,
- x_accessor: 'val1',
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram3 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-// check for negative values, for sanity.
-var fourth = d3.range(10000).map(d3.randomBates(10));
-fourth = fourth.map(function(d,i){ return d - 0.5; });
-
-MG.data_graphic({
- title: "Histogram 4",
- description: "Sanity-checking negative data.",
- data: fourth,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- right: 10,
- target: '#histogram4',
- y_extended_ticks: true,
- x_accessor: 'val1',
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram4 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-var hist1 = fake_data(25, 60).map(function(d){
- d.value = Math.round(d.value);
- return d;
-});
-
-MG.data_graphic({
- title: "Histograms can be time series as well",
- data: hist1,
- target: '#time-hist',
- chart_type: 'histogram',
- width: 600,
- height: 200,
- binned: true,
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='table1'></div>
- <div class='col-lg-5'>
-
-<pre><code class='javascript'>var table_data = [
- { 'year': 1852, 'value1': 10.2, 'value2': 1030004.43423,'share': 0.12, 'total': 34003400, 'temp': 43, 'geo': 'United Kingdom', 'description': "Having a way of describing a row can be useful." },
- { 'year': 1901, 'value1': 10.1, 'value2': 54003.223, 'share': 0.11, 'total': 4302100, 'temp': 55, 'geo': 'United States', 'description': "More made-up numbers." },
- { 'year': 1732, 'value1': 4.3, 'value2': 1004.91422, 'share': 0.14, 'total': 4300240, 'temp': 42, 'geo': 'France', 'description': "We didn't specify a title for this column." },
- { 'year': 1945, 'value1': 2.9, 'value2': 2430.121, 'share': 0.23, 'total': 24000000, 'temp': 54, 'geo': 'Brazil', 'description': "Brazil, Brazil." },
- { 'year': 1910, 'value1': 1.0, 'value2': 5432.3, 'share': 0.19, 'total': 130000, 'temp': 52, 'geo': 'India', 'description': "Last description in the whole thing." }
-];
-
-var table1 = MG.data_table({
- title: "A Data Table",
- description: "A table is often the most appropriate way to present data. We aim to make the creation of data tables very simple. We are working on implementing sparklines, bullet charts, and other niceties.",
- data: table_data,
- show_tooltips: true
- })
- .target('#table1')
- .title({
- accessor: 'geo',
- secondary_accessor:'year',
- label: 'Country',
- description: "These are arbitrary countries with arbitrary years underneath."
- })
- .number({ accessor: 'value1', label: 'Size', value_formatter: function(d){ return d + ' yrds'; }})
- .number({ accessor: 'value2', label: 'Score', round: 2, font_weight: 'bold' })
- .number({ accessor: 'temp', label: 'Temp.', format: 'temperature', width: 100, color: 'gray' })
- .number({
- accessor: 'total',
- label: 'Volume',
- format: 'count', currency: '$',
- width: 100,
- font_weight: function(d){ return d < 5000000 ? 'bold' : 'normal'; },
- color: function(d){ return d < 5000000 ? '#f70101' : 'auto'; }
- })
- .number({ accessor: 'share', label: 'Share', format: 'percentage', width: 100 })
- .text({ accessor: 'description', width: 240, font_style: 'italic' })
- .display();</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='buttons'></div>
- <div class='col-lg-5'>
-
-<pre><code class='javascript'>var bdata = [
- {a:'apples', b:'quartz'},
- {a:'bananas', b:'pyrite'},
- {a:'durian', b:'obsidian'}
-];
-
-var resolution_features = ['weekly', 'monthly'];
-
-var buttons = MG.button_layout('#buttons')
- .data(bdata)
- .manual_button('Time Scale', resolution_features, function(){ console.log('switched time scales'); })
- .button('a', 'Fruit')
- .button('b', 'Rock')
- .callback(function(){
- console.log('made it');
- return false;
- })
- .display();</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class="tooltip"></div>
- <style>
- .tooltip {
- display: none;
- min-height: 32px;
- min-width: 100px;
- padding: 12px;
- margin-bottom: 8px;
- background-color: #333;
- color: white;
- opacity: 0.7;
- text-align: left;
- }
- </style>
- <div class='col-lg-12 text-center' id='tooltip-line-chart'></div>
- <div class='col-lg-12 text-center' id='tooltip-point-chart'></div>
- </div>
- <div class='col-lg-5'>
-
-<pre><code class='html'>&#x3C;div class=&#x22;tooltip&#x22;&#x3E;&#x3C;/div&#x3E;
-&#x3C;style&#x3E;
-.tooltip {
- display: none;
- min-height: 32px;
- min-width: 100px;
- padding: 12px;
- margin-bottom: 8px;
- background-color: #333;
- color: white;
- opacity: 0.7;
- text-align: left;
-}
-&#x3C;/style&#x3E;
-</code></pre>
-
-<pre><code class='javascript'>const tooltipEl = d3.select('.tooltip').node();
-const tooltip = new Popper(document.documentElement, tooltipEl, { placement: 'top' });
-tooltipEl.addEventListener('mouseover', () => {
- tooltipEl.style.display = 'block';
-})
-tooltipEl.addEventListener('mouseout', () => {
- tooltipEl.style.display = 'none';
-})
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Tooltip on line chart",
- description: "Using popper.js and the mouseover callback, you can easily create a tooltip when the user hovers over a particular datapoint.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#tooltip-line-chart',
- x_accessor: 'date',
- y_accessor: 'value',
- show_rollover_text: false,
- mouseover: (d, i) => {
- tooltipEl.style.display = 'block';
- tooltipEl.innerText = `date: ${d3.timeFormat('%b %e, %Y')(d.date)}\nvalue: ${d.value}`;
- tooltip.reference = d3.select(`#tooltip-line-chart .mg-line-rollover-circle`).node();
- tooltip.update();
- },
- mouseout: () => {
- tooltipEl.style.display = 'none';
- }
- });
-});
-
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Tooltip on point chart",
- description: "This technique also works for point charts.",
- data: data,
- chart_type: 'point',
- width: 600,
- height: 350,
- right: 10,
- target: '#tooltip-point-chart',
- x_accessor: 'x',
- y_accessor: 'y',
- show_rollover_text: false,
- mouseover: (d, i) => {
- tooltipEl.style.display = 'block';
- tooltipEl.innerText = `X: ${d.data.x}\nY: ${d.data.y}`;
- tooltip.reference = d3.select(`#tooltip-point-chart .mg-points .path-${i}`).node();
- tooltip.update();
- },
- mouseout: (d, i) => {
- tooltipEl.style.display = 'none';
- }
- });
-});</code></pre>
-
- </div>
- </div>
-
-
-<script>
-MG._hooks = {};
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Simple Scatterplot",
- description: "This is an example of a simple scatterplot, in which we have enabled rug plots on the y-axis by setting the <i>y_rug</i> option to true.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-simple',
- x_accessor: 'x',
- y_accessor: 'y',
- y_rug: true
- });
-
- MG.data_graphic({
- title: "Automatic Category Coloring",
- description: "By setting <i>color_type</i> to 'category' you can color the points according to another discrete value.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#categorical1',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor: 'v',
- color_type: 'category',
- y_rug: true
- });
-
- MG.data_graphic({
- title: "Custom Category Color Mapping",
- description: "You can specify the color domain and the corresponding color range to get custom mapping of categories to colors.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#categorical2',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor: 'v',
- color_domain: ['cat_0', 'cat_1', 'other'],
- color_range: ['blue', 'gray', 'black'],
- color_type: 'category',
- x_rug: true
- });
-
- MG.data_graphic({
- title: "Simple Line of Best Fit",
- description: "For any scatterplot, set <i>least_squares</i> to true to add.",
- data: data,
- least_squares: true,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-line-best-fit',
- x_accessor: 'x',
- y_accessor: 'y'
- });
-
- MG.data_graphic({
- title: "Points Highlighting",
- description: "You can set <i>highlight</i> to filter the points you want to highlight.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#highlight',
- x_accessor: 'x',
- y_accessor: 'y',
- y_rug: true,
- highlight: (d, i) => d.z > 2
- });
-});
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Another Least Squares Example",
- description: "Least squares effortlessly works with dates or times on axes.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- left: 60,
- right: 10,
- least_squares: true,
- target: '#sls-time-series',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-
-var color_range = (theme === 'light') ? null : ['white','yellow'];
-
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Scatterplot with Size and Color",
- description: "Scatterplots have <i>x_accessor</i>, <i>y_accessor</i>, <i>size_accessor</i>, and <i>color_accessor</i>. For the last two you can also provide domain and range functions, to make it easy to change the color ranges. Colors default to red and blue, but can be overridden by passing an array of colors to <i>color_range</i>, as we've done in this example for the dark theme.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-size-and-color',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor: 'z',
- color_range: color_range,
- size_accessor: 'w',
- x_rug: true,
- y_rug: true
- });
-});
-
-var values = d3.range(10000).map(d3.randomBates(10));
-
-MG.data_graphic({
- title: "Histogram 1",
- description: "Raw data values being fed in. Here, we specify the number of bins to be 50 and have bar margins set to 0. The histogram graphic type includes the ability to <a href='http://en.wikipedia.org/wiki/Freedman%E2%80%93Diaconis_rule'>bin data</a>.",
- data: values,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- bins: 50,
- bar_margin: 0,
- target: '#histogram1',
- y_extended_ticks: true,
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram1 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-d3.csv('data/ufo_dates.csv', function(ufos){
- var data = ufos.map(function(d){
- return parseInt(d.value) / 30;
- });
- data.sort();
- MG.data_graphic({
- title: "Difference in UFO Sighting and Reporting Dates (in months)",
- description: "Semi-real data about the reported differences between the supposed sighting of a UFO and the date it was reported.",
- data: data,
- chart_type: 'histogram',
- width: 600,
- height: 300,
- right: 40,
- bar_margin: 0,
- bins: 150,
- target: '#ufos',
- y_extended_ticks: true,
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#ufos svg .mg-active-datapoint')
- .text(pf(d.x) + ' months Volume: ' + d.y);
- }
- });
-});
-
-var second = d3.range(10000).map(function(d) { return Math.random() * 10; });
-second = d3.histogram()(second)
- .map(function(d) {
- return {'value': d.x0, 'count': d.length};
-});
-
-MG.data_graphic({
- title: "Histogram 2",
- description: "Already binned data being fed in.",
- data: second,
- binned: true,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- target: '#histogram2',
- y_extended_ticks: true,
- x_accessor: 'value',
- y_accessor: 'count',
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram2 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-var third = d3.range(10000).map(d3.randomBates(10));
-third = third.map(function(d,i){ return {val1: d, val2: i}; });
-
-MG.data_graphic({
- title: "Histogram 3",
- description: "Unbinned, but in same format as other line chart data.",
- data: third,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- target: '#histogram3',
- linked: true,
- y_extended_ticks: true,
- x_accessor: 'val1',
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram3 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-// check for negative values, for sanity.
-var fourth = d3.range(10000).map(d3.randomBates(10));
-fourth = fourth.map(function(d,i){ return d - 0.5; });
-
-MG.data_graphic({
- title: "Histogram 4",
- description: "Sanity-checking negative data.",
- data: fourth,
- chart_type: 'histogram',
- width: 295,
- height: 180,
- target: '#histogram4',
- y_extended_ticks: true,
- x_accessor: 'val1',
- mouseover: function(d, i) {
- var pf = d3.format(',.2f');
- d3.select('#histogram4 svg .mg-active-datapoint')
- .text('Value: ' + pf(d.x) + ' Count: ' + d.y);
- }
-});
-
-var hist1 = fake_data(25, 60).map(function(d){
- d.value = Math.round(d.value);
- return d;
-});
-
-MG.data_graphic({
- title: "Histograms can be time series as well",
- data: hist1,
- target: '#time-hist',
- chart_type: 'histogram',
- width: 600,
- height: 200,
- binned: true,
-});
-
-var table_data = [
- { 'year': 1852, 'value1': 10.2, 'value2': 1030004.43423,'share': 0.12, 'total': 34003400, 'temp': 43, 'geo': 'United Kingdom', 'description': "Having a way of describing a row can be useful." },
- { 'year': 1901, 'value1': 10.1, 'value2': 54003.223, 'share': 0.11, 'total': 4302100, 'temp': 55, 'geo': 'United States', 'description': "More made-up numbers." },
- { 'year': 1732, 'value1': 4.3, 'value2': 1004.91422, 'share': 0.14, 'total': 4300240, 'temp': 42, 'geo': 'France', 'description': "We didn't specify a title for this column." },
- { 'year': 1945, 'value1': 2.9, 'value2': 2430.121, 'share': 0.23, 'total': 24000000, 'temp': 54, 'geo': 'Brazil', 'description': "Brazil, Brazil." },
- { 'year': 1910, 'value1': 1.0, 'value2': 5432.3, 'share': 0.19, 'total': 130000, 'temp': 52, 'geo': 'India', 'description': "Last description in the whole thing." }
-];
-
-var table1 = MG.data_table({
- title: "A Data Table",
- description: "A table is often the most appropriate way to present data. We aim to make the creation of data tables very simple. We are working on implementing sparklines, bullet charts, and other niceties.",
- data: table_data,
- show_tooltips: true
- })
- .target('#table1')
- .title({
- accessor: 'geo',
- secondary_accessor:'year',
- label: 'Country',
- description: "These are arbitrary countries with arbitrary years underneath."
- })
- .number({ accessor: 'value1', label: 'Size', value_formatter: function(d){ return d + ' yrds'; }})
- .number({ accessor: 'value2', label: 'Score', round: 2, font_weight: 'bold' })
- .number({ accessor: 'temp', label: 'Temp.', format: 'temperature', width: 100, color: 'gray' })
- .number({
- accessor: 'total',
- label: 'Volume',
- format: 'count', currency: '$',
- width: 100,
- font_weight: function(d){ return d < 5000000 ? 'bold' : 'normal'; },
- color: function(d){ return d < 5000000 ? '#f70101' : 'auto'; }
- })
- .number({ accessor: 'share', label: 'Share', format: 'percentage', width: 100 })
- .text({ accessor: 'description', width: 240, font_style: 'italic' })
- .display();
-
-var bdata = [
- {a:'apples', b:'quartz'},
- {a:'bananas', b:'pyrite'},
- {a:'durian', b:'obsidian'}
-];
-
-var resolution_features = ['weekly', 'monthly'];
-
-var buttons = MG.button_layout('#buttons')
- .data(bdata)
- .manual_button('Time Scale', resolution_features, function(){ console.log('switched time scales'); })
- .button('a', 'Fruit')
- .button('b', 'Rock')
- .callback(function(){
- console.log('made it');
- return false;
- })
- .display();
-
-addScatterplotSizeAndColor(theme);
-
-function addScatterplotSizeAndColor(theme) {
- var color_range = (theme === 'light') ? null : ['white','yellow'];
-
- // call data_graphic again since we need to use a different color_range for the dark theme
- d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Scatterplot with Size and Color",
- description: "Scatterplots have <i>x_accessor</i>, <i>y_accessor</i>, <i>size_accessor</i>, and <i>color_accessor</i>. For the last two you can also provide domain and range functions, to make it easy to change the color ranges. Colors default to red and blue, but can be overridden by passing an array of colors to <i>color_range</i>, as we've done in this example for the dark theme.",
- data: data,
- chart_type: 'point',
- width: 295,
- height: 225,
- right: 10,
- target: '#scatter-size-and-color',
- x_accessor: 'x',
- y_accessor: 'y',
- color_accessor: 'z',
- color_range: color_range,
- size_accessor: 'w',
- x_rug: true,
- y_rug: true
- });
- });
-}
-
-function fake_data(length, seconds) {
- var d = new Date();
- var v = 100000;
- var data=[];
-
- for (var i = 0; i < length; i++){
- v += (Math.random() - 0.5) * 10000;
- data.push({date: MG.clone(d), value: v});
- d = new Date(d.getTime() + seconds * 1000);
- }
- return data;
-}
-
-function fake_days(length) {
- var d = new Date();
- var v = 100000;
-
- var data = [];
- for (var i = 0; i<length; i++) {
- v += (Math.random() - 0.5) * 10000;
- data.push({date: MG.clone(d), value: v});
- d.setDate(d.getDate() + 1);
- }
- return data;
-}
-
-const tooltipEl = d3.select('.tooltip').node();
-const tooltip = new Popper(document.documentElement, tooltipEl, { placement: 'top' });
-tooltipEl.addEventListener('mouseover', () => {
- tooltipEl.style.display = 'block';
-})
-tooltipEl.addEventListener('mouseout', () => {
- tooltipEl.style.display = 'none';
-})
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Tooltip on line chart",
- description: "Using popper.js and the mouseover callback, you can easily create a tooltip when the user hovers over a particular datapoint.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#tooltip-line-chart',
- x_accessor: 'date',
- y_accessor: 'value',
- show_rollover_text: false,
- mouseover: (d, i) => {
- tooltipEl.style.display = 'block';
- tooltipEl.innerText = `date: ${d3.timeFormat('%b %e, %Y')(d.date)}\nvalue: ${d.value}`;
- tooltip.reference = d3.select(`#tooltip-line-chart .mg-line-rollover-circle`).node();
- tooltip.update();
- },
- mouseout: () => {
- tooltipEl.style.display = 'none';
- }
- });
-});
-
-d3.json('data/points1.json', function(data) {
- MG.data_graphic({
- title: "Tooltip on point chart",
- description: "This technique also works for point charts.",
- data: data,
- chart_type: 'point',
- width: 600,
- height: 350,
- right: 10,
- target: '#tooltip-point-chart',
- x_accessor: 'x',
- y_accessor: 'y',
- show_rollover_text: false,
- mouseover: (d, i) => {
- tooltipEl.style.display = 'block';
- tooltipEl.innerText = `X: ${d.data.x}\nY: ${d.data.y}`;
- tooltip.reference = d3.select(`#tooltip-point-chart .mg-points .path-${i}`).node();
- tooltip.update();
- },
- mouseout: (d, i) => {
- tooltipEl.style.display = 'none';
- }
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm
deleted file mode 100644
index b758d34..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/lines.htm
+++ /dev/null
@@ -1,335 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='fake_users1'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Line Chart",
- description: "This is a simple line chart. You can remove the area portion by adding <i>area: false</i> to the arguments list.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: document.getElementById('fake_users1'),
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='confidence_band'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/confidence_band.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/confidence_band.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Confidence Band",
- description: "This is an example of a graphic with a confidence band and extended x-axis ticks enabled.",
- data: data,
- format: 'percentage',
- width: 600,
- height: 200,
- right: 40,
- area: false,
- target: '#confidence_band',
- show_secondary_x_label: false,
- show_confidence_band: ['l', 'u'],
- x_extended_ticks: true
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='small-range'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/small-range.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/small-range.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Small Range of Integers",
- description: "When we have a data object of integers and a small range of values, the auto-generated set of y-axis ticks are filtered so that we don't include fractional values.",
- data: data,
- interpolate: d3.curveLinear,
- width: 600,
- height: 200,
- right: 40,
- target: '#small-range'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div id='briefing-1'></div>
- <div id='briefing-2'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/brief-1.json'>data 1</a>,
- <a href='data/brief-2.json'>data 2</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/brief-1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Linked Graphic",
- description: "The two graphics in this section are linked together. A rollover in one causes a rollover in the other.",
- data: data,
- linked: true,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#briefing-1'
- });
-});
-
-d3.json('data/brief-2.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Other Linked Graphic",
- description: "Roll over and watch as the graphic to the left triggers.",
- data: data,
- area: false,
- linked: true,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#briefing-2'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='singleton'></div>
- <div class='col-lg-5'>
-
-<pre><code class='javascript'>MG.data_graphic({
- title: "Singleton",
- description: "Handling a solitary data point.",
- data: [{'date': new Date('2015-03-05T21:00:00Z'), 'value': 12000}],
- width: 600,
- height: 200,
- right: 40,
- target: '#singleton'
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='custom-color'></div>
- <div class='col-lg-5'>
-
-<pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Changing Single Line Color",
- description: "For single line charts, there are two simple ways to change a line color. The first is to change the css (described on the wiki). The other is to specify a color value using color: <em>string</em> or colors: <em>string</em>.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- color: '#8C001A',
- target: 'div#custom-color',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='area_flipped_users_gain_loss'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users1.json'>data</a></div>
-
- <pre><code class='javascript'>d3.json('data/fake_users1.json', function(data) {
-
- var max = d3.max(data, function (d) {
- return d.value;
- });
- var min = d3.min(data, function(d) {
- return d.value;
- });
-
- var offsetForNegativeValues = ((max - min) / 1.75);
-
- for (var i = 0; i < data.length; i++) {
- data[i].value = (data[i].value - offsetForNegativeValues) / 1000000;
- }
-
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Flipped area under Y value baseline",
- description: "This is a line chart having a flipped area under a Y value baseline",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- area: true,
- flip_area_under_y_value: 0,
- target: document.getElementById('area_flipped_users_gain_loss'),
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});</code></pre>
-
- </div>
- </div>
-
-<script>
-
-
-
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Changing Single Line Color",
- description: "For single line charts, there are two simple ways to change a line color. The first is to change the css (described on the wiki). The other is to specify a color value using color: <em>string</em> or colors: <em>string</em>.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- color: '#8C001A',
- target: 'div#custom-color',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-
-MG._hooks = {};
-d3.json('data/fake_users1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Line Chart",
- description: "This is a simple line chart. You can remove the area portion by adding <i>area: false</i> to the arguments list.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: document.getElementById('fake_users1'),
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-
-d3.json('data/confidence_band.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Confidence Band",
- description: "This is an example of a graphic with a confidence band and extended x-axis ticks enabled.",
- data: data,
- format: 'percentage',
- width: 600,
- height: 200,
- right: 40,
- area: false,
- target: '#confidence_band',
- show_secondary_x_label: false,
- show_confidence_band: ['l', 'u'],
- x_extended_ticks: true
- });
-});
-
-d3.json('data/small-range.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Small Range of Integers",
- description: "When we have a data object of integers and a small range of values, the auto-generated set of y-axis ticks are filtered so that we don't include fractional values.",
- data: data,
- interpolate: d3.curveLinear,
- width: 600,
- height: 200,
- right: 40,
- target: '#small-range'
- });
-});
-
-d3.json('data/brief-1.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Linked Graphic",
- description: "The two graphics in this section are linked together. A rollover in one causes a rollover in the other.",
- data: data,
- linked: true,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#briefing-1'
- });
-});
-
-d3.json('data/brief-2.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Other Linked Graphic",
- description: "Roll over and watch as the graphic to the left triggers.",
- data: data,
- area: false,
- linked: true,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#briefing-2'
- });
-});
-
-MG.data_graphic({
- title: "Singleton",
- description: "Handling a solitary data point.",
- data: [{'date': new Date('2015-03-05T21:00:00Z'), 'value': 12000}],
- width: 600,
- height: 200,
- right: 40,
- target: '#singleton'
-});
-
-d3.json('data/fake_users1.json', function(data) {
-
- var max = d3.max(data, function (d) {
- return d.value;
- });
- var min = d3.min(data, function(d) {
- return d.value;
- });
-
- var offsetForNegativeValues = ((max - min) / 1.75);
-
- for (var i = 0; i < data.length; i++) {
- data[i].value = (data[i].value - offsetForNegativeValues) / 1000000;
- }
-
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Flipped area under Y value baseline",
- description: "This is a line chart having a flipped area under a Y value baseline",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- area: true,
- flip_area_under_y_value: 0,
- target: document.getElementById('area_flipped_users_gain_loss'),
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm
deleted file mode 100644
index d807466..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/multilines.htm
+++ /dev/null
@@ -1,368 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='fake_users2'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Multi-Line Chart",
- description: "This line chart contains multiple lines.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#fake_users2',
- legend: ['Line 1','Line 2','Line 3'],
- legend_target: '.legend'
- });
-});</code></pre>
-
- </div>
- </div>
- <div class='row'>
- <div class='col-lg-7 text-center legend'></div>
- <div class='col-lg-5'></div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='missing_is_hidden_multi'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/missing-is-hidden-multi.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/missing-is-hidden-multi.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Broken Multi-Lines",
- description: 'Setting <i>missing_is_hidden</i> works with multiple lines too.',
- data: data,
- width: 600,
- height: 200,
- right: 40,
- missing_is_hidden: true,
- target: '#missing_is_hidden_multi',
- show_secondary_x_label: false
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div id='linked_multi1'></div>
- <div id='linked_multi2'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/fake_users2.json'>data 1</a>,
- <a href='data/fake_users3.json'>data 2</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Multi-Line Linked",
- description: "Demoing linked multi-line charts.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#linked_multi1',
- linked: true
- });
-})
-
-d3.json('data/fake_users3.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Multi-Line Linked 2",
- description: "Demoing linked multi-line charts.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#linked_multi2',
- linked: true
- });
-});</code></pre>
-
- </div>
-</div>
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='missing-multi'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
- // set this to an empty array.
- // data[0] and data[2] both still arrays of objects.
- data[1] = [];
-
- MG.data_graphic({
- title: "Missing Time Series Don't Get Drawn",
- description: "We set the second array to [] instead of the loaded data. The line color order is preserved.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#missing-multi'
- });
-});
-});</code></pre>
-
- </div>
-</div>
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='multi-labelled'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- data[1][data[1].length-1].value = 50000000;
- data[2][data[2].length-1] = MG.clone(data[1][data[1].length-1]);
- data[2][data[2].length-1].value += 10000000;
-
- MG.data_graphic({
- title: "Labeling Lines",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- legend: ['US', 'CA', 'DE'],
- target: '#multi-labelled'
- });
-});</code></pre>
-
- </div>
-</div>
-
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='custom-colors'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data){
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- };
- MG.data_graphic({
- title: "Custom Line Coloring",
- description: "By passing in an array of hex / rgb / rgba / html strings, you can specify the colors of the lines. NOTE: this feature may have an API change before it is fully in Metrics Graphics. Use at your own risk.",
- data: [data[0], data[1], data[2]],
- width: 600,
- height: 200,
- right: 40,
- target: '#custom-colors',
- legend: ['Team A','Team B','Team C'],
- legend_target: 'div#custom-color-key',
- colors: ['blue', 'rgb(255,100,43)', '#CCCCFF'],
- aggregate_rollover: true
- });
-})
-</code></pre>
-
- </div>
-</div>
-<div class='row'>
- <div class='col-lg-7 text-center legend' id='custom-color-key'></div>
- <div class='col-lg-5'></div>
-</div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='multiline_area_select'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
-
- <pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
-
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- };
-
- MG.data_graphic({
- title: "Select lines of your multi-line chart having areas",
- description: "By passing in an array of booleans in 'area' property, you can choose which lines has an area or not.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#multiline_area_select',
- area: [false, true, false],
- y_extended_ticks: true,
- x_accessor: 'date'
- });
-});</code></pre>
-
-<script>
-MG._hooks = {};
-d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Multi-Line Chart",
- description: "This line chart contains multiple lines.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#fake_users2',
- legend: ['Line 1','Line 2','Line 3'],
- legend_target: '.legend'
- });
-});
-
-d3.json('data/missing-is-hidden-multi.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Broken Multi-Lines",
- description: 'Setting <i>missing_is_hidden</i> works with multiple lines too.',
- data: data,
- width: 600,
- height: 200,
- right: 40,
- missing_is_hidden: true,
- target: '#missing_is_hidden_multi',
- show_secondary_x_label: false
- });
-});
-
-d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Multi-Line Linked",
- description: "Demoing linked multi-line charts.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#linked_multi1',
- linked: true
- });
-})
-
-d3.json('data/fake_users3.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Multi-Line Linked 2",
- description: "Demoing linked multi-line charts.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#linked_multi2',
- linked: true
- });
-});
-
-d3.json('data/fake_users3.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- // set this to an empty array.
- // data[0] and data[2] both still arrays of objects.
- data[1] = [];
- MG.data_graphic({
- title: "Missing Time Series Don't Get Drawn",
- description: "We set the second array to [] instead of the loaded data. The line color order is preserved.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#missing-multi'
- });
-});
-
-d3.json('data/fake_users3.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
- data[1][data[1].length-1].value = 50000000;
- data[2][data[2].length-1] = MG.clone(data[1][data[1].length-1]);
- data[2][data[2].length-1].value += 10000000;
-
-
- MG.data_graphic({
- title: "Labeling Lines",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- legend: ['US', 'CA', 'DE'],
- target: '#multi-labelled'
- });
-});
-
-d3.json('data/fake_users2.json', function(data){
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- };
- MG.data_graphic({
- title: "Custom Line Coloring",
- description: "By passing in an array of hex / rgb / rgba / html strings, you can specify the colors of the lines. NOTE: this feature may have an API change before it is fully in Metrics Graphics. Use at your own risk.",
- data: [data[0], data[1], data[2]],
- width: 600,
- height: 200,
- right: 40,
- target: '#custom-colors',
- legend: ['Team A','Team B','Team C'],
- legend_target: 'div#custom-color-key',
- colors: ['blue', 'rgb(255,100,43)', '#CCCCFF'],
- aggregate_rollover: true
- });
-});
-
-d3.json('data/fake_users3.json', function(data) {
-
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- };
-
- MG.data_graphic({
- title: "Select lines of your multi-line chart having areas",
- description: "By passing in an array of booleans in 'area' property, you can choose which lines has an area or not.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- target: '#multiline_area_select',
- area: [false, true, false],
- y_extended_ticks: true,
- x_accessor: 'date'
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm
deleted file mode 100644
index e65d641..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/other.htm
+++ /dev/null
@@ -1,48 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='aspect1'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users3.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users3.json', function(data) {
- for(var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Preserving the aspect ratio",
- description: "You can automatically set the width or height of a data graphic to fit its parent element. When done the graphic will rescale to fit the size of the parent element while preserving its aspect ratio.",
- data: data,
- full_width: true,
- height: 300,
- right: 40,
- x_extended_ticks: true,
- target: '#aspect1',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});</code></pre>
-
- </div>
- </div>
-
-<script>
-MG._hooks = {};
-d3.json('data/fake_users3.json', function(data) {
- for(var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Preserving the aspect ratio",
- description: "You can automatically set the width or height of a data graphic to fit its parent element. When done the graphic will rescale to fit the size of the parent element while preserving its aspect ratio.",
- data: data,
- full_width: true,
- height: 300,
- right: 40,
- x_extended_ticks: true,
- target: '#aspect1',
- x_accessor: 'date',
- y_accessor: 'value'
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm
deleted file mode 100644
index 53510bb..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/rollovers.htm
+++ /dev/null
@@ -1,309 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='col-lg-12 text-center' id='precision1'></div>
- <div class='col-lg-12 text-center' id='precision2'></div>
- <div class='col-lg-12 text-center' id='custom-rollover'></div>
- <div class='col-lg-12 text-center' id='no-rollover-text'></div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'>
- <a href='data/float.json'>data 1</a>,
- <a href='data/some_percentage.json'>data 2</a>
- </div>
-
-<pre><code class='javascript'>d3.json('data/float.json', function(data) {
- data = MG.convert.date(data, 'date');
-
- MG.data_graphic({
- title: "Changing Precision 1",
- description: "We can change the precision if the axis data type is a float. We can also change both the formatting, or hide the rollover text altogether. Here we set <i>decimals: 3</i> to get three decimals in the rollover for percentages.",
- data: data,
- decimals: 3,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#precision1'
- });
-
- MG.data_graphic({
- title: "Custom Rollover Text",
- description: "Here is an example of changing the rollover text. You could in theory actually update any DOM element with the data from that rollover - a title, for instance.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- mouseover: function(d, i) {
- // custom format the rollover text, show days
- var pf = d3.format('.0s');
- d3.select('#custom-rollover svg .mg-active-datapoint')
- .text('Day ' + (i + 1) + ' ' + pf(d.value));
- },
- target: '#custom-rollover'
- });
-});
-
-d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Changing Precision 2",
- description: "Here we set <i>decimals: 0</i> for percentages.",
- data: data,
- decimals: 0,
- format: 'percentage',
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#precision2'
- });
-
- MG.data_graphic({
- title: "... Or No Rollover Text",
- description: "By setting <i>show_rollover_text: false</i>, you can hide the default rollover text from even appearing. This, coupled with the custom callback, gives a lot of interesting options for controlling rollovers.",
- data: data,
- decimals: 0,
- show_rollover_text: false,
- format: 'percentage',
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#no-rollover-text'
- });
-});</code></pre>
-
- </div>
- </div>
-
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='aggregate'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
-
-<pre><code class='javascript'>d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var all_the_data = MG.clone(data[0]);
- for (i = 1; i < data.length; i++){
- for (var j = 0; j < data[i].length; j++){
- if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
- } else {
- all_the_data[j]['value' + (i + 1)] = data[i][j].value;
- }
- }
- }
-
- MG.data_graphic({
- title: "Aggregated Rollover Information",
- description: "Aggregated information can be displayed with the <i>aggregate_rollover</i> option in order to clearly highlight the relationship between lines. Also handles non-contiguous data",
- data: all_the_data,
- width: 600,
- height: 200,
- right: 40,
- target: '#aggregate',
- y_extended_ticks: true,
- x_accessor: 'date',
- y_accessor: ['value', 'value2', 'value3'],
- aggregate_rollover: true
- });
-});</code></pre>
-
- </div>
- </div>
-
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='formatting-with-strings'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
-
-<pre><code class='javascript'>
-d3.json('data/float.json', function(data) {
-
- data = MG.convert.date(data, 'date');
- // check out https://github.com/mbostock/d3/wiki/Formatting for number formatting
- //and https://github.com/mbostock/d3/wiki/Time-Formatting for time formatting options.
-
- MG.data_graphic({
- title: "Rollover Formatting With Strings",
- description: "Metrics Graphics comes with two arguments: y_rollover_format and x_rollover_format. These arguments take either strings or functions. Strings are formatted according to D3's number format, or D3's time formatting, if the accessor pulls out Date objects.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- y_mouseover: '%d',
- x_mouseover: '%e of %b? Well, ',
- target: '#y-formatting'
- });
-})
-</code></pre>
-
- </div>
-</div>
-
-
-<div class='row trunk-section'>
- <div class='col-lg-7 text-center' id='formatting-with-functions'></div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/fake_users2.json'>data</a></div>
-
-<pre><code class='javascript'>
-d3.json('data/float.json', function(data) {
- data = MG.convert.date(data, 'date');
- MG.data_graphic({
- title: "Rollover Formatting With Functions",
- description: "You can also pass in a function, whose arguments are the data point and the index.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- y_rollover_format: function(d){
- return Math.round(d.value) + (Math.random() > .5 ? ' + 1' : ' - 1')
- },
- x_rollover_format: function(d){
- var today = new Date()
- return Math.round((today - d.date)/ (1000 * 60 * 60 * 24)) + ' days ago, ';
- },
- target: '#formatting-with-functions'
- });
-})
-</code></pre>
-
- </div>
-</div>
-
-
-<script>
-MG._hooks = {};
-d3.json('data/float.json', function(data) {
- data = MG.convert.date(data, 'date');
-
- MG.data_graphic({
- title: "Updating Rollover Accessor Formatting With Strings",
- description: "Metrics Graphics comes with two arguments: y_rollover_format and x_rollover_format. These arguments take either strings or functions. Strings are formatted according to D3's number format, or D3's time formatting, if the accessor pulls out Date objects.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- y_mouseover: '%d',
- x_mouseover: '%e of %b? Well, ',
- target: '#formatting-with-strings'
- });
-
- MG.data_graphic({
- title: "Updating Rollover Accessor Formatting With Functions",
- description: "You can also pass in a function, whose arguments are the data point and the index.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- y_mouseover: function(d){
- return Math.round(d.value) + (Math.random() > .5 ? ' + 1' : ' - 1')
- },
- x_mouseover: function(d){
- var today = new Date()
- return Math.round((today - d.date)/ (1000 * 60 * 60 * 24)) + ' days ago, ';
- },
- target: '#formatting-with-functions'
- });
-
- MG.data_graphic({
- title: "Changing Precision 1",
- description: "We can change the precision if the axis data type is a float. We can also change both the formatting, or hide the rollover text altogether. Here we set <i>decimals: 3</i> to get three decimals in the rollover for percentages.",
- data: data,
- decimals: 3,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#precision1'
- });
-
- MG.data_graphic({
- title: "Custom Rollover Text",
- description: "Here is an example of changing the rollover text. You could in theory actually update any DOM element with the data from that rollover - a title, for instance.",
- data: data,
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- mouseover: function(d, i) {
- // custom format the rollover text, show days
- var pf = d3.format('.0s');
- d3.select('#custom-rollover svg .mg-active-datapoint')
- .text('Day ' + (i + 1) + ' ' + pf(d.value));
- },
- target: '#custom-rollover'
- });
-});
-
-d3.json('data/some_percentage.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- MG.data_graphic({
- title: "Changing Precision 2",
- description: "Here we set <i>decimals: 0</i> for percentages.",
- data: data,
- decimals: 0,
- format: 'percentage',
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#precision2'
- });
-
- MG.data_graphic({
- title: "... Or No Rollover Text",
- description: "By setting <i>show_rollover_text: false</i>, you can hide the default rollover text from even appearing. This, coupled with the custom callback, gives a lot of interesting options for controlling rollovers.",
- data: data,
- decimals: 0,
- show_rollover_text: false,
- format: 'percentage',
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#no-rollover-text'
- });
-});
-
-d3.json('data/fake_users2.json', function(data) {
- for (var i = 0; i < data.length; i++) {
- data[i] = MG.convert.date(data[i], 'date');
- }
-
- var all_the_data = MG.clone(data[0]);
- for (i = 1; i < data.length; i++){
- for (var j = 0; j < data[i].length; j++){
- if (i === 2 && all_the_data[j].date < new Date('2014-02-01')) {
- } else {
- all_the_data[j]['value' + (i + 1)] = data[i][j].value;
- }
- }
- }
-
- MG.data_graphic({
- title: "Aggregated Rollover Information",
- description: "Aggregated information can be displayed with the <i>aggregate_rollover</i> option in order to clearly highlight the relationship between lines. Also handles non-contiguous data",
- data: all_the_data,
- width: 600,
- height: 200,
- right: 40,
- target: '#aggregate',
- y_extended_ticks: true,
- x_accessor: 'date',
- y_accessor: ['value', 'value2', 'value3'],
- aggregate_rollover: true
- });
-});
-</script>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm
deleted file mode 100644
index af3919b..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/charts/updating.htm
+++ /dev/null
@@ -1,169 +0,0 @@
- <div class='row trunk-section'>
- <div class='col-lg-7 text-center'>
- <div class='col-lg-12' id='split_by'></div>
- <div class='btn-group btn-group-sm text-center split-by-controls'>
- <button type='button' class='btn btn-default active'
- data-y_accessor='release'>Release</button>
- <button type='button' class='btn btn-default'
- data-y_accessor='beta'>Beta</button>
- <button type='button' class='btn btn-default'
- data-y_accessor='alpha'>Alpha</button>
- </div>
- <div class='col-lg-12' id='modify_time_period'></div>
- <div class='btn-group btn-group-sm text-center
- modify-time-period-controls'>
- <button type='button' class='btn btn-default active'
- data-time_period=''>All time</button>
- <button type='button' class='btn btn-default'
- data-time_period='61'>Past 2 months</button>
- <button type='button' class='btn btn-default'
- data-time_period='31'>Past month</button>
- </div>
- </div>
- <div class='col-lg-5'>
- <div class='data-column'><a href='data/split_by.json'>data</a></div>
-
-<pre><code class='javascript'>var globals = {};
-
-var split_by_params = {
- title: "Downloads by Channel",
- description: "We sometimes have the need to split the data and then gracefully update the graphic with the newly selected subset of data.",
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#split_by',
- x_accessor: 'date',
- y_accessor: 'release'
-};
-
-var modify_time_period_params = {
- title: "Beta Downloads",
- description: "We sometimes have the need to view data for just the past n days. Here, the <i>transition_on_update</i> option is set to false.",
- width: 600,
- height: 200,
- right: 40,
- show_secondary_x_label: false,
- xax_count: 4,
- target: '#modify_time_period',
- x_accessor: 'date',
- y_accessor: 'beta'
-}
-
-d3.json('data/split_by.json', function(data) {
- data = MG.convert.date(data, 'date');
- globals.data = data;
-
- split_by_params.data = data;
- MG.data_graphic(split_by_params);
-
- modify_time_period_params.data = data;
- MG.data_graphic(modify_time_period_params);
-});
-
-$('.split-by-controls button').click(function() {
- var new_y_accessor = $(this).data('y_accessor');
- split_by_params.y_accessor = new_y_accessor;
-
- // change button state
- $(this).addClass('active').siblings().removeClass('active');
-
- // update data
- delete split_by_params.xax_format;
- MG.data_graphic(split_by_params);
-});
-
-$('.modify-time-period-controls button').click(function() {
- var past_n_days = $(this).data('time_period');
- var data = modify_time_period(globals.data, past_n_days);
-
- // change button state
- $(this).addClass('active').siblings().removeClass('active');
-
- delete modify_time_period_params.xax_format;
- modify_time_period_params.data = data;
- MG.data_graphic(modify_time_period_params);
-});
-
-function modify_time_period(data, past_n_days) {
- if (past_n_days !== '') {
- return MG.clone(data).slice(past_n_days * -1);
- }
-
- return data;
-}</code></pre>
-
- </div>
- </div>
-
-<script>
-MG._hooks = {};
-var globals = {};
-
-var split_by_params = {
- title: "Downloads by Channel",
- description: "We sometimes have the need to split the data and then gracefully update the graphic with the newly selected subset of data.",
- width: 600,
- height: 200,
- right: 40,
- xax_count: 4,
- target: '#split_by',
- x_accessor: 'date',
- y_accessor: 'release'
-};
-
-var modify_time_period_params = {
- title: "Beta Downloads",
- description: "We sometimes have the need to view data for just the past n days. Here, the <i>transition_on_update</i> option is set to false.",
- width: 600,
- height: 200,
- right: 40,
- show_secondary_x_label: false,
- xax_count: 4,
- transition_on_update: false,
- target: '#modify_time_period',
- x_accessor: 'date',
- y_accessor: 'beta'
-}
-
-d3.json('data/split_by.json', function(data) {
- data = MG.convert.date(data, 'date');
- globals.data = data;
-
- split_by_params.data = data;
- MG.data_graphic(split_by_params);
-
- modify_time_period_params.data = data;
- MG.data_graphic(modify_time_period_params);
-});
-
-$('.split-by-controls button').click(function() {
- var new_y_accessor = $(this).data('y_accessor');
- split_by_params.y_accessor = new_y_accessor;
-
- // change button state
- $(this).addClass('active').siblings().removeClass('active');
-
- // update data
- MG.data_graphic(split_by_params);
-});
-
-$('.modify-time-period-controls button').click(function() {
- var past_n_days = $(this).data('time_period');
- var data = modify_time_period(globals.data, past_n_days);
-
- // change button state
- $(this).addClass('active').siblings().removeClass('active');
-
- modify_time_period_params.data = data;
- MG.data_graphic(modify_time_period_params);
-});
-
-function modify_time_period(data, past_n_days) {
- if (past_n_days !== '') {
- return MG.clone(data).slice(past_n_days * -1);
- }
-
- return data;
-}
-</script> \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css
deleted file mode 100644
index a7db875..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/css/highlightjs-default.css
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-
-Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
-
-*/
-
-.hljs {
- display: block;
- overflow-x: auto;
- padding: 0.5em;
- background: #f0f0f0;
- -webkit-text-size-adjust: none;
-}
-
-.hljs,
-.hljs-subst,
-.hljs-tag .hljs-title,
-.nginx .hljs-title {
- color: black;
-}
-
-.hljs-string,
-.hljs-title,
-.hljs-constant,
-.hljs-parent,
-.hljs-tag .hljs-value,
-.hljs-rules .hljs-value,
-.hljs-preprocessor,
-.hljs-pragma,
-.haml .hljs-symbol,
-.ruby .hljs-symbol,
-.ruby .hljs-symbol .hljs-string,
-.hljs-template_tag,
-.django .hljs-variable,
-.smalltalk .hljs-class,
-.hljs-addition,
-.hljs-flow,
-.hljs-stream,
-.bash .hljs-variable,
-.apache .hljs-tag,
-.apache .hljs-cbracket,
-.tex .hljs-command,
-.tex .hljs-special,
-.erlang_repl .hljs-function_or_atom,
-.asciidoc .hljs-header,
-.markdown .hljs-header,
-.coffeescript .hljs-attribute {
- color: #e6337c;
-}
-
-.smartquote,
-.hljs-comment,
-.hljs-annotation,
-.hljs-template_comment,
-.diff .hljs-header,
-.hljs-chunk,
-.asciidoc .hljs-blockquote,
-.markdown .hljs-blockquote {
- color: #888;
-}
-
-.hljs-number,
-.hljs-date,
-.hljs-regexp,
-.hljs-literal,
-.hljs-hexcolor,
-.smalltalk .hljs-symbol,
-.smalltalk .hljs-char,
-.go .hljs-constant,
-.hljs-change,
-.lasso .hljs-variable,
-.makefile .hljs-variable,
-.asciidoc .hljs-bullet,
-.markdown .hljs-bullet,
-.asciidoc .hljs-link_url,
-.markdown .hljs-link_url {
- color: #366797;
-}
-
-.hljs-label,
-.hljs-javadoc,
-.ruby .hljs-string,
-.hljs-decorator,
-.hljs-filter .hljs-argument,
-.hljs-localvars,
-.hljs-array,
-.hljs-attr_selector,
-.hljs-important,
-.hljs-pseudo,
-.hljs-pi,
-.haml .hljs-bullet,
-.hljs-doctype,
-.hljs-deletion,
-.hljs-envvar,
-.hljs-shebang,
-.apache .hljs-sqbracket,
-.nginx .hljs-built_in,
-.tex .hljs-formula,
-.erlang_repl .hljs-reserved,
-.hljs-prompt,
-.asciidoc .hljs-link_label,
-.markdown .hljs-link_label,
-.vhdl .hljs-attribute,
-.clojure .hljs-attribute,
-.asciidoc .hljs-attribute,
-.lasso .hljs-attribute,
-.coffeescript .hljs-property,
-.hljs-phony {
- color: #88f;
-}
-
-.hljs-keyword,
-.hljs-id,
-.hljs-title,
-.hljs-built_in,
-.css .hljs-tag,
-.hljs-javadoctag,
-.hljs-phpdoc,
-.hljs-dartdoc,
-.hljs-yardoctag,
-.smalltalk .hljs-class,
-.hljs-winutils,
-.bash .hljs-variable,
-.apache .hljs-tag,
-.hljs-type,
-.hljs-typename,
-.tex .hljs-command,
-.asciidoc .hljs-strong,
-.markdown .hljs-strong,
-.hljs-request,
-.hljs-status {
- font-weight: bold;
-}
-
-.asciidoc .hljs-emphasis,
-.markdown .hljs-emphasis {
- font-style: italic;
-}
-
-.nginx .hljs-built_in {
- font-weight: normal;
-}
-
-.coffeescript .javascript,
-.javascript .xml,
-.lasso .markup,
-.tex .hljs-formula,
-.xml .javascript,
-.xml .vbscript,
-.xml .css,
-.xml .hljs-cdata {
- opacity: 0.5;
-}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css
deleted file mode 100644
index 5ebf9b7..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-accessible.css
+++ /dev/null
@@ -1,26 +0,0 @@
-html {
- font-size: 16px;
-}
-
-.mg-x-axis text,
-.mg-y-axis text,
-.mg-histogram .axis text {
- opacity: 0.9;
-}
-
-.mg-x-axis line,
-.mg-y-axis line {
- opacity: 1;
-}
-
-.mg-markers text,
-.mg-year-marker text,
-.mg-baselines text {
- opacity: 0.9;
-}
-
-.mg-markers line,
-.mg-year-marker line,
-.mg-baselines line {
- opacity: 1;
-} \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css
deleted file mode 100644
index a8bfe5f..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo-dark.css
+++ /dev/null
@@ -1,686 +0,0 @@
-a,
-a:active,
-a:visited {
- color: #71b4eb;
-}
-
-a:hover {
- color: #71b4eb;
-}
-
-a.active {
- color: #fff;
-}
-
-.mg-active-datapoint {
- fill: #fff;
-}
-
-.mg-area1-color {
- fill: #ffd300;
-}
-
-.mg-area2-color {
- fill: #18ff00;
-}
-
-.mg-area3-color {
- fill: #f57070;
-}
-
-.mg-area4-color {
- fill: #28c5f8;
-}
-
-.mg-area5-color {
- fill: #f7f7f7;
-}
-
-.mg-barplot .mg-bar-prediction {
- fill: #5b5b5b;
-}
-
-.mg-barplot .mg-bar-baseline {
- stroke: #5b5b5b;
-}
-
-.mg-baselines line {
- stroke: #676767;
-}
-
-.mg-baselines text {
- fill: #fff;
-}
-
-body {
- background-color: #272727;
- color: #cfcfcf;
-}
-
-.divider {
- color: #f1f1f1;
- opacity: 0.1;
-}
-
-pre {
- border-left: 2px solid #3b3b3b;
-}
-
-h1 {
- color: #f1f1f1;
-}
-
-h2.chart_title span {
- color: #f1f1f1;
-}
-
-.mg-histogram .axis path,
-.mg-histogram .axis line {
- opacity: 0.5;
- stroke: #ccc;
-}
-
-.mg-histogram .mg-bar rect {
- fill: #d8b307;
-}
-
-tspan.hist-symbol {
- fill: #d8b307;
-}
-
-.mg-barplot rect.mg-bar.default-bar {
- fill: #d8b307;
-}
-
-.mg-histogram .mg-bar rect.active,
-.mg-barplot rect.mg-bar.default-active {
- fill: #b3960f;
-}
-
-.mg-histogram .mg-bar text {
- fill: #fff;
-}
-
-.mg-histogram .axis .tick line {
- opacity: 0.3;
-}
-
-li {
- color: #cfcfcf;
-}
-
-.mg-least-squares-line {
- stroke: #f57070;
-}
-
-.mg-line1-color {
- stroke: #ffd300;
-}
-
-.mg-hover-line1-color {
- fill: #ffd300;
-}
-
-.mg-line2-color {
- stroke: #18ff00;
-}
-
-.mg-hover-line2-color {
- fill: #18ff00;
-}
-
-.mg-line3-color {
- stroke: #f57070;
-}
-
-.mg-hover-line3-color {
- fill: #f57070;
-}
-
-.mg-line4-color {
- stroke: #28c5f8;
-}
-
-.mg-hover-line4-color {
- fill: #28c5f8;
-}
-
-.mg-line5-color {
- stroke: #f7f7f7;
-}
-
-.mg-hover-line5-color {
- fill: #f7f7f7;
-}
-
-.mg-line1-legend-color {
- color: #ffd300;
- fill: #ffd300;
-}
-
-.mg-line2-legend-color {
- color: #18ff00;
- fill: #18ff00;
-}
-
-.mg-line3-legend-color {
- color: #f57070;
- fill: #f57070;
-}
-
-.mg-line4-legend-color {
- color: #28c5f8;
- fill: #28c5f8;
-}
-
-.mg-line5-legend-color {
- color: #f7f7f7;
- fill: #f7f7f7;
-}
-
-#logo g path {
- fill: #e8e8e8;
-}
-
-.mg-chart-title {
- fill: #cfcfcf;
-}
-
-.mg-category-guides line {
- stroke: #676767;
-}
-
-.mg-main-area-solid svg .mg-main-area {
- fill: #52491f;
-}
-
-.mg-markers line {
- stroke: #676767;
-}
-
-.mg-markers text {
- fill: #fff;
-}
-
-circle.mg-points-mono {
- fill-opacity: 0.6;
- stroke: #a89641;
- fill: #a89641;
- stroke-opacity: 1;
-}
-
-tspan.mg-points-mono {
- fill: #a89641;
- stroke: #a89641;
-}
-
-circle.mg-points-mono.selected {
- fill: #a89641;
- fill-opacity: 1;
- stroke-opacity: 1;
-}
-
-.popover {
- color: #737373;
-}
-
-text {
- fill: #fff;
-}
-
-.mg-x-rug-mono,
-.mg-y-rug-mono {
- stroke: #a89641;
-}
-
-.mg-x-axis line,
-.mg-y-axis line {
- stroke: #676767;
-}
-
-.mg-x-axis text,
-.mg-y-axis text,
-.mg-histogram .axis text {
- fill: #fff;
-}
-
-.mg-year-marker text {
- fill: #fff;
-}
-
-.mg-year-marker line {
- stroke: #676767;
-}
-
-/*
- CSS from http://bootswatch.com/slate
- Made by Thomas Park. Contact him at thomas@bootswatch.com
- Code released under the MIT License.
-*/
-.btn:active, .btn.active {
- outline: 0;
- background-image: none;
- -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
- box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
-}
-
-.btn.disabled,.btn[disabled],fieldset[disabled] .btn {
- cursor: not-allowed;
- pointer-events: none;
- opacity: 0.65;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-default {
- color: #ffffff;
- background-color: #3a3f44;
- border-color: #3a3f44;
-}
-
-.btn-default:hover,
-.btn-default:focus,
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
- color: #ffffff;
- background-color: #272b2e;
- border-color: #1e2023;
-}
-
-.btn-default:active,
-.btn-default.active,
-.open .dropdown-toggle.btn-default {
- background-image: none;
-}
-
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
- background-color: #3a3f44;
- border-color: #3a3f44;
-}
-
-.btn-default .badge {
- color: #3a3f44;
- background-color: #ffffff;
-}
-
-.btn-primary {
- color: #ffffff;
- background-color: #7a8288;
- border-color: #7a8288;
-}
-
-.btn-primary:hover,
-.btn-primary:focus,
-.btn-primary:active,
-.btn-primary.active,
-.open .dropdown-toggle.btn-primary {
- color: #ffffff;
- background-color: #676d73;
- border-color: #5d6368;
-}
-
-.btn-primary:active,
-.btn-primary.active,
-.open .dropdown-toggle.btn-primary {
- background-image: none;
-}
-
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
- background-color: #7a8288;
- border-color: #7a8288;
-}
-
-.btn-primary .badge {
- color: #7a8288;
- background-color: #ffffff;
-}
-
-.btn-success {
- color: #ffffff;
- background-color: #62c462;
- border-color: #62c462;
-}
-
-.btn-success:hover,
-.btn-success:focus,
-.btn-success:active,
-.btn-success.active,
-.open .dropdown-toggle.btn-success {
- color: #ffffff;
- background-color: #45b845;
- border-color: #40a940;
-}
-
-.btn-success:active,
-.btn-success.active,
-.open .dropdown-toggle.btn-success {
- background-image: none;
-}
-
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
- background-color: #62c462;
- border-color: #62c462;
-}
-
-.btn-success .badge {
- color: #62c462;
- background-color: #ffffff;
-}
-
-.btn-info {
- color: #ffffff;
- background-color: #5bc0de;
- border-color: #5bc0de;
-}
-
-.btn-info:hover,
-.btn-info:focus,
-.btn-info:active,
-.btn-info.active,
-.open .dropdown-toggle.btn-info {
- color: #ffffff;
- background-color: #39b3d7;
- border-color: #2aabd2;
-}
-
-.btn-info:active,
-.btn-info.active,
-.open .dropdown-toggle.btn-info {
- background-image: none;
-}
-
-.btn-info.disabled,.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
- background-color: #5bc0de;
- border-color: #5bc0de;
-}
-
-.btn-info .badge {
- color: #5bc0de;
- background-color: #ffffff;
-}
-
-.btn-warning {
- color: #ffffff;
- background-color: #f89406;
- border-color: #f89406;
-}
-
-.btn-warning:hover,.btn-warning:focus,
-.btn-warning:active,.btn-warning.active,
-.open .dropdown-toggle.btn-warning {
- color: #ffffff;
- background-color: #d07c05;
- border-color: #bc7005;
-}
-
-.btn-warning:active,
-.btn-warning.active,
-.open .dropdown-toggle.btn-warning {
- background-image: none;
-}
-
-.btn-warning.disabled,.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
- background-color: #f89406;
- border-color: #f89406;
-}
-
-.btn-warning .badge {
- color: #f89406;
- background-color: #ffffff;
-}
-
-.btn-danger {
- color: #ffffff;
- background-color: #ee5f5b;
- border-color: #ee5f5b;
-}
-
-.btn-danger:hover,
-.btn-danger:focus,
-.btn-danger:active,
-.btn-danger.active,
-.open .dropdown-toggle.btn-danger {
- color: #ffffff;
- background-color: #ea3b36;
- border-color: #e82924;
-}
-
-.btn-danger:active,.btn-danger.active,
-.open .dropdown-toggle.btn-danger {
- background-image: none;
-}
-
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
- background-color: #ee5f5b;
- border-color: #ee5f5b;
-}
-
-.btn-danger .badge {
- color: #ee5f5b;
- background-color: #ffffff;
-}
-
-.btn-link {
- color: #ffffff;
- font-weight: normal;
- cursor: pointer;
- border-radius: 0;
-}
-
-.btn-link,.btn-link:active,
-.btn-link[disabled],
-fieldset[disabled] .btn-link {
- background-color: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-link,.btn-link:hover,
-.btn-link:focus,
-.btn-link:active {
- border-color: transparent;
-}
-
-.btn-link:hover,.btn-link:focus {
- color: #ffffff;
- text-decoration: underline;
- background-color: transparent;
-}
-
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
- color: #7a8288;
- text-decoration: none;
-}
-
-.btn,.btn:hover {
- border-color: rgba(0,0,0,0.6);
- text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
-}
-
-.btn-default {
- background-image: -webkit-linear-gradient(#484e55, #3a3f44 60%, #313539);
- background-image: linear-gradient(#484e55, #3a3f44 60%, #313539);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff484e55', endColorstr='#ff313539', GradientType=0);
- filter: none;
-}
-
-.btn-default:hover {
- background-image: -webkit-linear-gradient(#020202, #101112 40%, #191b1d);
- background-image: linear-gradient(#020202, #101112 40%, #191b1d);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff020202', endColorstr='#ff191b1d', GradientType=0);
- filter: none;
-}
-
-.btn-primary {
- background-image: -webkit-linear-gradient(#8a9196, #7a8288 60%, #70787d);
- background-image: linear-gradient(#8a9196, #7a8288 60%, #70787d);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff8a9196', endColorstr='#ff70787d', GradientType=0);
- filter: none;
-}
-
-.btn-primary:hover {
- background-image: -webkit-linear-gradient(#404448, #4e5458 40%, #585e62);
- background-image: linear-gradient(#404448, #4e5458 40%, #585e62);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff404448', endColorstr='#ff585e62', GradientType=0);
- filter: none;
-}
-
-.btn-success {
- background-image: -webkit-linear-gradient(#78cc78, #62c462 60%, #53be53);
- background-image: linear-gradient(#78cc78, #62c462 60%, #53be53);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff78cc78', endColorstr='#ff53be53', GradientType=0);
- filter: none;
-}
-
-.btn-success:hover {
- background-image: -webkit-linear-gradient(#2f7d2f, #379337 40%, #3da23d);
- background-image: linear-gradient(#2f7d2f, #379337 40%, #3da23d);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2f7d2f', endColorstr='#ff3da23d', GradientType=0);
- filter: none;
-}
-
-.btn-info {
- background-image: -webkit-linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);
- background-image: linear-gradient(#74cae3, #5bc0de 60%, #4ab9db);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff74cae3', endColorstr='#ff4ab9db', GradientType=0);
- filter: none;
-}
-
-.btn-info:hover {
- background-image: -webkit-linear-gradient(#20829f, #2596b8 40%, #28a4c9);
- background-image: linear-gradient(#20829f, #2596b8 40%, #28a4c9);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff20829f', endColorstr='#ff28a4c9', GradientType=0);
- filter: none;
-}
-
-.btn-warning {
- background-image: -webkit-linear-gradient(#faa123, #f89406 60%, #e48806);
- background-image: linear-gradient(#faa123, #f89406 60%, #e48806);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffaa123', endColorstr='#ffe48806', GradientType=0);
- filter: none;
-}
-
-.btn-warning:hover {
- background-image: -webkit-linear-gradient(#804d03, #9e5f04 40%, #b26a04);
- background-image: linear-gradient(#804d03, #9e5f04 40%, #b26a04);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff804d03', endColorstr='#ffb26a04', GradientType=0);
- filter: none;
-}
-
-.btn-danger {
- background-image: -webkit-linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);
- background-image: linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff17a77', endColorstr='#ffec4d49', GradientType=0);
- filter: none;
-}
-
-.btn-danger:hover {
- background-image: -webkit-linear-gradient(#bb1813, #d71c16 40%, #e7201a);
- background-image: linear-gradient(#bb1813, #d71c16 40%, #e7201a);
- background-repeat: no-repeat;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbb1813', endColorstr='#ffe7201a', GradientType=0);
- filter: none;
-}
-
-.btn-link,.btn-link:hover {
- border-color: transparent;
-}
-
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css
deleted file mode 100644
index 497b816..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/css/metricsgraphics-demo.css
+++ /dev/null
@@ -1,220 +0,0 @@
-a,
-a:active,
-a:visited {
- color: steelblue;
- text-decoration: none;
-}
-
-a:hover {
- color: steelblue;
-}
-
-a.active {
- background-color: steelblue;
- border: 0;
- border-radius: 24px;
- color: #fff;
- padding: 2px 8px 2px 8px;
- text-decoration: none;
-}
-
-a.examples-options.selected {
- font-weight: bold;
-}
-
-a:hover.examples-options {
- text-decoration: none;
-}
-
-body {
- background-color: #fff;
- color: #000;
- font-family: 'Open Sans', sans-serif, Arial;
-}
-
-.btn-group {
- display: inline-block;
- margin-left: 3px;
- margin-right: 3px;
-}
-
-.btn-group span.which-button {
- font-weight: 300;
- color: darkgray;
-}
-
-.btn-group span.title {
- margin-left: 8px;
- margin-right: 8px;
-}
-
-.data-column {
- font-size: 0.9rem;
- margin: 0;
- position: absolute;
- right: 0;
-}
-
-#description {
- margin: auto;
- margin-bottom: 50px;
- width: 100%;
-}
-
-.divider {
- color: #000000;
- opacity: 0.2;
-}
-
-.examples-options {
- font-size: 0.8rem;
-}
-
-.float-right {
- float: right;
-}
-
-.footer {
- font-size: 0.9rem;
- padding: 40px;
- text-align: center;
-}
-
-.head {
- color: black;
- margin: auto;
- margin-bottom: 20px;
- width: 100%;
-}
-
-.head h1 {
- font-size: 4.1rem;
- font-weight: 300;
- margin: 45px 0 0 0;
-}
-
-ul {
- clear: both;
- font-size: 1.2rem;
- padding: 10px 0 0 0;
-}
-
-.head ul li,
-ul.examples li {
- display: inline;
- list-style: none;
- padding-right: 15px;
-}
-
-ul li.no-padding {
- padding: 0;
-}
-
-ul.examples li {
- line-height: 30px;
-}
-
-html {
- font-size: 12px;
-}
-
-.legend {
- font-size: 0.9rem;
- padding: 25px 0 15px 0;
-}
-
-#logo {
- margin: 60px 0 30px 0;
- height: 79px;
- width: 400px;
-}
-
-p {
- font-family: 'PT Serif', serif;
- font-size: 1.3rem;
- line-height: 24px;
-}
-
-.pill {
- font-family: 'Open Sans', serif;
- font-size: 1rem;
- text-transform: uppercase;
-}
-
-.pill:hover {
- text-decoration: none;
-}
-
-pre {
- background-color: transparent;
- border: 0;
- border-left: 2px solid #ccc;
- border-radius: 0;
- font-size: 0.9rem;
- margin: 40px 0 0 10px;
- overflow-x: auto;
- padding: 0;
- width: 100%;
- word-wrap: normal;
-}
-
-pre code {
- white-space: inherit;
-}
-
-pre code.hljs {
- background-color: transparent;
-}
-
-pre, code, text-area {
- font-family: "Menlo", monospace;
-}
-
-svg {
- margin-top: 30px;
-}
-
-#table1 .chart_title {
- margin-left: 0;
-}
-
-#torso {
- margin: 0 auto;
- text-align: center;
- width: 100%;
-}
-
-#torso div {
- display: inline-block;
-}
-
-#trunk {
- margin-top: 40px;
-}
-
-#trunk h2 {
- font-size: 1.2rem;
-}
-
-#trunk h2.trunk-title {
- font-size: 2.2rem;
- font-weight: 300;
- text-transform: uppercase;
-}
-
-
-.trunk-section {
- border-top: 1px solid #ccc;
- padding-bottom: 25px;
- padding-top: 15px;
-}
-
-.wip {
- background-color: #f1f1f1;
- font-size: 1.3rem;
- margin-top: 60px;
- padding: 10px;
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
- opacity: 0.8;
-} \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css b/priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css
deleted file mode 100644
index 21efe39..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/css/railscasts.css
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
-
-Railscasts-like style (c) Visoft, Inc. (Damien White)
-
-*/
-
-.hljs {
- display: block;
- overflow-x: auto;
- padding: 0.5em;
- background: #232323;
- color: #e6e1dc;
- -webkit-text-size-adjust: none;
-}
-
-.hljs-comment,
-.hljs-javadoc,
-.hljs-shebang {
- color: #bc9458;
- font-style: italic;
-}
-
-.hljs-keyword,
-.ruby .hljs-function .hljs-keyword,
-.hljs-request,
-.hljs-status,
-.nginx .hljs-title,
-.method,
-.hljs-list .hljs-title {
- color: #c26230;
-}
-
-.hljs-string,
-.hljs-number,
-.hljs-regexp,
-.hljs-tag .hljs-value,
-.hljs-cdata,
-.hljs-filter .hljs-argument,
-.hljs-attr_selector,
-.apache .hljs-cbracket,
-.hljs-date,
-.tex .hljs-command,
-.asciidoc .hljs-link_label,
-.markdown .hljs-link_label {
- color: #a5c261;
-}
-
-.hljs-subst {
- color: #519f50;
-}
-
-.hljs-tag,
-.hljs-tag .hljs-keyword,
-.hljs-tag .hljs-title,
-.hljs-doctype,
-.hljs-sub .hljs-identifier,
-.hljs-pi,
-.input_number {
- color: #e8bf6a;
-}
-
-.hljs-identifier {
- color: #d0d0ff;
-}
-
-.hljs-class .hljs-title,
-.hljs-type,
-.smalltalk .hljs-class,
-.hljs-javadoctag,
-.hljs-yardoctag,
-.hljs-phpdoc,
-.hljs-dartdoc {
- text-decoration: none;
-}
-
-.hljs-constant {
- color: #da4939;
-}
-
-
-.hljs-symbol,
-.hljs-built_in,
-.ruby .hljs-symbol .hljs-string,
-.ruby .hljs-symbol .hljs-identifier,
-.asciidoc .hljs-link_url,
-.markdown .hljs-link_url,
-.hljs-attribute {
- color: #6d9cbe;
-}
-
-.asciidoc .hljs-link_url,
-.markdown .hljs-link_url {
- text-decoration: underline;
-}
-
-
-
-.hljs-params,
-.hljs-variable,
-.clojure .hljs-attribute {
- color: #d0d0ff;
-}
-
-.css .hljs-tag,
-.hljs-rules .hljs-property,
-.hljs-pseudo,
-.tex .hljs-special {
- color: #cda869;
-}
-
-.css .hljs-class {
- color: #9b703f;
-}
-
-.hljs-rules .hljs-keyword {
- color: #c5af75;
-}
-
-.hljs-rules .hljs-value {
- color: #cf6a4c;
-}
-
-.css .hljs-id {
- color: #8b98ab;
-}
-
-.hljs-annotation,
-.apache .hljs-sqbracket,
-.nginx .hljs-built_in {
- color: #9b859d;
-}
-
-.hljs-preprocessor,
-.hljs-preprocessor *,
-.hljs-pragma {
- color: #8996a8 !important;
-}
-
-.hljs-hexcolor,
-.css .hljs-value .hljs-number {
- color: #a5c261;
-}
-
-.hljs-title,
-.hljs-decorator,
-.css .hljs-function {
- color: #ffc66d;
-}
-
-.diff .hljs-header,
-.hljs-chunk {
- background-color: #2f33ab;
- color: #e6e1dc;
- display: inline-block;
- width: 100%;
-}
-
-.diff .hljs-change {
- background-color: #4a410d;
- color: #f8f8f8;
- display: inline-block;
- width: 100%;
-}
-
-.hljs-addition {
- background-color: #144212;
- color: #e6e1dc;
- display: inline-block;
- width: 100%;
-}
-
-.hljs-deletion {
- background-color: #600;
- color: #e6e1dc;
- display: inline-block;
- width: 100%;
-}
-
-.coffeescript .javascript,
-.javascript .xml,
-.tex .hljs-formula,
-.xml .javascript,
-.xml .vbscript,
-.xml .css,
-.xml .hljs-cdata {
- opacity: 0.7;
-}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json
deleted file mode 100644
index f84a3ff..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-1.json
+++ /dev/null
@@ -1,402 +0,0 @@
-[
- {
- "date": "2014-02-01",
- "value": 15000000
- },
- {
- "date": "2014-02-02",
- "value": 16487625
- },
- {
- "date": "2014-02-03",
- "value": 17097434
- },
- {
- "date": "2014-02-04",
- "value": 17694420
- },
- {
- "date": "2014-02-05",
- "value": 17014381
- },
- {
- "date": "2014-02-06",
- "value": 15578984
- },
- {
- "date": "2014-02-07",
- "value": 14718953
- },
- {
- "date": "2014-02-08",
- "value": 15020669
- },
- {
- "date": "2014-02-09",
- "value": 13889722
- },
- {
- "date": "2014-02-10",
- "value": 13979897
- },
- {
- "date": "2014-02-11",
- "value": 14595566
- },
- {
- "date": "2014-02-12",
- "value": 14123256
- },
- {
- "date": "2014-02-13",
- "value": 14083675
- },
- {
- "date": "2014-02-14",
- "value": 15068426
- },
- {
- "date": "2014-02-15",
- "value": 15368056
- },
- {
- "date": "2014-02-16",
- "value": 15277054
- },
- {
- "date": "2014-02-17",
- "value": 14376243
- },
- {
- "date": "2014-02-18",
- "value": 13058892
- },
- {
- "date": "2014-02-19",
- "value": 12367653
- },
- {
- "date": "2014-02-20",
- "value": 13184423
- },
- {
- "date": "2014-02-21",
- "value": 14367203
- },
- {
- "date": "2014-02-22",
- "value": 14656447
- },
- {
- "date": "2014-02-23",
- "value": 14724526
- },
- {
- "date": "2014-02-24",
- "value": 14938129
- },
- {
- "date": "2014-02-25",
- "value": 14205617
- },
- {
- "date": "2014-02-26",
- "value": 14596607
- },
- {
- "date": "2014-02-27",
- "value": 13982597
- },
- {
- "date": "2014-02-28",
- "value": 15107034
- },
- {
- "date": "2014-03-01",
- "value": 13646739
- },
- {
- "date": "2014-03-02",
- "value": 14214763
- },
- {
- "date": "2014-03-03",
- "value": 14952136
- },
- {
- "date": "2014-03-04",
- "value": 14643933
- },
- {
- "date": "2014-03-05",
- "value": 13611435
- },
- {
- "date": "2014-03-06",
- "value": 12569788
- },
- {
- "date": "2014-03-07",
- "value": 11344469
- },
- {
- "date": "2014-03-08",
- "value": 12687132
- },
- {
- "date": "2014-03-09",
- "value": 11831144
- },
- {
- "date": "2014-03-10",
- "value": 10480837
- },
- {
- "date": "2014-03-11",
- "value": 9051161
- },
- {
- "date": "2014-03-12",
- "value": 9964784
- },
- {
- "date": "2014-03-13",
- "value": 11035006
- },
- {
- "date": "2014-03-14",
- "value": 10081289
- },
- {
- "date": "2014-03-15",
- "value": 9793897
- },
- {
- "date": "2014-03-16",
- "value": 9177447
- },
- {
- "date": "2014-03-17",
- "value": 8035348
- },
- {
- "date": "2014-03-18",
- "value": 6770242
- },
- {
- "date": "2014-03-19",
- "value": 7272077
- },
- {
- "date": "2014-03-20",
- "value": 8216348
- },
- {
- "date": "2014-03-21",
- "value": 8576584
- },
- {
- "date": "2014-03-22",
- "value": 9421060
- },
- {
- "date": "2014-03-23",
- "value": 10872288
- },
- {
- "date": "2014-03-24",
- "value": 9537996
- },
- {
- "date": "2014-03-25",
- "value": 9560363
- },
- {
- "date": "2014-03-26",
- "value": 8182813
- },
- {
- "date": "2014-03-27",
- "value": 9068173
- },
- {
- "date": "2014-03-28",
- "value": 10390251
- },
- {
- "date": "2014-03-29",
- "value": 9714081
- },
- {
- "date": "2014-03-30",
- "value": 9994670
- },
- {
- "date": "2014-03-31",
- "value": 9317878
- },
- {
- "date": "2014-04-01",
- "value": 8209077
- },
- {
- "date": "2014-04-02",
- "value": 9230830
- },
- {
- "date": "2014-04-03",
- "value": 8978342
- },
- {
- "date": "2014-04-04",
- "value": 8361854
- },
- {
- "date": "2014-04-05",
- "value": 9345999
- },
- {
- "date": "2014-04-06",
- "value": 7965407
- },
- {
- "date": "2014-04-07",
- "value": 8909276
- },
- {
- "date": "2014-04-08",
- "value": 8935489
- },
- {
- "date": "2014-04-09",
- "value": 8634997
- },
- {
- "date": "2014-04-10",
- "value": 8795592
- },
- {
- "date": "2014-04-11",
- "value": 7513086
- },
- {
- "date": "2014-04-12",
- "value": 8408561
- },
- {
- "date": "2014-04-13",
- "value": 7780649
- },
- {
- "date": "2014-04-14",
- "value": 7524281
- },
- {
- "date": "2014-04-15",
- "value": 8498062
- },
- {
- "date": "2014-04-16",
- "value": 7922453
- },
- {
- "date": "2014-04-17",
- "value": 9304312
- },
- {
- "date": "2014-04-18",
- "value": 8199457
- },
- {
- "date": "2014-04-19",
- "value": 8926136
- },
- {
- "date": "2014-04-20",
- "value": 7558184
- },
- {
- "date": "2014-04-21",
- "value": 6417511
- },
- {
- "date": "2014-04-22",
- "value": 5748831
- },
- {
- "date": "2014-04-23",
- "value": 6503022
- },
- {
- "date": "2014-04-24",
- "value": 6429606
- },
- {
- "date": "2014-04-25",
- "value": 5057410
- },
- {
- "date": "2014-04-26",
- "value": 5924669
- },
- {
- "date": "2014-04-27",
- "value": 4728239
- },
- {
- "date": "2014-04-28",
- "value": 3918540
- },
- {
- "date": "2014-04-29",
- "value": 2821473
- },
- {
- "date": "2014-04-30",
- "value": 1995781
- },
- {
- "date": "2014-05-01",
- "value": 1123626
- },
- {
- "date": "2014-05-02",
- "value": 516067
- },
- {
- "date": "2014-05-03",
- "value": 816831
- },
- {
- "date": "2014-05-04",
- "value": 816831
- },
- {
- "date": "2014-05-05",
- "value": 816831
- },
- {
- "date": "2014-05-06",
- "value": 1103818
- },
- {
- "date": "2014-05-07",
- "value": 958188
- },
- {
- "date": "2014-05-08",
- "value": 592995
- },
- {
- "date": "2014-05-09",
- "value": 856066
- },
- {
- "date": "2014-05-10",
- "value": 1766761
- },
- {
- "date": "2014-05-11",
- "value": 1330557
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json
deleted file mode 100644
index 6bea2bc..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/brief-2.json
+++ /dev/null
@@ -1,402 +0,0 @@
-[
- {
- "date": "2014-02-01",
- "value": 15000000
- },
- {
- "date": "2014-02-02",
- "value": 14603908
- },
- {
- "date": "2014-02-03",
- "value": 16058813
- },
- {
- "date": "2014-02-04",
- "value": 16751442
- },
- {
- "date": "2014-02-05",
- "value": 18236063
- },
- {
- "date": "2014-02-06",
- "value": 19276343
- },
- {
- "date": "2014-02-07",
- "value": 17869996
- },
- {
- "date": "2014-02-08",
- "value": 18283550
- },
- {
- "date": "2014-02-09",
- "value": 18146798
- },
- {
- "date": "2014-02-10",
- "value": 19114034
- },
- {
- "date": "2014-02-11",
- "value": 18243994
- },
- {
- "date": "2014-02-12",
- "value": 18230379
- },
- {
- "date": "2014-02-13",
- "value": 17569438
- },
- {
- "date": "2014-02-14",
- "value": 18237141
- },
- {
- "date": "2014-02-15",
- "value": 18177790
- },
- {
- "date": "2014-02-16",
- "value": 19278138
- },
- {
- "date": "2014-02-17",
- "value": 19520468
- },
- {
- "date": "2014-02-18",
- "value": 18074007
- },
- {
- "date": "2014-02-19",
- "value": 17387983
- },
- {
- "date": "2014-02-20",
- "value": 16303246
- },
- {
- "date": "2014-02-21",
- "value": 16532377
- },
- {
- "date": "2014-02-22",
- "value": 15992596
- },
- {
- "date": "2014-02-23",
- "value": 14510598
- },
- {
- "date": "2014-02-24",
- "value": 15242619
- },
- {
- "date": "2014-02-25",
- "value": 15099566
- },
- {
- "date": "2014-02-26",
- "value": 15786161
- },
- {
- "date": "2014-02-27",
- "value": 17041993
- },
- {
- "date": "2014-02-28",
- "value": 17792064
- },
- {
- "date": "2014-03-01",
- "value": 17135803
- },
- {
- "date": "2014-03-02",
- "value": 17902796
- },
- {
- "date": "2014-03-03",
- "value": 18082480
- },
- {
- "date": "2014-03-04",
- "value": 16599484
- },
- {
- "date": "2014-03-05",
- "value": 15556006
- },
- {
- "date": "2014-03-06",
- "value": 16095932
- },
- {
- "date": "2014-03-07",
- "value": 15877165
- },
- {
- "date": "2014-03-08",
- "value": 16184507
- },
- {
- "date": "2014-03-09",
- "value": 17578551
- },
- {
- "date": "2014-03-10",
- "value": 17397416
- },
- {
- "date": "2014-03-11",
- "value": 18665547
- },
- {
- "date": "2014-03-12",
- "value": 17599363
- },
- {
- "date": "2014-03-13",
- "value": 16625060
- },
- {
- "date": "2014-03-14",
- "value": 15823403
- },
- {
- "date": "2014-03-15",
- "value": 17166280
- },
- {
- "date": "2014-03-16",
- "value": 17214931
- },
- {
- "date": "2014-03-17",
- "value": 18057950
- },
- {
- "date": "2014-03-18",
- "value": 18467657
- },
- {
- "date": "2014-03-19",
- "value": 18174411
- },
- {
- "date": "2014-03-20",
- "value": 17726332
- },
- {
- "date": "2014-03-21",
- "value": 18624889
- },
- {
- "date": "2014-03-22",
- "value": 18442598
- },
- {
- "date": "2014-03-23",
- "value": 17924421
- },
- {
- "date": "2014-03-24",
- "value": 17943620
- },
- {
- "date": "2014-03-25",
- "value": 17787115
- },
- {
- "date": "2014-03-26",
- "value": 16707201
- },
- {
- "date": "2014-03-27",
- "value": 17013779
- },
- {
- "date": "2014-03-28",
- "value": 17468840
- },
- {
- "date": "2014-03-29",
- "value": 16855965
- },
- {
- "date": "2014-03-30",
- "value": 16198783
- },
- {
- "date": "2014-03-31",
- "value": 17237410
- },
- {
- "date": "2014-04-01",
- "value": 16157939
- },
- {
- "date": "2014-04-02",
- "value": 15279153
- },
- {
- "date": "2014-04-03",
- "value": 16007123
- },
- {
- "date": "2014-04-04",
- "value": 15394272
- },
- {
- "date": "2014-04-05",
- "value": 15753468
- },
- {
- "date": "2014-04-06",
- "value": 14785435
- },
- {
- "date": "2014-04-07",
- "value": 14894846
- },
- {
- "date": "2014-04-08",
- "value": 16113018
- },
- {
- "date": "2014-04-09",
- "value": 17083579
- },
- {
- "date": "2014-04-10",
- "value": 17318911
- },
- {
- "date": "2014-04-11",
- "value": 17301918
- },
- {
- "date": "2014-04-12",
- "value": 16294357
- },
- {
- "date": "2014-04-13",
- "value": 17006382
- },
- {
- "date": "2014-04-14",
- "value": 16305037
- },
- {
- "date": "2014-04-15",
- "value": 17173934
- },
- {
- "date": "2014-04-16",
- "value": 16519521
- },
- {
- "date": "2014-04-17",
- "value": 15741197
- },
- {
- "date": "2014-04-18",
- "value": 15685527
- },
- {
- "date": "2014-04-19",
- "value": 16593307
- },
- {
- "date": "2014-04-20",
- "value": 15108037
- },
- {
- "date": "2014-04-21",
- "value": 14280930
- },
- {
- "date": "2014-04-22",
- "value": 15048575
- },
- {
- "date": "2014-04-23",
- "value": 13925294
- },
- {
- "date": "2014-04-24",
- "value": 13655381
- },
- {
- "date": "2014-04-25",
- "value": 14083620
- },
- {
- "date": "2014-04-26",
- "value": 14390459
- },
- {
- "date": "2014-04-27",
- "value": 14253026
- },
- {
- "date": "2014-04-28",
- "value": 15524371
- },
- {
- "date": "2014-04-29",
- "value": 14810508
- },
- {
- "date": "2014-04-30",
- "value": 14942971
- },
- {
- "date": "2014-05-01",
- "value": 13849556
- },
- {
- "date": "2014-05-02",
- "value": 14811628
- },
- {
- "date": "2014-05-03",
- "value": 13489786
- },
- {
- "date": "2014-05-04",
- "value": 13875740
- },
- {
- "date": "2014-05-05",
- "value": 14581874
- },
- {
- "date": "2014-05-06",
- "value": 15856637
- },
- {
- "date": "2014-05-07",
- "value": 15377926
- },
- {
- "date": "2014-05-08",
- "value": 14523507
- },
- {
- "date": "2014-05-09",
- "value": 14629800
- },
- {
- "date": "2014-05-10",
- "value": 14018497
- },
- {
- "date": "2014-05-11",
- "value": 12917428
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json
deleted file mode 100644
index 0fb6dea..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/confidence_band.json
+++ /dev/null
@@ -1,548 +0,0 @@
- [
- {
- "value": -1.1618426259,
- "date": "2012-08-28",
- "l": -2.6017329022,
- "u": 0.2949717757
- },
- {
- "value": -0.5828247293,
- "date": "2012-08-29",
- "l": -1.3166963635,
- "u": 0.1324086347
- },
- {
- "value": -0.3790770636,
- "date": "2012-08-30",
- "l": -0.8712221305,
- "u": 0.0956413566
- },
- {
- "value": -0.2792926002,
- "date": "2012-08-31",
- "l": -0.6541832008,
- "u": 0.0717120241
- },
- {
- "value": -0.2461165469,
- "date": "2012-09-01",
- "l": -0.5222677907,
- "u": 0.0594188803
- },
- {
- "value": -0.2017354137,
- "date": "2012-09-02",
- "l": -0.4434280535,
- "u": 0.0419213465
- },
- {
- "value": -0.1457476871,
- "date": "2012-09-03",
- "l": -0.3543957712,
- "u": 0.0623761171
- },
- {
- "value": -0.002610973,
- "date": "2012-09-04",
- "l": -0.3339911495,
- "u": 0.031286929
- },
- {
- "value": -0.0080692734,
- "date": "2012-09-05",
- "l": -0.2951839941,
- "u": 0.0301762553
- },
- {
- "value": -0.0296490933,
- "date": "2012-09-06",
- "l": -0.2964395801,
- "u": -0.0029821004
- },
- {
- "value": 0.001317397,
- "date": "2012-09-07",
- "l": -0.2295443759,
- "u": 0.037903312
- },
- {
- "value": -0.0117649838,
- "date": "2012-09-08",
- "l": -0.2226376418,
- "u": 0.0239720183
- },
- {
- "value": 0.0059394263,
- "date": "2012-09-09",
- "l": -0.2020479849,
- "u": 0.0259489347
- },
- {
- "value": -0.0115565898,
- "date": "2012-09-10",
- "l": -0.2042048037,
- "u": 0.0077863806
- },
- {
- "value": 0.0041183019,
- "date": "2012-09-11",
- "l": -0.1837263172,
- "u": 0.0137898406
- },
- {
- "value": 0.0353559544,
- "date": "2012-09-12",
- "l": -0.136610008,
- "u": 0.051403828
- },
- {
- "value": 0.0070046011,
- "date": "2012-09-13",
- "l": -0.1569988647,
- "u": 0.0202266411
- },
- {
- "value": -0.0004251807,
- "date": "2012-09-14",
- "l": -0.1410340292,
- "u": 0.0273410185
- },
- {
- "value": -0.0035461023,
- "date": "2012-09-15",
- "l": -0.1438653689,
- "u": 0.0165445684
- },
- {
- "value": 0.007797889,
- "date": "2012-09-16",
- "l": -0.1291975355,
- "u": 0.0232461153
- },
- {
- "value": 0.0025402723,
- "date": "2012-09-17",
- "l": -0.133972479,
- "u": 0.0116753921
- },
- {
- "value": -0.005317381,
- "date": "2012-09-18",
- "l": -0.1269266586,
- "u": 0.0129723291
- },
- {
- "value": -0.0075841521,
- "date": "2012-09-19",
- "l": -0.1283478383,
- "u": 0.0056371616
- },
- {
- "value": -0.0391388721,
- "date": "2012-09-20",
- "l": -0.1571172198,
- "u": -0.0311678828
- },
- {
- "value": 0.0075430252,
- "date": "2012-09-21",
- "l": -0.1097354417,
- "u": 0.0141132062
- },
- {
- "value": 0.1850284663,
- "date": "2012-09-22",
- "l": 0.0333682152,
- "u": 0.2140709422
- },
- {
- "value": 0.076629596,
- "date": "2012-09-23",
- "l": -0.0068472967,
- "u": 0.1101280569
- },
- {
- "value": -0.0314292271,
- "date": "2012-09-24",
- "l": -0.1074281762,
- "u": 0.0032669363
- },
- {
- "value": -0.0232608674,
- "date": "2012-09-25",
- "l": -0.0905197842,
- "u": 0.0164250295
- },
- {
- "value": -0.01968615,
- "date": "2012-09-26",
- "l": -0.084319856,
- "u": 0.0193319465
- },
- {
- "value": -0.0310196816,
- "date": "2012-09-27",
- "l": -0.0914356781,
- "u": 0.0094436256
- },
- {
- "value": -0.0758746967,
- "date": "2012-09-28",
- "l": -0.1169814745,
- "u": -0.019659551
- },
- {
- "value": 0.0233974572,
- "date": "2012-09-29",
- "l": -0.0356839258,
- "u": 0.0610712506
- },
- {
- "value": 0.011073579,
- "date": "2012-09-30",
- "l": -0.0558712863,
- "u": 0.0346160081
- },
- {
- "value": -0.002094822,
- "date": "2012-10-01",
- "l": -0.0707143388,
- "u": 0.0152899266
- },
- {
- "value": -0.1083707096,
- "date": "2012-10-02",
- "l": -0.1718101335,
- "u": -0.0886271057
- },
- {
- "value": -0.1098258972,
- "date": "2012-10-03",
- "l": -0.1881274065,
- "u": -0.1072157972
- },
- {
- "value": -0.0872970297,
- "date": "2012-10-04",
- "l": -0.1731903321,
- "u": -0.064381434
- },
- {
- "value": -0.0761992047,
- "date": "2012-10-05",
- "l": -0.1770373817,
- "u": 0.100085727
- },
- {
- "value": -0.0416654249,
- "date": "2012-10-06",
- "l": -0.1502479611,
- "u": 0.0751148102
- },
- {
- "value": -0.0410128962,
- "date": "2012-10-07",
- "l": -0.1618694445,
- "u": 0.0881453482
- },
- {
- "value": -0.0214289042,
- "date": "2012-10-08",
- "l": -0.1590852977,
- "u": 0.0871880288
- },
- {
- "value": 0.2430880604,
- "date": "2012-10-09",
- "l": 0.063624221,
- "u": 0.2455101587
- },
- {
- "value": 0.3472823479,
- "date": "2012-10-10",
- "l": 0.1553854927,
- "u": 0.3583991097
- },
- {
- "value": 0.3360734074,
- "date": "2012-10-11",
- "l": 0.2055952772,
- "u": 0.3812162823
- },
- {
- "value": -0.0463648355,
- "date": "2012-10-12",
- "l": -0.0626466998,
- "u": 0.0037342957
- },
- {
- "value": -0.0867009379,
- "date": "2012-10-13",
- "l": -0.0867594055,
- "u": -0.0223791074
- },
- {
- "value": -0.1288672826,
- "date": "2012-10-14",
- "l": -0.1161709129,
- "u": -0.0534789124
- },
- {
- "value": -0.1474426821,
- "date": "2012-10-15",
- "l": -0.1559759048,
- "u": -0.0646995092
- },
- {
- "value": -0.1502405066,
- "date": "2012-10-16",
- "l": -0.1604364638,
- "u": -0.0602562376
- },
- {
- "value": -0.1203765529,
- "date": "2012-10-17",
- "l": -0.1569023195,
- "u": -0.0578129637
- },
- {
- "value": -0.0649122919,
- "date": "2012-10-18",
- "l": -0.0782987564,
- "u": -0.0501999174
- },
- {
- "value": -0.015525562,
- "date": "2012-10-19",
- "l": -0.1103873808,
- "u": -0.0132131311
- },
- {
- "value": -0.006051357,
- "date": "2012-10-20",
- "l": -0.1089644497,
- "u": 0.0230384197
- },
- {
- "value": 0.0003154213,
- "date": "2012-10-21",
- "l": -0.1073849227,
- "u": 0.0017290437
- },
- {
- "value": -0.0063018298,
- "date": "2012-10-22",
- "l": -0.1120298155,
- "u": 0.0173284555
- },
- {
- "value": -0.004294834,
- "date": "2012-10-23",
- "l": -0.1076841119,
- "u": 0.0547933965
- },
- {
- "value": -0.0053400832,
- "date": "2012-10-24",
- "l": -0.1096991408,
- "u": 0.0560555803
- },
- {
- "value": 0.0070057212,
- "date": "2012-10-25",
- "l": -0.0940613813,
- "u": 0.0425517607
- },
- {
- "value": 0.0082121656,
- "date": "2012-10-26",
- "l": -0.0906810455,
- "u": 0.0396884383
- },
- {
- "value": 0.0141422884,
- "date": "2012-10-27",
- "l": -0.0841305678,
- "u": 0.0340050012
- },
- {
- "value": 0.0041613553,
- "date": "2012-10-28",
- "l": -0.0886723749,
- "u": 0.039426727
- },
- {
- "value": -0.0013614287,
- "date": "2012-10-29",
- "l": -0.0923481608,
- "u": 0.0438725574
- },
- {
- "value": -0.0052144933,
- "date": "2012-10-30",
- "l": -0.0937763043,
- "u": 0.0459998555
- },
- {
- "value": 0.0078904741,
- "date": "2012-10-31",
- "l": -0.0807028001,
- "u": 0.0334824169
- },
- {
- "value": 0.0099598702,
- "date": "2012-11-01",
- "l": -0.0740001323,
- "u": 0.0280264274
- },
- {
- "value": 0.0001146029,
- "date": "2012-11-02",
- "l": -0.0820430294,
- "u": 0.0326771125
- },
- {
- "value": 0.0047572651,
- "date": "2012-11-03",
- "l": -0.0754113825,
- "u": 0.0294912577
- },
- {
- "value": 0.006204557,
- "date": "2012-11-04",
- "l": -0.0750627059,
- "u": 0.029693607
- },
- {
- "value": 0.0115231406,
- "date": "2012-11-05",
- "l": -0.0663484142,
- "u": 0.0214084056
- },
- {
- "value": -0.0032634994,
- "date": "2012-11-06",
- "l": -0.0793170451,
- "u": 0.0355159827
- },
- {
- "value": -0.0108985452,
- "date": "2012-11-07",
- "l": -0.0846123893,
- "u": 0.0409797057
- },
- {
- "value": -0.0092766813,
- "date": "2012-11-08",
- "l": -0.0802668328,
- "u": 0.0373886301
- },
- {
- "value": 0.0095972086,
- "date": "2012-11-09",
- "l": -0.0623739694,
- "u": 0.0194918693
- },
- {
- "value": -0.0111809358,
- "date": "2012-11-10",
- "l": -0.0819555908,
- "u": 0.038335749
- },
- {
- "value": -0.0023572296,
- "date": "2012-11-11",
- "l": -0.0745443377,
- "u": 0.0306093592
- },
- {
- "value": 0.0084213775,
- "date": "2012-11-12",
- "l": -0.0657707155,
- "u": 0.0227270619
- },
- {
- "value": 0.0107446453,
- "date": "2012-11-13",
- "l": -0.0617995017,
- "u": 0.0196547867
- },
- {
- "value": 0.009457792,
- "date": "2012-11-14",
- "l": -0.0597697849,
- "u": 0.0191832343
- },
- {
- "value": 0.0031194779,
- "date": "2012-11-15",
- "l": -0.0589126783,
- "u": 0.0186409442
- },
- {
- "value": -0.0115128213,
- "date": "2012-11-16",
- "l": -0.0767105447,
- "u": 0.0370292452
- },
- {
- "value": 0.0058347339,
- "date": "2012-11-17",
- "l": -0.0592236472,
- "u": 0.0198181452
- },
- {
- "value": -0.0235630436,
- "date": "2012-11-18",
- "l": -0.083529944,
- "u": 0.046280909
- },
- {
- "value": -0.0479795964,
- "date": "2012-11-19",
- "l": -0.1086422529,
- "u": 0.0113044645
- },
- {
- "value": -0.0218184359,
- "date": "2012-11-21",
- "l": -0.0881634878,
- "u": 0.0448568265
- },
- {
- "value": -0.0071361172,
- "date": "2012-11-28",
- "l": -0.0807350229,
- "u": 0.0453599734
- },
- {
- "value": -0.0151966912,
- "date": "2012-12-05",
- "l": -0.089995793,
- "u": 0.0558329569
- },
- {
- "value": -0.0097784855,
- "date": "2012-12-12",
- "l": -0.089466481,
- "u": 0.0550191387
- },
- {
- "value": -0.0095681495,
- "date": "2012-12-19",
- "l": -0.090513354,
- "u": 0.057073314
- },
- {
- "value": -0.0034165915,
- "date": "2012-12-27",
- "l": -0.0907151292,
- "u": 0.0561479112
- },
- {
- "value": 0.3297981389,
- "date": "2012-12-31",
- "l": 0.1537781522,
- "u": 0.3499473316
- }
- ] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json
deleted file mode 100644
index 4550c0f..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users1.json
+++ /dev/null
@@ -1,483 +0,0 @@
-
- [
- {
- "date": "2014-01-01",
- "value": 190000000
- },
- {
- "date": "2014-01-02",
- "value": 190379978
- },
- {
- "date": "2014-01-03",
- "value": 90493749
- },
- {
- "date": "2014-01-04",
- "value": 190785250
- },
- {
- "date": "2014-01-05",
- "value": 197391904
- },
- {
- "date": "2014-01-06",
- "value": 191576838
- },
- {
- "date": "2014-01-07",
- "value": 191413854
- },
- {
- "date": "2014-01-08",
- "value": 142177211
- },
- {
- "date": "2014-01-09",
- "value": 103762210
- },
- {
- "date": "2014-01-10",
- "value": 144381072
- },
- {
- "date": "2014-01-11",
- "value": 154352310
- },
- {
- "date": "2014-01-12",
- "value": 165531790
- },
- {
- "date": "2014-01-13",
- "value": 175748881
- },
- {
- "date": "2014-01-14",
- "value": 187064037
- },
- {
- "date": "2014-01-15",
- "value": 197520685
- },
- {
- "date": "2014-01-16",
- "value": 210176418
- },
- {
- "date": "2014-01-17",
- "value": 196122924
- },
- {
- "date": "2014-01-18",
- "value": 157337480
- },
- {
- "date": "2014-01-19",
- "value": 200258882
- },
- {
- "date": "2014-01-20",
- "value": 186829538
- },
- {
- "date": "2014-01-21",
- "value": 112456897
- },
- {
- "date": "2014-01-22",
- "value": 114299711
- },
- {
- "date": "2014-01-23",
- "value": 122759017
- },
- {
- "date": "2014-01-24",
- "value": 203596183
- },
- {
- "date": "2014-01-25",
- "value": 208107346
- },
- {
- "date": "2014-01-26",
- "value": 196359852
- },
- {
- "date": "2014-01-27",
- "value": 192570783
- },
- {
- "date": "2014-01-28",
- "value": 177967768
- },
- {
- "date": "2014-01-29",
- "value": 190632803
- },
- {
- "date": "2014-01-30",
- "value": 203725316
- },
- {
- "date": "2014-01-31",
- "value": 118226177
- },
- {
- "date": "2014-02-01",
- "value": 210698669
- },
- {
- "date": "2014-02-02",
- "value": 217640656
- },
- {
- "date": "2014-02-03",
- "value": 216142362
- },
- {
- "date": "2014-02-04",
- "value": 201410971
- },
- {
- "date": "2014-02-05",
- "value": 196704289
- },
- {
- "date": "2014-02-06",
- "value": 190436945
- },
- {
- "date": "2014-02-07",
- "value": 178891686
- },
- {
- "date": "2014-02-08",
- "value": 171613962
- },
- {
- "date": "2014-02-09",
- "value": 107579773
- },
- {
- "date": "2014-02-10",
- "value": 158677098
- },
- {
- "date": "2014-02-11",
- "value": 147129977
- },
- {
- "date": "2014-02-12",
- "value": 151561876
- },
- {
- "date": "2014-02-13",
- "value": 151627421
- },
- {
- "date": "2014-02-14",
- "value": 143543872
- },
- {
- "date": "2014-02-15",
- "value": 136581057
- },
- {
- "date": "2014-02-16",
- "value": 135560715
- },
- {
- "date": "2014-02-17",
- "value": 122625263
- },
- {
- "date": "2014-02-18",
- "value": 112091484
- },
- {
- "date": "2014-02-19",
- "value": 98810329
- },
- {
- "date": "2014-02-20",
- "value": 99882912
- },
- {
- "date": "2014-02-21",
- "value": 94943095
- },
- {
- "date": "2014-02-22",
- "value": 104875743
- },
- {
- "date": "2014-02-23",
- "value": 116383678
- },
- {
- "date": "2014-02-24",
- "value": 105028841
- },
- {
- "date": "2014-02-25",
- "value": 123967310
- },
- {
- "date": "2014-02-26",
- "value": 133167029
- },
- {
- "date": "2014-02-27",
- "value": 128577263
- },
- {
- "date": "2014-02-28",
- "value": 115836969
- },
- {
- "date": "2014-03-01",
- "value": 119264529
- },
- {
- "date": "2014-03-02",
- "value": 109363374
- },
- {
- "date": "2014-03-03",
- "value": 113985628
- },
- {
- "date": "2014-03-04",
- "value": 114650999
- },
- {
- "date": "2014-03-05",
- "value": 110866108
- },
- {
- "date": "2014-03-06",
- "value": 96473454
- },
- {
- "date": "2014-03-07",
- "value": 84075886
- },
- {
- "date": "2014-03-08",
- "value": 103568384
- },
- {
- "date": "2014-03-09",
- "value": 101534883
- },
- {
- "date": "2014-03-10",
- "value": 115825447
- },
- {
- "date": "2014-03-11",
- "value": 126133916
- },
- {
- "date": "2014-03-12",
- "value": 116502109
- },
- {
- "date": "2014-03-13",
- "value": 80169411
- },
- {
- "date": "2014-03-14",
- "value": 84296886
- },
- {
- "date": "2014-03-15",
- "value": 86347399
- },
- {
- "date": "2014-03-16",
- "value": 31483669
- },
- {
- "date": "2014-03-17",
- "value": 142811333
- },
- {
- "date": "2014-03-18",
- "value": 89675396
- },
- {
- "date": "2014-03-19",
- "value": 115514483
- },
- {
- "date": "2014-03-20",
- "value": 117630630
- },
- {
- "date": "2014-03-21",
- "value": 122340239
- },
- {
- "date": "2014-03-22",
- "value": 132349091
- },
- {
- "date": "2014-03-23",
- "value": 125613305
- },
- {
- "date": "2014-03-24",
- "value": 135592466
- },
- {
- "date": "2014-03-25",
- "value": 123408762
- },
- {
- "date": "2014-03-26",
- "value": 111991454
- },
- {
- "date": "2014-03-27",
- "value": 116123955
- },
- {
- "date": "2014-03-28",
- "value": 112817214
- },
- {
- "date": "2014-03-29",
- "value": 113029590
- },
- {
- "date": "2014-03-30",
- "value": 108753398
- },
- {
- "date": "2014-03-31",
- "value": 99383763
- },
- {
- "date": "2014-04-01",
- "value": 100151737
- },
- {
- "date": "2014-04-02",
- "value": 94985209
- },
- {
- "date": "2014-04-03",
- "value": 82913669
- },
- {
- "date": "2014-04-04",
- "value": 78748268
- },
- {
- "date": "2014-04-05",
- "value": 63829135
- },
- {
- "date": "2014-04-06",
- "value": 78694727
- },
- {
- "date": "2014-04-07",
- "value": 80868994
- },
- {
- "date": "2014-04-08",
- "value": 93799013
- },
- {
- "date": "2014-04-09",
- "value": 9042416
- },
- {
- "date": "2014-04-10",
- "value": 97298692
- },
- {
- "date": "2014-04-11",
- "value": 53353499
- },
- {
- "date": "2014-04-12",
- "value": 71248129
- },
- {
- "date": "2014-04-13",
- "value": 75253744
- },
- {
- "date": "2014-04-14",
- "value": 68976648
- },
- {
- "date": "2014-04-15",
- "value": 71002284
- },
- {
- "date": "2014-04-16",
- "value": 75052401
- },
- {
- "date": "2014-04-17",
- "value": 83894030
- },
- {
- "date": "2014-04-18",
- "value": 50236528
- },
- {
- "date": "2014-04-19",
- "value": 59739114
- },
- {
- "date": "2014-04-20",
- "value": 56407136
- },
- {
- "date": "2014-04-21",
- "value": 108323177
- },
- {
- "date": "2014-04-22",
- "value": 101578914
- },
- {
- "date": "2014-04-23",
- "value": 115877608
- },
- {
- "date": "2014-04-24",
- "value": 132088857
- },
- {
- "date": "2014-04-25",
- "value": 112071353
- },
- {
- "date": "2014-04-26",
- "value": 81790062
- },
- {
- "date": "2014-04-27",
- "value": 105003761
- },
- {
- "date": "2014-04-28",
- "value": 100457727
- },
- {
- "date": "2014-04-29",
- "value": 118253926
- },
- {
- "date": "2014-04-30",
- "value": 67956992
- }
- ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json
deleted file mode 100644
index 7fc5842..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users2.json
+++ /dev/null
@@ -1,1448 +0,0 @@
-[
- [
- {
- "date": "2014-01-01",
- "value": 10000000
- },
- {
- "date": "2014-01-02",
- "value": 10379978
- },
- {
- "date": "2014-01-03",
- "value": 10493749
- },
- {
- "date": "2014-01-04",
- "value": 10785250
- },
- {
- "date": "2014-01-05",
- "value": 13901904
- },
- {
- "date": "2014-01-06",
- "value": 11576838
- },
- {
- "date": "2014-01-07",
- "value": 14413854
- },
- {
- "date": "2014-01-08",
- "value": 15177211
- },
- {
- "date": "2014-01-09",
- "value": 16622100
- },
- {
- "date": "2014-01-10",
- "value": 17381072
- },
- {
- "date": "2014-01-11",
- "value": 18802310
- },
- {
- "date": "2014-01-12",
- "value": 15531790
- },
- {
- "date": "2014-01-13",
- "value": 15748881
- },
- {
- "date": "2014-01-14",
- "value": 18706437
- },
- {
- "date": "2014-01-15",
- "value": 19752685
- },
- {
- "date": "2014-01-16",
- "value": 21016418
- },
- {
- "date": "2014-01-17",
- "value": 25622924
- },
- {
- "date": "2014-01-18",
- "value": 25337480
- },
- {
- "date": "2014-01-19",
- "value": 22258882
- },
- {
- "date": "2014-01-20",
- "value": 23829538
- },
- {
- "date": "2014-01-21",
- "value": 24245689
- },
- {
- "date": "2014-01-22",
- "value": 26429711
- },
- {
- "date": "2014-01-23",
- "value": 26259017
- },
- {
- "date": "2014-01-24",
- "value": 25396183
- },
- {
- "date": "2014-01-25",
- "value": 23107346
- },
- {
- "date": "2014-01-26",
- "value": 28659852
- },
- {
- "date": "2014-01-27",
- "value": 25270783
- },
- {
- "date": "2014-01-28",
- "value": 26270783
- },
- {
- "date": "2014-01-29",
- "value": 27270783
- },
- {
- "date": "2014-01-30",
- "value": 28270783
- },
- {
- "date": "2014-01-31",
- "value": 29270783
- },
- {
- "date": "2014-02-01",
- "value": 30270783
- },
- {
- "date": "2014-02-02",
- "value": 31270783
- },
- {
- "date": "2014-02-03",
- "value": 32270783
- },
- {
- "date": "2014-02-04",
- "value": 33270783
- },
- {
- "date": "2014-02-05",
- "value": 28270783
- },
- {
- "date": "2014-02-06",
- "value": 27270783
- },
- {
- "date": "2014-02-07",
- "value": 35270783
- },
- {
- "date": "2014-02-08",
- "value": 34270783
- },
- {
- "date": "2014-02-09",
- "value": 28270783
- },
- {
- "date": "2014-02-10",
- "value": 35270783
- },
- {
- "date": "2014-02-11",
- "value": 36270783
- },
- {
- "date": "2014-02-12",
- "value": 34127078
- },
- {
- "date": "2014-02-13",
- "value": 33124078
- },
- {
- "date": "2014-02-14",
- "value": 36227078
- },
- {
- "date": "2014-02-15",
- "value": 37827078
- },
- {
- "date": "2014-02-16",
- "value": 36427073
- },
- {
- "date": "2014-02-17",
- "value": 37570783
- },
- {
- "date": "2014-02-18",
- "value": 38627073
- },
- {
- "date": "2014-02-19",
- "value": 37727078
- },
- {
- "date": "2014-02-20",
- "value": 38827073
- },
- {
- "date": "2014-02-21",
- "value": 40927078
- },
- {
- "date": "2014-02-22",
- "value": 41027078
- },
- {
- "date": "2014-02-23",
- "value": 42127073
- },
- {
- "date": "2014-02-24",
- "value": 43220783
- },
- {
- "date": "2014-02-25",
- "value": 44327078
- },
- {
- "date": "2014-02-26",
- "value": 40427078
- },
- {
- "date": "2014-02-27",
- "value": 41027078
- },
- {
- "date": "2014-02-28",
- "value": 45627078
- },
- {
- "date": "2014-03-01",
- "value": 44727078
- },
- {
- "date": "2014-03-02",
- "value": 44227078
- },
- {
- "date": "2014-03-03",
- "value": 45227078
- },
- {
- "date": "2014-03-04",
- "value": 46027078
- },
- {
- "date": "2014-03-05",
- "value": 46927078
- },
- {
- "date": "2014-03-06",
- "value": 47027078
- },
- {
- "date": "2014-03-07",
- "value": 46227078
- },
- {
- "date": "2014-03-08",
- "value": 47027078
- },
- {
- "date": "2014-03-09",
- "value": 48027078
- },
- {
- "date": "2014-03-10",
- "value": 47027078
- },
- {
- "date": "2014-03-11",
- "value": 47027078
- },
- {
- "date": "2014-03-12",
- "value": 48017078
- },
- {
- "date": "2014-03-13",
- "value": 48077078
- },
- {
- "date": "2014-03-14",
- "value": 48087078
- },
- {
- "date": "2014-03-15",
- "value": 48017078
- },
- {
- "date": "2014-03-16",
- "value": 48047078
- },
- {
- "date": "2014-03-17",
- "value": 48067078
- },
- {
- "date": "2014-03-18",
- "value": 48077078
- },
- {
- "date": "2014-03-19",
- "value": 48027074
- },
- {
- "date": "2014-03-20",
- "value": 48927079
- },
- {
- "date": "2014-03-21",
- "value": 48727071
- },
- {
- "date": "2014-03-22",
- "value": 48127072
- },
- {
- "date": "2014-03-23",
- "value": 48527072
- },
- {
- "date": "2014-03-24",
- "value": 48627027
- },
- {
- "date": "2014-03-25",
- "value": 48027040
- },
- {
- "date": "2014-03-26",
- "value": 48027043
- },
- {
- "date": "2014-03-27",
- "value": 48057022
- },
- {
- "date": "2014-03-28",
- "value": 49057022
- },
- {
- "date": "2014-03-29",
- "value": 50057022
- },
- {
- "date": "2014-03-30",
- "value": 51057022
- },
- {
- "date": "2014-03-31",
- "value": 52057022
- },
- {
- "date": "2014-04-01",
- "value": 53057022
- },
- {
- "date": "2014-04-02",
- "value": 54057022
- },
- {
- "date": "2014-04-03",
- "value": 52057022
- },
- {
- "date": "2014-04-04",
- "value": 55057022
- },
- {
- "date": "2014-04-05",
- "value": 58270783
- },
- {
- "date": "2014-04-06",
- "value": 56270783
- },
- {
- "date": "2014-04-07",
- "value": 55270783
- },
- {
- "date": "2014-04-08",
- "value": 58270783
- },
- {
- "date": "2014-04-09",
- "value": 59270783
- },
- {
- "date": "2014-04-10",
- "value": 60270783
- },
- {
- "date": "2014-04-11",
- "value": 61270783
- },
- {
- "date": "2014-04-12",
- "value": 62270783
- },
- {
- "date": "2014-04-13",
- "value": 63270783
- },
- {
- "date": "2014-04-14",
- "value": 64270783
- },
- {
- "date": "2014-04-15",
- "value": 65270783
- },
- {
- "date": "2014-04-16",
- "value": 66270783
- },
- {
- "date": "2014-04-17",
- "value": 67270783
- },
- {
- "date": "2014-04-18",
- "value": 68270783
- },
- {
- "date": "2014-04-19",
- "value": 69270783
- },
- {
- "date": "2014-04-20",
- "value": 70270783
- },
- {
- "date": "2014-04-21",
- "value": 71270783
- },
- {
- "date": "2014-04-22",
- "value": 72270783
- },
- {
- "date": "2014-04-23",
- "value": 73270783
- },
- {
- "date": "2014-04-24",
- "value": 74270783
- },
- {
- "date": "2014-04-25",
- "value": 75270783
- },
- {
- "date": "2014-04-26",
- "value": 76660783
- },
- {
- "date": "2014-04-27",
- "value": 77270783
- },
- {
- "date": "2014-04-28",
- "value": 78370783
- },
- {
- "date": "2014-04-29",
- "value": 79470783
- },
- {
- "date": "2014-04-30",
- "value": 80170783
- }
- ],
- [
- {
- "date": "2014-01-01",
- "value": 150000000
- },
- {
- "date": "2014-01-02",
- "value": 160379978
- },
- {
- "date": "2014-01-03",
- "value": 170493749
- },
- {
- "date": "2014-01-04",
- "value": 160785250
- },
- {
- "date": "2014-01-05",
- "value": 167391904
- },
- {
- "date": "2014-01-06",
- "value": 161576838
- },
- {
- "date": "2014-01-07",
- "value": 161413854
- },
- {
- "date": "2014-01-08",
- "value": 152177211
- },
- {
- "date": "2014-01-09",
- "value": 143762210
- },
- {
- "date": "2014-01-10",
- "value": 144381072
- },
- {
- "date": "2014-01-11",
- "value": 154352310
- },
- {
- "date": "2014-01-12",
- "value": 165531790
- },
- {
- "date": "2014-01-13",
- "value": 175748881
- },
- {
- "date": "2014-01-14",
- "value": 187064037
- },
- {
- "date": "2014-01-15",
- "value": 197520685
- },
- {
- "date": "2014-01-16",
- "value": 210176418
- },
- {
- "date": "2014-01-17",
- "value": 196122924
- },
- {
- "date": "2014-01-18",
- "value": 207337480
- },
- {
- "date": "2014-01-19",
- "value": 200258882
- },
- {
- "date": "2014-01-20",
- "value": 186829538
- },
- {
- "date": "2014-01-21",
- "value": 192456897
- },
- {
- "date": "2014-01-22",
- "value": 204299711
- },
- {
- "date": "2014-01-23",
- "value": 192759017
- },
- {
- "date": "2014-01-24",
- "value": 203596183
- },
- {
- "date": "2014-01-25",
- "value": 208107346
- },
- {
- "date": "2014-01-26",
- "value": 196359852
- },
- {
- "date": "2014-01-27",
- "value": 192570783
- },
- {
- "date": "2014-01-28",
- "value": 177967768
- },
- {
- "date": "2014-01-29",
- "value": 190632803
- },
- {
- "date": "2014-01-30",
- "value": 203725316
- },
- {
- "date": "2014-01-31",
- "value": 218226177
- },
- {
- "date": "2014-02-01",
- "value": 210698669
- },
- {
- "date": "2014-02-02",
- "value": 217640656
- },
- {
- "date": "2014-02-03",
- "value": 216142362
- },
- {
- "date": "2014-02-04",
- "value": 201410971
- },
- {
- "date": "2014-02-05",
- "value": 196704289
- },
- {
- "date": "2014-02-06",
- "value": 190436945
- },
- {
- "date": "2014-02-07",
- "value": 178891686
- },
- {
- "date": "2014-02-08",
- "value": 171613962
- },
- {
- "date": "2014-02-09",
- "value": 157579773
- },
- {
- "date": "2014-02-10",
- "value": 158677098
- },
- {
- "date": "2014-02-11",
- "value": 147129977
- },
- {
- "date": "2014-02-12",
- "value": 151561876
- },
- {
- "date": "2014-02-13",
- "value": 151627421
- },
- {
- "date": "2014-02-14",
- "value": 143543872
- },
- {
- "date": "2014-02-15",
- "value": 136581057
- },
- {
- "date": "2014-02-16",
- "value": 135560715
- },
- {
- "date": "2014-02-17",
- "value": 122625263
- },
- {
- "date": "2014-02-18",
- "value": 112091484
- },
- {
- "date": "2014-02-19",
- "value": 98810329
- },
- {
- "date": "2014-02-20",
- "value": 99882912
- },
- {
- "date": "2014-02-21",
- "value": 94943095
- },
- {
- "date": "2014-02-22",
- "value": 104875743
- },
- {
- "date": "2014-02-23",
- "value": 116383678
- },
- {
- "date": "2014-02-24",
- "value": 125028841
- },
- {
- "date": "2014-02-25",
- "value": 123967310
- },
- {
- "date": "2014-02-26",
- "value": 133167029
- },
- {
- "date": "2014-02-27",
- "value": 128577263
- },
- {
- "date": "2014-02-28",
- "value": 115836969
- },
- {
- "date": "2014-03-01",
- "value": 119264529
- },
- {
- "date": "2014-03-02",
- "value": 109363374
- },
- {
- "date": "2014-03-03",
- "value": 113985628
- },
- {
- "date": "2014-03-04",
- "value": 114650999
- },
- {
- "date": "2014-03-05",
- "value": 110866108
- },
- {
- "date": "2014-03-06",
- "value": 96473454
- },
- {
- "date": "2014-03-07",
- "value": 104075886
- },
- {
- "date": "2014-03-08",
- "value": 103568384
- },
- {
- "date": "2014-03-09",
- "value": 101534883
- },
- {
- "date": "2014-03-10",
- "value": 115825447
- },
- {
- "date": "2014-03-11",
- "value": 126133916
- },
- {
- "date": "2014-03-12",
- "value": 116502109
- },
- {
- "date": "2014-03-13",
- "value": 130169411
- },
- {
- "date": "2014-03-14",
- "value": 124296886
- },
- {
- "date": "2014-03-15",
- "value": 126347399
- },
- {
- "date": "2014-03-16",
- "value": 131483669
- },
- {
- "date": "2014-03-17",
- "value": 142811333
- },
- {
- "date": "2014-03-18",
- "value": 129675396
- },
- {
- "date": "2014-03-19",
- "value": 115514483
- },
- {
- "date": "2014-03-20",
- "value": 117630630
- },
- {
- "date": "2014-03-21",
- "value": 122340239
- },
- {
- "date": "2014-03-22",
- "value": 132349091
- },
- {
- "date": "2014-03-23",
- "value": 125613305
- },
- {
- "date": "2014-03-24",
- "value": 135592466
- },
- {
- "date": "2014-03-25",
- "value": 123408762
- },
- {
- "date": "2014-03-26",
- "value": 111991454
- },
- {
- "date": "2014-03-27",
- "value": 116123955
- },
- {
- "date": "2014-03-28",
- "value": 112817214
- },
- {
- "date": "2014-03-29",
- "value": 113029590
- },
- {
- "date": "2014-03-30",
- "value": 108753398
- },
- {
- "date": "2014-03-31",
- "value": 99383763
- },
- {
- "date": "2014-04-01",
- "value": 100151737
- },
- {
- "date": "2014-04-02",
- "value": 94985209
- },
- {
- "date": "2014-04-03",
- "value": 82913669
- },
- {
- "date": "2014-04-04",
- "value": 78748268
- },
- {
- "date": "2014-04-05",
- "value": 63829135
- },
- {
- "date": "2014-04-06",
- "value": 78694727
- },
- {
- "date": "2014-04-07",
- "value": 80868994
- },
- {
- "date": "2014-04-08",
- "value": 93799013
- },
- {
- "date": "2014-04-09",
- "value": 99042416
- },
- {
- "date": "2014-04-10",
- "value": 97298692
- },
- {
- "date": "2014-04-11",
- "value": 83353499
- },
- {
- "date": "2014-04-12",
- "value": 71248129
- },
- {
- "date": "2014-04-13",
- "value": 75253744
- },
- {
- "date": "2014-04-14",
- "value": 68976648
- },
- {
- "date": "2014-04-15",
- "value": 71002284
- },
- {
- "date": "2014-04-16",
- "value": 75052401
- },
- {
- "date": "2014-04-17",
- "value": 83894030
- },
- {
- "date": "2014-04-18",
- "value": 90236528
- },
- {
- "date": "2014-04-19",
- "value": 99739114
- },
- {
- "date": "2014-04-20",
- "value": 96407136
- },
- {
- "date": "2014-04-21",
- "value": 108323177
- },
- {
- "date": "2014-04-22",
- "value": 101578914
- },
- {
- "date": "2014-04-23",
- "value": 115877608
- },
- {
- "date": "2014-04-24",
- "value": 112088857
- },
- {
- "date": "2014-04-25",
- "value": 112071353
- },
- {
- "date": "2014-04-26",
- "value": 101790062
- },
- {
- "date": "2014-04-27",
- "value": 115003761
- },
- {
- "date": "2014-04-28",
- "value": 120457727
- },
- {
- "date": "2014-04-29",
- "value": 118253926
- },
- {
- "date": "2014-04-30",
- "value": 117956992
- }
- ],
- [
- {
- "date": "2014-01-01",
- "value": 60000000
- },
- {
- "date": "2014-01-02",
- "value": 60379978
- },
- {
- "date": "2014-01-03",
- "value": 40493749
- },
- {
- "date": "2014-01-04",
- "value": 60785250
- },
- {
- "date": "2014-01-05",
- "value": 67391904
- },
- {
- "date": "2014-01-06",
- "value": 61576838
- },
- {
- "date": "2014-01-07",
- "value": 61413854
- },
- {
- "date": "2014-01-08",
- "value": 82177211
- },
- {
- "date": "2014-01-09",
- "value": 103762210
- },
- {
- "date": "2014-01-10",
- "value": 84381072
- },
- {
- "date": "2014-01-11",
- "value": 54352310
- },
- {
- "date": "2014-01-12",
- "value": 65531790
- },
- {
- "date": "2014-01-13",
- "value": 75748881
- },
- {
- "date": "2014-01-14",
- "value": 47064037
- },
- {
- "date": "2014-01-15",
- "value": 67520685
- },
- {
- "date": "2014-01-16",
- "value": 60176418
- },
- {
- "date": "2014-01-17",
- "value": 66122924
- },
- {
- "date": "2014-01-18",
- "value": 57337480
- },
- {
- "date": "2014-01-19",
- "value": 100258882
- },
- {
- "date": "2014-01-20",
- "value": 46829538
- },
- {
- "date": "2014-01-21",
- "value": 92456897
- },
- {
- "date": "2014-01-22",
- "value": 94299711
- },
- {
- "date": "2014-01-23",
- "value": 62759017
- },
- {
- "date": "2014-01-24",
- "value": 103596183
- },
- {
- "date": "2014-01-25",
- "value": 108107346
- },
- {
- "date": "2014-01-26",
- "value": 66359852
- },
- {
- "date": "2014-01-27",
- "value": 62570783
- },
- {
- "date": "2014-01-28",
- "value": 77967768
- },
- {
- "date": "2014-01-29",
- "value": 60632803
- },
- {
- "date": "2014-01-30",
- "value": 103725316
- },
- {
- "date": "2014-01-31",
- "value": 98226177
- },
- {
- "date": "2014-02-01",
- "value": 60698669
- },
- {
- "date": "2014-02-02",
- "value": 67640656
- },
- {
- "date": "2014-02-03",
- "value": 66142362
- },
- {
- "date": "2014-02-04",
- "value": 101410971
- },
- {
- "date": "2014-02-05",
- "value": 66704289
- },
- {
- "date": "2014-02-06",
- "value": 60436945
- },
- {
- "date": "2014-02-07",
- "value": 78891686
- },
- {
- "date": "2014-02-08",
- "value": 71613962
- },
- {
- "date": "2014-02-09",
- "value": 107579773
- },
- {
- "date": "2014-02-10",
- "value": 58677098
- },
- {
- "date": "2014-02-11",
- "value": 87129977
- },
- {
- "date": "2014-02-12",
- "value": 51561876
- },
- {
- "date": "2014-02-13",
- "value": 51627421
- },
- {
- "date": "2014-02-14",
- "value": 83543872
- },
- {
- "date": "2014-02-15",
- "value": 66581057
- },
- {
- "date": "2014-02-16",
- "value": 65560715
- },
- {
- "date": "2014-02-17",
- "value": 62625263
- },
- {
- "date": "2014-02-18",
- "value": 92091484
- },
- {
- "date": "2014-02-19",
- "value": 48810329
- },
- {
- "date": "2014-02-20",
- "value": 49882912
- },
- {
- "date": "2014-02-21",
- "value": 44943095
- },
- {
- "date": "2014-02-22",
- "value": 104875743
- },
- {
- "date": "2014-02-23",
- "value": 96383678
- },
- {
- "date": "2014-02-24",
- "value": 105028841
- },
- {
- "date": "2014-02-25",
- "value": 63967310
- },
- {
- "date": "2014-02-26",
- "value": 63167029
- },
- {
- "date": "2014-02-27",
- "value": 68577263
- },
- {
- "date": "2014-02-28",
- "value": 95836969
- },
- {
- "date": "2014-03-01",
- "value": 99264529
- },
- {
- "date": "2014-03-02",
- "value": 109363374
- },
- {
- "date": "2014-03-03",
- "value": 93985628
- },
- {
- "date": "2014-03-04",
- "value": 94650999
- },
- {
- "date": "2014-03-05",
- "value": 90866108
- },
- {
- "date": "2014-03-06",
- "value": 46473454
- },
- {
- "date": "2014-03-07",
- "value": 84075886
- },
- {
- "date": "2014-03-08",
- "value": 103568384
- },
- {
- "date": "2014-03-09",
- "value": 101534883
- },
- {
- "date": "2014-03-10",
- "value": 95825447
- },
- {
- "date": "2014-03-11",
- "value": 66133916
- },
- {
- "date": "2014-03-12",
- "value": 96502109
- },
- {
- "date": "2014-03-13",
- "value": 80169411
- },
- {
- "date": "2014-03-14",
- "value": 84296886
- },
- {
- "date": "2014-03-15",
- "value": 86347399
- },
- {
- "date": "2014-03-16",
- "value": 31483669
- },
- {
- "date": "2014-03-17",
- "value": 82811333
- },
- {
- "date": "2014-03-18",
- "value": 89675396
- },
- {
- "date": "2014-03-19",
- "value": 95514483
- },
- {
- "date": "2014-03-20",
- "value": 97630630
- },
- {
- "date": "2014-03-21",
- "value": 62340239
- },
- {
- "date": "2014-03-22",
- "value": 62349091
- },
- {
- "date": "2014-03-23",
- "value": 65613305
- },
- {
- "date": "2014-03-24",
- "value": 65592466
- },
- {
- "date": "2014-03-25",
- "value": 63408762
- },
- {
- "date": "2014-03-26",
- "value": 91991454
- },
- {
- "date": "2014-03-27",
- "value": 96123955
- },
- {
- "date": "2014-03-28",
- "value": 92817214
- },
- {
- "date": "2014-03-29",
- "value": 93029590
- },
- {
- "date": "2014-03-30",
- "value": 108753398
- },
- {
- "date": "2014-03-31",
- "value": 49383763
- },
- {
- "date": "2014-04-01",
- "value": 100151737
- },
- {
- "date": "2014-04-02",
- "value": 44985209
- },
- {
- "date": "2014-04-03",
- "value": 52913669
- },
- {
- "date": "2014-04-04",
- "value": 48748268
- },
- {
- "date": "2014-04-05",
- "value": 23829135
- },
- {
- "date": "2014-04-06",
- "value": 58694727
- },
- {
- "date": "2014-04-07",
- "value": 50868994
- },
- {
- "date": "2014-04-08",
- "value": 43799013
- },
- {
- "date": "2014-04-09",
- "value": 4042416
- },
- {
- "date": "2014-04-10",
- "value": 47298692
- },
- {
- "date": "2014-04-11",
- "value": 53353499
- },
- {
- "date": "2014-04-12",
- "value": 71248129
- },
- {
- "date": "2014-04-13",
- "value": 75253744
- },
- {
- "date": "2014-04-14",
- "value": 68976648
- },
- {
- "date": "2014-04-15",
- "value": 71002284
- },
- {
- "date": "2014-04-16",
- "value": 75052401
- },
- {
- "date": "2014-04-17",
- "value": 83894030
- },
- {
- "date": "2014-04-18",
- "value": 50236528
- },
- {
- "date": "2014-04-19",
- "value": 59739114
- },
- {
- "date": "2014-04-20",
- "value": 56407136
- },
- {
- "date": "2014-04-21",
- "value": 108323177
- },
- {
- "date": "2014-04-22",
- "value": 101578914
- },
- {
- "date": "2014-04-23",
- "value": 95877608
- },
- {
- "date": "2014-04-24",
- "value": 62088857
- },
- {
- "date": "2014-04-25",
- "value": 92071353
- },
- {
- "date": "2014-04-26",
- "value": 81790062
- },
- {
- "date": "2014-04-27",
- "value": 105003761
- },
- {
- "date": "2014-04-28",
- "value": 100457727
- },
- {
- "date": "2014-04-29",
- "value": 98253926
- },
- {
- "date": "2014-04-30",
- "value": 67956992
- }
- ]
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json
deleted file mode 100644
index d0b8f16..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/fake_users3.json
+++ /dev/null
@@ -1,1448 +0,0 @@
-[
- [
- {
- "date": "2014-01-01",
- "value": 150000000
- },
- {
- "date": "2014-01-02",
- "value": 168799730
- },
- {
- "date": "2014-01-03",
- "value": 179473940
- },
- {
- "date": "2014-01-04",
- "value": 160525870
- },
- {
- "date": "2014-01-05",
- "value": 164091937
- },
- {
- "date": "2014-01-06",
- "value": 168386751
- },
- {
- "date": "2014-01-07",
- "value": 164583141
- },
- {
- "date": "2014-01-08",
- "value": 151127712
- },
- {
- "date": "2014-01-09",
- "value": 140122673
- },
- {
- "date": "2014-01-10",
- "value": 142701834
- },
- {
- "date": "2014-01-11",
- "value": 150132534
- },
- {
- "date": "2014-01-12",
- "value": 160971355
- },
- {
- "date": "2014-01-13",
- "value": 171888475
- },
- {
- "date": "2014-01-14",
- "value": 187304607
- },
- {
- "date": "2014-01-15",
- "value": 195860257
- },
- {
- "date": "2014-01-16",
- "value": 218146710
- },
- {
- "date": "2014-01-17",
- "value": 194292216
- },
- {
- "date": "2014-01-18",
- "value": 200847337
- },
- {
- "date": "2014-01-19",
- "value": 202888520
- },
- {
- "date": "2014-01-20",
- "value": 188359286
- },
- {
- "date": "2014-01-21",
- "value": 197986542
- },
- {
- "date": "2014-01-22",
- "value": 201179924
- },
- {
- "date": "2014-01-23",
- "value": 197109572
- },
- {
- "date": "2014-01-24",
- "value": 203816953
- },
- {
- "date": "2014-01-25",
- "value": 206437018
- },
- {
- "date": "2014-01-26",
- "value": 192589536
- },
- {
- "date": "2014-01-27",
- "value": 193870752
- },
- {
- "date": "2014-01-28",
- "value": 178677697
- },
- {
- "date": "2014-01-29",
- "value": 193082360
- },
- {
- "date": "2014-01-30",
- "value": 206135273
- },
- {
- "date": "2014-01-31",
- "value": 217716228
- },
- {
- "date": "2014-02-01",
- "value": 219668960
- },
- {
- "date": "2014-02-02",
- "value": 216560467
- },
- {
- "date": "2014-02-03",
- "value": 212632416
- },
- {
- "date": "2014-02-04",
- "value": 201790141
- },
- {
- "date": "2014-02-05",
- "value": 199824076
- },
- {
- "date": "2014-02-06",
- "value": 195496340
- },
- {
- "date": "2014-02-07",
- "value": 176861988
- },
- {
- "date": "2014-02-08",
- "value": 172693161
- },
- {
- "date": "2014-02-09",
- "value": 153779757
- },
- {
- "date": "2014-02-10",
- "value": 158907768
- },
- {
- "date": "2014-02-11",
- "value": 147799217
- },
- {
- "date": "2014-02-12",
- "value": 156781651
- },
- {
- "date": "2014-02-13",
- "value": 151247261
- },
- {
- "date": "2014-02-14",
- "value": 142783453
- },
- {
- "date": "2014-02-15",
- "value": 137501856
- },
- {
- "date": "2014-02-16",
- "value": 135170655
- },
- {
- "date": "2014-02-17",
- "value": 123625262
- },
- {
- "date": "2014-02-18",
- "value": 114841902
- },
- {
- "date": "2014-02-19",
- "value": 99230188
- },
- {
- "date": "2014-02-20",
- "value": 92192889
- },
- {
- "date": "2014-02-21",
- "value": 95903494
- },
- {
- "date": "2014-02-22",
- "value": 103475784
- },
- {
- "date": "2014-02-23",
- "value": 118763836
- },
- {
- "date": "2014-02-24",
- "value": 121488205
- },
- {
- "date": "2014-02-25",
- "value": 120137693
- },
- {
- "date": "2014-02-26",
- "value": 139207613
- },
- {
- "date": "2014-02-27",
- "value": 123627758
- },
- {
- "date": "2014-02-28",
- "value": 119696385
- },
- {
- "date": "2014-03-01",
- "value": 119254629
- },
- {
- "date": "2014-03-02",
- "value": 104733639
- },
- {
- "date": "2014-03-03",
- "value": 118265893
- },
- {
- "date": "2014-03-04",
- "value": 119990564
- },
- {
- "date": "2014-03-05",
- "value": 118016680
- },
- {
- "date": "2014-03-06",
- "value": 94543746
- },
- {
- "date": "2014-03-07",
- "value": 106885704
- },
- {
- "date": "2014-03-08",
- "value": 104838653
- },
- {
- "date": "2014-03-09",
- "value": 103884351
- },
- {
- "date": "2014-03-10",
- "value": 117445285
- },
- {
- "date": "2014-03-11",
- "value": 126193316
- },
- {
- "date": "2014-03-12",
- "value": 119012056
- },
- {
- "date": "2014-03-13",
- "value": 131149610
- },
- {
- "date": "2014-03-14",
- "value": 126886924
- },
- {
- "date": "2014-03-15",
- "value": 129937436
- },
- {
- "date": "2014-03-16",
- "value": 139663841
- },
- {
- "date": "2014-03-17",
- "value": 143331182
- },
- {
- "date": "2014-03-18",
- "value": 126935769
- },
- {
- "date": "2014-03-19",
- "value": 113844155
- },
- {
- "date": "2014-03-20",
- "value": 110360367
- },
- {
- "date": "2014-03-21",
- "value": 129320432
- },
- {
- "date": "2014-03-22",
- "value": 131909432
- },
- {
- "date": "2014-03-23",
- "value": 125033165
- },
- {
- "date": "2014-03-24",
- "value": 136642955
- },
- {
- "date": "2014-03-25",
- "value": 122678043
- },
- {
- "date": "2014-03-26",
- "value": 114541991
- },
- {
- "date": "2014-03-27",
- "value": 115593216
- },
- {
- "date": "2014-03-28",
- "value": 114127182
- },
- {
- "date": "2014-03-29",
- "value": 110959203
- },
- {
- "date": "2014-03-30",
- "value": 108933578
- },
- {
- "date": "2014-03-31",
- "value": 93673839
- },
- {
- "date": "2014-04-01",
- "value": 107371510
- },
- {
- "date": "2014-04-02",
- "value": 99025894
- },
- {
- "date": "2014-04-03",
- "value": 89663192
- },
- {
- "date": "2014-04-04",
- "value": 78628478
- },
- {
- "date": "2014-04-05",
- "value": 65319283
- },
- {
- "date": "2014-04-06",
- "value": 77274968
- },
- {
- "date": "2014-04-07",
- "value": 84998680
- },
- {
- "date": "2014-04-08",
- "value": 93109973
- },
- {
- "date": "2014-04-09",
- "value": 96142409
- },
- {
- "date": "2014-04-10",
- "value": 92968927
- },
- {
- "date": "2014-04-11",
- "value": 89943533
- },
- {
- "date": "2014-04-12",
- "value": 79218421
- },
- {
- "date": "2014-04-13",
- "value": 74473525
- },
- {
- "date": "2014-04-14",
- "value": 68466798
- },
- {
- "date": "2014-04-15",
- "value": 74822001
- },
- {
- "date": "2014-04-16",
- "value": 71042505
- },
- {
- "date": "2014-04-17",
- "value": 80304983
- },
- {
- "date": "2014-04-18",
- "value": 98256320
- },
- {
- "date": "2014-04-19",
- "value": 94119379
- },
- {
- "date": "2014-04-20",
- "value": 96317046
- },
- {
- "date": "2014-04-21",
- "value": 107713238
- },
- {
- "date": "2014-04-22",
- "value": 104198751
- },
- {
- "date": "2014-04-23",
- "value": 118067785
- },
- {
- "date": "2014-04-24",
- "value": 117588802
- },
- {
- "date": "2014-04-25",
- "value": 113531702
- },
- {
- "date": "2014-04-26",
- "value": 102600971
- },
- {
- "date": "2014-04-27",
- "value": 111673005
- },
- {
- "date": "2014-04-28",
- "value": 127277540
- },
- {
- "date": "2014-04-29",
- "value": 116293528
- },
- {
- "date": "2014-04-30",
- "value": 112996597
- }
- ],
- [
- {
- "date": "2014-01-01",
- "value": 10000000
- },
- {
- "date": "2014-01-02",
- "value": 18799730
- },
- {
- "date": "2014-01-03",
- "value": 19473940
- },
- {
- "date": "2014-01-04",
- "value": 10525870
- },
- {
- "date": "2014-01-05",
- "value": 14091093
- },
- {
- "date": "2014-01-06",
- "value": 18386751
- },
- {
- "date": "2014-01-07",
- "value": 14583144
- },
- {
- "date": "2014-01-08",
- "value": 11127715
- },
- {
- "date": "2014-01-09",
- "value": 10012266
- },
- {
- "date": "2014-01-10",
- "value": 12701837
- },
- {
- "date": "2014-01-11",
- "value": 10132088
- },
- {
- "date": "2014-01-12",
- "value": 10971355
- },
- {
- "date": "2014-01-13",
- "value": 11888475
- },
- {
- "date": "2014-01-14",
- "value": 17346078
- },
- {
- "date": "2014-01-15",
- "value": 15862579
- },
- {
- "date": "2014-01-16",
- "value": 28146101
- },
- {
- "date": "2014-01-17",
- "value": 24292265
- },
- {
- "date": "2014-01-18",
- "value": 20847335
- },
- {
- "date": "2014-01-19",
- "value": 22888522
- },
- {
- "date": "2014-01-20",
- "value": 28359283
- },
- {
- "date": "2014-01-21",
- "value": 29865424
- },
- {
- "date": "2014-01-22",
- "value": 21179246
- },
- {
- "date": "2014-01-23",
- "value": 27109526
- },
- {
- "date": "2014-01-24",
- "value": 23816935
- },
- {
- "date": "2014-01-25",
- "value": 26437013
- },
- {
- "date": "2014-01-26",
- "value": 22589568
- },
- {
- "date": "2014-01-27",
- "value": 23870725
- },
- {
- "date": "2014-01-28",
- "value": 23870726
- },
- {
- "date": "2014-01-29",
- "value": 23870727
- },
- {
- "date": "2014-01-30",
- "value": 23870728
- },
- {
- "date": "2014-01-31",
- "value": 23870729
- },
- {
- "date": "2014-02-01",
- "value": 33870720
- },
- {
- "date": "2014-02-02",
- "value": 33870721
- },
- {
- "date": "2014-02-03",
- "value": 33870722
- },
- {
- "date": "2014-02-04",
- "value": 33870723
- },
- {
- "date": "2014-02-05",
- "value": 23870728
- },
- {
- "date": "2014-02-06",
- "value": 23870727
- },
- {
- "date": "2014-02-07",
- "value": 33870725
- },
- {
- "date": "2014-02-08",
- "value": 33870724
- },
- {
- "date": "2014-02-09",
- "value": 23870728
- },
- {
- "date": "2014-02-10",
- "value": 33870725
- },
- {
- "date": "2014-02-11",
- "value": 33870726
- },
- {
- "date": "2014-02-12",
- "value": 38707214
- },
- {
- "date": "2014-02-13",
- "value": 38704213
- },
- {
- "date": "2014-02-14",
- "value": 38707226
- },
- {
- "date": "2014-02-15",
- "value": 38707287
- },
- {
- "date": "2014-02-16",
- "value": 33707246
- },
- {
- "date": "2014-02-17",
- "value": 33870757
- },
- {
- "date": "2014-02-18",
- "value": 33707268
- },
- {
- "date": "2014-02-19",
- "value": 38707277
- },
- {
- "date": "2014-02-20",
- "value": 33707288
- },
- {
- "date": "2014-02-21",
- "value": 48707290
- },
- {
- "date": "2014-02-22",
- "value": 48707201
- },
- {
- "date": "2014-02-23",
- "value": 43707212
- },
- {
- "date": "2014-02-24",
- "value": 43870223
- },
- {
- "date": "2014-02-25",
- "value": 48707234
- },
- {
- "date": "2014-02-26",
- "value": 48707240
- },
- {
- "date": "2014-02-27",
- "value": 48707201
- },
- {
- "date": "2014-02-28",
- "value": 48707265
- },
- {
- "date": "2014-03-01",
- "value": 48707274
- },
- {
- "date": "2014-03-02",
- "value": 48707224
- },
- {
- "date": "2014-03-03",
- "value": 48707225
- },
- {
- "date": "2014-03-04",
- "value": 48707206
- },
- {
- "date": "2014-03-05",
- "value": 48707296
- },
- {
- "date": "2014-03-06",
- "value": 48707207
- },
- {
- "date": "2014-03-07",
- "value": 48707226
- },
- {
- "date": "2014-03-08",
- "value": 48707207
- },
- {
- "date": "2014-03-09",
- "value": 48707208
- },
- {
- "date": "2014-03-10",
- "value": 48707207
- },
- {
- "date": "2014-03-11",
- "value": 48707207
- },
- {
- "date": "2014-03-12",
- "value": 48707108
- },
- {
- "date": "2014-03-13",
- "value": 48707708
- },
- {
- "date": "2014-03-14",
- "value": 48707808
- },
- {
- "date": "2014-03-15",
- "value": 48707108
- },
- {
- "date": "2014-03-16",
- "value": 48707408
- },
- {
- "date": "2014-03-17",
- "value": 48707608
- },
- {
- "date": "2014-03-18",
- "value": 48707708
- },
- {
- "date": "2014-03-19",
- "value": 44707208
- },
- {
- "date": "2014-03-20",
- "value": 49707298
- },
- {
- "date": "2014-03-21",
- "value": 41707278
- },
- {
- "date": "2014-03-22",
- "value": 42707218
- },
- {
- "date": "2014-03-23",
- "value": 42707258
- },
- {
- "date": "2014-03-24",
- "value": 47207268
- },
- {
- "date": "2014-03-25",
- "value": 40407208
- },
- {
- "date": "2014-03-26",
- "value": 43407208
- },
- {
- "date": "2014-03-27",
- "value": 42207508
- },
- {
- "date": "2014-03-28",
- "value": 42207509
- },
- {
- "date": "2014-03-29",
- "value": 52207500
- },
- {
- "date": "2014-03-30",
- "value": 52207501
- },
- {
- "date": "2014-03-31",
- "value": 52207502
- },
- {
- "date": "2014-04-01",
- "value": 52207503
- },
- {
- "date": "2014-04-02",
- "value": 52207504
- },
- {
- "date": "2014-04-03",
- "value": 52207502
- },
- {
- "date": "2014-04-04",
- "value": 52207505
- },
- {
- "date": "2014-04-05",
- "value": 53870728
- },
- {
- "date": "2014-04-06",
- "value": 53870726
- },
- {
- "date": "2014-04-07",
- "value": 53870725
- },
- {
- "date": "2014-04-08",
- "value": 53870728
- },
- {
- "date": "2014-04-09",
- "value": 53870729
- },
- {
- "date": "2014-04-10",
- "value": 63870720
- },
- {
- "date": "2014-04-11",
- "value": 63870721
- },
- {
- "date": "2014-04-12",
- "value": 63870722
- },
- {
- "date": "2014-04-13",
- "value": 63870723
- },
- {
- "date": "2014-04-14",
- "value": 63870724
- },
- {
- "date": "2014-04-15",
- "value": 63870725
- },
- {
- "date": "2014-04-16",
- "value": 63870726
- },
- {
- "date": "2014-04-17",
- "value": 63870727
- },
- {
- "date": "2014-04-18",
- "value": 63870728
- },
- {
- "date": "2014-04-19",
- "value": 63870729
- },
- {
- "date": "2014-04-20",
- "value": 73870720
- },
- {
- "date": "2014-04-21",
- "value": 73870721
- },
- {
- "date": "2014-04-22",
- "value": 73870722
- },
- {
- "date": "2014-04-23",
- "value": 73870723
- },
- {
- "date": "2014-04-24",
- "value": 73870724
- },
- {
- "date": "2014-04-25",
- "value": 73870725
- },
- {
- "date": "2014-04-26",
- "value": 73870666
- },
- {
- "date": "2014-04-27",
- "value": 73870727
- },
- {
- "date": "2014-04-28",
- "value": 73870738
- },
- {
- "date": "2014-04-29",
- "value": 73870749
- },
- {
- "date": "2014-04-30",
- "value": 83870710
- }
- ],
- [
- {
- "date": "2014-01-01",
- "value": 60000000
- },
- {
- "date": "2014-01-02",
- "value": 68799730
- },
- {
- "date": "2014-01-03",
- "value": 49473940
- },
- {
- "date": "2014-01-04",
- "value": 60525870
- },
- {
- "date": "2014-01-05",
- "value": 64091937
- },
- {
- "date": "2014-01-06",
- "value": 68386751
- },
- {
- "date": "2014-01-07",
- "value": 64583141
- },
- {
- "date": "2014-01-08",
- "value": 81127712
- },
- {
- "date": "2014-01-09",
- "value": 100122673
- },
- {
- "date": "2014-01-10",
- "value": 82701834
- },
- {
- "date": "2014-01-11",
- "value": 50132534
- },
- {
- "date": "2014-01-12",
- "value": 60971355
- },
- {
- "date": "2014-01-13",
- "value": 71888475
- },
- {
- "date": "2014-01-14",
- "value": 47304607
- },
- {
- "date": "2014-01-15",
- "value": 65860257
- },
- {
- "date": "2014-01-16",
- "value": 68146710
- },
- {
- "date": "2014-01-17",
- "value": 64292216
- },
- {
- "date": "2014-01-18",
- "value": 50847337
- },
- {
- "date": "2014-01-19",
- "value": 102888520
- },
- {
- "date": "2014-01-20",
- "value": 48359286
- },
- {
- "date": "2014-01-21",
- "value": 97986542
- },
- {
- "date": "2014-01-22",
- "value": 91179924
- },
- {
- "date": "2014-01-23",
- "value": 67109572
- },
- {
- "date": "2014-01-24",
- "value": 103816953
- },
- {
- "date": "2014-01-25",
- "value": 106437018
- },
- {
- "date": "2014-01-26",
- "value": 62589536
- },
- {
- "date": "2014-01-27",
- "value": 63870752
- },
- {
- "date": "2014-01-28",
- "value": 78677697
- },
- {
- "date": "2014-01-29",
- "value": 63082360
- },
- {
- "date": "2014-01-30",
- "value": 106135273
- },
- {
- "date": "2014-01-31",
- "value": 97716228
- },
- {
- "date": "2014-02-01",
- "value": 69668960
- },
- {
- "date": "2014-02-02",
- "value": 66560467
- },
- {
- "date": "2014-02-03",
- "value": 62632416
- },
- {
- "date": "2014-02-04",
- "value": 101790141
- },
- {
- "date": "2014-02-05",
- "value": 69824076
- },
- {
- "date": "2014-02-06",
- "value": 65496340
- },
- {
- "date": "2014-02-07",
- "value": 76861988
- },
- {
- "date": "2014-02-08",
- "value": 72693161
- },
- {
- "date": "2014-02-09",
- "value": 103779757
- },
- {
- "date": "2014-02-10",
- "value": 58907768
- },
- {
- "date": "2014-02-11",
- "value": 87799217
- },
- {
- "date": "2014-02-12",
- "value": 56781651
- },
- {
- "date": "2014-02-13",
- "value": 51247261
- },
- {
- "date": "2014-02-14",
- "value": 82783453
- },
- {
- "date": "2014-02-15",
- "value": 67501856
- },
- {
- "date": "2014-02-16",
- "value": 65170655
- },
- {
- "date": "2014-02-17",
- "value": 63625262
- },
- {
- "date": "2014-02-18",
- "value": 94841902
- },
- {
- "date": "2014-02-19",
- "value": 49230188
- },
- {
- "date": "2014-02-20",
- "value": 42192889
- },
- {
- "date": "2014-02-21",
- "value": 45903494
- },
- {
- "date": "2014-02-22",
- "value": 103475784
- },
- {
- "date": "2014-02-23",
- "value": 98763836
- },
- {
- "date": "2014-02-24",
- "value": 101488205
- },
- {
- "date": "2014-02-25",
- "value": 60137693
- },
- {
- "date": "2014-02-26",
- "value": 69207613
- },
- {
- "date": "2014-02-27",
- "value": 63627758
- },
- {
- "date": "2014-02-28",
- "value": 99696385
- },
- {
- "date": "2014-03-01",
- "value": 99254629
- },
- {
- "date": "2014-03-02",
- "value": 104733639
- },
- {
- "date": "2014-03-03",
- "value": 98265893
- },
- {
- "date": "2014-03-04",
- "value": 99990564
- },
- {
- "date": "2014-03-05",
- "value": 98016680
- },
- {
- "date": "2014-03-06",
- "value": 44543746
- },
- {
- "date": "2014-03-07",
- "value": 86885704
- },
- {
- "date": "2014-03-08",
- "value": 104838653
- },
- {
- "date": "2014-03-09",
- "value": 103884351
- },
- {
- "date": "2014-03-10",
- "value": 97445285
- },
- {
- "date": "2014-03-11",
- "value": 66193316
- },
- {
- "date": "2014-03-12",
- "value": 99012056
- },
- {
- "date": "2014-03-13",
- "value": 81149610
- },
- {
- "date": "2014-03-14",
- "value": 86886924
- },
- {
- "date": "2014-03-15",
- "value": 89937436
- },
- {
- "date": "2014-03-16",
- "value": 39663841
- },
- {
- "date": "2014-03-17",
- "value": 83331182
- },
- {
- "date": "2014-03-18",
- "value": 86935769
- },
- {
- "date": "2014-03-19",
- "value": 93844155
- },
- {
- "date": "2014-03-20",
- "value": 90360367
- },
- {
- "date": "2014-03-21",
- "value": 69320432
- },
- {
- "date": "2014-03-22",
- "value": 61909432
- },
- {
- "date": "2014-03-23",
- "value": 65033165
- },
- {
- "date": "2014-03-24",
- "value": 66642955
- },
- {
- "date": "2014-03-25",
- "value": 62678043
- },
- {
- "date": "2014-03-26",
- "value": 94541991
- },
- {
- "date": "2014-03-27",
- "value": 95593216
- },
- {
- "date": "2014-03-28",
- "value": 94127182
- },
- {
- "date": "2014-03-29",
- "value": 90959203
- },
- {
- "date": "2014-03-30",
- "value": 108933578
- },
- {
- "date": "2014-03-31",
- "value": 43673839
- },
- {
- "date": "2014-04-01",
- "value": 107371510
- },
- {
- "date": "2014-04-02",
- "value": 49025894
- },
- {
- "date": "2014-04-03",
- "value": 59663192
- },
- {
- "date": "2014-04-04",
- "value": 48628478
- },
- {
- "date": "2014-04-05",
- "value": 25319283
- },
- {
- "date": "2014-04-06",
- "value": 57274968
- },
- {
- "date": "2014-04-07",
- "value": 54998680
- },
- {
- "date": "2014-04-08",
- "value": 43109973
- },
- {
- "date": "2014-04-09",
- "value": 6142404
- },
- {
- "date": "2014-04-10",
- "value": 42968927
- },
- {
- "date": "2014-04-11",
- "value": 59943533
- },
- {
- "date": "2014-04-12",
- "value": 79218421
- },
- {
- "date": "2014-04-13",
- "value": 74473525
- },
- {
- "date": "2014-04-14",
- "value": 68466798
- },
- {
- "date": "2014-04-15",
- "value": 74822001
- },
- {
- "date": "2014-04-16",
- "value": 71042505
- },
- {
- "date": "2014-04-17",
- "value": 80304983
- },
- {
- "date": "2014-04-18",
- "value": 58256320
- },
- {
- "date": "2014-04-19",
- "value": 54119379
- },
- {
- "date": "2014-04-20",
- "value": 56317046
- },
- {
- "date": "2014-04-21",
- "value": 107713238
- },
- {
- "date": "2014-04-22",
- "value": 104198751
- },
- {
- "date": "2014-04-23",
- "value": 98067785
- },
- {
- "date": "2014-04-24",
- "value": 67588802
- },
- {
- "date": "2014-04-25",
- "value": 93531702
- },
- {
- "date": "2014-04-26",
- "value": 82600971
- },
- {
- "date": "2014-04-27",
- "value": 101673005
- },
- {
- "date": "2014-04-28",
- "value": 107277540
- },
- {
- "date": "2014-04-29",
- "value": 96293528
- },
- {
- "date": "2014-04-30",
- "value": 62996597
- }
- ]
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json
deleted file mode 100644
index 0c40fbe..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/firefox_releases.json
+++ /dev/null
@@ -1,168 +0,0 @@
-{
- "releases": [
- {
- "version": "30.0",
- "date": "2014-06-01",
- "end": "2014-08-01"
- },
- {
- "version": "29.0",
- "date": "2014-04-29",
- "end": "2014-06-01"
-
- },
- {
- "version": "28.0",
- "date": "2014-03-18",
- "end": "2014-04-29"
- },
- {
- "version": "27.0",
- "date": "2014-01-21",
- "end": "2014-03-18"
- },
- {
- "version": "26.0",
- "date": "2013-12-10",
- "end": "2014-01-21"
- },
- {
- "version": "25.0",
- "date": "2013-10-29",
- "end": "2013-12-10"
-
- },
- {
- "version": "24.0",
- "date": "2013-09-17",
- "end": "2013-10-29"
-
- },
- {
- "version": "23.0",
- "date": "2013-08-06",
- "end": "2013-09-17"
-
- },
- {
- "version": "22.0",
- "date": "2013-06-25"
- },
- {
- "version": "21.0",
- "date": "2013-05-14"
- },
- {
- "version": "20.0",
- "date": "2013-04-02"
- },
- {
- "version": "19.0",
- "date": "2013-02-19"
- },
- {
- "version": "18.0",
- "date": "2013-01-08"
- },
- {
- "version": "17.0.1",
- "date": "2012-11-30"
- },
- {
- "version": "17.0",
- "date": "2012-11-20"
- },
- {
- "version": "16.0.2",
- "date": "2012-10-26"
- },
- {
- "version": "16.0.1",
- "date": "2012-10-11"
- },
- {
- "version": "16.0",
- "date": "2012-10-09"
- },
- {
- "version": "15.0.1",
- "date": "2012-09-06"
- },
- {
- "version": "15.0",
- "date": "2012-08-28"
- },
- {
- "version": "14.0",
- "date": "2012-07-17"
- },
- {
- "version": "13.0.1",
- "date": "2012-06-15"
- },
- {
- "version": "13.0",
- "date": "2012-06-05"
- },
- {
- "version": "12.0",
- "date": "2012-04-24"
- },
- {
- "version": "11.0",
- "date": "2012-03-13"
- },
- {
- "version": "10.0",
- "date": "2012-01-31"
- },
- {
- "version": "9.0",
- "date": "2011-12-20"
- },
- {
- "version": "8.0",
- "date": "2011-11-08"
- },
- {
- "version": "7.0",
- "date": "2011-09-27"
- },
- {
- "version": "6.0",
- "date": "2011-08-16"
- },
- {
- "version": "5.0",
- "date": "2011-06-21"
- },
- {
- "version": "4.0",
- "date": "2011-03-22"
- },
- {
- "version": "3.6",
- "date": "2010-01-21"
- },
- {
- "version": "3.5",
- "date": "2009-06-30"
- },
- {
- "version": "3.0",
- "date": "2008-06-17"
- },
- {
- "version": "2.0",
- "date": "2006-10-24"
- },
- {
- "version": "1.5",
- "date": "2005-11-29"
- },
- {
- "version": "1.0",
- "date": "2004-11-09"
- }
- ]
-}
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json
deleted file mode 100644
index a799832..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/float.json
+++ /dev/null
@@ -1,802 +0,0 @@
-[
- {
- "date": "2013-10-01",
- "value": 150.0
- },
- {
- "date": "2013-10-02",
- "value": 152.38052769378947
- },
- {
- "date": "2013-10-03",
- "value": 154.26923077120756
- },
- {
- "date": "2013-10-04",
- "value": 155.37842413996768
- },
- {
- "date": "2013-10-05",
- "value": 154.91598408222126
- },
- {
- "date": "2013-10-06",
- "value": 155.6051503275322
- },
- {
- "date": "2013-10-07",
- "value": 156.020995422744
- },
- {
- "date": "2013-10-08",
- "value": 153.1518021247084
- },
- {
- "date": "2013-10-09",
- "value": 151.21729814562673
- },
- {
- "date": "2013-10-10",
- "value": 151.38433609966495
- },
- {
- "date": "2013-10-11",
- "value": 150.78872781927018
- },
- {
- "date": "2013-10-12",
- "value": 153.9134389141148
- },
- {
- "date": "2013-10-13",
- "value": 156.94601290283427
- },
- {
- "date": "2013-10-14",
- "value": 158.86305615638318
- },
- {
- "date": "2013-10-15",
- "value": 159.25111032644563
- },
- {
- "date": "2013-10-16",
- "value": 157.70892050744425
- },
- {
- "date": "2013-10-17",
- "value": 156.5166885320253
- },
- {
- "date": "2013-10-18",
- "value": 159.2391477211863
- },
- {
- "date": "2013-10-19",
- "value": 156.15457859306844
- },
- {
- "date": "2013-10-20",
- "value": 157.32962414620647
- },
- {
- "date": "2013-10-21",
- "value": 153.83264840368938
- },
- {
- "date": "2013-10-22",
- "value": 152.8551947020626
- },
- {
- "date": "2013-10-23",
- "value": 153.38853405036897
- },
- {
- "date": "2013-10-24",
- "value": 152.93427670642123
- },
- {
- "date": "2013-10-25",
- "value": 153.1469976790017
- },
- {
- "date": "2013-10-26",
- "value": 156.32209665860327
- },
- {
- "date": "2013-10-27",
- "value": 155.3284262677578
- },
- {
- "date": "2013-10-28",
- "value": 154.90051183690736
- },
- {
- "date": "2013-10-29",
- "value": 152.21341963762546
- },
- {
- "date": "2013-10-30",
- "value": 154.8384882355127
- },
- {
- "date": "2013-10-31",
- "value": 153.49778206006178
- },
- {
- "date": "2013-11-01",
- "value": 150.69077772414497
- },
- {
- "date": "2013-11-02",
- "value": 148.3688534222137
- },
- {
- "date": "2013-11-03",
- "value": 147.1517262760622
- },
- {
- "date": "2013-11-04",
- "value": 146.64232264462947
- },
- {
- "date": "2013-11-05",
- "value": 143.7977476766292
- },
- {
- "date": "2013-11-06",
- "value": 142.82657667368557
- },
- {
- "date": "2013-11-07",
- "value": 144.37296514065383
- },
- {
- "date": "2013-11-08",
- "value": 145.59894477345333
- },
- {
- "date": "2013-11-09",
- "value": 145.88560250329667
- },
- {
- "date": "2013-11-10",
- "value": 148.28518729606375
- },
- {
- "date": "2013-11-11",
- "value": 147.02769155090894
- },
- {
- "date": "2013-11-12",
- "value": 146.69585270653417
- },
- {
- "date": "2013-11-13",
- "value": 145.45574401363186
- },
- {
- "date": "2013-11-14",
- "value": 148.18505057473558
- },
- {
- "date": "2013-11-15",
- "value": 148.36757870086083
- },
- {
- "date": "2013-11-16",
- "value": 145.1284637176675
- },
- {
- "date": "2013-11-17",
- "value": 143.38783013080223
- },
- {
- "date": "2013-11-18",
- "value": 145.58507244067314
- },
- {
- "date": "2013-11-19",
- "value": 148.16482741338075
- },
- {
- "date": "2013-11-20",
- "value": 151.30824629651008
- },
- {
- "date": "2013-11-21",
- "value": 148.94149732547913
- },
- {
- "date": "2013-11-22",
- "value": 149.08060427013632
- },
- {
- "date": "2013-11-23",
- "value": 151.10349313471838
- },
- {
- "date": "2013-11-24",
- "value": 151.38042365227193
- },
- {
- "date": "2013-11-25",
- "value": 153.61246750490707
- },
- {
- "date": "2013-11-26",
- "value": 152.3819387058022
- },
- {
- "date": "2013-11-27",
- "value": 154.7666777810689
- },
- {
- "date": "2013-11-28",
- "value": 156.20049982296294
- },
- {
- "date": "2013-11-29",
- "value": 157.60570664431154
- },
- {
- "date": "2013-11-30",
- "value": 158.83110208147457
- },
- {
- "date": "2013-12-01",
- "value": 157.05145284891836
- },
- {
- "date": "2013-12-02",
- "value": 160.5636817325332
- },
- {
- "date": "2013-12-03",
- "value": 158.52309803850414
- },
- {
- "date": "2013-12-04",
- "value": 159.5481262069485
- },
- {
- "date": "2013-12-05",
- "value": 162.66665660028468
- },
- {
- "date": "2013-12-06",
- "value": 164.14412262081478
- },
- {
- "date": "2013-12-07",
- "value": 167.24305427243902
- },
- {
- "date": "2013-12-08",
- "value": 167.26032062671646
- },
- {
- "date": "2013-12-09",
- "value": 168.74492234114962
- },
- {
- "date": "2013-12-10",
- "value": 165.37752588946347
- },
- {
- "date": "2013-12-11",
- "value": 166.97673724876898
- },
- {
- "date": "2013-12-12",
- "value": 165.24083072211786
- },
- {
- "date": "2013-12-13",
- "value": 163.91840295642777
- },
- {
- "date": "2013-12-14",
- "value": 161.21392266343142
- },
- {
- "date": "2013-12-15",
- "value": 161.09086330318053
- },
- {
- "date": "2013-12-16",
- "value": 159.72436012634117
- },
- {
- "date": "2013-12-17",
- "value": 162.92718203581796
- },
- {
- "date": "2013-12-18",
- "value": 166.05289239617858
- },
- {
- "date": "2013-12-19",
- "value": 167.8303488173302
- },
- {
- "date": "2013-12-20",
- "value": 169.1076706115558
- },
- {
- "date": "2013-12-21",
- "value": 172.18214540311942
- },
- {
- "date": "2013-12-22",
- "value": 173.60361186108835
- },
- {
- "date": "2013-12-23",
- "value": 170.3333738357524
- },
- {
- "date": "2013-12-24",
- "value": 171.44904351284399
- },
- {
- "date": "2013-12-25",
- "value": 171.4237348889382
- },
- {
- "date": "2013-12-26",
- "value": 170.63558145007596
- },
- {
- "date": "2013-12-27",
- "value": 168.67744459688063
- },
- {
- "date": "2013-12-28",
- "value": 170.87359507435463
- },
- {
- "date": "2013-12-29",
- "value": 170.91071470721673
- },
- {
- "date": "2013-12-30",
- "value": 173.52457327401646
- },
- {
- "date": "2013-12-31",
- "value": 175.89856657641783
- },
- {
- "date": "2014-01-01",
- "value": 175.9115683446306
- },
- {
- "date": "2014-01-02",
- "value": 178.12945782320122
- },
- {
- "date": "2014-01-03",
- "value": 179.9335431435273
- },
- {
- "date": "2014-01-04",
- "value": 180.4112576197819
- },
- {
- "date": "2014-01-05",
- "value": 179.7701613992972
- },
- {
- "date": "2014-01-06",
- "value": 177.4686229951754
- },
- {
- "date": "2014-01-07",
- "value": 175.172988264621
- },
- {
- "date": "2014-01-08",
- "value": 172.89816035941323
- },
- {
- "date": "2014-01-09",
- "value": 169.32566831004084
- },
- {
- "date": "2014-01-10",
- "value": 166.200899808268
- },
- {
- "date": "2014-01-11",
- "value": 163.47733139260433
- },
- {
- "date": "2014-01-12",
- "value": 166.14564943514935
- },
- {
- "date": "2014-01-13",
- "value": 162.6972855825834
- },
- {
- "date": "2014-01-14",
- "value": 163.8285391707244
- },
- {
- "date": "2014-01-15",
- "value": 162.83765973354699
- },
- {
- "date": "2014-01-16",
- "value": 159.48461419107502
- },
- {
- "date": "2014-01-17",
- "value": 158.38069135440546
- },
- {
- "date": "2014-01-18",
- "value": 159.36210753864273
- },
- {
- "date": "2014-01-19",
- "value": 155.9389059732206
- },
- {
- "date": "2014-01-20",
- "value": 159.44340217055645
- },
- {
- "date": "2014-01-21",
- "value": 157.1252301818101
- },
- {
- "date": "2014-01-22",
- "value": 155.0515461360151
- },
- {
- "date": "2014-01-23",
- "value": 154.31662985182166
- },
- {
- "date": "2014-01-24",
- "value": 156.2405729119896
- },
- {
- "date": "2014-01-25",
- "value": 154.4303911259191
- },
- {
- "date": "2014-01-26",
- "value": 156.96007254763632
- },
- {
- "date": "2014-01-27",
- "value": 156.88984607757212
- },
- {
- "date": "2014-01-28",
- "value": 158.46953270592533
- },
- {
- "date": "2014-01-29",
- "value": 159.9760971292252
- },
- {
- "date": "2014-01-30",
- "value": 158.6064520244421
- },
- {
- "date": "2014-01-31",
- "value": 159.30396031924434
- },
- {
- "date": "2014-02-01",
- "value": 158.27130616930083
- },
- {
- "date": "2014-02-02",
- "value": 156.76310105114038
- },
- {
- "date": "2014-02-03",
- "value": 158.01962557788505
- },
- {
- "date": "2014-02-04",
- "value": 155.5601666102677
- },
- {
- "date": "2014-02-05",
- "value": 152.5655582330515
- },
- {
- "date": "2014-02-06",
- "value": 153.83308497210635
- },
- {
- "date": "2014-02-07",
- "value": 155.0906250736871
- },
- {
- "date": "2014-02-08",
- "value": 156.6661412607239
- },
- {
- "date": "2014-02-09",
- "value": 154.487982130377
- },
- {
- "date": "2014-02-10",
- "value": 151.80870052397174
- },
- {
- "date": "2014-02-11",
- "value": 152.6566948046261
- },
- {
- "date": "2014-02-12",
- "value": 153.3776096334368
- },
- {
- "date": "2014-02-13",
- "value": 151.52116899747688
- },
- {
- "date": "2014-02-14",
- "value": 154.99799005974643
- },
- {
- "date": "2014-02-15",
- "value": 153.78962974183693
- },
- {
- "date": "2014-02-16",
- "value": 155.5614787876006
- },
- {
- "date": "2014-02-17",
- "value": 155.50672366114722
- },
- {
- "date": "2014-02-18",
- "value": 155.2247468326664
- },
- {
- "date": "2014-02-19",
- "value": 157.04530694488096
- },
- {
- "date": "2014-02-20",
- "value": 159.7683676258508
- },
- {
- "date": "2014-02-21",
- "value": 156.19049862244253
- },
- {
- "date": "2014-02-22",
- "value": 157.77626968451625
- },
- {
- "date": "2014-02-23",
- "value": 157.85540343546958
- },
- {
- "date": "2014-02-24",
- "value": 157.606624912295
- },
- {
- "date": "2014-02-25",
- "value": 154.29310962212645
- },
- {
- "date": "2014-02-26",
- "value": 151.47520450013815
- },
- {
- "date": "2014-02-27",
- "value": 153.29471917494737
- },
- {
- "date": "2014-02-28",
- "value": 156.704724984211
- },
- {
- "date": "2014-03-01",
- "value": 155.04358060019956
- },
- {
- "date": "2014-03-02",
- "value": 153.2334356350558
- },
- {
- "date": "2014-03-03",
- "value": 152.03821354498334
- },
- {
- "date": "2014-03-04",
- "value": 154.19199847895723
- },
- {
- "date": "2014-03-05",
- "value": 152.06664190112994
- },
- {
- "date": "2014-03-06",
- "value": 153.2986037364113
- },
- {
- "date": "2014-03-07",
- "value": 156.4046061310383
- },
- {
- "date": "2014-03-08",
- "value": 154.42925835672014
- },
- {
- "date": "2014-03-09",
- "value": 155.18025911896245
- },
- {
- "date": "2014-03-10",
- "value": 153.37647431770608
- },
- {
- "date": "2014-03-11",
- "value": 150.61799083023823
- },
- {
- "date": "2014-03-12",
- "value": 153.66746188173215
- },
- {
- "date": "2014-03-13",
- "value": 156.3151844520418
- },
- {
- "date": "2014-03-14",
- "value": 153.95015669138036
- },
- {
- "date": "2014-03-15",
- "value": 155.29282634003127
- },
- {
- "date": "2014-03-16",
- "value": 158.5090157803603
- },
- {
- "date": "2014-03-17",
- "value": 155.14902966934457
- },
- {
- "date": "2014-03-18",
- "value": 156.85877093764927
- },
- {
- "date": "2014-03-19",
- "value": 159.97825057884495
- },
- {
- "date": "2014-03-20",
- "value": 160.0756240788441
- },
- {
- "date": "2014-03-21",
- "value": 163.71251312564075
- },
- {
- "date": "2014-03-22",
- "value": 160.35896864910785
- },
- {
- "date": "2014-03-23",
- "value": 159.6979743839615
- },
- {
- "date": "2014-03-24",
- "value": 160.64504978193472
- },
- {
- "date": "2014-03-25",
- "value": 161.35500716559707
- },
- {
- "date": "2014-03-26",
- "value": 160.2606961200085
- },
- {
- "date": "2014-03-27",
- "value": 158.57932628000506
- },
- {
- "date": "2014-03-28",
- "value": 161.07173063651766
- },
- {
- "date": "2014-03-29",
- "value": 164.7598991714389
- },
- {
- "date": "2014-03-30",
- "value": 165.51463489538983
- },
- {
- "date": "2014-03-31",
- "value": 168.03477347136803
- },
- {
- "date": "2014-04-01",
- "value": 164.8919155855522
- },
- {
- "date": "2014-04-02",
- "value": 162.43871270413882
- },
- {
- "date": "2014-04-03",
- "value": 160.56491168480784
- },
- {
- "date": "2014-04-04",
- "value": 160.6231106692656
- },
- {
- "date": "2014-04-05",
- "value": 158.51347739227052
- },
- {
- "date": "2014-04-06",
- "value": 157.05813234785617
- },
- {
- "date": "2014-04-07",
- "value": 159.7471186342081
- },
- {
- "date": "2014-04-08",
- "value": 161.25579641704525
- },
- {
- "date": "2014-04-09",
- "value": 161.35157834105863
- },
- {
- "date": "2014-04-10",
- "value": 164.93059854718956
- },
- {
- "date": "2014-04-11",
- "value": 162.2509201417386
- },
- {
- "date": "2014-04-12",
- "value": 162.73580527992038
- },
- {
- "date": "2014-04-13",
- "value": 166.48398412407607
- },
- {
- "date": "2014-04-14",
- "value": 163.15310481696565
- },
- {
- "date": "2014-04-15",
- "value": 164.5079907470571
- },
- {
- "date": "2014-04-16",
- "value": 164.2005466198294
- },
- {
- "date": "2014-04-17",
- "value": 165.77632203055697
- },
- {
- "date": "2014-04-18",
- "value": 168.99155761340631
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json
deleted file mode 100644
index 1f57231..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/log.json
+++ /dev/null
@@ -1,802 +0,0 @@
-[
- {
- "date": "2014-01-01",
- "value": 2062.025150690567
- },
- {
- "date": "2014-01-02",
- "value": 9490.615524570567
- },
- {
- "date": "2014-01-03",
- "value": 49143.35242208582
- },
- {
- "date": "2014-01-04",
- "value": 83781.24929181556
- },
- {
- "date": "2014-01-05",
- "value": 109648.70666620035
- },
- {
- "date": "2014-01-06",
- "value": 46173.741222724544
- },
- {
- "date": "2014-01-07",
- "value": 165309.1825970328
- },
- {
- "date": "2014-01-08",
- "value": 134390.76197886752
- },
- {
- "date": "2014-01-09",
- "value": 382245.0764417244
- },
- {
- "date": "2014-01-10",
- "value": 261951.04021767154
- },
- {
- "date": "2014-01-11",
- "value": 365476.76967184874
- },
- {
- "date": "2014-01-12",
- "value": 307933.33112867293
- },
- {
- "date": "2014-01-13",
- "value": 122142.84412918231
- },
- {
- "date": "2014-01-14",
- "value": 439273.6427485952
- },
- {
- "date": "2014-01-15",
- "value": 283379.5623780852
- },
- {
- "date": "2014-01-16",
- "value": 238943.45026934962
- },
- {
- "date": "2014-01-17",
- "value": 363906.78317270277
- },
- {
- "date": "2014-01-18",
- "value": 1018001.8313018363
- },
- {
- "date": "2014-01-19",
- "value": 1138159.039774829
- },
- {
- "date": "2014-01-20",
- "value": 316399.43565288646
- },
- {
- "date": "2014-01-21",
- "value": 94835.07271610542
- },
- {
- "date": "2014-01-22",
- "value": 18781.513209857534
- },
- {
- "date": "2014-01-23",
- "value": 18249.48928239598
- },
- {
- "date": "2014-01-24",
- "value": 3999.643726105876
- },
- {
- "date": "2014-01-25",
- "value": 14221.763703455596
- },
- {
- "date": "2014-01-26",
- "value": 3444.9725583557893
- },
- {
- "date": "2014-01-27",
- "value": 7147.116251563855
- },
- {
- "date": "2014-01-28",
- "value": 14502.314013448287
- },
- {
- "date": "2014-01-29",
- "value": 44911.76232177228
- },
- {
- "date": "2014-01-30",
- "value": 122174.22764316449
- },
- {
- "date": "2014-01-31",
- "value": 54225.475099677475
- },
- {
- "date": "2014-02-01",
- "value": 29195.867918886433
- },
- {
- "date": "2014-02-02",
- "value": 30485.050577153477
- },
- {
- "date": "2014-02-03",
- "value": 4960.742108121759
- },
- {
- "date": "2014-02-04",
- "value": 5814.4040147487185
- },
- {
- "date": "2014-02-05",
- "value": 2075.4863124795897
- },
- {
- "date": "2014-02-06",
- "value": 11365.620177539273
- },
- {
- "date": "2014-02-07",
- "value": 6818.763378635227
- },
- {
- "date": "2014-02-08",
- "value": 7265.042372143863
- },
- {
- "date": "2014-02-09",
- "value": 1288.1919040639705
- },
- {
- "date": "2014-02-10",
- "value": 2903.318504081354
- },
- {
- "date": "2014-02-11",
- "value": 3476.3564765091846
- },
- {
- "date": "2014-02-12",
- "value": 428.6416126782084
- },
- {
- "date": "2014-02-13",
- "value": 4566.4372898258425
- },
- {
- "date": "2014-02-14",
- "value": 711.2536837438607
- },
- {
- "date": "2014-02-15",
- "value": 384.520808469771
- },
- {
- "date": "2014-02-16",
- "value": 126.37136078741982
- },
- {
- "date": "2014-02-17",
- "value": 1709.721519931354
- },
- {
- "date": "2014-02-18",
- "value": 10148.81839728999
- },
- {
- "date": "2014-02-19",
- "value": 3819.8318150089253
- },
- {
- "date": "2014-02-20",
- "value": 1911.5698109115874
- },
- {
- "date": "2014-02-21",
- "value": 1237.0465606485475
- },
- {
- "date": "2014-02-22",
- "value": 82.83456054447824
- },
- {
- "date": "2014-02-23",
- "value": 247.0567207206995
- },
- {
- "date": "2014-02-24",
- "value": 2203.4022567407605
- },
- {
- "date": "2014-02-25",
- "value": 200.68097764702628
- },
- {
- "date": "2014-02-26",
- "value": 1121.5673568474388
- },
- {
- "date": "2014-02-27",
- "value": 627.5130197784911
- },
- {
- "date": "2014-02-28",
- "value": 1962.9915978862207
- },
- {
- "date": "2014-03-01",
- "value": 4167.075152352931
- },
- {
- "date": "2014-03-02",
- "value": 3849.2422430353718
- },
- {
- "date": "2014-03-03",
- "value": 26024.15104428929
- },
- {
- "date": "2014-03-04",
- "value": 45516.77289686834
- },
- {
- "date": "2014-03-05",
- "value": 7027.573697798366
- },
- {
- "date": "2014-03-06",
- "value": 17669.906070121062
- },
- {
- "date": "2014-03-07",
- "value": 31044.119274296314
- },
- {
- "date": "2014-03-08",
- "value": 16408.707887136083
- },
- {
- "date": "2014-03-09",
- "value": 3892.134863935774
- },
- {
- "date": "2014-03-10",
- "value": 11938.967226184868
- },
- {
- "date": "2014-03-11",
- "value": 1553.5233934189364
- },
- {
- "date": "2014-03-12",
- "value": 11862.515702018087
- },
- {
- "date": "2014-03-13",
- "value": 11158.305407269254
- },
- {
- "date": "2014-03-14",
- "value": 1334.4016354870455
- },
- {
- "date": "2014-03-15",
- "value": 2187.7480927633233
- },
- {
- "date": "2014-03-16",
- "value": 4024.375328815201
- },
- {
- "date": "2014-03-17",
- "value": 2395.3870463434037
- },
- {
- "date": "2014-03-18",
- "value": 1087.1435238277254
- },
- {
- "date": "2014-03-19",
- "value": 677.9406955253385
- },
- {
- "date": "2014-03-20",
- "value": 1684.7330261245882
- },
- {
- "date": "2014-03-21",
- "value": 3009.7657573084657
- },
- {
- "date": "2014-03-22",
- "value": 13969.174225175822
- },
- {
- "date": "2014-03-23",
- "value": 68108.10656837105
- },
- {
- "date": "2014-03-24",
- "value": 188573.87239187933
- },
- {
- "date": "2014-03-25",
- "value": 559783.3612696081
- },
- {
- "date": "2014-03-26",
- "value": 209480.2451268065
- },
- {
- "date": "2014-03-27",
- "value": 139144.43213947577
- },
- {
- "date": "2014-03-28",
- "value": 365608.9134261734
- },
- {
- "date": "2014-03-29",
- "value": 320844.7892292448
- },
- {
- "date": "2014-03-30",
- "value": 211943.9255856596
- },
- {
- "date": "2014-03-31",
- "value": 762121.6146144189
- },
- {
- "date": "2014-04-01",
- "value": 1553918.287468606
- },
- {
- "date": "2014-04-02",
- "value": 2776190.8340374744
- },
- {
- "date": "2014-04-03",
- "value": 2132982.883619252
- },
- {
- "date": "2014-04-04",
- "value": 3034471.5222186935
- },
- {
- "date": "2014-04-05",
- "value": 8334267.184667878
- },
- {
- "date": "2014-04-06",
- "value": 19096849.199135397
- },
- {
- "date": "2014-04-07",
- "value": 35173655.63395549
- },
- {
- "date": "2014-04-08",
- "value": 35284088.03655991
- },
- {
- "date": "2014-04-09",
- "value": 15386352.945048828
- },
- {
- "date": "2014-04-10",
- "value": 16092176.925682666
- },
- {
- "date": "2014-04-11",
- "value": 17800747.264360324
- },
- {
- "date": "2014-04-12",
- "value": 9022272.93207202
- },
- {
- "date": "2014-04-13",
- "value": 19539255.318293292
- },
- {
- "date": "2014-04-14",
- "value": 18632765.170638006
- },
- {
- "date": "2014-04-15",
- "value": 22207773.697823893
- },
- {
- "date": "2014-04-16",
- "value": 20513350.14760112
- },
- {
- "date": "2014-04-17",
- "value": 8644588.740459614
- },
- {
- "date": "2014-04-18",
- "value": 3866972.7646409343
- },
- {
- "date": "2014-04-19",
- "value": 8627791.327706825
- },
- {
- "date": "2014-04-20",
- "value": 21876288.3070209
- },
- {
- "date": "2014-04-21",
- "value": 13065156.692366121
- },
- {
- "date": "2014-04-22",
- "value": 7006977.18803938
- },
- {
- "date": "2014-04-23",
- "value": 7322004.070875965
- },
- {
- "date": "2014-04-24",
- "value": 9144087.906869492
- },
- {
- "date": "2014-04-25",
- "value": 15712634.308609735
- },
- {
- "date": "2014-04-26",
- "value": 11675332.990584275
- },
- {
- "date": "2014-04-27",
- "value": 5276441.428244869
- },
- {
- "date": "2014-04-28",
- "value": 2098065.0498573617
- },
- {
- "date": "2014-04-29",
- "value": 4274196.893315845
- },
- {
- "date": "2014-04-30",
- "value": 6837182.692798125
- },
- {
- "date": "2014-05-01",
- "value": 5762561.20563913
- },
- {
- "date": "2014-05-02",
- "value": 8597818.493391953
- },
- {
- "date": "2014-05-03",
- "value": 15162543.40157677
- },
- {
- "date": "2014-05-04",
- "value": 10330812.046296848
- },
- {
- "date": "2014-05-05",
- "value": 8535447.031729257
- },
- {
- "date": "2014-05-06",
- "value": 3486240.413358828
- },
- {
- "date": "2014-05-07",
- "value": 2402788.773306244
- },
- {
- "date": "2014-05-08",
- "value": 2289950.291292259
- },
- {
- "date": "2014-05-09",
- "value": 3518464.1366947945
- },
- {
- "date": "2014-05-10",
- "value": 2218638.123249026
- },
- {
- "date": "2014-05-11",
- "value": 3024707.6308568935
- },
- {
- "date": "2014-05-12",
- "value": 1481284.8173510565
- },
- {
- "date": "2014-05-13",
- "value": 3804459.7482742644
- },
- {
- "date": "2014-05-14",
- "value": 3166547.5499812495
- },
- {
- "date": "2014-05-15",
- "value": 1244140.8712990445
- },
- {
- "date": "2014-05-16",
- "value": 1176461.8065991711
- },
- {
- "date": "2014-05-17",
- "value": 348538.1604919795
- },
- {
- "date": "2014-05-18",
- "value": 630138.4502415754
- },
- {
- "date": "2014-05-19",
- "value": 263415.04074479925
- },
- {
- "date": "2014-05-20",
- "value": 316526.39152859966
- },
- {
- "date": "2014-05-21",
- "value": 429475.93857651815
- },
- {
- "date": "2014-05-22",
- "value": 1384523.2440813945
- },
- {
- "date": "2014-05-23",
- "value": 1422251.2082510514
- },
- {
- "date": "2014-05-24",
- "value": 2982780.2273946116
- },
- {
- "date": "2014-05-25",
- "value": 1592004.698676512
- },
- {
- "date": "2014-05-26",
- "value": 705823.7238808231
- },
- {
- "date": "2014-05-27",
- "value": 382341.76239653886
- },
- {
- "date": "2014-05-28",
- "value": 117304.37608341743
- },
- {
- "date": "2014-05-29",
- "value": 103270.103426627
- },
- {
- "date": "2014-05-30",
- "value": 189088.38503418514
- },
- {
- "date": "2014-05-31",
- "value": 67547.73907513174
- },
- {
- "date": "2014-06-01",
- "value": 152445.22088057562
- },
- {
- "date": "2014-06-02",
- "value": 616622.4572364822
- },
- {
- "date": "2014-06-03",
- "value": 1330103.0525501214
- },
- {
- "date": "2014-06-04",
- "value": 4077706.361059827
- },
- {
- "date": "2014-06-05",
- "value": 4338332.117707394
- },
- {
- "date": "2014-06-06",
- "value": 9626054.268217776
- },
- {
- "date": "2014-06-07",
- "value": 6269805.105786423
- },
- {
- "date": "2014-06-08",
- "value": 2834343.2338959207
- },
- {
- "date": "2014-06-09",
- "value": 2175015.158688689
- },
- {
- "date": "2014-06-10",
- "value": 812456.163680258
- },
- {
- "date": "2014-06-11",
- "value": 2175163.4473366365
- },
- {
- "date": "2014-06-12",
- "value": 3808510.5886766836
- },
- {
- "date": "2014-06-13",
- "value": 5640689.343213645
- },
- {
- "date": "2014-06-14",
- "value": 4790537.231192042
- },
- {
- "date": "2014-06-15",
- "value": 4120824.1460910775
- },
- {
- "date": "2014-06-16",
- "value": 5302994.492796655
- },
- {
- "date": "2014-06-17",
- "value": 5186664.730492513
- },
- {
- "date": "2014-06-18",
- "value": 4044030.4941446534
- },
- {
- "date": "2014-06-19",
- "value": 8581214.856586913
- },
- {
- "date": "2014-06-20",
- "value": 15013739.74932458
- },
- {
- "date": "2014-06-21",
- "value": 5719554.417262289
- },
- {
- "date": "2014-06-22",
- "value": 2453002.234262133
- },
- {
- "date": "2014-06-23",
- "value": 7264081.292628654
- },
- {
- "date": "2014-06-24",
- "value": 3809522.1941388543
- },
- {
- "date": "2014-06-25",
- "value": 2357350.1101749516
- },
- {
- "date": "2014-06-26",
- "value": 1451776.5422490966
- },
- {
- "date": "2014-06-27",
- "value": 1951158.0790648684
- },
- {
- "date": "2014-06-28",
- "value": 942477.7660032308
- },
- {
- "date": "2014-06-29",
- "value": 284438.3044602669
- },
- {
- "date": "2014-06-30",
- "value": 395774.63111623266
- },
- {
- "date": "2014-07-01",
- "value": 181209.66166852613
- },
- {
- "date": "2014-07-02",
- "value": 99093.59454012293
- },
- {
- "date": "2014-07-03",
- "value": 112785.84621170859
- },
- {
- "date": "2014-07-04",
- "value": 268022.501587529
- },
- {
- "date": "2014-07-05",
- "value": 624290.8018990511
- },
- {
- "date": "2014-07-06",
- "value": 836181.367972055
- },
- {
- "date": "2014-07-07",
- "value": 565108.5866839852
- },
- {
- "date": "2014-07-08",
- "value": 293702.2823721791
- },
- {
- "date": "2014-07-09",
- "value": 128190.39198775633
- },
- {
- "date": "2014-07-10",
- "value": 57180.40753508925
- },
- {
- "date": "2014-07-11",
- "value": 62878.27977730392
- },
- {
- "date": "2014-07-12",
- "value": 204999.77253837787
- },
- {
- "date": "2014-07-13",
- "value": 95022.40040256473
- },
- {
- "date": "2014-07-14",
- "value": 41401.200972437386
- },
- {
- "date": "2014-07-15",
- "value": 183846.47705915576
- },
- {
- "date": "2014-07-16",
- "value": 114247.21116015536
- },
- {
- "date": "2014-07-17",
- "value": 34743.36459470002
- },
- {
- "date": "2014-07-18",
- "value": 11872.77812834004
- },
- {
- "date": "2014-07-19",
- "value": 28822.077421492377
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py b/priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py
deleted file mode 100644
index f350eab..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/make_fake_data.py
+++ /dev/null
@@ -1,56 +0,0 @@
-import sys
-from datetime import datetime, date, timedelta
-import json
-from random import random
-import argparse
-
-parser = argparse.ArgumentParser(description="Fake data maker.")
-parser.add_argument('-s', '--start', help="start date", nargs=1)
-parser.add_argument('-d', '--small', help="allow decimal values", action="store_true")
-parser.add_argument('-r', '--range', help="how many days from start date", nargs=1)
-parser.add_argument('-m', '--magnitude', help="size of change", nargs=1)
-parser.add_argument('-p', '--percentage', help="whether or not this is a percentage", action="store_true")
-parser.add_argument('-n', '--let_negative', help="let the data values go negative", action="store_true")
-parser.add_argument('-v', '--start_value', help='start value', nargs=1)
-args = parser.parse_args()
-
-doy = {
- 0: 1,
- 1:.9,
- 2:1,
- 3:1.1,
- 4:1.05,
- 5:.7,
- 6:.75
-}
-if args.percentage: convert = lambda x: float(x)
-elif args.small: convert = lambda x: float(x)
-else: convert = lambda x: int(x)
-
-current_date = datetime.strptime(args.start[0], '%Y-%m-%d').date()
-length = int(args.range[0])
-
-baseline = convert(args.start_value[0])
-
-if args.magnitude: magnitude = convert(args.magnitude[0])
-elif args.percentage: magnitude = baseline/50.
-elif args.small: magnitude = baseline/20.
-else: magnitude = baseline/5
-out = []
-
-# Needed to automatically convert dates to strings in json.
-dthandler = lambda obj: obj.isoformat() if isinstance(obj, date) else None
-
-for i in xrange(length):
- out.append({'date': current_date, 'value': baseline})
- nb = convert(magnitude * (random()-.5))
- if args.percentage:
- if (baseline+nb < 0 or baseline+nb > 1) and (not args.let_negative): pass
- else: baseline += nb
- else:
- if baseline+nb < 0 and not args.let_negative: pass
- else: baseline += nb
-
- current_date += timedelta(days=1)
-
-sys.stdout.write(json.dumps(out,default=dthandler, indent=4)) \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json
deleted file mode 100644
index 088ec47..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-accessor.json
+++ /dev/null
@@ -1,57 +0,0 @@
-
- [
- {
- "date": "2014-01-08",
- "value": 500
- },
- {
- "date": "2014-01-09",
- "value": 500
- },
- {
- "date": "2014-01-10",
- "value": 400
- },
- {
- "date": "2014-01-11",
- "value": 500,
- "dead": true
- },
- {
- "date": "2014-01-12",
- "value": 400
- },
- {
- "date": "2014-01-13",
- "value": 430
- },
- {
- "date": "2014-01-14",
- "value": 410
- },
- {
- "date": "2014-01-15",
- "value": 200,
- "dead": true
- },
- {
- "date": "2014-01-16",
- "value": 500
- },
- {
- "date": "2014-01-17",
- "value": 100
- },
- {
- "date": "2014-01-18",
- "value": 30
- },
- {
- "date": "2014-01-19",
- "value": 300
- },
- {
- "date": "2014-01-20",
- "value": 200
- }
- ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json
deleted file mode 100644
index e64a30b..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden-multi.json
+++ /dev/null
@@ -1,1436 +0,0 @@
-[
- [
- {
- "date": "2014-01-01",
- "value": 10000000
- },
- {
- "date": "2014-01-02",
- "value": 10379978
- },
- {
- "date": "2014-01-03",
- "value": 10493749
- },
- {
- "date": "2014-01-04",
- "value": 10785250
- },
- {
- "date": "2014-01-08",
- "value": 15177211
- },
- {
- "date": "2014-01-09",
- "value": 16622100
- },
- {
- "date": "2014-01-10",
- "value": 17381072
- },
- {
- "date": "2014-01-11",
- "value": 18802310
- },
- {
- "date": "2014-01-12",
- "value": 15531790
- },
- {
- "date": "2014-01-13",
- "value": 15748881
- },
- {
- "date": "2014-01-14",
- "value": 18706437
- },
- {
- "date": "2014-01-15",
- "value": 19752685
- },
- {
- "date": "2014-01-16",
- "value": 21016418
- },
- {
- "date": "2014-01-17",
- "value": 25622924
- },
- {
- "date": "2014-01-18",
- "value": 25337480
- },
- {
- "date": "2014-01-19",
- "value": 22258882
- },
- {
- "date": "2014-01-20",
- "value": 23829538
- },
- {
- "date": "2014-01-21",
- "value": 24245689
- },
- {
- "date": "2014-01-22",
- "value": 26429711
- },
- {
- "date": "2014-01-23",
- "value": 26259017
- },
- {
- "date": "2014-01-24",
- "value": 25396183
- },
- {
- "date": "2014-01-25",
- "value": 23107346
- },
- {
- "date": "2014-01-26",
- "value": 28659852
- },
- {
- "date": "2014-01-27",
- "value": 25270783
- },
- {
- "date": "2014-01-28",
- "value": 26270783
- },
- {
- "date": "2014-01-29",
- "value": 27270783
- },
- {
- "date": "2014-01-30",
- "value": 28270783
- },
- {
- "date": "2014-01-31",
- "value": 29270783
- },
- {
- "date": "2014-02-01",
- "value": 30270783
- },
- {
- "date": "2014-02-02",
- "value": 31270783
- },
- {
- "date": "2014-02-03",
- "value": 32270783
- },
- {
- "date": "2014-02-04",
- "value": 33270783
- },
- {
- "date": "2014-02-05",
- "value": 28270783
- },
- {
- "date": "2014-02-06",
- "value": 27270783
- },
- {
- "date": "2014-02-07",
- "value": 35270783
- },
- {
- "date": "2014-02-08",
- "value": 34270783
- },
- {
- "date": "2014-02-09",
- "value": 28270783
- },
- {
- "date": "2014-02-10",
- "value": 35270783
- },
- {
- "date": "2014-02-11",
- "value": 36270783
- },
- {
- "date": "2014-02-12",
- "value": 34127078
- },
- {
- "date": "2014-02-13",
- "value": 33124078
- },
- {
- "date": "2014-02-14",
- "value": 36227078
- },
- {
- "date": "2014-02-15",
- "value": 37827078
- },
- {
- "date": "2014-02-16",
- "value": 36427073
- },
- {
- "date": "2014-02-17",
- "value": 37570783
- },
- {
- "date": "2014-02-18",
- "value": 38627073
- },
- {
- "date": "2014-02-19",
- "value": 37727078
- },
- {
- "date": "2014-02-20",
- "value": 38827073
- },
- {
- "date": "2014-02-21",
- "value": 40927078
- },
- {
- "date": "2014-02-22",
- "value": 41027078
- },
- {
- "date": "2014-02-23",
- "value": 42127073
- },
- {
- "date": "2014-02-24",
- "value": 43220783
- },
- {
- "date": "2014-02-25",
- "value": 44327078
- },
- {
- "date": "2014-02-26",
- "value": 40427078
- },
- {
- "date": "2014-02-27",
- "value": 41027078
- },
- {
- "date": "2014-02-28",
- "value": 45627078
- },
- {
- "date": "2014-03-01",
- "value": 44727078
- },
- {
- "date": "2014-03-02",
- "value": 44227078
- },
- {
- "date": "2014-03-03",
- "value": 45227078
- },
- {
- "date": "2014-03-04",
- "value": 46027078
- },
- {
- "date": "2014-03-05",
- "value": 46927078
- },
- {
- "date": "2014-03-06",
- "value": 47027078
- },
- {
- "date": "2014-03-07",
- "value": 46227078
- },
- {
- "date": "2014-03-08",
- "value": 47027078
- },
- {
- "date": "2014-03-09",
- "value": 48027078
- },
- {
- "date": "2014-03-10",
- "value": 47027078
- },
- {
- "date": "2014-03-11",
- "value": 47027078
- },
- {
- "date": "2014-03-12",
- "value": 48017078
- },
- {
- "date": "2014-03-13",
- "value": 48077078
- },
- {
- "date": "2014-03-14",
- "value": 48087078
- },
- {
- "date": "2014-03-15",
- "value": 48017078
- },
- {
- "date": "2014-03-16",
- "value": 48047078
- },
- {
- "date": "2014-03-17",
- "value": 48067078
- },
- {
- "date": "2014-03-18",
- "value": 48077078
- },
- {
- "date": "2014-03-19",
- "value": 48027074
- },
- {
- "date": "2014-03-20",
- "value": 48927079
- },
- {
- "date": "2014-03-21",
- "value": 48727071
- },
- {
- "date": "2014-03-22",
- "value": 48127072
- },
- {
- "date": "2014-03-23",
- "value": 48527072
- },
- {
- "date": "2014-03-24",
- "value": 48627027
- },
- {
- "date": "2014-03-25",
- "value": 48027040
- },
- {
- "date": "2014-03-26",
- "value": 48027043
- },
- {
- "date": "2014-03-27",
- "value": 48057022
- },
- {
- "date": "2014-03-28",
- "value": 49057022
- },
- {
- "date": "2014-03-29",
- "value": 50057022
- },
- {
- "date": "2014-03-30",
- "value": 51057022
- },
- {
- "date": "2014-03-31",
- "value": 52057022
- },
- {
- "date": "2014-04-01",
- "value": 53057022
- },
- {
- "date": "2014-04-02",
- "value": 54057022
- },
- {
- "date": "2014-04-03",
- "value": 52057022
- },
- {
- "date": "2014-04-04",
- "value": 55057022
- },
- {
- "date": "2014-04-05",
- "value": 58270783
- },
- {
- "date": "2014-04-06",
- "value": 56270783
- },
- {
- "date": "2014-04-07",
- "value": 55270783
- },
- {
- "date": "2014-04-08",
- "value": 58270783
- },
- {
- "date": "2014-04-09",
- "value": 59270783
- },
- {
- "date": "2014-04-10",
- "value": 60270783
- },
- {
- "date": "2014-04-11",
- "value": 61270783
- },
- {
- "date": "2014-04-12",
- "value": 62270783
- },
- {
- "date": "2014-04-13",
- "value": 63270783
- },
- {
- "date": "2014-04-14",
- "value": 64270783
- },
- {
- "date": "2014-04-15",
- "value": 65270783
- },
- {
- "date": "2014-04-16",
- "value": 66270783
- },
- {
- "date": "2014-04-17",
- "value": 67270783
- },
- {
- "date": "2014-04-18",
- "value": 68270783
- },
- {
- "date": "2014-04-19",
- "value": 69270783
- },
- {
- "date": "2014-04-20",
- "value": 70270783
- },
- {
- "date": "2014-04-21",
- "value": 71270783
- },
- {
- "date": "2014-04-22",
- "value": 72270783
- },
- {
- "date": "2014-04-23",
- "value": 73270783
- },
- {
- "date": "2014-04-24",
- "value": 74270783
- },
- {
- "date": "2014-04-25",
- "value": 75270783
- },
- {
- "date": "2014-04-26",
- "value": 76660783
- },
- {
- "date": "2014-04-27",
- "value": 77270783
- },
- {
- "date": "2014-04-28",
- "value": 78370783
- },
- {
- "date": "2014-04-29",
- "value": 79470783
- },
- {
- "date": "2014-04-30",
- "value": 80170783
- }
- ],
- [
- {
- "date": "2014-01-01",
- "value": 150000000
- },
- {
- "date": "2014-01-02",
- "value": 160379978
- },
- {
- "date": "2014-01-03",
- "value": 170493749
- },
- {
- "date": "2014-01-04",
- "value": 160785250
- },
- {
- "date": "2014-01-05",
- "value": 167391904
- },
- {
- "date": "2014-01-06",
- "value": 161576838
- },
- {
- "date": "2014-01-07",
- "value": 161413854
- },
- {
- "date": "2014-01-08",
- "value": 152177211
- },
- {
- "date": "2014-01-09",
- "value": 143762210
- },
- {
- "date": "2014-01-10",
- "value": 144381072
- },
- {
- "date": "2014-01-11",
- "value": 154352310
- },
- {
- "date": "2014-01-12",
- "value": 165531790
- },
- {
- "date": "2014-01-13",
- "value": 175748881
- },
- {
- "date": "2014-01-14",
- "value": 187064037
- },
- {
- "date": "2014-01-15",
- "value": 197520685
- },
- {
- "date": "2014-01-16",
- "value": 210176418
- },
- {
- "date": "2014-01-17",
- "value": 196122924
- },
- {
- "date": "2014-01-18",
- "value": 207337480
- },
- {
- "date": "2014-01-19",
- "value": 200258882
- },
- {
- "date": "2014-01-20",
- "value": 186829538
- },
- {
- "date": "2014-01-21",
- "value": 192456897
- },
- {
- "date": "2014-01-22",
- "value": 204299711
- },
- {
- "date": "2014-01-23",
- "value": 192759017
- },
- {
- "date": "2014-01-24",
- "value": 203596183
- },
- {
- "date": "2014-01-25",
- "value": 208107346
- },
- {
- "date": "2014-01-26",
- "value": 196359852
- },
- {
- "date": "2014-01-27",
- "value": 192570783
- },
- {
- "date": "2014-01-28",
- "value": 177967768
- },
- {
- "date": "2014-01-29",
- "value": 190632803
- },
- {
- "date": "2014-01-30",
- "value": 203725316
- },
- {
- "date": "2014-01-31",
- "value": 218226177
- },
- {
- "date": "2014-02-01",
- "value": 210698669
- },
- {
- "date": "2014-02-02",
- "value": 217640656
- },
- {
- "date": "2014-02-03",
- "value": 216142362
- },
- {
- "date": "2014-02-04",
- "value": 201410971
- },
- {
- "date": "2014-02-05",
- "value": 196704289
- },
- {
- "date": "2014-02-06",
- "value": 190436945
- },
- {
- "date": "2014-02-07",
- "value": 178891686
- },
- {
- "date": "2014-02-08",
- "value": 171613962
- },
- {
- "date": "2014-02-09",
- "value": 157579773
- },
- {
- "date": "2014-02-10",
- "value": 158677098
- },
- {
- "date": "2014-02-11",
- "value": 147129977
- },
- {
- "date": "2014-02-12",
- "value": 151561876
- },
- {
- "date": "2014-02-13",
- "value": 151627421
- },
- {
- "date": "2014-02-14",
- "value": 143543872
- },
- {
- "date": "2014-02-15",
- "value": 136581057
- },
- {
- "date": "2014-02-16",
- "value": 135560715
- },
- {
- "date": "2014-02-17",
- "value": 122625263
- },
- {
- "date": "2014-02-18",
- "value": 112091484
- },
- {
- "date": "2014-02-19",
- "value": 98810329
- },
- {
- "date": "2014-02-20",
- "value": 99882912
- },
- {
- "date": "2014-02-21",
- "value": 94943095
- },
- {
- "date": "2014-02-22",
- "value": 104875743
- },
- {
- "date": "2014-02-23",
- "value": 116383678
- },
- {
- "date": "2014-02-24",
- "value": 125028841
- },
- {
- "date": "2014-02-25",
- "value": 123967310
- },
- {
- "date": "2014-02-26",
- "value": 133167029
- },
- {
- "date": "2014-02-27",
- "value": 128577263
- },
- {
- "date": "2014-02-28",
- "value": 115836969
- },
- {
- "date": "2014-03-01",
- "value": 119264529
- },
- {
- "date": "2014-03-02",
- "value": 109363374
- },
- {
- "date": "2014-03-03",
- "value": 113985628
- },
- {
- "date": "2014-03-04",
- "value": 114650999
- },
- {
- "date": "2014-03-05",
- "value": 110866108
- },
- {
- "date": "2014-03-06",
- "value": 96473454
- },
- {
- "date": "2014-03-07",
- "value": 104075886
- },
- {
- "date": "2014-03-08",
- "value": 103568384
- },
- {
- "date": "2014-03-09",
- "value": 101534883
- },
- {
- "date": "2014-03-10",
- "value": 115825447
- },
- {
- "date": "2014-03-11",
- "value": 126133916
- },
- {
- "date": "2014-03-12",
- "value": 116502109
- },
- {
- "date": "2014-03-13",
- "value": 130169411
- },
- {
- "date": "2014-03-14",
- "value": 124296886
- },
- {
- "date": "2014-03-15",
- "value": 126347399
- },
- {
- "date": "2014-03-16",
- "value": 131483669
- },
- {
- "date": "2014-03-17",
- "value": 142811333
- },
- {
- "date": "2014-03-18",
- "value": 129675396
- },
- {
- "date": "2014-03-19",
- "value": 115514483
- },
- {
- "date": "2014-03-20",
- "value": 117630630
- },
- {
- "date": "2014-03-21",
- "value": 122340239
- },
- {
- "date": "2014-03-22",
- "value": 132349091
- },
- {
- "date": "2014-03-23",
- "value": 125613305
- },
- {
- "date": "2014-03-24",
- "value": 135592466
- },
- {
- "date": "2014-03-25",
- "value": 123408762
- },
- {
- "date": "2014-03-26",
- "value": 111991454
- },
- {
- "date": "2014-03-27",
- "value": 116123955
- },
- {
- "date": "2014-03-28",
- "value": 112817214
- },
- {
- "date": "2014-03-29",
- "value": 113029590
- },
- {
- "date": "2014-03-30",
- "value": 108753398
- },
- {
- "date": "2014-03-31",
- "value": 99383763
- },
- {
- "date": "2014-04-01",
- "value": 100151737
- },
- {
- "date": "2014-04-02",
- "value": 94985209
- },
- {
- "date": "2014-04-03",
- "value": 82913669
- },
- {
- "date": "2014-04-04",
- "value": 78748268
- },
- {
- "date": "2014-04-05",
- "value": 63829135
- },
- {
- "date": "2014-04-06",
- "value": 78694727
- },
- {
- "date": "2014-04-07",
- "value": 80868994
- },
- {
- "date": "2014-04-08",
- "value": 93799013
- },
- {
- "date": "2014-04-09",
- "value": 99042416
- },
- {
- "date": "2014-04-10",
- "value": 97298692
- },
- {
- "date": "2014-04-11",
- "value": 83353499
- },
- {
- "date": "2014-04-12",
- "value": 71248129
- },
- {
- "date": "2014-04-13",
- "value": 75253744
- },
- {
- "date": "2014-04-14",
- "value": 68976648
- },
- {
- "date": "2014-04-15",
- "value": 71002284
- },
- {
- "date": "2014-04-16",
- "value": 75052401
- },
- {
- "date": "2014-04-17",
- "value": 83894030
- },
- {
- "date": "2014-04-18",
- "value": 90236528
- },
- {
- "date": "2014-04-19",
- "value": 99739114
- },
- {
- "date": "2014-04-20",
- "value": 96407136
- },
- {
- "date": "2014-04-21",
- "value": 108323177
- },
- {
- "date": "2014-04-22",
- "value": 101578914
- },
- {
- "date": "2014-04-23",
- "value": 115877608
- },
- {
- "date": "2014-04-24",
- "value": 112088857
- },
- {
- "date": "2014-04-25",
- "value": 112071353
- },
- {
- "date": "2014-04-26",
- "value": 101790062
- },
- {
- "date": "2014-04-27",
- "value": 115003761
- },
- {
- "date": "2014-04-28",
- "value": 120457727
- },
- {
- "date": "2014-04-29",
- "value": 118253926
- },
- {
- "date": "2014-04-30",
- "value": 117956992
- }
- ],
- [
- {
- "date": "2014-01-01",
- "value": 60000000
- },
- {
- "date": "2014-01-02",
- "value": 60379978
- },
- {
- "date": "2014-01-03",
- "value": 40493749
- },
- {
- "date": "2014-01-04",
- "value": 60785250
- },
- {
- "date": "2014-01-05",
- "value": 67391904
- },
- {
- "date": "2014-01-06",
- "value": 61576838
- },
- {
- "date": "2014-01-07",
- "value": 61413854
- },
- {
- "date": "2014-01-08",
- "value": 82177211
- },
- {
- "date": "2014-01-09",
- "value": 103762210
- },
- {
- "date": "2014-01-10",
- "value": 84381072
- },
- {
- "date": "2014-01-11",
- "value": 54352310
- },
- {
- "date": "2014-01-12",
- "value": 65531790
- },
- {
- "date": "2014-01-13",
- "value": 75748881
- },
- {
- "date": "2014-01-14",
- "value": 47064037
- },
- {
- "date": "2014-01-15",
- "value": 67520685
- },
- {
- "date": "2014-01-16",
- "value": 60176418
- },
- {
- "date": "2014-01-17",
- "value": 66122924
- },
- {
- "date": "2014-01-18",
- "value": 57337480
- },
- {
- "date": "2014-01-19",
- "value": 100258882
- },
- {
- "date": "2014-01-20",
- "value": 46829538
- },
- {
- "date": "2014-01-21",
- "value": 92456897
- },
- {
- "date": "2014-01-22",
- "value": 94299711
- },
- {
- "date": "2014-01-23",
- "value": 62759017
- },
- {
- "date": "2014-01-24",
- "value": 103596183
- },
- {
- "date": "2014-01-25",
- "value": 108107346
- },
- {
- "date": "2014-01-26",
- "value": 66359852
- },
- {
- "date": "2014-01-27",
- "value": 62570783
- },
- {
- "date": "2014-01-28",
- "value": 77967768
- },
- {
- "date": "2014-01-29",
- "value": 60632803
- },
- {
- "date": "2014-01-30",
- "value": 103725316
- },
- {
- "date": "2014-01-31",
- "value": 98226177
- },
- {
- "date": "2014-02-01",
- "value": 60698669
- },
- {
- "date": "2014-02-02",
- "value": 67640656
- },
- {
- "date": "2014-02-03",
- "value": 66142362
- },
- {
- "date": "2014-02-04",
- "value": 101410971
- },
- {
- "date": "2014-02-05",
- "value": 66704289
- },
- {
- "date": "2014-02-06",
- "value": 60436945
- },
- {
- "date": "2014-02-07",
- "value": 78891686
- },
- {
- "date": "2014-02-08",
- "value": 71613962
- },
- {
- "date": "2014-02-09",
- "value": 107579773
- },
- {
- "date": "2014-02-10",
- "value": 58677098
- },
- {
- "date": "2014-02-11",
- "value": 87129977
- },
- {
- "date": "2014-02-12",
- "value": 51561876
- },
- {
- "date": "2014-02-13",
- "value": 51627421
- },
- {
- "date": "2014-02-14",
- "value": 83543872
- },
- {
- "date": "2014-02-15",
- "value": 66581057
- },
- {
- "date": "2014-02-16",
- "value": 65560715
- },
- {
- "date": "2014-02-17",
- "value": 62625263
- },
- {
- "date": "2014-02-18",
- "value": 92091484
- },
- {
- "date": "2014-02-19",
- "value": 48810329
- },
- {
- "date": "2014-02-20",
- "value": 49882912
- },
- {
- "date": "2014-02-21",
- "value": 44943095
- },
- {
- "date": "2014-02-22",
- "value": 104875743
- },
- {
- "date": "2014-02-23",
- "value": 96383678
- },
- {
- "date": "2014-02-24",
- "value": 105028841
- },
- {
- "date": "2014-02-25",
- "value": 63967310
- },
- {
- "date": "2014-02-26",
- "value": 63167029
- },
- {
- "date": "2014-02-27",
- "value": 68577263
- },
- {
- "date": "2014-02-28",
- "value": 95836969
- },
- {
- "date": "2014-03-01",
- "value": 99264529
- },
- {
- "date": "2014-03-02",
- "value": 109363374
- },
- {
- "date": "2014-03-03",
- "value": 93985628
- },
- {
- "date": "2014-03-04",
- "value": 94650999
- },
- {
- "date": "2014-03-05",
- "value": 90866108
- },
- {
- "date": "2014-03-06",
- "value": 46473454
- },
- {
- "date": "2014-03-07",
- "value": 84075886
- },
- {
- "date": "2014-03-08",
- "value": 103568384
- },
- {
- "date": "2014-03-09",
- "value": 101534883
- },
- {
- "date": "2014-03-10",
- "value": 95825447
- },
- {
- "date": "2014-03-11",
- "value": 66133916
- },
- {
- "date": "2014-03-12",
- "value": 96502109
- },
- {
- "date": "2014-03-13",
- "value": 80169411
- },
- {
- "date": "2014-03-14",
- "value": 84296886
- },
- {
- "date": "2014-03-15",
- "value": 86347399
- },
- {
- "date": "2014-03-16",
- "value": 31483669
- },
- {
- "date": "2014-03-17",
- "value": 82811333
- },
- {
- "date": "2014-03-18",
- "value": 89675396
- },
- {
- "date": "2014-03-19",
- "value": 95514483
- },
- {
- "date": "2014-03-20",
- "value": 97630630
- },
- {
- "date": "2014-03-21",
- "value": 62340239
- },
- {
- "date": "2014-03-22",
- "value": 62349091
- },
- {
- "date": "2014-03-23",
- "value": 65613305
- },
- {
- "date": "2014-03-24",
- "value": 65592466
- },
- {
- "date": "2014-03-25",
- "value": 63408762
- },
- {
- "date": "2014-03-26",
- "value": 91991454
- },
- {
- "date": "2014-03-27",
- "value": 96123955
- },
- {
- "date": "2014-03-28",
- "value": 92817214
- },
- {
- "date": "2014-03-29",
- "value": 93029590
- },
- {
- "date": "2014-03-30",
- "value": 108753398
- },
- {
- "date": "2014-03-31",
- "value": 49383763
- },
- {
- "date": "2014-04-01",
- "value": 100151737
- },
- {
- "date": "2014-04-02",
- "value": 44985209
- },
- {
- "date": "2014-04-03",
- "value": 52913669
- },
- {
- "date": "2014-04-04",
- "value": 48748268
- },
- {
- "date": "2014-04-05",
- "value": 23829135
- },
- {
- "date": "2014-04-06",
- "value": 58694727
- },
- {
- "date": "2014-04-07",
- "value": 50868994
- },
- {
- "date": "2014-04-08",
- "value": 43799013
- },
- {
- "date": "2014-04-09",
- "value": 4042416
- },
- {
- "date": "2014-04-10",
- "value": 47298692
- },
- {
- "date": "2014-04-11",
- "value": 53353499
- },
- {
- "date": "2014-04-12",
- "value": 71248129
- },
- {
- "date": "2014-04-13",
- "value": 75253744
- },
- {
- "date": "2014-04-14",
- "value": 68976648
- },
- {
- "date": "2014-04-15",
- "value": 71002284
- },
- {
- "date": "2014-04-16",
- "value": 75052401
- },
- {
- "date": "2014-04-17",
- "value": 83894030
- },
- {
- "date": "2014-04-18",
- "value": 50236528
- },
- {
- "date": "2014-04-19",
- "value": 59739114
- },
- {
- "date": "2014-04-20",
- "value": 56407136
- },
- {
- "date": "2014-04-21",
- "value": 108323177
- },
- {
- "date": "2014-04-22",
- "value": 101578914
- },
- {
- "date": "2014-04-23",
- "value": 95877608
- },
- {
- "date": "2014-04-24",
- "value": 62088857
- },
- {
- "date": "2014-04-25",
- "value": 92071353
- },
- {
- "date": "2014-04-26",
- "value": 81790062
- },
- {
- "date": "2014-04-27",
- "value": 105003761
- },
- {
- "date": "2014-04-28",
- "value": 100457727
- },
- {
- "date": "2014-04-29",
- "value": 98253926
- },
- {
- "date": "2014-04-30",
- "value": 67956992
- }
- ]
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json
deleted file mode 100644
index 582d08a..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-is-hidden.json
+++ /dev/null
@@ -1,39 +0,0 @@
-
- [
- {
- "date": "2014-01-08",
- "value": 500
- },
- {
- "date": "2014-01-09",
- "value": 500
- },
- {
- "date": "2014-01-10",
- "value": 400
- },
- {
- "date": "2014-02-12",
- "value": 500
- },
- {
- "date": "2014-02-13",
- "value": 100
- },
- {
- "date": "2014-02-14",
- "value": null
- },
- {
- "date": "2014-02-15",
- "value": 30
- },
- {
- "date": "2014-02-16",
- "value": 300
- },
- {
- "date": "2014-02-17",
- "value": 200
- }
- ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json
deleted file mode 100644
index 9ec8f18..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/missing-y.json
+++ /dev/null
@@ -1,35 +0,0 @@
-
- [
- {
- "date": "2014-01-08",
- "value": 500
- },
- {
- "date": "2014-01-12",
- "value": 500
- },
- {
- "date": "2014-01-19",
- "value": 2000
- },
- {
- "date": "2014-01-20",
- "value": 2200
- },
- {
- "date": "2014-01-21",
- "value": 2300
- },
- {
- "date": "2014-04-23",
- "value": 500
- },
- {
- "date": "2014-04-24",
- "value": 1500
- },
- {
- "date": "2014-04-25",
- "value": 3000
- }
- ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json
deleted file mode 100644
index 90102ba..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/multiline.json
+++ /dev/null
@@ -1,902 +0,0 @@
-[
- {
- "date": "2013-11-30",
- "value3": 40770,
- "value2": 38327,
- "value1": 43564
- },
- {
- "date": "2013-12-01",
- "value3": 39705,
- "value2": 39998,
- "value1": 43104
- },
- {
- "date": "2013-12-02",
- "value3": 39209,
- "value2": 40158,
- "value1": 40300
- },
- {
- "date": "2013-12-03",
- "value3": 35539,
- "value2": 37155,
- "value1": 37078
- },
- {
- "date": "2013-12-04",
- "value3": 33231,
- "value2": 37554,
- "value1": 38526
- },
- {
- "date": "2013-12-05",
- "value3": 29792,
- "value2": 40383,
- "value1": 36456
- },
- {
- "date": "2013-12-06",
- "value3": 33533,
- "value2": 42351,
- "value1": 39354
- },
- {
- "date": "2013-12-07",
- "value3": 31903,
- "value2": 45058,
- "value1": 42378
- },
- {
- "date": "2013-12-08",
- "value3": 30748,
- "value2": 47100,
- "value1": 38812
- },
- {
- "date": "2013-12-09",
- "value3": 30380,
- "value2": 44866,
- "value1": 37220
- },
- {
- "date": "2013-12-10",
- "value3": 29189,
- "value2": 41967,
- "value1": 39755
- },
- {
- "date": "2013-12-11",
- "value3": 31210,
- "value2": 39328,
- "value1": 40757
- },
- {
- "date": "2013-12-12",
- "value3": 35036,
- "value2": 35949,
- "value1": 39377
- },
- {
- "date": "2013-12-13",
- "value3": 35619,
- "value2": 33159,
- "value1": 38073
- },
- {
- "date": "2013-12-14",
- "value3": 36377,
- "value2": 33589,
- "value1": 35086
- },
- {
- "date": "2013-12-15",
- "value3": 38730,
- "value2": 33746,
- "value1": 34582
- },
- {
- "date": "2013-12-16",
- "value3": 34850,
- "value2": 36825,
- "value1": 36423
- },
- {
- "date": "2013-12-17",
- "value3": 33172,
- "value2": 38092,
- "value1": 37563
- },
- {
- "date": "2013-12-18",
- "value3": 29390,
- "value2": 36368,
- "value1": 38391
- },
- {
- "date": "2013-12-19",
- "value3": 27097,
- "value2": 32403,
- "value1": 38486
- },
- {
- "date": "2013-12-20",
- "value3": 25922,
- "value2": 35803,
- "value1": 35076
- },
- {
- "date": "2013-12-21",
- "value3": 29734,
- "value2": 37922,
- "value1": 32287
- },
- {
- "date": "2013-12-22",
- "value3": 31860,
- "value2": 35274,
- "value1": 28294
- },
- {
- "date": "2013-12-23",
- "value3": 29052,
- "value2": 35216,
- "value1": 31195
- },
- {
- "date": "2013-12-24",
- "value3": 27400,
- "value2": 35466,
- "value1": 28475
- },
- {
- "date": "2013-12-25",
- "value3": 29042,
- "value2": 33327,
- "value1": 26174
- },
- {
- "date": "2013-12-26",
- "value3": 28410,
- "value2": 35632,
- "value1": 28177
- },
- {
- "date": "2013-12-27",
- "value3": 27045,
- "value2": 35348,
- "value1": 28660
- },
- {
- "date": "2013-12-28",
- "value3": 26506,
- "value2": 37153,
- "value1": 27007
- },
- {
- "date": "2013-12-29",
- "value3": 26331,
- "value2": 35442,
- "value1": 29527
- },
- {
- "date": "2013-12-30",
- "value3": 23209,
- "value2": 37541,
- "value1": 30305
- },
- {
- "date": "2013-12-31",
- "value3": 24124,
- "value2": 34335,
- "value1": 32349
- },
- {
- "date": "2014-01-01",
- "value3": 21329,
- "value2": 32894,
- "value1": 32782
- },
- {
- "date": "2014-01-02",
- "value3": 21989,
- "value2": 30909,
- "value1": 29583
- },
- {
- "date": "2014-01-03",
- "value3": 23481,
- "value2": 33794,
- "value1": 25680
- },
- {
- "date": "2014-01-04",
- "value3": 20253,
- "value2": 37516,
- "value1": 24292
- },
- {
- "date": "2014-01-05",
- "value3": 21150,
- "value2": 36692,
- "value1": 24372
- },
- {
- "date": "2014-01-06",
- "value3": 23170,
- "value2": 35783,
- "value1": 20990
- },
- {
- "date": "2014-01-07",
- "value3": 19767,
- "value2": 38478,
- "value1": 24691
- },
- {
- "date": "2014-01-08",
- "value3": 17130,
- "value2": 40333,
- "value1": 22481
- },
- {
- "date": "2014-01-09",
- "value3": 16280,
- "value2": 39265,
- "value1": 25239
- },
- {
- "date": "2014-01-10",
- "value3": 12306,
- "value2": 40702,
- "value1": 24248
- },
- {
- "date": "2014-01-11",
- "value3": 14425,
- "value2": 39793,
- "value1": 24395
- },
- {
- "date": "2014-01-12",
- "value3": 14555,
- "value2": 36282,
- "value1": 25580
- },
- {
- "date": "2014-01-13",
- "value3": 14582,
- "value2": 32495,
- "value1": 24165
- },
- {
- "date": "2014-01-14",
- "value3": 15216,
- "value2": 36217,
- "value1": 26088
- },
- {
- "date": "2014-01-15",
- "value3": 18650,
- "value2": 39448,
- "value1": 29528
- },
- {
- "date": "2014-01-16",
- "value3": 16567,
- "value2": 36157,
- "value1": 27990
- },
- {
- "date": "2014-01-17",
- "value3": 16512,
- "value2": 33246,
- "value1": 24218
- },
- {
- "date": "2014-01-18",
- "value3": 19777,
- "value2": 35543,
- "value1": 20837
- },
- {
- "date": "2014-01-19",
- "value3": 20399,
- "value2": 34715,
- "value1": 22407
- },
- {
- "date": "2014-01-20",
- "value3": 18816,
- "value2": 32680,
- "value1": 19989
- },
- {
- "date": "2014-01-21",
- "value3": 19986,
- "value2": 29250,
- "value1": 23828
- },
- {
- "date": "2014-01-22",
- "value3": 22251,
- "value2": 30438,
- "value1": 26714
- },
- {
- "date": "2014-01-23",
- "value3": 25922,
- "value2": 28387,
- "value1": 30514
- },
- {
- "date": "2014-01-24",
- "value3": 26428,
- "value2": 29612,
- "value1": 33155
- },
- {
- "date": "2014-01-25",
- "value3": 25424,
- "value2": 25831,
- "value1": 34462
- },
- {
- "date": "2014-01-26",
- "value3": 27621,
- "value2": 22203,
- "value1": 32276
- },
- {
- "date": "2014-01-27",
- "value3": 23961,
- "value2": 22855,
- "value1": 31899
- },
- {
- "date": "2014-01-28",
- "value3": 25591,
- "value2": 22024,
- "value1": 29327
- },
- {
- "date": "2014-01-29",
- "value3": 26847,
- "value2": 22686,
- "value1": 32158
- },
- {
- "date": "2014-01-30",
- "value3": 27853,
- "value2": 24676,
- "value1": 29473
- },
- {
- "date": "2014-01-31",
- "value3": 24178,
- "value2": 27591,
- "value1": 32247
- },
- {
- "date": "2014-02-01",
- "value3": 20626,
- "value2": 24225,
- "value1": 30117
- },
- {
- "date": "2014-02-02",
- "value3": 17938,
- "value2": 27842,
- "value1": 29435
- },
- {
- "date": "2014-02-03",
- "value3": 21312,
- "value2": 24541,
- "value1": 27320
- },
- {
- "date": "2014-02-04",
- "value3": 17385,
- "value2": 27164,
- "value1": 30515
- },
- {
- "date": "2014-02-05",
- "value3": 17638,
- "value2": 23288,
- "value1": 28635
- },
- {
- "date": "2014-02-06",
- "value3": 18946,
- "value2": 21521,
- "value1": 27292
- },
- {
- "date": "2014-02-07",
- "value3": 21089,
- "value2": 22467,
- "value1": 24966
- },
- {
- "date": "2014-02-08",
- "value3": 22956,
- "value2": 20604,
- "value1": 24670
- },
- {
- "date": "2014-02-09",
- "value3": 23081,
- "value2": 20732,
- "value1": 27518
- },
- {
- "date": "2014-02-10",
- "value3": 25334,
- "value2": 21436,
- "value1": 24862
- },
- {
- "date": "2014-02-11",
- "value3": 21989,
- "value2": 23315,
- "value1": 27263
- },
- {
- "date": "2014-02-12",
- "value3": 20933,
- "value2": 23816,
- "value1": 25352
- },
- {
- "date": "2014-02-13",
- "value3": 21185,
- "value2": 22416,
- "value1": 22396
- },
- {
- "date": "2014-02-14",
- "value3": 22801,
- "value2": 19348,
- "value1": 18497
- },
- {
- "date": "2014-02-15",
- "value3": 20072,
- "value2": 20167,
- "value1": 21890
- },
- {
- "date": "2014-02-16",
- "value3": 23120,
- "value2": 23505,
- "value1": 22635
- },
- {
- "date": "2014-02-17",
- "value3": 26351,
- "value2": 27294,
- "value1": 23970
- },
- {
- "date": "2014-02-18",
- "value3": 27078,
- "value2": 30219,
- "value1": 20245
- },
- {
- "date": "2014-02-19",
- "value3": 26042,
- "value2": 28226,
- "value1": 17369
- },
- {
- "date": "2014-02-20",
- "value3": 28763,
- "value2": 26489,
- "value1": 19326
- },
- {
- "date": "2014-02-21",
- "value3": 31668,
- "value2": 23210,
- "value1": 17781
- },
- {
- "date": "2014-02-22",
- "value3": 31141,
- "value2": 22636,
- "value1": 15731
- },
- {
- "date": "2014-02-23",
- "value3": 34681,
- "value2": 24430,
- "value1": 11917
- },
- {
- "date": "2014-02-24",
- "value3": 32836,
- "value2": 22607,
- "value1": 8723
- },
- {
- "date": "2014-02-25",
- "value3": 29452,
- "value2": 22561,
- "value1": 7930
- },
- {
- "date": "2014-02-26",
- "value3": 31958,
- "value2": 21692,
- "value1": 7898
- },
- {
- "date": "2014-02-27",
- "value3": 30526,
- "value2": 24281,
- "value1": 4909
- },
- {
- "date": "2014-02-28",
- "value3": 30271,
- "value2": 23369,
- "value1": 1564
- },
- {
- "date": "2014-03-01",
- "value3": 30977,
- "value2": 21954,
- "value1": 1564
- },
- {
- "date": "2014-03-02",
- "value3": 27892,
- "value2": 24495,
- "value1": 3179
- },
- {
- "date": "2014-03-03",
- "value3": 26752,
- "value2": 20644,
- "value1": 4147
- },
- {
- "date": "2014-03-04",
- "value3": 28318,
- "value2": 20201,
- "value1": 7271
- },
- {
- "date": "2014-03-05",
- "value3": 30646,
- "value2": 19919,
- "value1": 8747
- },
- {
- "date": "2014-03-06",
- "value3": 32219,
- "value2": 20166,
- "value1": 10704
- },
- {
- "date": "2014-03-07",
- "value3": 36175,
- "value2": 24020,
- "value1": 13698
- },
- {
- "date": "2014-03-08",
- "value3": 33312,
- "value2": 23848,
- "value1": 10890
- },
- {
- "date": "2014-03-09",
- "value3": 30792,
- "value2": 23966,
- "value1": 7044
- },
- {
- "date": "2014-03-10",
- "value3": 31162,
- "value2": 24539,
- "value1": 6461
- },
- {
- "date": "2014-03-11",
- "value3": 33510,
- "value2": 26713,
- "value1": 5604
- },
- {
- "date": "2014-03-12",
- "value3": 37339,
- "value2": 23373,
- "value1": 4937
- },
- {
- "date": "2014-03-13",
- "value3": 36413,
- "value2": 20127,
- "value1": 4007
- },
- {
- "date": "2014-03-14",
- "value3": 34026,
- "value2": 18112,
- "value1": 7673
- },
- {
- "date": "2014-03-15",
- "value3": 33383,
- "value2": 20099,
- "value1": 7768
- },
- {
- "date": "2014-03-16",
- "value3": 33358,
- "value2": 17391,
- "value1": 11123
- },
- {
- "date": "2014-03-17",
- "value3": 33433,
- "value2": 16720,
- "value1": 13294
- },
- {
- "date": "2014-03-18",
- "value3": 33898,
- "value2": 17686,
- "value1": 15860
- },
- {
- "date": "2014-03-19",
- "value3": 32549,
- "value2": 19989,
- "value1": 12153
- },
- {
- "date": "2014-03-20",
- "value3": 32990,
- "value2": 17285,
- "value1": 15822
- },
- {
- "date": "2014-03-21",
- "value3": 31703,
- "value2": 15461,
- "value1": 13681
- },
- {
- "date": "2014-03-22",
- "value3": 28348,
- "value2": 18088,
- "value1": 11944
- },
- {
- "date": "2014-03-23",
- "value3": 32284,
- "value2": 19755,
- "value1": 12479
- },
- {
- "date": "2014-03-24",
- "value3": 34991,
- "value2": 19796,
- "value1": 12171
- },
- {
- "date": "2014-03-25",
- "value3": 34395,
- "value2": 20606,
- "value1": 12889
- },
- {
- "date": "2014-03-26",
- "value3": 35467,
- "value2": 23220,
- "value1": 13169
- },
- {
- "date": "2014-03-27",
- "value3": 36434,
- "value2": 26524,
- "value1": 12952
- },
- {
- "date": "2014-03-28",
- "value3": 34007,
- "value2": 27261,
- "value1": 12141
- },
- {
- "date": "2014-03-29",
- "value3": 36605,
- "value2": 28143,
- "value1": 8420
- },
- {
- "date": "2014-03-30",
- "value3": 35324,
- "value2": 29999,
- "value1": 9551
- },
- {
- "date": "2014-03-31",
- "value3": 35077,
- "value2": 33650,
- "value1": 5917
- },
- {
- "date": "2014-04-01",
- "value3": 32331,
- "value2": 37641,
- "value1": 4555
- },
- {
- "date": "2014-04-02",
- "value3": 32161,
- "value2": 40591,
- "value1": 8205
- },
- {
- "date": "2014-04-03",
- "value3": 28921,
- "value2": 39738,
- "value1": 7119
- },
- {
- "date": "2014-04-04",
- "value3": 32534,
- "value2": 39608,
- "value1": 8866
- },
- {
- "date": "2014-04-05",
- "value3": 31463,
- "value2": 40618,
- "value1": 10712
- },
- {
- "date": "2014-04-06",
- "value3": 27973,
- "value2": 36821,
- "value1": 12396
- },
- {
- "date": "2014-04-07",
- "value3": 29953,
- "value2": 34470,
- "value1": 9679
- },
- {
- "date": "2014-04-08",
- "value3": 26788,
- "value2": 31653,
- "value1": 12035
- },
- {
- "date": "2014-04-09",
- "value3": 28319,
- "value2": 30246,
- "value1": 15903
- },
- {
- "date": "2014-04-10",
- "value3": 25536,
- "value2": 32591,
- "value1": 12835
- },
- {
- "date": "2014-04-11",
- "value3": 26710,
- "value2": 34847,
- "value1": 10734
- },
- {
- "date": "2014-04-12",
- "value3": 28521,
- "value2": 36313,
- "value1": 8157
- },
- {
- "date": "2014-04-13",
- "value3": 29304,
- "value2": 37283,
- "value1": 7307
- },
- {
- "date": "2014-04-14",
- "value3": 26847,
- "value2": 35552,
- "value1": 3414
- },
- {
- "date": "2014-04-15",
- "value3": 23252,
- "value2": 33905,
- "value1": 622
- },
- {
- "date": "2014-04-16",
- "value3": 21251,
- "value2": 37098,
- "value1": 3710
- },
- {
- "date": "2014-04-17",
- "value3": 21938,
- "value2": 35414,
- "value1": 2900
- },
- {
- "date": "2014-04-18",
- "value3": 19210,
- "value2": 35479,
- "value1": 4723
- },
- {
- "date": "2014-04-19",
- "value3": 17765,
- "value2": 35822,
- "value1": 7656
- },
- {
- "date": "2014-04-20",
- "value3": 15064,
- "value2": 32006,
- "value1": 5948
- },
- {
- "date": "2014-04-21",
- "value3": 16166,
- "value2": 35829,
- "value1": 4471
- },
- {
- "date": "2014-04-22",
- "value3": 14336,
- "value2": 38851,
- "value1": 6870
- },
- {
- "date": "2014-04-23",
- "value3": 18145,
- "value2": 42598,
- "value1": 4625
- },
- {
- "date": "2014-04-24",
- "value3": 20986,
- "value2": 41071,
- "value1": 4396
- },
- {
- "date": "2014-04-25",
- "value3": 21492,
- "value2": 43611,
- "value1": 5542
- },
- {
- "date": "2014-04-26",
- "value3": 20712,
- "value2": 41320,
- "value1": 7280
- },
- {
- "date": "2014-04-27",
- "value3": 18048,
- "value2": 39232,
- "value1": 3426
- },
- {
- "date": "2014-04-28",
- "value3": 17747,
- "value2": 42156,
- "value1": 4539
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json
deleted file mode 100644
index f12a4ca..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg1.json
+++ /dev/null
@@ -1,602 +0,0 @@
-[
- {
- "date": "2013-10-01",
- "value": 0.0
- },
- {
- "date": "2013-10-02",
- "value": -20.27860065952477
- },
- {
- "date": "2013-10-03",
- "value": -12.426109787612926
- },
- {
- "date": "2013-10-04",
- "value": -17.699256257379318
- },
- {
- "date": "2013-10-05",
- "value": -22.019134369994354
- },
- {
- "date": "2013-10-06",
- "value": -41.59885296861614
- },
- {
- "date": "2013-10-07",
- "value": -31.867314787877127
- },
- {
- "date": "2013-10-08",
- "value": -16.68549399939984
- },
- {
- "date": "2013-10-09",
- "value": -14.214554612147637
- },
- {
- "date": "2013-10-10",
- "value": -37.100703439565635
- },
- {
- "date": "2013-10-11",
- "value": -41.716391973782905
- },
- {
- "date": "2013-10-12",
- "value": -60.65986986496344
- },
- {
- "date": "2013-10-13",
- "value": -65.88269292682585
- },
- {
- "date": "2013-10-14",
- "value": -85.89811733657307
- },
- {
- "date": "2013-10-15",
- "value": -87.57011580082312
- },
- {
- "date": "2013-10-16",
- "value": -69.1076591319889
- },
- {
- "date": "2013-10-17",
- "value": -69.71829820893743
- },
- {
- "date": "2013-10-18",
- "value": -48.07710064468784
- },
- {
- "date": "2013-10-19",
- "value": -42.02312145221815
- },
- {
- "date": "2013-10-20",
- "value": -36.94872786920486
- },
- {
- "date": "2013-10-21",
- "value": -26.283993993694217
- },
- {
- "date": "2013-10-22",
- "value": -41.683357633072106
- },
- {
- "date": "2013-10-23",
- "value": -48.410135784779435
- },
- {
- "date": "2013-10-24",
- "value": -24.647894376874603
- },
- {
- "date": "2013-10-25",
- "value": -24.48313857183973
- },
- {
- "date": "2013-10-26",
- "value": -30.775646331124953
- },
- {
- "date": "2013-10-27",
- "value": -42.353653361246884
- },
- {
- "date": "2013-10-28",
- "value": -56.408927207093086
- },
- {
- "date": "2013-10-29",
- "value": -40.78984664417509
- },
- {
- "date": "2013-10-30",
- "value": -41.42605076469138
- },
- {
- "date": "2013-10-31",
- "value": -18.09604151517472
- },
- {
- "date": "2013-11-01",
- "value": 2.0546535501343186
- },
- {
- "date": "2013-11-02",
- "value": 16.427200269275257
- },
- {
- "date": "2013-11-03",
- "value": 36.26021813729312
- },
- {
- "date": "2013-11-04",
- "value": 17.943623384419123
- },
- {
- "date": "2013-11-05",
- "value": 17.640349147379087
- },
- {
- "date": "2013-11-06",
- "value": 28.733924995418647
- },
- {
- "date": "2013-11-07",
- "value": 43.17866048300303
- },
- {
- "date": "2013-11-08",
- "value": 42.352421757240364
- },
- {
- "date": "2013-11-09",
- "value": 20.96374796987576
- },
- {
- "date": "2013-11-10",
- "value": 0.4817825186157414
- },
- {
- "date": "2013-11-11",
- "value": 4.454052949905262
- },
- {
- "date": "2013-11-12",
- "value": 9.903521845328488
- },
- {
- "date": "2013-11-13",
- "value": -9.659938196685449
- },
- {
- "date": "2013-11-14",
- "value": -1.6572458262441714
- },
- {
- "date": "2013-11-15",
- "value": -19.421347615158197
- },
- {
- "date": "2013-11-16",
- "value": -5.133047713617817
- },
- {
- "date": "2013-11-17",
- "value": 7.142073986101426
- },
- {
- "date": "2013-11-18",
- "value": 19.965752044244944
- },
- {
- "date": "2013-11-19",
- "value": 34.06855156342502
- },
- {
- "date": "2013-11-20",
- "value": 32.035712731383306
- },
- {
- "date": "2013-11-21",
- "value": 26.800280474507574
- },
- {
- "date": "2013-11-22",
- "value": 36.74472173965269
- },
- {
- "date": "2013-11-23",
- "value": 17.635258758794258
- },
- {
- "date": "2013-11-24",
- "value": 21.70157569545806
- },
- {
- "date": "2013-11-25",
- "value": 12.880215322765117
- },
- {
- "date": "2013-11-26",
- "value": -1.6952234072651535
- },
- {
- "date": "2013-11-27",
- "value": -25.709873487640706
- },
- {
- "date": "2013-11-28",
- "value": -24.333141952222054
- },
- {
- "date": "2013-11-29",
- "value": -23.101049395363514
- },
- {
- "date": "2013-11-30",
- "value": -30.77467592550588
- },
- {
- "date": "2013-12-01",
- "value": -52.484803998469324
- },
- {
- "date": "2013-12-02",
- "value": -59.967129097767554
- },
- {
- "date": "2013-12-03",
- "value": -58.54448864190029
- },
- {
- "date": "2013-12-04",
- "value": -35.733861688599625
- },
- {
- "date": "2013-12-05",
- "value": -49.95861223226006
- },
- {
- "date": "2013-12-06",
- "value": -68.88793877584408
- },
- {
- "date": "2013-12-07",
- "value": -50.428275259634844
- },
- {
- "date": "2013-12-08",
- "value": -40.26117556623101
- },
- {
- "date": "2013-12-09",
- "value": -38.891176869589806
- },
- {
- "date": "2013-12-10",
- "value": -59.758690871453695
- },
- {
- "date": "2013-12-11",
- "value": -71.1695554284355
- },
- {
- "date": "2013-12-12",
- "value": -90.63524940599096
- },
- {
- "date": "2013-12-13",
- "value": -79.23423804726241
- },
- {
- "date": "2013-12-14",
- "value": -71.25861388735568
- },
- {
- "date": "2013-12-15",
- "value": -60.61596323199725
- },
- {
- "date": "2013-12-16",
- "value": -62.93902244769705
- },
- {
- "date": "2013-12-17",
- "value": -41.22170848850722
- },
- {
- "date": "2013-12-18",
- "value": -27.226208027424434
- },
- {
- "date": "2013-12-19",
- "value": -7.309085309368637
- },
- {
- "date": "2013-12-20",
- "value": 3.670426015191861
- },
- {
- "date": "2013-12-21",
- "value": 19.473948613489632
- },
- {
- "date": "2013-12-22",
- "value": 40.415945876438144
- },
- {
- "date": "2013-12-23",
- "value": 31.289641086998923
- },
- {
- "date": "2013-12-24",
- "value": 17.434969637396232
- },
- {
- "date": "2013-12-25",
- "value": 30.21158378387427
- },
- {
- "date": "2013-12-26",
- "value": 30.727072719951824
- },
- {
- "date": "2013-12-27",
- "value": 20.184828808977333
- },
- {
- "date": "2013-12-28",
- "value": 27.76791048820225
- },
- {
- "date": "2013-12-29",
- "value": 34.40666779673991
- },
- {
- "date": "2013-12-30",
- "value": 28.662553475743806
- },
- {
- "date": "2013-12-31",
- "value": 20.816765875588956
- },
- {
- "date": "2014-01-01",
- "value": 30.498234516361673
- },
- {
- "date": "2014-01-02",
- "value": 6.549837407292948
- },
- {
- "date": "2014-01-03",
- "value": -17.03978957481648
- },
- {
- "date": "2014-01-04",
- "value": -6.201247455250156
- },
- {
- "date": "2014-01-05",
- "value": -9.481910347672848
- },
- {
- "date": "2014-01-06",
- "value": -1.4927745588584092
- },
- {
- "date": "2014-01-07",
- "value": 7.015746206056052
- },
- {
- "date": "2014-01-08",
- "value": 16.24056736124951
- },
- {
- "date": "2014-01-09",
- "value": 40.86145060910893
- },
- {
- "date": "2014-01-10",
- "value": 30.561347738520645
- },
- {
- "date": "2014-01-11",
- "value": 7.104703671937518
- },
- {
- "date": "2014-01-12",
- "value": 30.52693531793409
- },
- {
- "date": "2014-01-13",
- "value": 43.612806638528454
- },
- {
- "date": "2014-01-14",
- "value": 20.25247412642843
- },
- {
- "date": "2014-01-15",
- "value": 7.141936114658641
- },
- {
- "date": "2014-01-16",
- "value": -10.81374417310036
- },
- {
- "date": "2014-01-17",
- "value": 13.268210809685325
- },
- {
- "date": "2014-01-18",
- "value": 9.593303343135403
- },
- {
- "date": "2014-01-19",
- "value": 9.190238080819555
- },
- {
- "date": "2014-01-20",
- "value": -7.087595978474408
- },
- {
- "date": "2014-01-21",
- "value": 16.112869601906773
- },
- {
- "date": "2014-01-22",
- "value": 19.92397510159386
- },
- {
- "date": "2014-01-23",
- "value": 33.4964486295363
- },
- {
- "date": "2014-01-24",
- "value": 46.4831931105589
- },
- {
- "date": "2014-01-25",
- "value": 22.484343494394732
- },
- {
- "date": "2014-01-26",
- "value": 9.574360390216658
- },
- {
- "date": "2014-01-27",
- "value": 12.56929545850477
- },
- {
- "date": "2014-01-28",
- "value": -0.14595957202229037
- },
- {
- "date": "2014-01-29",
- "value": -14.696983674286617
- },
- {
- "date": "2014-01-30",
- "value": -15.237944850705059
- },
- {
- "date": "2014-01-31",
- "value": -1.7882058112963062
- },
- {
- "date": "2014-02-01",
- "value": -7.860538889362351
- },
- {
- "date": "2014-02-02",
- "value": 8.444727352087527
- },
- {
- "date": "2014-02-03",
- "value": 32.30058738777103
- },
- {
- "date": "2014-02-04",
- "value": 16.055786840333848
- },
- {
- "date": "2014-02-05",
- "value": -0.36610893414817625
- },
- {
- "date": "2014-02-06",
- "value": -1.1025132187248678
- },
- {
- "date": "2014-02-07",
- "value": 16.48048170957292
- },
- {
- "date": "2014-02-08",
- "value": 30.920083106250665
- },
- {
- "date": "2014-02-09",
- "value": 9.793945311635703
- },
- {
- "date": "2014-02-10",
- "value": -14.741798239121763
- },
- {
- "date": "2014-02-11",
- "value": 9.788165531444847
- },
- {
- "date": "2014-02-12",
- "value": -8.119237390130131
- },
- {
- "date": "2014-02-13",
- "value": -1.1782643021314554
- },
- {
- "date": "2014-02-14",
- "value": 7.310002841362066
- },
- {
- "date": "2014-02-15",
- "value": -6.0549226820141255
- },
- {
- "date": "2014-02-16",
- "value": 8.311998864819806
- },
- {
- "date": "2014-02-17",
- "value": 2.2233224632177393
- },
- {
- "date": "2014-02-18",
- "value": -18.946268533746085
- },
- {
- "date": "2014-02-19",
- "value": -5.889102580833665
- },
- {
- "date": "2014-02-20",
- "value": -0.19481412319894353
- },
- {
- "date": "2014-02-21",
- "value": -1.9196952442973252
- },
- {
- "date": "2014-02-22",
- "value": -25.056284352606756
- },
- {
- "date": "2014-02-23",
- "value": -32.09293779807747
- },
- {
- "date": "2014-02-24",
- "value": -55.77733578681833
- },
- {
- "date": "2014-02-25",
- "value": -73.55650805303047
- },
- {
- "date": "2014-02-26",
- "value": -78.44939933625979
- },
- {
- "date": "2014-02-27",
- "value": -61.75086522568682
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json
deleted file mode 100644
index 00bdbcc..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/neg2.json
+++ /dev/null
@@ -1,30 +0,0 @@
-[
- {
- "measure": 43.34,
- "subject": 32.0
- },
- {
- "measure": 53.3423,
- "subject": 20.27
- },
- {
- "measure": -10.343,
- "subject": 12.42
- },
- {
- "measure": -1,
- "subject": -1.69
- },
- {
- "measure": 10,
- "subject": -10.01
- },
- {
- "measure": 25,
- "subject": -21.59
- },
- {
- "measure": -20.343,
- "subject": -31.86
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv b/priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv
deleted file mode 100644
index e0dc414..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/nh-gop.tsv
+++ /dev/null
@@ -1,6 +0,0 @@
-Poll Date Trump Rubio Cruz Christie Kasich Bush Carson Fiorina Paul Huckabee Santorum Pataki Graham Spread
-RCP Average 12/13 - 1/6 27.0 13.8 11.5 11.3 10.0 8.3 5.0 4.8 3.8 0.3 0.3 0.0 0.0 Trump +13.2
-PPP (D) 1/4 - 1/6 29 15 10 11 11 10 4 4 3 1 1 -- -- Trump +14
-ARG 12/20 - 12/20 21 15 10 12 13 7 6 5 4 0 0 0 -- Trump +6
-CBS News/YouGov 12/14 - 12/17 32 13 14 11 8 6 5 4 5 0 0 0 0 Trump +18
-Boston Herald 12/13 - 12/17 26 12 12 11 8 10 5 6 3 0 0 0 0 Trump +14 \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json
deleted file mode 100644
index c3b17f7..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/points1.json
+++ /dev/null
@@ -1,802 +0,0 @@
-[
- {
- "u": "cat_10",
- "w": 1.243871075541485,
- "v": "other",
- "y": 211.80029085913867,
- "x": 156.56698521169255,
- "z": 1.2592730408041488
- },
- {
- "u": "cat_9",
- "w": 0.18317089873596637,
- "v": "other",
- "y": 196.93116746887526,
- "x": 182.9226627644747,
- "z": 1.5420852412869692
- },
- {
- "u": "cat_11",
- "w": 1.6440310398846552,
- "v": "other",
- "y": 198.15275935129918,
- "x": 180.46587284398524,
- "z": 1.0607952297441374
- },
- {
- "u": "cat_7",
- "w": -0.7500939816017782,
- "v": "other",
- "y": 146.31202991730444,
- "x": 102.35636312891461,
- "z": 0.30940991631448456
- },
- {
- "u": "cat_10",
- "w": 0.46988959503208527,
- "v": "other",
- "y": 118.66304545624911,
- "x": 175.8035980586206,
- "z": 1.589820005614669
- },
- {
- "u": "cat_3",
- "w": 2.4359184943127667,
- "v": "other",
- "y": 214.0123663650676,
- "x": 146.24883586964125,
- "z": -0.8716888194991463
- },
- {
- "u": "cat_8",
- "w": -1.2794477449179462,
- "v": "other",
- "y": 165.45000531931404,
- "x": 138.83167553877533,
- "z": 0.365531221729956
- },
- {
- "u": "other",
- "w": 0.6533051004485967,
- "v": "cat_0",
- "y": 133.99465910929834,
- "x": 119.39730303633817,
- "z": 1.270978774871001
- },
- {
- "u": "cat_13",
- "w": -0.4527608603464446,
- "v": "other",
- "y": 262.89541671133776,
- "x": 209.42459012646566,
- "z": 0.15317285949553272
- },
- {
- "u": "cat_12",
- "w": 0.06915365942882012,
- "v": "cat_0",
- "y": 139.0123425273913,
- "x": 140.27809963809628,
- "z": 1.0850789531923752
- },
- {
- "u": "cat_5",
- "w": 0.18422289588498686,
- "v": "other",
- "y": 123.5696526089444,
- "x": 178.47540577185424,
- "z": 0.40291991519951875
- },
- {
- "u": "cat_4",
- "w": -0.4338210953783319,
- "v": "cat_1",
- "y": 161.93728020049016,
- "x": 166.16502625602917,
- "z": 0.5093424182003234
- },
- {
- "u": "cat_7",
- "w": 1.40583885575462,
- "v": "other",
- "y": 155.63962440916566,
- "x": 99.85204107456539,
- "z": 1.2530442449107233
- },
- {
- "u": "cat_10",
- "w": -0.4275099099676807,
- "v": "other",
- "y": 176.85285727542032,
- "x": 161.42701652535786,
- "z": 0.8230669881454445
- },
- {
- "u": "cat_4",
- "w": 1.463656501437303,
- "v": "cat_1",
- "y": 246.6642430026098,
- "x": 73.48368170456627,
- "z": 1.0052929735375302
- },
- {
- "u": "cat_11",
- "w": 0.013089161287933138,
- "v": "other",
- "y": 156.36354536529558,
- "x": 243.2026715373837,
- "z": 0.39667694750274274
- },
- {
- "u": "cat_12",
- "w": 0.36730326802039404,
- "v": "other",
- "y": 156.71697413402487,
- "x": 148.27450037397765,
- "z": -1.4105618351561287
- },
- {
- "u": "cat_14",
- "w": -0.06953747774947772,
- "v": "other",
- "y": 141.22433267951084,
- "x": 69.06616491304716,
- "z": 0.475924622911404
- },
- {
- "u": "other",
- "w": 0.517415189557197,
- "v": "other",
- "y": 115.95680666029197,
- "x": 153.0898637311175,
- "z": 0.9443947812526814
- },
- {
- "u": "cat_3",
- "w": 0.5670223685982718,
- "v": "other",
- "y": 227.27960266143467,
- "x": 153.22490080491232,
- "z": 1.32067405076989
- },
- {
- "u": "cat_7",
- "w": 0.5376290623874869,
- "v": "other",
- "y": 260.9119300068415,
- "x": 158.76997596111525,
- "z": 0.26196386810779426
- },
- {
- "u": "cat_8",
- "w": 2.168516664994767,
- "v": "other",
- "y": 170.77570545745968,
- "x": 135.65940169018805,
- "z": 0.9162849263421061
- },
- {
- "u": "cat_5",
- "w": 2.311955371948698,
- "v": "other",
- "y": 243.37468134084048,
- "x": 20.66820288532847,
- "z": -0.322645627898664
- },
- {
- "u": "cat_4",
- "w": 1.8314759939943595,
- "v": "other",
- "y": 214.1727802647768,
- "x": 216.61746891013505,
- "z": 2.4147498286441165
- },
- {
- "u": "other",
- "w": 0.8365279958031904,
- "v": "other",
- "y": 100.90575192733515,
- "x": 151.6306779403549,
- "z": 0.8606212265228668
- },
- {
- "u": "cat_13",
- "w": -0.26452281419648993,
- "v": "cat_0",
- "y": 194.59598730955793,
- "x": 129.361227705571,
- "z": 1.0322894496099724
- },
- {
- "u": "cat_13",
- "w": 2.6043512596594365,
- "v": "other",
- "y": 213.8128177957785,
- "x": 194.6414121394208,
- "z": 3.280204884184917
- },
- {
- "u": "cat_6",
- "w": 1.6310983407120137,
- "v": "other",
- "y": 163.2658097189387,
- "x": 187.70506769054072,
- "z": 1.3488889788600984
- },
- {
- "u": "cat_8",
- "w": 0.6487974580274094,
- "v": "other",
- "y": 194.3209257079902,
- "x": 192.10028088047798,
- "z": -0.07036372606337338
- },
- {
- "u": "cat_10",
- "w": 1.3927144738318111,
- "v": "other",
- "y": 161.3486689563104,
- "x": 86.73894049392862,
- "z": 0.1537876062955914
- },
- {
- "u": "cat_9",
- "w": -0.3771368838057665,
- "v": "other",
- "y": 182.55687300867896,
- "x": 201.1112292465731,
- "z": -0.058098755927163515
- },
- {
- "u": "cat_0",
- "w": -0.6345913552330389,
- "v": "other",
- "y": 165.80314397714827,
- "x": 206.7182591446124,
- "z": 1.4845564495064427
- },
- {
- "u": "cat_0",
- "w": 0.6855019579009463,
- "v": "cat_1",
- "y": 159.66118937446728,
- "x": 192.39649008863876,
- "z": 0.055873071009385766
- },
- {
- "u": "cat_6",
- "w": 2.964882131756106,
- "v": "other",
- "y": 241.84769149238159,
- "x": 111.35023940160411,
- "z": 0.167414971004892
- },
- {
- "u": "other",
- "w": -0.4506378010737888,
- "v": "other",
- "y": 90.4639669582562,
- "x": 158.90001697899683,
- "z": 1.1696787253371819
- },
- {
- "u": "cat_0",
- "w": 1.2656151949587624,
- "v": "other",
- "y": 183.02945581640645,
- "x": 180.4213167593254,
- "z": 2.0539930046863035
- },
- {
- "u": "cat_13",
- "w": 1.228801369090003,
- "v": "other",
- "y": 277.13369884311936,
- "x": 80.15664163346004,
- "z": 2.2937904251948638
- },
- {
- "u": "cat_5",
- "w": 2.0896213510871937,
- "v": "other",
- "y": 163.72382240169802,
- "x": 215.41216187620037,
- "z": 2.553028570447125
- },
- {
- "u": "cat_15",
- "w": 1.0981586322470924,
- "v": "other",
- "y": 109.2838491053391,
- "x": 184.09570421897956,
- "z": 0.44759620112619647
- },
- {
- "u": "other",
- "w": 1.3457067544720736,
- "v": "other",
- "y": 171.16629782677862,
- "x": 213.12963803437316,
- "z": 0.7270493828061404
- },
- {
- "u": "cat_13",
- "w": -0.7076617244518462,
- "v": "other",
- "y": 144.05587078713071,
- "x": 184.28906651578978,
- "z": 1.382134562867984
- },
- {
- "u": "cat_0",
- "w": -0.2800595737017382,
- "v": "other",
- "y": 193.27473606725474,
- "x": 154.94633537134789,
- "z": -0.33791235399367947
- },
- {
- "u": "cat_14",
- "w": 0.4456793621586681,
- "v": "other",
- "y": 125.1308061934427,
- "x": 123.90267987241343,
- "z": 2.3230978938654645
- },
- {
- "u": "cat_5",
- "w": 3.075103103171694,
- "v": "cat_0",
- "y": 154.8755877624397,
- "x": 61.020238047163375,
- "z": 1.6674654330131888
- },
- {
- "u": "other",
- "w": 0.16319305741807733,
- "v": "cat_0",
- "y": 114.08645682777497,
- "x": 225.28654361195518,
- "z": 0.4242182000961613
- },
- {
- "u": "cat_6",
- "w": 1.9417162589422323,
- "v": "other",
- "y": 185.28537858495014,
- "x": 155.5736376536581,
- "z": 1.1747492195973144
- },
- {
- "u": "cat_4",
- "w": 1.155787735870216,
- "v": "cat_1",
- "y": 183.24930292147863,
- "x": 115.40643586463635,
- "z": 0.19242660628339903
- },
- {
- "u": "other",
- "w": 0.6070329867687532,
- "v": "other",
- "y": 57.398818613660296,
- "x": 219.87611544574744,
- "z": 1.1095208041769122
- },
- {
- "u": "cat_6",
- "w": 0.4083905726447342,
- "v": "other",
- "y": 175.40387812166918,
- "x": 224.68335734038368,
- "z": -0.42207104629857617
- },
- {
- "u": "cat_5",
- "w": 0.6585907631358738,
- "v": "cat_1",
- "y": 124.05051069396585,
- "x": 127.07766432478591,
- "z": 0.1354114111502046
- },
- {
- "u": "cat_10",
- "w": 1.734882212854999,
- "v": "cat_1",
- "y": 143.78518104207086,
- "x": 198.75776145611215,
- "z": -0.12283925137929064
- },
- {
- "u": "other",
- "w": 0.20503963437937356,
- "v": "other",
- "y": 151.75327292745928,
- "x": 148.9695770940796,
- "z": 0.564428194218838
- },
- {
- "u": "cat_15",
- "w": 1.8574692523422356,
- "v": "other",
- "y": 306.0898140884456,
- "x": 147.43144660079602,
- "z": -0.22413411708624853
- },
- {
- "u": "cat_4",
- "w": 1.1062688896220425,
- "v": "other",
- "y": 212.44397654702615,
- "x": 195.86829581464062,
- "z": 0.7453160939357952
- },
- {
- "u": "cat_15",
- "w": -0.27774340110996487,
- "v": "cat_0",
- "y": 122.63707978879633,
- "x": 95.64182307323996,
- "z": 0.6430476399500114
- },
- {
- "u": "cat_11",
- "w": 1.693891428609414,
- "v": "other",
- "y": 161.59041244043587,
- "x": 64.83892325218056,
- "z": 0.6409468598992659
- },
- {
- "u": "cat_0",
- "w": 1.8192638452039414,
- "v": "cat_0",
- "y": 203.44169192711857,
- "x": 175.9035258508178,
- "z": 1.0101903553514529
- },
- {
- "u": "cat_10",
- "w": 1.6693901234237167,
- "v": "other",
- "y": 266.02281722067806,
- "x": 193.7229721388815,
- "z": 1.3287927803604402
- },
- {
- "u": "cat_2",
- "w": 1.6276382654036277,
- "v": "cat_0",
- "y": 174.54476940927518,
- "x": 85.70090208863968,
- "z": 1.3166929052154481
- },
- {
- "u": "cat_4",
- "w": 0.893609545984623,
- "v": "other",
- "y": 135.20127141724655,
- "x": 161.0852992807473,
- "z": 0.7423369081120028
- },
- {
- "u": "cat_8",
- "w": -0.25726080091728387,
- "v": "other",
- "y": 87.98074634203813,
- "x": 194.6466767641028,
- "z": 1.171709779521613
- },
- {
- "u": "cat_6",
- "w": 1.4386749809763226,
- "v": "other",
- "y": 154.56889252680085,
- "x": 137.16494490842896,
- "z": 1.8319953052292166
- },
- {
- "u": "cat_1",
- "w": 1.9751827147081238,
- "v": "other",
- "y": 150.52324196509258,
- "x": 51.69078624012406,
- "z": -0.23529144151246717
- },
- {
- "u": "cat_14",
- "w": 1.3843184328271165,
- "v": "other",
- "y": 160.51323171649904,
- "x": 169.7361988952806,
- "z": 1.3970600816965812
- },
- {
- "u": "cat_15",
- "w": -0.475868599212677,
- "v": "other",
- "y": 132.27225542990598,
- "x": 103.56729490389614,
- "z": 0.4512210085364755
- },
- {
- "u": "cat_4",
- "w": 1.2081442447975173,
- "v": "cat_0",
- "y": 56.102440394233255,
- "x": 124.56829572524175,
- "z": 1.2994110022657026
- },
- {
- "u": "cat_13",
- "w": 1.736143244910195,
- "v": "cat_0",
- "y": 212.5650565277553,
- "x": 140.4278102663895,
- "z": 2.3771380059458744
- },
- {
- "u": "cat_14",
- "w": -0.461785512082463,
- "v": "cat_1",
- "y": 101.5707842719089,
- "x": 196.16957370342342,
- "z": 2.0950787429883846
- },
- {
- "u": "cat_5",
- "w": 1.3260330340794257,
- "v": "cat_1",
- "y": 195.74556071781365,
- "x": 36.939138857293585,
- "z": -0.05847270264086335
- },
- {
- "u": "cat_9",
- "w": 0.3220908087517964,
- "v": "other",
- "y": 221.78294482102933,
- "x": 74.76586558666337,
- "z": -0.05817419869022866
- },
- {
- "u": "cat_5",
- "w": 0.8170251870816604,
- "v": "other",
- "y": 179.17790605043118,
- "x": 232.48747575985655,
- "z": 1.7029885149441673
- },
- {
- "u": "cat_3",
- "w": 0.2659811986182221,
- "v": "cat_1",
- "y": 192.81824199631728,
- "x": 140.710358385573,
- "z": 1.5793646916427102
- },
- {
- "u": "cat_8",
- "w": 1.2271687489820546,
- "v": "other",
- "y": 111.59013545108343,
- "x": 101.3489243773156,
- "z": 3.21128318091031
- },
- {
- "u": "cat_13",
- "w": 1.3499209090064648,
- "v": "other",
- "y": 91.89209852687142,
- "x": 154.6035518322702,
- "z": 0.6817267324899431
- },
- {
- "u": "cat_0",
- "w": 2.159235435849202,
- "v": "other",
- "y": 158.63631854616588,
- "x": 120.35802170671863,
- "z": 0.6067162231097979
- },
- {
- "u": "cat_14",
- "w": 0.8523794752014957,
- "v": "other",
- "y": 76.05793322732642,
- "x": 138.4115475783541,
- "z": 0.2967991752860232
- },
- {
- "u": "cat_12",
- "w": 1.0558373735944235,
- "v": "other",
- "y": 124.74002651703651,
- "x": 157.02907657551447,
- "z": -0.025374565392791038
- },
- {
- "u": "cat_0",
- "w": 1.3648422432834806,
- "v": "cat_1",
- "y": 203.82847317695288,
- "x": 152.02003088030492,
- "z": -0.4421819240850271
- },
- {
- "u": "cat_4",
- "w": 0.8156055831409262,
- "v": "other",
- "y": 95.97296459484079,
- "x": 78.51455593195435,
- "z": 1.1994133990162583
- },
- {
- "u": "cat_3",
- "w": 0.727605537039985,
- "v": "other",
- "y": 168.70196209212494,
- "x": 212.41730028904536,
- "z": 0.6997491454171789
- },
- {
- "u": "cat_6",
- "w": 1.262490286926595,
- "v": "other",
- "y": 134.65200754480446,
- "x": 42.54634367887225,
- "z": 0.5177600909542267
- },
- {
- "u": "cat_8",
- "w": 1.4837053114286998,
- "v": "cat_0",
- "y": 112.28208956177541,
- "x": 193.95863032046006,
- "z": 1.0019859410064678
- },
- {
- "u": "cat_8",
- "w": -0.16895357221403362,
- "v": "cat_0",
- "y": 192.98985884826888,
- "x": 144.96182365337268,
- "z": 1.4190462447457899
- },
- {
- "u": "cat_16",
- "w": 1.0468806482899717,
- "v": "cat_0",
- "y": 152.86277692393685,
- "x": 137.2022037296142,
- "z": 0.4593974450208086
- },
- {
- "u": "cat_6",
- "w": 2.462089222004976,
- "v": "cat_1",
- "y": 178.5621123552027,
- "x": 142.01082685227874,
- "z": 0.580699096900331
- },
- {
- "u": "other",
- "w": -0.9097490420343397,
- "v": "other",
- "y": 137.21823856264854,
- "x": 94.98376759227347,
- "z": 2.118286289288478
- },
- {
- "u": "cat_5",
- "w": 0.6155123359814616,
- "v": "other",
- "y": 52.94291552982141,
- "x": 85.57431217669814,
- "z": -0.09704681018895633
- },
- {
- "u": "cat_11",
- "w": 1.9468348457441005,
- "v": "other",
- "y": 243.07706417763518,
- "x": 163.35061475046334,
- "z": 1.178015608927323
- },
- {
- "u": "cat_13",
- "w": -0.11396040656336393,
- "v": "other",
- "y": 102.69550510842956,
- "x": 105.80547059051209,
- "z": 1.7309952065474825
- },
- {
- "u": "cat_0",
- "w": 1.0201819734167836,
- "v": "other",
- "y": 226.24093931458543,
- "x": 128.26413056781655,
- "z": 0.602354545792653
- },
- {
- "u": "cat_9",
- "w": 0.41269060095932775,
- "v": "other",
- "y": 22.06560060765568,
- "x": 169.41836118747312,
- "z": 0.6422396319927962
- },
- {
- "u": "cat_13",
- "w": 1.1423761297271733,
- "v": "other",
- "y": 122.16006750791158,
- "x": 64.32267243426844,
- "z": 0.5677725122287971
- },
- {
- "u": "cat_0",
- "w": -0.4940883354815302,
- "v": "other",
- "y": 146.45339448820994,
- "x": 172.009924725858,
- "z": 0.5733149663059203
- },
- {
- "u": "cat_12",
- "w": 2.0427267231236836,
- "v": "other",
- "y": 105.09233739863171,
- "x": 151.8604441328228,
- "z": -1.0417341971519445
- },
- {
- "u": "cat_0",
- "w": -0.06844772614894712,
- "v": "cat_0",
- "y": 208.74646965359665,
- "x": 211.0589178490544,
- "z": 3.033892234816319
- },
- {
- "u": "cat_10",
- "w": 0.1407531030532979,
- "v": "other",
- "y": 212.1295737404453,
- "x": 157.62156278215423,
- "z": -0.17802781876760476
- },
- {
- "u": "cat_7",
- "w": 0.654514275645782,
- "v": "cat_1",
- "y": 127.45107550739947,
- "x": 94.87901525572023,
- "z": 1.169027403658316
- },
- {
- "u": "cat_15",
- "w": 2.7361843748627708,
- "v": "other",
- "y": 184.8888620082486,
- "x": 116.81017887336674,
- "z": -0.5196787907040106
- },
- {
- "u": "other",
- "w": 0.7134526835944346,
- "v": "other",
- "y": 169.9779808978828,
- "x": 108.48468655071922,
- "z": 2.4985146493801524
- },
- {
- "u": "cat_1",
- "w": 2.0017599837707474,
- "v": "other",
- "y": 193.69331303548242,
- "x": 161.953677145996,
- "z": 0.9928254618909004
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json
deleted file mode 100644
index c50d5df..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/small-range.json
+++ /dev/null
@@ -1,26 +0,0 @@
- [
- {
- "date": "2014-01-01",
- "value": 1
- },
- {
- "date": "2014-01-02",
- "value": 3
- },
- {
- "date": "2014-01-03",
- "value": 2
- },
- {
- "date": "2014-01-04",
- "value": 2
- },
- {
- "date": "2014-01-05",
- "value": 2
- },
- {
- "date": "2014-01-06",
- "value": 1
- }
- ]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json
deleted file mode 100644
index f84a3ff..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_currency.json
+++ /dev/null
@@ -1,402 +0,0 @@
-[
- {
- "date": "2014-02-01",
- "value": 15000000
- },
- {
- "date": "2014-02-02",
- "value": 16487625
- },
- {
- "date": "2014-02-03",
- "value": 17097434
- },
- {
- "date": "2014-02-04",
- "value": 17694420
- },
- {
- "date": "2014-02-05",
- "value": 17014381
- },
- {
- "date": "2014-02-06",
- "value": 15578984
- },
- {
- "date": "2014-02-07",
- "value": 14718953
- },
- {
- "date": "2014-02-08",
- "value": 15020669
- },
- {
- "date": "2014-02-09",
- "value": 13889722
- },
- {
- "date": "2014-02-10",
- "value": 13979897
- },
- {
- "date": "2014-02-11",
- "value": 14595566
- },
- {
- "date": "2014-02-12",
- "value": 14123256
- },
- {
- "date": "2014-02-13",
- "value": 14083675
- },
- {
- "date": "2014-02-14",
- "value": 15068426
- },
- {
- "date": "2014-02-15",
- "value": 15368056
- },
- {
- "date": "2014-02-16",
- "value": 15277054
- },
- {
- "date": "2014-02-17",
- "value": 14376243
- },
- {
- "date": "2014-02-18",
- "value": 13058892
- },
- {
- "date": "2014-02-19",
- "value": 12367653
- },
- {
- "date": "2014-02-20",
- "value": 13184423
- },
- {
- "date": "2014-02-21",
- "value": 14367203
- },
- {
- "date": "2014-02-22",
- "value": 14656447
- },
- {
- "date": "2014-02-23",
- "value": 14724526
- },
- {
- "date": "2014-02-24",
- "value": 14938129
- },
- {
- "date": "2014-02-25",
- "value": 14205617
- },
- {
- "date": "2014-02-26",
- "value": 14596607
- },
- {
- "date": "2014-02-27",
- "value": 13982597
- },
- {
- "date": "2014-02-28",
- "value": 15107034
- },
- {
- "date": "2014-03-01",
- "value": 13646739
- },
- {
- "date": "2014-03-02",
- "value": 14214763
- },
- {
- "date": "2014-03-03",
- "value": 14952136
- },
- {
- "date": "2014-03-04",
- "value": 14643933
- },
- {
- "date": "2014-03-05",
- "value": 13611435
- },
- {
- "date": "2014-03-06",
- "value": 12569788
- },
- {
- "date": "2014-03-07",
- "value": 11344469
- },
- {
- "date": "2014-03-08",
- "value": 12687132
- },
- {
- "date": "2014-03-09",
- "value": 11831144
- },
- {
- "date": "2014-03-10",
- "value": 10480837
- },
- {
- "date": "2014-03-11",
- "value": 9051161
- },
- {
- "date": "2014-03-12",
- "value": 9964784
- },
- {
- "date": "2014-03-13",
- "value": 11035006
- },
- {
- "date": "2014-03-14",
- "value": 10081289
- },
- {
- "date": "2014-03-15",
- "value": 9793897
- },
- {
- "date": "2014-03-16",
- "value": 9177447
- },
- {
- "date": "2014-03-17",
- "value": 8035348
- },
- {
- "date": "2014-03-18",
- "value": 6770242
- },
- {
- "date": "2014-03-19",
- "value": 7272077
- },
- {
- "date": "2014-03-20",
- "value": 8216348
- },
- {
- "date": "2014-03-21",
- "value": 8576584
- },
- {
- "date": "2014-03-22",
- "value": 9421060
- },
- {
- "date": "2014-03-23",
- "value": 10872288
- },
- {
- "date": "2014-03-24",
- "value": 9537996
- },
- {
- "date": "2014-03-25",
- "value": 9560363
- },
- {
- "date": "2014-03-26",
- "value": 8182813
- },
- {
- "date": "2014-03-27",
- "value": 9068173
- },
- {
- "date": "2014-03-28",
- "value": 10390251
- },
- {
- "date": "2014-03-29",
- "value": 9714081
- },
- {
- "date": "2014-03-30",
- "value": 9994670
- },
- {
- "date": "2014-03-31",
- "value": 9317878
- },
- {
- "date": "2014-04-01",
- "value": 8209077
- },
- {
- "date": "2014-04-02",
- "value": 9230830
- },
- {
- "date": "2014-04-03",
- "value": 8978342
- },
- {
- "date": "2014-04-04",
- "value": 8361854
- },
- {
- "date": "2014-04-05",
- "value": 9345999
- },
- {
- "date": "2014-04-06",
- "value": 7965407
- },
- {
- "date": "2014-04-07",
- "value": 8909276
- },
- {
- "date": "2014-04-08",
- "value": 8935489
- },
- {
- "date": "2014-04-09",
- "value": 8634997
- },
- {
- "date": "2014-04-10",
- "value": 8795592
- },
- {
- "date": "2014-04-11",
- "value": 7513086
- },
- {
- "date": "2014-04-12",
- "value": 8408561
- },
- {
- "date": "2014-04-13",
- "value": 7780649
- },
- {
- "date": "2014-04-14",
- "value": 7524281
- },
- {
- "date": "2014-04-15",
- "value": 8498062
- },
- {
- "date": "2014-04-16",
- "value": 7922453
- },
- {
- "date": "2014-04-17",
- "value": 9304312
- },
- {
- "date": "2014-04-18",
- "value": 8199457
- },
- {
- "date": "2014-04-19",
- "value": 8926136
- },
- {
- "date": "2014-04-20",
- "value": 7558184
- },
- {
- "date": "2014-04-21",
- "value": 6417511
- },
- {
- "date": "2014-04-22",
- "value": 5748831
- },
- {
- "date": "2014-04-23",
- "value": 6503022
- },
- {
- "date": "2014-04-24",
- "value": 6429606
- },
- {
- "date": "2014-04-25",
- "value": 5057410
- },
- {
- "date": "2014-04-26",
- "value": 5924669
- },
- {
- "date": "2014-04-27",
- "value": 4728239
- },
- {
- "date": "2014-04-28",
- "value": 3918540
- },
- {
- "date": "2014-04-29",
- "value": 2821473
- },
- {
- "date": "2014-04-30",
- "value": 1995781
- },
- {
- "date": "2014-05-01",
- "value": 1123626
- },
- {
- "date": "2014-05-02",
- "value": 516067
- },
- {
- "date": "2014-05-03",
- "value": 816831
- },
- {
- "date": "2014-05-04",
- "value": 816831
- },
- {
- "date": "2014-05-05",
- "value": 816831
- },
- {
- "date": "2014-05-06",
- "value": 1103818
- },
- {
- "date": "2014-05-07",
- "value": 958188
- },
- {
- "date": "2014-05-08",
- "value": 592995
- },
- {
- "date": "2014-05-09",
- "value": 856066
- },
- {
- "date": "2014-05-10",
- "value": 1766761
- },
- {
- "date": "2014-05-11",
- "value": 1330557
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json
deleted file mode 100644
index 38e73a8..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/some_percentage.json
+++ /dev/null
@@ -1,482 +0,0 @@
-[[
- {
- "date": "2014-01-01",
- "value": 0.5
- },
- {
- "date": "2014-01-02",
- "value": 0.5038520341226763
- },
- {
- "date": "2014-01-03",
- "value": 0.501041575106488
- },
- {
- "date": "2014-01-04",
- "value": 0.4984465228974178
- },
- {
- "date": "2014-01-05",
- "value": 0.5003884470629179
- },
- {
- "date": "2014-01-06",
- "value": 0.5031564481343913
- },
- {
- "date": "2014-01-07",
- "value": 0.5078607730320586
- },
- {
- "date": "2014-01-08",
- "value": 0.5041111109212457
- },
- {
- "date": "2014-01-09",
- "value": 0.5069321806604172
- },
- {
- "date": "2014-01-10",
- "value": 0.5026154784253497
- },
- {
- "date": "2014-01-11",
- "value": 0.5065241796178874
- },
- {
- "date": "2014-01-12",
- "value": 0.5018867686214743
- },
- {
- "date": "2014-01-13",
- "value": 0.5043001746033196
- },
- {
- "date": "2014-01-14",
- "value": 0.504404210966798
- },
- {
- "date": "2014-01-15",
- "value": 0.5075142056997484
- },
- {
- "date": "2014-01-16",
- "value": 0.5040481679854495
- },
- {
- "date": "2014-01-17",
- "value": 0.5079346812032152
- },
- {
- "date": "2014-01-18",
- "value": 0.5049685486383059
- },
- {
- "date": "2014-01-19",
- "value": 0.501658667449764
- },
- {
- "date": "2014-01-20",
- "value": 0.5062171996366631
- },
- {
- "date": "2014-01-21",
- "value": 0.5099836766672865
- },
- {
- "date": "2014-01-22",
- "value": 0.5142091385990467
- },
- {
- "date": "2014-01-23",
- "value": 0.51791294997185
- },
- {
- "date": "2014-01-24",
- "value": 0.515437378755626
- },
- {
- "date": "2014-01-25",
- "value": 0.5108648416664958
- },
- {
- "date": "2014-01-26",
- "value": 0.5066707579977331
- },
- {
- "date": "2014-01-27",
- "value": 0.5082993886500073
- },
- {
- "date": "2014-01-28",
- "value": 0.508072158918364
- },
- {
- "date": "2014-01-29",
- "value": 0.5118157526668022
- },
- {
- "date": "2014-01-30",
- "value": 0.5086344978955772
- },
- {
- "date": "2014-01-31",
- "value": 0.5044280885188968
- },
- {
- "date": "2014-02-01",
- "value": 0.5030791435263089
- },
- {
- "date": "2014-02-02",
- "value": 0.502718430201384
- },
- {
- "date": "2014-02-03",
- "value": 0.5049505139164281
- },
- {
- "date": "2014-02-04",
- "value": 0.5004045433833447
- },
- {
- "date": "2014-02-05",
- "value": 0.49766880474999803
- },
- {
- "date": "2014-02-06",
- "value": 0.4974778854176423
- },
- {
- "date": "2014-02-07",
- "value": 0.4985548716459768
- },
- {
- "date": "2014-02-08",
- "value": 0.5023737776839208
- },
- {
- "date": "2014-02-09",
- "value": 0.504603230338525
- },
- {
- "date": "2014-02-10",
- "value": 0.504432332684573
- },
- {
- "date": "2014-02-11",
- "value": 0.5037437093637779
- },
- {
- "date": "2014-02-12",
- "value": 0.5086112226114583
- },
- {
- "date": "2014-02-13",
- "value": 0.5053845731032296
- },
- {
- "date": "2014-02-14",
- "value": 0.5015637131811963
- },
- {
- "date": "2014-02-15",
- "value": 0.5021784674076278
- },
- {
- "date": "2014-02-16",
- "value": 0.5063559353265494
- },
- {
- "date": "2014-02-17",
- "value": 0.5061080613055542
- },
- {
- "date": "2014-02-18",
- "value": 0.5088703428084825
- },
- {
- "date": "2014-02-19",
- "value": 0.5096209075909987
- },
- {
- "date": "2014-02-20",
- "value": 0.5128114425067571
- },
- {
- "date": "2014-02-21",
- "value": 0.5166249796532173
- },
- {
- "date": "2014-02-22",
- "value": 0.5139670211970626
- },
- {
- "date": "2014-02-23",
- "value": 0.5142364616064596
- },
- {
- "date": "2014-02-24",
- "value": 0.509528966467216
- },
- {
- "date": "2014-02-25",
- "value": 0.5061758737477107
- },
- {
- "date": "2014-02-26",
- "value": 0.5107159178338729
- },
- {
- "date": "2014-02-27",
- "value": 0.508788445629648
- },
- {
- "date": "2014-02-28",
- "value": 0.5104817721021337
- },
- {
- "date": "2014-03-01",
- "value": 0.5078546349712474
- },
- {
- "date": "2014-03-02",
- "value": 0.5034753798731827
- },
- {
- "date": "2014-03-03",
- "value": 0.5007772580143368
- },
- {
- "date": "2014-03-04",
- "value": 0.5038655942824244
- },
- {
- "date": "2014-03-05",
- "value": 0.5005272030781814
- },
- {
- "date": "2014-03-06",
- "value": 0.5051827393254152
- },
- {
- "date": "2014-03-07",
- "value": 0.5005534190016493
- },
- {
- "date": "2014-03-08",
- "value": 0.5018578155863522
- },
- {
- "date": "2014-03-09",
- "value": 0.5040739797833739
- },
- {
- "date": "2014-03-10",
- "value": 0.501067869219016
- },
- {
- "date": "2014-03-11",
- "value": 0.49814427475390644
- },
- {
- "date": "2014-03-12",
- "value": 0.4963610004168396
- },
- {
- "date": "2014-03-13",
- "value": 0.4930795253820748
- },
- {
- "date": "2014-03-14",
- "value": 0.49079904429566784
- },
- {
- "date": "2014-03-15",
- "value": 0.48809922877941647
- },
- {
- "date": "2014-03-16",
- "value": 0.4877332115117854
- },
- {
- "date": "2014-03-17",
- "value": 0.48411898100901407
- },
- {
- "date": "2014-03-18",
- "value": 0.4845248458179287
- },
- {
- "date": "2014-03-19",
- "value": 0.4831193157053157
- },
- {
- "date": "2014-03-20",
- "value": 0.4819550362933503
- },
- {
- "date": "2014-03-21",
- "value": 0.4786897823467451
- },
- {
- "date": "2014-03-22",
- "value": 0.4761045288827436
- },
- {
- "date": "2014-03-23",
- "value": 0.478630898886419
- },
- {
- "date": "2014-03-24",
- "value": 0.4790840508114705
- },
- {
- "date": "2014-03-25",
- "value": 0.4794318346558028
- },
- {
- "date": "2014-03-26",
- "value": 0.4748848817015309
- },
- {
- "date": "2014-03-27",
- "value": 0.47815004291090735
- },
- {
- "date": "2014-03-28",
- "value": 0.47980437734217457
- },
- {
- "date": "2014-03-29",
- "value": 0.4817800142504527
- },
- {
- "date": "2014-03-30",
- "value": 0.4768033811913309
- },
- {
- "date": "2014-03-31",
- "value": 0.47223012774930034
- },
- {
- "date": "2014-04-01",
- "value": 0.467614878310697
- },
- {
- "date": "2014-04-02",
- "value": 0.4690382217852809
- },
- {
- "date": "2014-04-03",
- "value": 0.4707312671717389
- },
- {
- "date": "2014-04-04",
- "value": 0.46874599002888123
- },
- {
- "date": "2014-04-05",
- "value": 0.4695232950365088
- },
- {
- "date": "2014-04-06",
- "value": 0.46812382634056693
- },
- {
- "date": "2014-04-07",
- "value": 0.4638152377393435
- },
- {
- "date": "2014-04-08",
- "value": 0.46846294509572217
- },
- {
- "date": "2014-04-09",
- "value": 0.46537117781745313
- },
- {
- "date": "2014-04-10",
- "value": 0.46667486617647175
- },
- {
- "date": "2014-04-11",
- "value": 0.4700567595482735
- },
- {
- "date": "2014-04-12",
- "value": 0.4722401087279864
- },
- {
- "date": "2014-04-13",
- "value": 0.4754113422480582
- },
- {
- "date": "2014-04-14",
- "value": 0.47237758499686866
- },
- {
- "date": "2014-04-15",
- "value": 0.476321568527422
- },
- {
- "date": "2014-04-16",
- "value": 0.4782068702675784
- },
- {
- "date": "2014-04-17",
- "value": 0.4745382598882709
- },
- {
- "date": "2014-04-18",
- "value": 0.4778251241650657
- },
- {
- "date": "2014-04-19",
- "value": 0.48001845981032665
- },
- {
- "date": "2014-04-20",
- "value": 0.47797297492254276
- },
- {
- "date": "2014-04-21",
- "value": 0.473354228995828
- },
- {
- "date": "2014-04-22",
- "value": 0.470896702947272
- },
- {
- "date": "2014-04-23",
- "value": 0.4745305949746629
- },
- {
- "date": "2014-04-24",
- "value": 0.47596513680604596
- },
- {
- "date": "2014-04-25",
- "value": 0.4731953889995623
- },
- {
- "date": "2014-04-26",
- "value": 0.4737532034837451
- },
- {
- "date": "2014-04-27",
- "value": 0.4710481041669472
- },
- {
- "date": "2014-04-28",
- "value": 0.46605544080317923
- },
- {
- "date": "2014-04-29",
- "value": 0.4631336037812991
- },
- {
- "date": "2014-04-30",
- "value": 0.46305963624370283
- }
-]] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json
deleted file mode 100644
index 3f06d9d..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/split_by.json
+++ /dev/null
@@ -1,548 +0,0 @@
- [
- {
- "date": "2014-01-01",
- "release": 110000000,
- "beta": 4200000,
- "alpha": 2600000
- },
- {
- "date": "2014-01-02",
- "release": 110379978,
- "beta": 5379978,
- "alpha": 2779978
- },
- {
- "date": "2014-01-03",
- "release": 110493749,
- "beta": 5493749,
- "alpha": 2893749
- },
- {
- "date": "2014-01-04",
- "release": 110785250,
- "beta": 5785250,
- "alpha": 2485250
- },
- {
- "date": "2014-01-05",
- "release": 113901904,
- "beta": 13901904,
- "alpha": 23901904
- },
- {
- "date": "2014-01-06",
- "release": 111576838,
- "beta": 6576838,
- "alpha": 5576838
- },
- {
- "date": "2014-01-07",
- "release": 114413854,
- "beta": 7413854,
- "alpha": 6413854
- },
- {
- "date": "2014-01-08",
- "release": 115177211,
- "beta": 8177211,
- "alpha": 5977211
- },
- {
- "date": "2014-01-09",
- "release": 116622100,
- "beta": 9622100,
- "alpha": 9122100
- },
- {
- "date": "2014-01-10",
- "release": 117381072,
- "beta": 11381072,
- "alpha": 11381072
- },
- {
- "date": "2014-01-11",
- "release": 118802310,
- "beta": 10802310,
- "alpha": 8802310
- },
- {
- "date": "2014-01-12",
- "release": 115531790,
- "beta": 8531790,
- "alpha": 8131790
- },
- {
- "date": "2014-01-13",
- "release": 115748881,
- "beta": 8748881,
- "alpha": 8848881
- },
- {
- "date": "2014-01-14",
- "release": 118706437,
- "beta": 10706437,
- "alpha": 10006437
- },
- {
- "date": "2014-01-15",
- "release": 119752685,
- "beta": 12752685,
- "alpha": 12752685
- },
- {
- "date": "2014-01-16",
- "release": 121016418,
- "beta": 13016418,
- "alpha": 13016418
- },
- {
- "date": "2014-01-17",
- "release": 125622924,
- "beta": 17622924,
- "alpha": 17622924
- },
- {
- "date": "2014-01-18",
- "release": 125337480,
- "beta": 17337480,
- "alpha": 12337480
- },
- {
- "date": "2014-01-19",
- "release": 122258882,
- "beta": 14258882,
- "alpha": 11218882
- },
- {
- "date": "2014-01-20",
- "release": 123829538,
- "beta": 15829538,
- "alpha": 15129538
- },
- {
- "date": "2014-01-21",
- "release": 124245689,
- "beta": 16245689,
- "alpha": 15215689
- },
- {
- "date": "2014-01-22",
- "release": 126429711,
- "beta": 18429711,
- "alpha": 18429711
- },
- {
- "date": "2014-01-23",
- "release": 126259017,
- "beta": 18259017,
- "alpha": 18259017
- },
- {
- "date": "2014-01-24",
- "release": 125396183,
- "beta": 17396183,
- "alpha": 12396183
- },
- {
- "date": "2014-01-25",
- "release": 123107346,
- "beta": 15107346,
- "alpha": 15107346
- },
- {
- "date": "2014-01-26",
- "release": 128659852,
- "beta": 20659852,
- "alpha": 10659852
- },
- {
- "date": "2014-01-27",
- "release": 125270783,
- "beta": 17270783,
- "alpha": 17270783
- },
- {
- "date": "2014-01-28",
- "release": 126270783,
- "beta": 18270783,
- "alpha": 18270783
- },
- {
- "date": "2014-01-29",
- "release": 127270783,
- "beta": 19270783,
- "alpha": 11270783
- },
- {
- "date": "2014-01-30",
- "release": 128270783,
- "beta": 20270783,
- "alpha": 20270783
- },
- {
- "date": "2014-01-31",
- "release": 129270783,
- "beta": 21270783,
- "alpha": 21270783
- },
- {
- "date": "2014-02-01",
- "release": 130270783,
- "beta": 22270783,
- "alpha": 22270783
- },
- {
- "date": "2014-02-02",
- "release": 131270783,
- "beta": 23270783,
- "alpha": 23270783
- },
- {
- "date": "2014-02-03",
- "release": 132270783,
- "beta": 24270783,
- "alpha": 24270783
- },
- {
- "date": "2014-02-04",
- "release": 133270783,
- "beta": 25270783,
- "alpha": 23270783
- },
- {
- "date": "2014-02-05",
- "release": 128270783,
- "beta": 20270783,
- "alpha": 20270783
- },
- {
- "date": "2014-02-06",
- "release": 127270783,
- "beta": 19270783,
- "alpha": 19270783
- },
- {
- "date": "2014-02-07",
- "release": 135270783,
- "beta": 27270783,
- "alpha": 27270783
- },
- {
- "date": "2014-02-08",
- "release": 134270783,
- "beta": 26270783,
- "alpha": 26270783
- },
- {
- "date": "2014-02-09",
- "release": 128270783,
- "beta": 20270783,
- "alpha": 20270783
- },
- {
- "date": "2014-02-10",
- "release": 135270783,
- "beta": 27270783,
- "alpha": 24270783
- },
- {
- "date": "2014-02-11",
- "release": 136270783,
- "beta": 28270783,
- "alpha": 28270783
- },
- {
- "date": "2014-02-12",
- "release": 134127078,
- "beta": 26127078,
- "alpha": 26127078
- },
- {
- "date": "2014-02-13",
- "release": 133124078,
- "beta": 25124078,
- "alpha": 25124078
- },
- {
- "date": "2014-02-14",
- "release": 136227078,
- "beta": 28227078,
- "alpha": 26127078
- },
- {
- "date": "2014-02-15",
- "release": 137827078,
- "beta": 29827078,
- "alpha": 29827078
- },
- {
- "date": "2014-02-16",
- "release": 136427073,
- "beta": 28427073,
- "alpha": 28427073
- },
- {
- "date": "2014-02-17",
- "release": 137570783,
- "beta": 29570783,
- "alpha": 29570783
- },
- {
- "date": "2014-02-18",
- "release": 138627073,
- "beta": 30627073,
- "alpha": 30627073
- },
- {
- "date": "2014-02-19",
- "release": 137727078,
- "beta": 29727078,
- "alpha": 29727078
- },
- {
- "date": "2014-02-20",
- "release": 138827073,
- "beta": 30827073,
- "alpha": 30827073
- },
- {
- "date": "2014-02-21",
- "release": 140927078,
- "beta": 32927078,
- "alpha": 32927078
- },
- {
- "date": "2014-02-22",
- "release": 141027078,
- "beta": 33027078,
- "alpha": 40027078
- },
- {
- "date": "2014-02-23",
- "release": 142127073,
- "beta": 34127073,
- "alpha": 34127073
- },
- {
- "date": "2014-02-24",
- "release": 143220783,
- "beta": 35220783,
- "alpha": 35220783
- },
- {
- "date": "2014-02-25",
- "release": 144327078,
- "beta": 36327078,
- "alpha": 36327078
- },
- {
- "date": "2014-02-26",
- "release": 140427078,
- "beta": 32427078,
- "alpha": 32427078
- },
- {
- "date": "2014-02-27",
- "release": 141027078,
- "beta": 33027078,
- "alpha": 33027078
- },
- {
- "date": "2014-02-28",
- "release": 145627078,
- "beta": 37627078,
- "alpha": 37627078
- },
- {
- "date": "2014-03-01",
- "release": 144727078,
- "beta": 36727078,
- "alpha": 36727078
- },
- {
- "date": "2014-03-02",
- "release": 144227078,
- "beta": 36227078,
- "alpha": 36227078
- },
- {
- "date": "2014-03-03",
- "release": 145227078,
- "beta": 37227078,
- "alpha": 37227078
- },
- {
- "date": "2014-03-04",
- "release": 146027078,
- "beta": 38027078,
- "alpha": 38027078
- },
- {
- "date": "2014-03-05",
- "release": 146927078,
- "beta": 38927078,
- "alpha": 38927078
- },
- {
- "date": "2014-03-06",
- "release": 147027078,
- "beta": 39027078,
- "alpha": 39027078
- },
- {
- "date": "2014-03-07",
- "release": 146227078,
- "beta": 38227078,
- "alpha": 32427078
- },
- {
- "date": "2014-03-08",
- "release": 147027078,
- "beta": 39027078,
- "alpha": 39027078
- },
- {
- "date": "2014-03-09",
- "release": 148027078,
- "beta": 40027078,
- "alpha": 40027078
- },
- {
- "date": "2014-03-10",
- "release": 147027078,
- "beta": 39027078,
- "alpha": 39027078
- },
- {
- "date": "2014-03-11",
- "release": 147027078,
- "beta": 39027078,
- "alpha": 37027078
- },
- {
- "date": "2014-03-12",
- "release": 148017078,
- "beta": 40017078,
- "alpha": 38817078
- },
- {
- "date": "2014-03-13",
- "release": 148077078,
- "beta": 40077078,
- "alpha": 40077078
- },
- {
- "date": "2014-03-14",
- "release": 148087078,
- "beta": 40087078,
- "alpha": 40087078
- },
- {
- "date": "2014-03-15",
- "release": 148017078,
- "beta": 40017078,
- "alpha": 40017078
- },
- {
- "date": "2014-03-16",
- "release": 148047078,
- "beta": 40047078,
- "alpha": 40047078
- },
- {
- "date": "2014-03-17",
- "release": 148067078,
- "beta": 40067078,
- "alpha": 40067078
- },
- {
- "date": "2014-03-18",
- "release": 148077078,
- "beta": 40077078,
- "alpha": 39977078
- },
- {
- "date": "2014-03-19",
- "release": 148027074,
- "beta": 40027074,
- "alpha": 40027074
- },
- {
- "date": "2014-03-20",
- "release": 148927079,
- "beta": 40927079,
- "alpha": 40927079
- },
- {
- "date": "2014-03-21",
- "release": 148727071,
- "beta": 40727071,
- "alpha": 40727071
- },
- {
- "date": "2014-03-22",
- "release": 148127072,
- "beta": 40127072,
- "alpha": 37127072
- },
- {
- "date": "2014-03-23",
- "release": 148527072,
- "beta": 40527072,
- "alpha": 40527072
- },
- {
- "date": "2014-03-24",
- "release": 148627027,
- "beta": 40627027,
- "alpha": 40627027
- },
- {
- "date": "2014-03-25",
- "release": 148027040,
- "beta": 40027040,
- "alpha": 40027040
- },
- {
- "date": "2014-03-26",
- "release": 148027043,
- "beta": 40027043,
- "alpha": 40027043
- },
- {
- "date": "2014-03-27",
- "release": 148057022,
- "beta": 40057022,
- "alpha": 40057022
- },
- {
- "date": "2014-03-28",
- "release": 149057022,
- "beta": 41057022,
- "alpha": 40057022
- },
- {
- "date": "2014-03-29",
- "release": 150057022,
- "beta": 42057022,
- "alpha": 42057022
- },
- {
- "date": "2014-03-30",
- "release": 151057022,
- "beta": 43057022,
- "alpha": 43057022
- },
- {
- "date": "2014-03-31",
- "release": 152057022,
- "beta": 44057022,
- "alpha": 44057022
- },
- {
- "date": "2014-04-01",
- "release": 152056143,
- "beta": 45056143,
- "alpha": 42056143
- }
- ] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json
deleted file mode 100644
index 26caedd..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo-sightings.json
+++ /dev/null
@@ -1,266 +0,0 @@
-[
- {
- "year": "1945",
- "sightings": 6
- },
- {
- "year": "1946",
- "sightings": 8
- },
- {
- "year": "1947",
- "sightings": 34
- },
- {
- "year": "1948",
- "sightings": 8
- },
- {
- "year": "1949",
- "sightings": 15
- },
- {
- "year": "1950",
- "sightings": 25
- },
- {
- "year": "1951",
- "sightings": 20
- },
- {
- "year": "1952",
- "sightings": 48
- },
- {
- "year": "1953",
- "sightings": 34
- },
- {
- "year": "1954",
- "sightings": 50
- },
- {
- "year": "1955",
- "sightings": 31
- },
- {
- "year": "1956",
- "sightings": 38
- },
- {
- "year": "1957",
- "sightings": 67
- },
- {
- "year": "1958",
- "sightings": 40
- },
- {
- "year": "1959",
- "sightings": 47
- },
- {
- "year": "1960",
- "sightings": 64
- },
- {
- "year": "1961",
- "sightings": 39
- },
- {
- "year": "1962",
- "sightings": 55
- },
- {
- "year": "1963",
- "sightings": 75
- },
- {
- "year": "1964",
- "sightings": 77
- },
- {
- "year": "1965",
- "sightings": 167
- },
- {
- "year": "1966",
- "sightings": 169
- },
- {
- "year": "1967",
- "sightings": 178
- },
- {
- "year": "1968",
- "sightings": 183
- },
- {
- "year": "1969",
- "sightings": 138
- },
- {
- "year": "1970",
- "sightings": 126
- },
- {
- "year": "1971",
- "sightings": 110
- },
- {
- "year": "1972",
- "sightings": 146
- },
- {
- "year": "1973",
- "sightings": 209
- },
- {
- "year": "1974",
- "sightings": 241
- },
- {
- "year": "1975",
- "sightings": 279
- },
- {
- "year": "1976",
- "sightings": 246
- },
- {
- "year": "1977",
- "sightings": 239
- },
- {
- "year": "1978",
- "sightings": 301
- },
- {
- "year": "1979",
- "sightings": 221
- },
- {
- "year": "1980",
- "sightings": 211
- },
- {
- "year": "1981",
- "sightings": 146
- },
- {
- "year": "1982",
- "sightings": 182
- },
- {
- "year": "1983",
- "sightings": 132
- },
- {
- "year": "1984",
- "sightings": 172
- },
- {
- "year": "1985",
- "sightings": 192
- },
- {
- "year": "1986",
- "sightings": 173
- },
- {
- "year": "1987",
- "sightings": 193
- },
- {
- "year": "1988",
- "sightings": 203
- },
- {
- "year": "1989",
- "sightings": 220
- },
- {
- "year": "1990",
- "sightings": 217
- },
- {
- "year": "1991",
- "sightings": 210
- },
- {
- "year": "1992",
- "sightings": 228
- },
- {
- "year": "1993",
- "sightings": 285
- },
- {
- "year": "1994",
- "sightings": 381
- },
- {
- "year": "1995",
- "sightings": 1336
- },
- {
- "year": "1996",
- "sightings": 862
- },
- {
- "year": "1997",
- "sightings": 1248
- },
- {
- "year": "1998",
- "sightings": 1812
- },
- {
- "year": "1999",
- "sightings": 2906
- },
- {
- "year": "2000",
- "sightings": 2780
- },
- {
- "year": "2001",
- "sightings": 3105
- },
- {
- "year": "2002",
- "sightings": 3176
- },
- {
- "year": "2003",
- "sightings": 3896
- },
- {
- "year": "2004",
- "sightings": 4208
- },
- {
- "year": "2005",
- "sightings": 3996
- },
- {
- "year": "2006",
- "sightings": 3590
- },
- {
- "year": "2007",
- "sightings": 4195
- },
- {
- "year": "2008",
- "sightings": 4705
- },
- {
- "year": "2009",
- "sightings": 4297
- },
- {
- "year": "2010",
- "sightings": 2531
- }
-] \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv b/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv
deleted file mode 100644
index b7fe149..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/ufo_dates.csv
+++ /dev/null
@@ -1,22841 +0,0 @@
-value
-30
-0
-203
-0
-30
-0
-0
-116
-180
-57
-0
-0
-2
-75
-0
-0
-21
-25
-2
-0
-29
-0
-101
-27
-43
-0
-770
-0
-24
-0
-0
-39
-0
-2
-24
-21
-25
-1
-27
-1866
-113
-0
-1
-1
-876
-1
-0
-0
-68
-287
-1
-257
-31
-299
-176
-21
-51
-51
-51
-25
-20
-91
-24
-0
-0
-48
-279
-70
-52
-22
-100
-50
-80
-1
-10
-0
-3059
-3059
-3059
-4
-74
-26
-383
-0
-3227
-32
-315
-0
-0
-28
-34
-1
-35
-84
-20
-0
-94
-21
-730
-203
-3
-30
-5
-0
-1
-1013
-84
-8
-2056
-7
-75
-291
-291
-291
-570
-4582
-4582
-4582
-148
-415
-139
-30
-0
-6
-40
-237
-3318
-3318
-3318
-253
-106
-162
-356
-121
-1172
-41
-525
-320
-320
-320
-1632
-1632
-1632
-1437
-1267
-64
-149
-67
-0
-29
-33
-115
-482
-1
-434
-65
-219
-0
-142
-157
-13
-0
-27
-24
-1464
-1464
-1464
-56
-422
-1
-775
-367
-90
-189
-0
-1636
-631
-3261
-3261
-3261
-137
-20
-30
-1268
-1268
-1268
-115
-153
-193
-3
-20
-0
-1
-0
-162
-726
-16
-2069
-53
-786
-552
-46
-148
-28
-205
-3
-0
-0
-98
-4006
-4006
-4006
-37
-2
-49
-25
-211
-135
-541
-549
-56
-184
-1398
-1398
-1398
-2602
-2602
-2602
-178
-331
-49
-598
-2219
-28
-8
-65
-3653
-3653
-3653
-2552
-2552
-2552
-31
-1233
-28
-69
-126
-585
-22
-89
-35
-97
-36
-32
-430
-4241
-4241
-4241
-4513
-4513
-4513
-132
-701
-21
-493
-119
-784
-346
-149
-0
-43
-101
-20
-28
-398
-23
-980
-343
-51
-1183
-58
-61
-358
-977
-938
-1
-22
-567
-622
-2341
-1166
-194
-1044
-292
-942
-754
-39
-2
-642
-99
-35
-23
-140
-2534
-280
-3228
-3228
-3228
-36
-40
-37
-1424
-40
-309
-36
-48
-87
-1
-627
-155
-155
-155
-326
-178
-481
-1321
-1321
-1321
-2310
-2310
-2310
-32
-3773
-3773
-3773
-63
-729
-406
-369
-119
-119
-119
-4193
-4193
-4193
-799
-677
-912
-2197
-2197
-2197
-23
-56
-1203
-1203
-1203
-1030
-224
-363
-1746
-1746
-1746
-23
-417
-2340
-4634
-4634
-4634
-610
-350
-320
-3
-115
-3
-23
-202
-47
-4001
-4001
-4001
-0
-0
-211
-211
-211
-0
-2
-133
-1588
-1588
-1588
-53
-34
-4
-12
-21
-238
-144
-144
-144
-11
-74
-280
-107
-24
-343
-68
-46
-38
-339
-1922
-0
-1947
-1947
-1947
-3187
-29
-61
-55
-47
-104
-179
-1446
-1
-238
-669
-3
-79
-61
-5
-581
-1112
-24
-52
-316
-203
-39
-226
-106
-106
-106
-0
-203
-137
-4411
-4411
-4411
-120
-36
-722
-27
-681
-105
-135
-21
-215
-0
-69
-81
-65
-4
-104
-792
-2327
-74
-20
-30
-42
-0
-4300
-4300
-4300
-92
-113
-28
-392
-20
-37
-115
-31
-607
-241
-169
-104
-27
-84
-403
-2205
-3447
-3447
-3447
-213
-21
-36
-989
-888
-888
-888
-0
-206
-14
-98
-98
-98
-325
-87
-172
-299
-1193
-208
-2862
-203
-727
-727
-727
-409
-3770
-3770
-3770
-56
-87
-582
-582
-582
-614
-3067
-3067
-3067
-252
-2272
-2272
-2272
-3911
-21
-451
-894
-49
-268
-268
-268
-0
-151
-212
-575
-23
-1063
-2
-21
-159
-440
-979
-3183
-3183
-3183
-1805
-217
-280
-90
-1110
-2480
-444
-1382
-2523
-2523
-2523
-22
-131
-35
-125
-388
-3502
-3502
-3502
-30
-26
-64
-1830
-1830
-1830
-1268
-3604
-3604
-3604
-967
-41
-483
-46
-972
-84
-21
-906
-0
-0
-3
-576
-365
-2885
-2885
-2885
-365
-1
-236
-634
-99
-477
-49
-114
-34
-1381
-702
-395
-775
-255
-4660
-4660
-4660
-116
-803
-289
-2432
-2432
-2432
-148
-28
-1206
-98
-67
-2639
-185
-1205
-1511
-1463
-24
-1290
-450
-1
-1370
-3315
-2558
-181
-0
-1380
-1380
-1380
-174
-2507
-2507
-2507
-29
-286
-525
-1732
-70
-99
-8
-21
-95
-2163
-664
-664
-664
-21
-33
-56
-3138
-28
-1
-1361
-37
-0
-36
-33
-38
-260
-90
-0
-582
-972
-302
-4854
-4854
-4854
-7
-485
-53
-4636
-4636
-4636
-55
-89
-255
-186
-93
-22
-2032
-23
-63
-3524
-3524
-3524
-2596
-2596
-2596
-2843
-4589
-4589
-4589
-1172
-367
-26
-22
-350
-15
-278
-122
-1202
-185
-0
-1593
-1593
-1593
-32
-39
-916
-23
-577
-526
-1231
-36
-34
-502
-52
-0
-2084
-2084
-2084
-853
-853
-853
-21
-82
-195
-1592
-1592
-1592
-22
-4372
-4372
-4372
-1
-9
-904
-904
-904
-474
-1135
-100
-1490
-1284
-25
-2415
-2415
-2415
-44
-140
-352
-220
-345
-48
-25
-147
-82
-360
-1487
-1487
-1487
-1601
-1601
-1601
-20
-1536
-29
-410
-1077
-0
-161
-161
-161
-3949
-3949
-3949
-1139
-257
-29
-44
-62
-62
-62
-582
-582
-582
-130
-1076
-320
-1
-61
-214
-2782
-64
-41
-283
-30
-520
-454
-2454
-2454
-2454
-388
-7
-950
-45
-80
-190
-5
-189
-1933
-1933
-1933
-26
-2
-470
-73
-1513
-434
-1410
-1410
-1410
-559
-3363
-3363
-3363
-0
-441
-525
-1070
-0
-1834
-1506
-41
-32
-404
-0
-808
-166
-53
-2
-834
-0
-136
-24
-404
-1056
-1
-3284
-3284
-3284
-4662
-4662
-4662
-1009
-1009
-1009
-40
-1326
-25
-1542
-195
-49
-31
-45
-21
-1436
-25
-1476
-1476
-1476
-1194
-49
-2002
-51
-2
-3734
-3734
-3734
-455
-1209
-243
-48
-34
-393
-1160
-1160
-1160
-1020
-368
-34
-1
-31
-47
-103
-109
-540
-3212
-3212
-3212
-460
-1958
-1958
-1958
-30
-1121
-1959
-1959
-1959
-411
-93
-203
-1425
-190
-245
-2088
-280
-280
-280
-2290
-94
-4755
-4755
-4755
-1
-25
-3512
-3512
-3512
-53
-59
-1887
-1887
-1887
-33
-45
-55
-24
-1872
-741
-1405
-1405
-1405
-1098
-85
-31
-92
-94
-148
-397
-393
-445
-2476
-56
-1182
-711
-789
-0
-48
-264
-104
-839
-780
-780
-780
-360
-533
-0
-27
-2625
-1851
-697
-53
-1342
-4443
-4443
-4443
-23
-1
-112
-3118
-1535
-4705
-4705
-4705
-1
-3
-397
-679
-1489
-202
-202
-202
-72
-1199
-1275
-1259
-2028
-2028
-2028
-32
-360
-1076
-1076
-1076
-1042
-1776
-155
-63
-39
-3698
-563
-146
-40
-125
-1218
-3873
-4683
-4683
-4683
-68
-811
-79
-22
-514
-31
-362
-153
-714
-1188
-1188
-1188
-501
-4037
-4037
-4037
-900
-2653
-2653
-2653
-1557
-1557
-1557
-2174
-29
-0
-32
-3332
-3332
-3332
-32
-31
-349
-2
-307
-349
-828
-4
-764
-27
-4044
-1
-14
-3327
-3327
-3327
-480
-480
-480
-171
-99
-22
-4321
-4321
-4321
-35
-101
-20
-68
-101
-59
-0
-489
-27
-55
-43
-1648
-1648
-1648
-1
-4
-1769
-68
-1273
-646
-639
-1557
-452
-216
-1070
-1229
-1229
-1229
-701
-142
-3494
-2
-149
-365
-608
-370
-30
-0
-2388
-2388
-2388
-27
-314
-603
-24
-333
-333
-333
-2736
-2736
-2736
-365
-417
-2808
-2808
-2808
-2201
-3341
-3341
-3341
-1327
-42
-366
-366
-366
-249
-23
-56
-1258
-486
-93
-210
-2581
-2581
-2581
-810
-49
-251
-251
-251
-205
-1100
-135
-75
-155
-160
-82
-960
-2037
-2110
-75
-3421
-3421
-3421
-158
-37
-873
-70
-674
-4606
-4606
-4606
-192
-4435
-4435
-4435
-2251
-1
-848
-220
-0
-155
-768
-768
-768
-54
-31
-1460
-1460
-1460
-168
-102
-342
-3147
-3147
-3147
-128
-37
-1856
-161
-614
-520
-27
-480
-54
-4166
-838
-92
-512
-219
-219
-219
-661
-75
-220
-812
-27
-1976
-1899
-41
-172
-4975
-4975
-4975
-4709
-4709
-4709
-2734
-2734
-2734
-3147
-3147
-3147
-505
-231
-231
-231
-44
-31
-271
-62
-862
-276
-36
-18
-228
-497
-4279
-4279
-4279
-606
-1
-29
-496
-152
-223
-63
-1196
-156
-78
-221
-368
-1954
-1954
-1954
-271
-4
-101
-2336
-398
-262
-2297
-2060
-4252
-2905
-2905
-2905
-35
-598
-1417
-175
-1280
-1280
-1280
-55
-1176
-2453
-1921
-1921
-1921
-48
-1729
-1397
-71
-0
-1748
-2
-223
-336
-1603
-1332
-28
-90
-1545
-2630
-1347
-120
-3668
-3668
-3668
-0
-477
-2780
-2399
-2399
-2399
-2497
-46
-1250
-282
-26
-28
-2064
-7
-58
-4926
-4926
-4926
-160
-392
-281
-1006
-1025
-133
-4877
-4877
-4877
-185
-139
-399
-276
-4065
-4065
-4065
-4840
-4840
-4840
-1948
-25
-184
-184
-184
-154
-1636
-30
-71
-497
-698
-698
-698
-1813
-21
-3
-135
-47
-729
-207
-804
-31
-5
-252
-32
-657
-2
-1342
-497
-166
-522
-102
-1657
-1657
-1657
-157
-1282
-1282
-1282
-365
-365
-365
-3726
-3726
-3726
-263
-84
-170
-562
-27
-43
-2045
-2045
-2045
-3
-325
-144
-4646
-4646
-4646
-1611
-82
-1601
-1601
-1601
-1656
-1656
-1656
-259
-963
-900
-1107
-1225
-543
-56
-0
-876
-2235
-2235
-2235
-218
-378
-378
-378
-4806
-4806
-4806
-276
-53
-176
-2050
-3659
-1167
-804
-117
-3113
-3113
-3113
-130
-1118
-133
-48
-2
-1
-206
-55
-55
-55
-2049
-366
-558
-64
-1729
-85
-95
-608
-91
-28
-105
-153
-342
-15
-0
-438
-20
-644
-1750
-276
-3458
-3458
-3458
-89
-1274
-551
-971
-294
-302
-1000
-172
-107
-21
-23
-1
-371
-104
-2222
-2
-27
-4976
-4976
-4976
-1663
-1663
-1663
-3121
-3121
-3121
-296
-672
-754
-83
-38
-710
-4678
-4678
-4678
-2
-2128
-2128
-2128
-48
-198
-489
-8
-798
-580
-0
-34
-4840
-4840
-4840
-44
-1419
-2838
-2838
-2838
-22
-463
-4657
-4657
-4657
-1651
-310
-0
-35
-31
-3618
-3618
-3618
-3795
-3795
-3795
-1498
-2
-1377
-347
-147
-32
-114
-303
-52
-510
-510
-510
-30
-35
-683
-0
-4983
-4983
-4983
-579
-42
-1162
-3189
-3189
-3189
-165
-1
-2872
-2872
-2872
-47
-1355
-1092
-2108
-2108
-2108
-4373
-15
-322
-1053
-213
-331
-344
-23
-1477
-1477
-1477
-2190
-2190
-2190
-114
-62
-650
-41
-1439
-1439
-1439
-30
-595
-1882
-1186
-25
-334
-4677
-4677
-4677
-91
-4091
-528
-1756
-1756
-1756
-45
-40
-316
-0
-279
-1634
-673
-61
-1517
-66
-407
-106
-251
-22
-3731
-3731
-3731
-218
-533
-85
-1050
-1050
-1050
-458
-1435
-363
-94
-1431
-126
-930
-3655
-1461
-1
-755
-231
-36
-271
-2843
-92
-48
-0
-603
-30
-320
-131
-24
-1369
-30
-1390
-308
-1
-2823
-2823
-2823
-3691
-3691
-3691
-1934
-373
-548
-726
-50
-1406
-783
-304
-353
-35
-670
-365
-344
-628
-1885
-1885
-1885
-30
-60
-34
-34
-2550
-691
-3172
-3172
-3172
-35
-978
-4810
-4810
-4810
-127
-7
-4430
-4430
-4430
-2173
-378
-340
-719
-26
-642
-646
-4585
-4585
-4585
-549
-3227
-3227
-3227
-50
-378
-67
-2
-66
-89
-308
-964
-467
-4986
-4986
-4986
-4343
-4343
-4343
-789
-139
-32
-18
-172
-954
-44
-3285
-3285
-3285
-2
-1485
-24
-885
-81
-12
-2364
-292
-415
-1376
-4366
-4366
-4366
-29
-902
-140
-85
-1208
-0
-522
-26
-1847
-622
-701
-701
-701
-1072
-1072
-1072
-59
-25
-190
-921
-55
-77
-53
-4387
-4387
-4387
-2173
-2173
-2173
-749
-63
-0
-703
-703
-703
-143
-125
-181
-15
-190
-715
-4029
-4029
-4029
-27
-2042
-2042
-2042
-2221
-195
-253
-605
-96
-62
-48
-47
-36
-2387
-2387
-2387
-22
-192
-38
-91
-1721
-396
-396
-396
-42
-374
-64
-85
-584
-25
-1944
-46
-1052
-1052
-1052
-340
-22
-33
-104
-0
-852
-21
-419
-2292
-2292
-2292
-57
-64
-1815
-312
-1843
-1843
-1843
-320
-79
-269
-369
-369
-369
-78
-3141
-3141
-3141
-44
-64
-4418
-30
-92
-175
-97
-4724
-4724
-4724
-828
-3451
-415
-4148
-4148
-4148
-46
-224
-0
-2198
-2198
-2198
-1212
-1212
-1212
-31
-1129
-161
-1908
-1908
-1908
-714
-322
-42
-3816
-3816
-3816
-33
-249
-249
-249
-3
-22
-48
-1641
-3635
-3788
-3788
-3788
-215
-592
-1660
-1471
-447
-2
-0
-1
-665
-1202
-615
-1575
-277
-277
-277
-38
-397
-30
-1166
-1118
-116
-76
-52
-946
-21
-57
-153
-55
-41
-1900
-31
-2964
-2964
-2964
-473
-4095
-4095
-4095
-0
-1771
-733
-21
-162
-625
-1118
-20
-376
-395
-395
-395
-4
-4023
-4023
-4023
-628
-3671
-3671
-3671
-1
-781
-675
-334
-83
-619
-580
-56
-95
-85
-44
-23
-1096
-150
-31
-1811
-1811
-1811
-3033
-3033
-3033
-747
-747
-747
-146
-243
-2149
-497
-25
-206
-764
-764
-764
-4357
-4357
-4357
-4720
-4720
-4720
-339
-25
-0
-310
-188
-4041
-4041
-4041
-50
-706
-733
-64
-722
-4077
-4077
-4077
-4515
-4515
-4515
-1213
-1448
-1165
-0
-26
-67
-2379
-2379
-2379
-59
-84
-38
-1474
-351
-494
-808
-26
-311
-311
-311
-180
-1638
-1638
-1638
-1834
-1834
-1834
-22
-3732
-3732
-3732
-70
-237
-96
-2878
-133
-610
-4369
-4369
-4369
-53
-1017
-1017
-1017
-765
-765
-765
-1050
-1050
-1050
-23
-1253
-282
-318
-375
-7
-2054
-409
-31
-18
-0
-37
-3
-42
-370
-91
-31
-914
-270
-733
-31
-183
-31
-1
-11
-633
-1
-101
-101
-101
-27
-70
-186
-248
-24
-1836
-243
-28
-880
-30
-133
-27
-20
-792
-363
-1063
-27
-24
-5
-633
-633
-633
-37
-722
-1562
-1562
-1562
-0
-0
-16
-54
-39
-277
-857
-15
-1097
-38
-802
-1065
-34
-3223
-3223
-3223
-38
-1957
-1957
-1957
-513
-604
-23
-3337
-3337
-3337
-881
-590
-30
-9
-7
-274
-22
-23
-3253
-3253
-3253
-105
-58
-130
-843
-843
-843
-160
-191
-223
-223
-223
-196
-1844
-1844
-1844
-1
-9
-1
-53
-25
-908
-769
-398
-2116
-22
-263
-2974
-3442
-3442
-3442
-49
-801
-24
-24
-911
-68
-69
-255
-321
-26
-41
-0
-337
-20
-817
-1865
-2922
-2922
-2922
-350
-55
-71
-1974
-1974
-1974
-131
-911
-911
-911
-4947
-4947
-4947
-1
-25
-21
-372
-41
-141
-44
-3
-1
-761
-23
-1960
-1960
-1960
-25
-76
-269
-799
-799
-799
-903
-903
-903
-11
-7
-48
-3
-28
-4737
-4737
-4737
-176
-1
-3344
-800
-0
-132
-1869
-1869
-1869
-21
-24
-199
-27
-43
-1
-71
-1
-4176
-4176
-4176
-1843
-1843
-1843
-4106
-4106
-4106
-80
-1015
-1015
-1015
-110
-1460
-122
-2947
-28
-12
-0
-30
-36
-112
-141
-756
-61
-71
-282
-27
-1816
-1816
-1816
-2302
-1726
-125
-89
-41
-234
-0
-124
-22
-4127
-4127
-4127
-4546
-4546
-4546
-805
-70
-0
-1592
-568
-851
-28
-4449
-4449
-4449
-0
-0
-327
-884
-1
-1261
-338
-322
-64
-90
-85
-0
-43
-239
-8
-118
-1512
-841
-452
-251
-859
-45
-789
-1550
-22
-1
-26
-120
-1370
-24
-50
-0
-231
-1056
-21
-218
-885
-129
-20
-2590
-2590
-2590
-377
-0
-2639
-2639
-2639
-1556
-1556
-1556
-33
-872
-24
-0
-1080
-0
-4145
-4145
-4145
-32
-0
-33
-1122
-3058
-51
-1561
-2263
-2263
-2263
-34
-39
-0
-4443
-4443
-4443
-889
-346
-1295
-1
-1894
-1894
-1894
-21
-32
-3303
-3303
-3303
-23
-102
-1
-59
-46
-836
-3319
-3319
-3319
-1408
-20
-924
-563
-563
-563
-2846
-2846
-2846
-1
-370
-1646
-4339
-46
-915
-952
-3609
-548
-1220
-2
-369
-539
-539
-539
-4528
-4528
-4528
-513
-148
-3166
-1910
-1910
-1910
-930
-79
-127
-21
-545
-864
-591
-3723
-539
-120
-367
-20
-24
-222
-162
-56
-23
-484
-4
-59
-1
-162
-240
-9
-458
-952
-1022
-32
-20
-155
-131
-51
-26
-1
-4414
-4414
-4414
-1134
-0
-360
-0
-147
-70
-890
-126
-29
-114
-771
-860
-609
-22
-68
-977
-173
-1181
-20
-2668
-2668
-2668
-45
-40
-367
-113
-958
-863
-863
-863
-180
-26
-1
-43
-1611
-1611
-1611
-1376
-24
-4714
-4714
-4714
-2983
-2983
-2983
-3
-0
-0
-1096
-31
-64
-4195
-4195
-4195
-185
-3939
-3939
-3939
-784
-334
-22
-26
-3531
-3531
-3531
-1599
-1599
-1599
-4127
-4127
-4127
-54
-126
-1055
-79
-371
-1187
-28
-0
-116
-1645
-170
-22
-1960
-458
-550
-25
-39
-43
-269
-892
-1
-0
-592
-592
-592
-1
-555
-555
-555
-1822
-1822
-1822
-14
-1463
-1463
-1463
-52
-365
-92
-41
-36
-3079
-3079
-3079
-1156
-525
-604
-2606
-1671
-201
-2249
-2249
-2249
-29
-345
-2938
-24
-3875
-3875
-3875
-925
-925
-925
-366
-31
-298
-177
-185
-36
-189
-546
-486
-1
-52
-1267
-71
-1718
-2325
-2325
-2325
-4059
-47
-1646
-1687
-38
-739
-499
-37
-608
-23
-22
-6
-103
-38
-0
-101
-3431
-3431
-3431
-4044
-4044
-4044
-225
-527
-905
-905
-905
-3387
-3387
-3387
-46
-519
-376
-376
-376
-2344
-216
-743
-743
-743
-3671
-3671
-3671
-328
-508
-41
-4001
-4001
-4001
-88
-1
-25
-365
-40
-1543
-374
-461
-324
-2402
-2
-1983
-1983
-1983
-2073
-441
-24
-145
-137
-4993
-4993
-4993
-36
-1
-155
-317
-54
-276
-260
-2396
-3463
-3463
-3463
-1137
-4
-96
-3201
-3201
-3201
-2
-60
-2369
-1567
-1
-235
-113
-52
-392
-2360
-175
-175
-175
-415
-1269
-1269
-1269
-0
-30
-632
-207
-365
-3434
-3434
-3434
-222
-167
-1428
-3867
-3867
-3867
-1723
-172
-99
-1030
-192
-316
-911
-124
-1066
-43
-236
-3589
-575
-449
-65
-366
-76
-1382
-547
-104
-2
-1947
-1947
-1947
-187
-198
-3554
-3554
-3554
-1378
-51
-4624
-185
-217
-3
-258
-4650
-4650
-4650
-47
-1071
-61
-976
-37
-978
-978
-978
-1717
-1717
-1717
-12
-493
-0
-784
-22
-1193
-1193
-1193
-50
-2310
-1299
-7
-1271
-1271
-1271
-3098
-62
-29
-667
-341
-358
-4075
-4075
-4075
-2738
-2738
-2738
-3564
-3564
-3564
-2472
-186
-2
-132
-409
-545
-1283
-1283
-1283
-1479
-593
-592
-231
-231
-231
-1
-2524
-2524
-2524
-157
-3725
-151
-334
-2503
-1063
-1063
-1063
-11
-761
-29
-53
-579
-74
-129
-32
-233
-3821
-3821
-3821
-1287
-102
-923
-339
-79
-146
-2470
-2470
-2470
-101
-64
-2965
-2965
-2965
-209
-1
-1731
-367
-156
-223
-194
-20
-1081
-1081
-1081
-62
-40
-518
-220
-317
-1081
-4213
-4213
-4213
-1743
-3607
-3607
-3607
-1487
-664
-519
-1
-2511
-321
-3370
-3370
-3370
-32
-36
-1738
-111
-1228
-1228
-1228
-30
-35
-421
-942
-942
-942
-18
-29
-611
-205
-4981
-4981
-4981
-998
-974
-2763
-2856
-2856
-2856
-3996
-3996
-3996
-99
-1036
-1036
-1036
-367
-1664
-367
-367
-367
-1167
-111
-372
-796
-796
-796
-113
-113
-113
-210
-56
-127
-791
-47
-855
-65
-1140
-22
-448
-1224
-21
-33
-1147
-113
-119
-557
-26
-48
-226
-315
-0
-302
-60
-1189
-1189
-1189
-3124
-3124
-3124
-5
-25
-47
-37
-923
-1733
-1733
-1733
-22
-0
-21
-179
-0
-679
-692
-1
-1059
-1059
-1059
-24
-43
-0
-3843
-3843
-3843
-4
-1
-2728
-1727
-2536
-1123
-0
-2947
-10
-3874
-3874
-3874
-4260
-962
-225
-1821
-84
-0
-3576
-3576
-3576
-138
-3474
-3474
-3474
-4045
-4045
-4045
-1093
-36
-3406
-133
-113
-236
-249
-2737
-53
-1757
-157
-968
-0
-848
-59
-2094
-2094
-2094
-304
-1978
-29
-921
-1
-3757
-3757
-3757
-306
-20
-145
-26
-189
-4678
-4678
-4678
-202
-76
-28
-94
-74
-18
-1429
-634
-0
-1420
-35
-147
-339
-2240
-2240
-2240
-22
-1752
-101
-4878
-4878
-4878
-230
-112
-38
-71
-359
-39
-74
-1795
-30
-3990
-3990
-3990
-40
-2572
-2572
-2572
-383
-30
-836
-55
-29
-356
-1738
-35
-1839
-1839
-1839
-2125
-2125
-2125
-761
-96
-23
-204
-6
-53
-1
-1829
-125
-284
-743
-26
-20
-301
-1867
-3889
-3889
-3889
-327
-281
-2999
-2999
-2999
-1151
-22
-66
-725
-1367
-4
-4601
-4601
-4601
-6
-706
-89
-25
-545
-44
-30
-91
-26
-21
-1218
-52
-1520
-456
-1741
-2496
-2496
-2496
-278
-1050
-362
-54
-1
-37
-249
-21
-1269
-38
-1
-2021
-2021
-2021
-89
-179
-1126
-1126
-1126
-2
-752
-752
-752
-29
-2356
-2356
-2356
-373
-1120
-190
-31
-1376
-4318
-4683
-20
-45
-55
-0
-111
-930
-464
-25
-1812
-265
-696
-906
-326
-326
-326
-51
-294
-685
-2309
-2309
-2309
-298
-333
-2545
-2545
-2545
-70
-1540
-559
-501
-710
-1159
-41
-617
-1200
-1125
-849
-1437
-1437
-1437
-916
-390
-138
-175
-0
-227
-332
-1472
-2550
-2550
-2550
-1130
-16
-1796
-0
-393
-366
-26
-2817
-1
-711
-907
-26
-41
-4320
-4320
-4320
-1510
-1510
-1510
-2
-132
-1379
-1501
-605
-64
-186
-1101
-89
-1574
-80
-187
-329
-118
-59
-56
-2
-212
-1025
-174
-1
-25
-253
-1431
-2193
-2193
-2193
-1956
-916
-916
-916
-2446
-2620
-21
-43
-6
-139
-0
-2607
-2607
-2607
-0
-1365
-274
-33
-241
-2285
-52
-1
-61
-235
-235
-235
-183
-30
-0
-1
-1
-765
-1
-3533
-3533
-3533
-1042
-29
-4190
-4190
-4190
-26
-1615
-27
-229
-368
-368
-368
-250
-8
-1
-0
-32
-355
-31
-432
-32
-20
-22
-22
-44
-146
-1763
-491
-491
-491
-0
-180
-39
-30
-50
-941
-1180
-328
-1
-100
-1778
-707
-293
-32
-1790
-31
-825
-31
-11
-24
-429
-0
-20
-1852
-79
-109
-0
-0
-2579
-2579
-2579
-74
-30
-29
-112
-3392
-3087
-3087
-3087
-19
-1554
-1554
-1554
-23
-2393
-131
-347
-444
-1842
-1681
-3
-6
-999
-34
-1193
-183
-880
-880
-880
-919
-919
-919
-966
-966
-966
-1242
-3275
-3275
-3275
-1
-0
-137
-665
-25
-31
-65
-70
-1389
-3097
-845
-2669
-91
-370
-213
-1850
-38
-138
-218
-624
-624
-624
-93
-1955
-1955
-1955
-265
-1297
-21
-1577
-1994
-1994
-1994
-113
-552
-57
-834
-75
-0
-1187
-3400
-3400
-3400
-2250
-34
-61
-2885
-2885
-2885
-0
-35
-35
-35
-1892
-1862
-1897
-1897
-1897
-235
-45
-43
-3906
-3906
-3906
-121
-2751
-21
-2072
-2072
-2072
-36
-83
-1881
-483
-2506
-2987
-2987
-2987
-419
-6
-32
-4860
-4860
-4860
-82
-385
-4
-1578
-1578
-1578
-3072
-3072
-3072
-7
-574
-104
-265
-853
-0
-60
-1626
-91
-242
-58
-1
-4465
-3005
-3005
-3005
-250
-1864
-2215
-1858
-20
-105
-458
-20
-46
-26
-29
-220
-3818
-3818
-3818
-88
-22
-462
-339
-0
-2
-0
-1239
-1239
-1239
-33
-40
-87
-2687
-2687
-2687
-0
-856
-28
-35
-2496
-2496
-2496
-20
-44
-498
-205
-61
-557
-60
-1984
-646
-1511
-182
-6
-625
-29
-246
-2044
-475
-4162
-4162
-4162
-21
-1971
-0
-1998
-3016
-20
-44
-29
-32
-35
-110
-125
-1470
-737
-33
-803
-1036
-1861
-31
-0
-4866
-4866
-4866
-12
-44
-889
-889
-889
-367
-1810
-1172
-1172
-1172
-24
-892
-307
-1585
-900
-191
-2985
-0
-1946
-1946
-1946
-344
-344
-344
-4551
-4551
-4551
-1670
-1670
-1670
-852
-123
-1598
-22
-366
-23
-69
-132
-3373
-3373
-3373
-366
-27
-148
-1654
-599
-72
-4561
-4561
-4561
-502
-1731
-1731
-1731
-2186
-2184
-197
-22
-189
-933
-457
-2372
-2504
-488
-889
-3976
-3976
-3976
-1122
-988
-38
-1393
-1393
-1393
-1877
-393
-470
-1513
-343
-362
-175
-42
-390
-818
-0
-68
-3096
-3096
-3096
-1002
-1277
-332
-1189
-2058
-171
-650
-650
-650
-792
-105
-2215
-21
-112
-23
-118
-2470
-46
-4422
-4422
-4422
-294
-105
-716
-28
-57
-222
-4616
-4616
-4616
-372
-1146
-1202
-1202
-1202
-4119
-4119
-4119
-444
-1326
-1326
-1326
-1
-4898
-4898
-4898
-941
-603
-4385
-4385
-4385
-46
-573
-181
-219
-3481
-3481
-3481
-518
-0
-4143
-4143
-4143
-366
-20
-1618
-104
-157
-74
-46
-173
-1
-3373
-3373
-3373
-950
-950
-950
-1
-492
-2372
-2372
-2372
-1
-28
-1873
-1873
-1873
-1108
-1108
-1108
-566
-302
-2848
-2848
-2848
-39
-2366
-2366
-2366
-40
-2379
-2379
-2379
-542
-134
-4232
-4232
-4232
-866
-920
-3135
-3135
-3135
-533
-97
-22
-258
-2166
-3157
-1101
-1101
-1101
-43
-64
-340
-25
-4973
-4973
-4973
-3421
-3421
-3421
-377
-1163
-1220
-22
-1299
-1664
-1664
-1664
-42
-185
-171
-58
-705
-26
-43
-33
-671
-49
-0
-53
-1107
-165
-1743
-556
-3062
-3062
-3062
-4932
-4932
-4932
-366
-38
-44
-4845
-4845
-4845
-746
-3155
-36
-119
-2979
-218
-4093
-129
-1485
-73
-30
-43
-25
-4201
-4201
-4201
-38
-21
-896
-2
-70
-49
-34
-1905
-467
-2748
-132
-478
-500
-1
-38
-365
-2442
-521
-0
-101
-1383
-62
-4633
-4633
-4633
-601
-2061
-64
-2353
-2353
-2353
-718
-717
-2245
-786
-1562
-41
-27
-1254
-1254
-1254
-588
-190
-102
-24
-43
-2217
-24
-2452
-2452
-2452
-26
-1452
-1187
-1187
-1187
-211
-446
-81
-21
-48
-1
-85
-255
-1874
-1874
-1874
-3813
-97
-2221
-154
-429
-1463
-1463
-1463
-1032
-28
-479
-48
-2047
-4980
-4980
-4980
-1927
-1927
-1927
-4605
-4605
-4605
-1
-0
-1486
-4299
-4299
-4299
-369
-506
-367
-37
-1313
-1313
-1313
-1621
-9
-4727
-4727
-4727
-3164
-3164
-3164
-1252
-1252
-1252
-1144
-1144
-1144
-1514
-1514
-1514
-0
-1435
-213
-575
-58
-1548
-187
-339
-64
-60
-205
-1176
-1176
-1176
-378
-1119
-3780
-3780
-3780
-1
-246
-25
-1083
-1083
-1083
-66
-101
-2463
-3925
-3925
-3925
-471
-2171
-366
-244
-478
-3174
-3174
-3174
-247
-201
-0
-2431
-4348
-4348
-4348
-29
-808
-263
-1444
-1444
-1444
-80
-122
-378
-174
-2659
-2659
-2659
-415
-21
-42
-3059
-3059
-3059
-1
-1222
-2060
-40
-49
-288
-572
-3942
-3942
-3942
-1449
-2106
-2106
-2106
-1186
-40
-1201
-1952
-203
-48
-898
-421
-31
-2226
-2226
-2226
-45
-400
-184
-195
-2790
-2790
-2790
-99
-4239
-4239
-4239
-78
-177
-793
-545
-3252
-3252
-3252
-78
-86
-2310
-2310
-2310
-1345
-1721
-1
-115
-174
-3626
-57
-1696
-1696
-1696
-492
-492
-492
-2330
-2285
-2285
-2285
-40
-2867
-2867
-2867
-2513
-2513
-2513
-85
-2099
-1759
-4508
-4508
-4508
-4951
-4951
-4951
-21
-564
-1068
-29
-1696
-433
-55
-1943
-4264
-4264
-4264
-994
-21
-2707
-0
-10
-258
-258
-258
-948
-51
-504
-268
-251
-1
-856
-2629
-2629
-2629
-19
-407
-4431
-4431
-4431
-1
-505
-3883
-607
-48
-115
-3477
-3477
-3477
-54
-80
-2827
-2827
-2827
-1101
-526
-1034
-102
-47
-921
-228
-32
-1
-58
-20
-2398
-893
-1730
-414
-47
-224
-334
-246
-928
-338
-1948
-1948
-1948
-4161
-4161
-4161
-1517
-1241
-2094
-2094
-2094
-2380
-98
-3690
-3690
-3690
-578
-439
-0
-145
-190
-1217
-1
-3538
-3538
-3538
-512
-1125
-2
-138
-713
-367
-476
-73
-62
-544
-1387
-76
-550
-0
-126
-248
-967
-967
-967
-826
-975
-181
-446
-1266
-34
-460
-31
-1568
-1
-2
-2201
-2201
-2201
-13
-36
-24
-234
-234
-234
-368
-1468
-1478
-4221
-4221
-4221
-248
-2673
-2673
-2673
-4552
-4552
-4552
-4664
-4664
-4664
-227
-29
-222
-4439
-3184
-3184
-3184
-886
-98
-2492
-103
-193
-1775
-332
-332
-332
-365
-59
-108
-302
-39
-3406
-3406
-3406
-212
-599
-599
-599
-264
-2
-250
-979
-663
-325
-0
-1105
-2124
-2470
-55
-151
-1533
-1533
-1533
-507
-294
-294
-294
-38
-2150
-1562
-202
-202
-202
-323
-235
-756
-48
-4345
-4345
-4345
-371
-2863
-2863
-2863
-274
-712
-325
-529
-1019
-1019
-1019
-4481
-4481
-4481
-232
-4254
-4254
-4254
-312
-3827
-3827
-3827
-150
-1030
-2779
-2779
-2779
-4979
-4979
-4979
-373
-28
-277
-806
-658
-35
-154
-36
-1571
-148
-295
-3614
-4
-262
-1
-2019
-30
-600
-2991
-2991
-2991
-1021
-1404
-33
-38
-75
-531
-667
-376
-2050
-19
-3807
-3807
-3807
-199
-89
-2187
-3599
-3599
-3599
-389
-2123
-3409
-716
-716
-716
-1861
-1753
-1753
-1753
-107
-53
-2105
-2105
-2105
-645
-1707
-301
-36
-1812
-1785
-1785
-1785
-190
-112
-901
-2622
-2622
-2622
-0
-580
-4022
-1259
-282
-1269
-1269
-1269
-2990
-2990
-2990
-99
-2800
-64
-4621
-4621
-4621
-154
-0
-1385
-85
-240
-691
-0
-24
-1965
-191
-105
-49
-2
-273
-381
-3669
-3669
-3669
-1771
-282
-478
-708
-51
-290
-671
-122
-122
-122
-3453
-3453
-3453
-1045
-62
-4394
-4394
-4394
-2201
-310
-948
-2271
-658
-1516
-2852
-1714
-2130
-2160
-56
-60
-2447
-2447
-2447
-232
-373
-2240
-2240
-2240
-64
-3
-1119
-34
-2224
-0
-5
-1390
-1390
-1390
-3708
-3708
-3708
-345
-609
-23
-255
-352
-188
-1280
-1203
-168
-58
-703
-189
-31
-532
-1087
-627
-21
-24
-903
-1314
-33
-991
-991
-991
-561
-271
-2245
-1228
-4
-4905
-4905
-4905
-155
-203
-2821
-32
-183
-32
-1042
-1780
-7
-1597
-279
-86
-43
-4
-2084
-2084
-2084
-20
-3630
-3630
-3630
-1065
-1414
-1414
-1414
-4667
-4667
-4667
-21
-3598
-3598
-3598
-164
-1102
-546
-27
-25
-233
-910
-0
-808
-808
-808
-1800
-59
-97
-41
-10
-23
-0
-1493
-2525
-2525
-2525
-121
-6
-29
-706
-41
-143
-98
-1564
-674
-674
-674
-1119
-82
-3417
-3417
-3417
-24
-429
-2042
-1651
-3287
-3287
-3287
-27
-30
-25
-5
-0
-373
-381
-103
-24
-231
-3419
-3419
-3419
-475
-31
-60
-60
-60
-502
-1374
-477
-21
-4
-4
-3
-881
-674
-1017
-1017
-1017
-2185
-2185
-2185
-0
-30
-1053
-1053
-1053
-0
-0
-2273
-2273
-2273
-1007
-32
-400
-26
-441
-22
-61
-171
-39
-1086
-58
-2580
-2580
-2580
-4193
-4193
-4193
-43
-111
-1755
-155
-380
-1
-3978
-27
-2851
-31
-458
-1
-23
-1120
-35
-40
-3
-3491
-4734
-4734
-4734
-4750
-4750
-4750
-93
-1
-29
-72
-4012
-4012
-4012
-4448
-4448
-4448
-324
-855
-1683
-1683
-1683
-3013
-3013
-3013
-0
-1381
-10
-1393
-1513
-1513
-1513
-0
-519
-36
-692
-36
-26
-243
-174
-307
-2336
-2336
-2336
-132
-1540
-91
-229
-20
-1
-635
-4927
-4927
-4927
-4029
-4029
-4029
-803
-67
-1367
-55
-44
-206
-47
-4444
-4444
-4444
-9
-74
-134
-1071
-1071
-1071
-1443
-1443
-1443
-714
-757
-124
-282
-1258
-64
-46
-96
-365
-92
-4083
-79
-398
-2258
-2258
-2258
-30
-2858
-86
-40
-3196
-1054
-46
-1
-187
-2111
-173
-763
-59
-1026
-774
-89
-28
-3075
-3075
-3075
-753
-23
-0
-1358
-0
-3655
-3655
-3655
-89
-21
-56
-1993
-5
-14
-700
-700
-700
-2920
-2981
-1929
-1538
-5
-458
-278
-79
-33
-1017
-0
-737
-2
-43
-20
-0
-860
-39
-28
-330
-25
-1158
-173
-318
-0
-260
-71
-45
-16
-1358
-420
-1086
-122
-482
-0
-1561
-110
-3687
-3687
-3687
-2988
-1060
-32
-12
-4
-381
-59
-4287
-4287
-4287
-65
-2355
-1171
-1171
-1171
-67
-68
-87
-1012
-524
-33
-0
-1998
-1998
-1998
-823
-823
-823
-28
-21
-1086
-1086
-1086
-1
-3459
-3459
-3459
-3
-883
-4
-198
-2282
-2282
-2282
-478
-651
-2638
-28
-4010
-54
-53
-41
-336
-2251
-2907
-2907
-2907
-731
-2171
-30
-21
-3393
-1
-734
-1509
-3042
-3042
-3042
-27
-2362
-2362
-2362
-39
-26
-91
-26
-117
-656
-2284
-1
-0
-1
-2341
-0
-239
-4008
-4008
-4008
-4539
-4539
-4539
-196
-69
-24
-34
-90
-1808
-2530
-2530
-2530
-389
-377
-22
-39
-0
-1564
-1564
-1564
-22
-3745
-3745
-3745
-2061
-375
-28
-28
-796
-796
-796
-67
-2612
-87
-38
-63
-816
-10
-77
-63
-346
-68
-4032
-4032
-4032
-0
-653
-0
-41
-2243
-2243
-2243
-4365
-4365
-4365
-1
-177
-21
-408
-32
-4707
-134
-1
-5
-2564
-0
-89
-2313
-4065
-4065
-4065
-508
-508
-508
-1542
-208
-249
-1901
-103
-544
-26
-1926
-197
-1558
-1558
-1558
-26
-3740
-3740
-3740
-49
-274
-1831
-54
-388
-100
-1558
-3037
-3037
-3037
-102
-27
-1612
-3382
-1
-436
-1913
-4690
-4690
-4690
-1242
-0
-170
-4292
-4292
-4292
-37
-1793
-1793
-1793
-967
-967
-967
-1
-1
-4719
-4719
-4719
-2340
-2340
-2340
-553
-1851
-1851
-1851
-1143
-113
-71
-65
-143
-50
-0
-2392
-1298
-2
-88
-2524
-2524
-2524
-1558
-1558
-1558
-32
-120
-0
-74
-479
-705
-4094
-21
-2217
-1820
-3
-143
-3410
-3410
-3410
-2165
-1271
-1271
-1271
-44
-1
-77
-0
-45
-21
-1411
-20
-595
-97
-3
-919
-3895
-3895
-3895
-32
-587
-30
-140
-521
-521
-521
-199
-68
-26
-247
-4441
-4441
-4441
-21
-45
-2363
-2363
-2363
-1
-33
-25
-2625
-1581
-1581
-1581
-4761
-4761
-4761
-434
-4
-3101
-44
-3
-20
-3216
-3216
-3216
-118
-173
-751
-4537
-4537
-4537
-0
-31
-2362
-2362
-2362
-1423
-469
-49
-33
-222
-1176
-1
-300
-4933
-4933
-4933
-1139
-2409
-2409
-2409
-554
-45
-1144
-25
-35
-73
-120
-1988
-105
-1929
-0
-4
-208
-39
-23
-473
-2901
-2901
-2901
-1644
-1644
-1644
-2329
-2329
-2329
-46
-1642
-74
-34
-2
-537
-69
-2770
-17
-45
-601
-601
-601
-1
-641
-0
-813
-2004
-35
-105
-26
-77
-1534
-9
-922
-27
-3
-330
-0
-609
-63
-810
-17
-0
-1146
-344
-1
-365
-365
-365
-25
-685
-49
-108
-1128
-1128
-1128
-21
-3154
-3154
-3154
-792
-354
-749
-1165
-1165
-1165
-1195
-1613
-1613
-1613
-1718
-1718
-1718
-118
-22
-804
-1375
-111
-1145
-615
-6
-334
-1490
-76
-71
-521
-199
-1297
-222
-323
-507
-2
-217
-431
-38
-22
-1
-337
-4184
-4184
-4184
-371
-891
-4339
-4339
-4339
-888
-1206
-4408
-4408
-4408
-1374
-75
-2301
-1
-1726
-0
-1
-62
-1622
-392
-21
-31
-2776
-2279
-2279
-2279
-454
-90
-1
-38
-35
-3537
-3537
-3537
-454
-377
-375
-22
-1671
-1671
-1671
-2204
-2204
-2204
-37
-129
-47
-43
-2012
-44
-225
-889
-920
-38
-148
-3830
-3830
-3830
-829
-2538
-2538
-2538
-585
-611
-117
-150
-396
-1827
-1
-1336
-189
-708
-359
-1980
-70
-5
-1676
-725
-150
-150
-150
-95
-60
-213
-118
-103
-133
-965
-32
-2
-2308
-2308
-2308
-1204
-146
-4767
-21
-2156
-2156
-2156
-22
-391
-391
-391
-264
-153
-24
-50
-34
-365
-2666
-63
-4440
-1131
-1155
-1155
-1155
-29
-3500
-3500
-3500
-156
-1702
-930
-365
-124
-0
-508
-4585
-4585
-4585
-87
-84
-38
-609
-609
-609
-102
-3495
-3495
-3495
-1654
-146
-3570
-3570
-3570
-288
-1
-159
-2386
-598
-93
-23
-4913
-4913
-4913
-36
-72
-651
-1286
-2158
-2158
-2158
-71
-456
-1238
-728
-4265
-0
-2107
-1760
-1760
-1760
-22
-1284
-25
-204
-4435
-4435
-4435
-941
-424
-1395
-3126
-3126
-3126
-2688
-547
-83
-8
-146
-4390
-4390
-4390
-499
-510
-1
-2130
-51
-148
-0
-25
-171
-701
-3773
-3773
-3773
-206
-3611
-3611
-3611
-28
-1083
-5
-560
-529
-114
-3156
-115
-20
-4597
-4597
-4597
-1515
-145
-2
-712
-32
-181
-165
-695
-127
-2113
-108
-52
-775
-775
-775
-0
-28
-30
-117
-117
-117
-174
-32
-1658
-1658
-1658
-2721
-211
-255
-255
-255
-173
-63
-112
-108
-67
-2646
-69
-1022
-1422
-1422
-1422
-20
-2893
-2893
-2893
-8
-15
-3255
-3255
-3255
-778
-231
-25
-974
-1368
-217
-637
-30
-141
-2169
-117
-1
-48
-63
-708
-688
-2015
-2015
-2015
-158
-158
-158
-3284
-3284
-3284
-0
-882
-37
-2
-1444
-4343
-4343
-4343
-3084
-3084
-3084
-325
-27
-1416
-1416
-1416
-569
-1826
-1826
-1826
-927
-1285
-38
-44
-28
-190
-3197
-3197
-3197
-1471
-83
-1748
-1748
-1748
-1615
-1615
-1615
-60
-2799
-2799
-2799
-4971
-4971
-4971
-282
-134
-444
-32
-616
-427
-209
-1063
-3891
-816
-139
-1115
-932
-2152
-815
-407
-407
-407
-313
-103
-1536
-3278
-47
-1345
-512
-3204
-3204
-3204
-20
-2218
-4480
-4480
-4480
-1753
-1486
-316
-16
-1826
-67
-4002
-4002
-4002
-1764
-1764
-1764
-46
-2088
-0
-3999
-3999
-3999
-2880
-2880
-2880
-4980
-4980
-4980
-1657
-1657
-1657
-169
-2039
-2039
-2039
-237
-5
-42
-1002
-1636
-1636
-1636
-1291
-26
-10
-4502
-4502
-4502
-198
-237
-1
-1000
-187
-36
-144
-955
-79
-2051
-233
-2269
-2269
-2269
-1713
-1713
-1713
-2908
-911
-911
-911
-130
-89
-666
-22
-1969
-1969
-1969
-3234
-3234
-3234
-905
-676
-23
-11
-985
-1448
-180
-180
-180
-165
-330
-126
-6
-671
-2855
-2855
-2855
-1826
-26
-1
-322
-3252
-3252
-3252
-589
-78
-721
-1732
-1732
-1732
-749
-21
-1102
-118
-530
-2096
-2724
-2724
-2724
-1077
-110
-45
-48
-74
-30
-101
-343
-2515
-2515
-2515
-1585
-1461
-551
-1047
-354
-1959
-223
-337
-4371
-4371
-4371
-0
-1488
-254
-950
-950
-950
-576
-100
-578
-578
-578
-3650
-3917
-3917
-3917
-2466
-926
-303
-2191
-925
-1206
-1206
-1206
-0
-315
-1826
-1826
-1826
-3
-223
-31
-147
-661
-661
-661
-1081
-704
-87
-717
-9
-108
-993
-166
-27
-83
-174
-263
-28
-708
-708
-708
-1239
-2396
-2396
-2396
-998
-307
-1814
-2662
-2662
-2662
-4294
-4294
-4294
-4702
-4702
-4702
-31
-133
-54
-2
-80
-22
-1967
-4562
-4562
-4562
-158
-2467
-97
-480
-705
-1290
-1511
-3403
-1117
-1117
-1117
-1872
-283
-178
-738
-738
-738
-1431
-1753
-66
-210
-3423
-3423
-3423
-33
-473
-62
-1078
-1085
-56
-4312
-4312
-4312
-41
-20
-622
-2160
-920
-56
-118
-1
-34
-45
-20
-398
-22
-730
-481
-481
-481
-1142
-1551
-1551
-1551
-35
-3590
-3590
-3590
-357
-2973
-2973
-2973
-24
-531
-365
-365
-365
-31
-1119
-744
-2593
-2593
-2593
-90
-0
-2121
-2121
-2121
-367
-263
-4998
-4998
-4998
-52
-1127
-1127
-1127
-77
-54
-2965
-2965
-2965
-1359
-1365
-553
-91
-114
-62
-45
-1211
-1
-2599
-2599
-2599
-2218
-2218
-2218
-198
-33
-194
-1014
-1
-840
-1498
-1498
-1498
-1494
-1494
-1494
-1
-2454
-2454
-2454
-619
-393
-206
-189
-4658
-1036
-238
-439
-34
-96
-1080
-2020
-2128
-665
-1448
-1
-369
-1844
-177
-2787
-2787
-2787
-36
-827
-1302
-1435
-0
-4
-1785
-725
-607
-8
-32
-2605
-2605
-2605
-365
-1
-37
-263
-0
-24
-4658
-4658
-4658
-2187
-130
-136
-160
-0
-2
-1062
-750
-158
-2515
-1
-30
-1243
-104
-427
-207
-3280
-3280
-3280
-465
-28
-141
-161
-4705
-4705
-4705
-268
-41
-65
-65
-65
-326
-3729
-3729
-3729
-32
-1897
-1897
-1897
-1930
-94
-927
-90
-339
-254
-270
-270
-270
-11
-1333
-1333
-1333
-301
-1085
-730
-84
-1855
-20
-71
-1062
-21
-21
-3271
-3271
-3271
-1859
-245
-61
-1507
-1507
-1507
-368
-2203
-1389
-1389
-1389
-437
-51
-147
-1
-2565
-2524
-1239
-22
-290
-0
-4363
-4363
-4363
-1947
-1947
-1947
-36
-11
-3
-516
-459
-4785
-4785
-4785
-1
-303
-2470
-2470
-2470
-728
-34
-20
-41
-161
-72
-1517
-1438
-1690
-1443
-3132
-3132
-3132
-123
-51
-522
-1
-29
-23
-375
-365
-1257
-1257
-1257
-72
-1760
-1760
-1760
-1366
-968
-1
-1
-4404
-4404
-4404
-2958
-2958
-2958
-2301
-29
-261
-169
-31
-1889
-0
-328
-123
-1898
-1898
-1898
-1475
-42
-31
-737
-101
-0
-596
-596
-596
-39
-24
-231
-26
-2251
-2251
-2251
-924
-599
-24
-2981
-2981
-2981
-1379
-1379
-1379
-1060
-1525
-755
-42
-2154
-1620
-128
-2105
-1075
-193
-738
-1240
-27
-776
-3134
-3134
-3134
-4830
-4830
-4830
-241
-35
-987
-0
-1439
-1439
-1439
-53
-1728
-3718
-3718
-3718
-6
-182
-220
-3910
-3910
-3910
-1
-25
-1209
-79
-408
-110
-28
-413
-4851
-4851
-4851
-0
-411
-36
-316
-65
-2503
-2503
-2503
-193
-32
-176
-4816
-4816
-4816
-264
-223
-29
-1108
-408
-53
-162
-100
-788
-788
-788
-32
-75
-25
-29
-41
-4155
-4155
-4155
-2777
-2777
-2777
-425
-401
-1565
-445
-35
-1424
-753
-3501
-31
-2589
-1
-3271
-1112
-1112
-1112
-2129
-0
-4411
-4411
-4411
-1168
-1168
-1168
-1198
-1752
-1752
-1752
-0
-66
-33
-1501
-430
-2719
-2719
-2719
-0
-1111
-711
-4
-678
-0
-141
-1198
-1198
-1198
-0
-282
-301
-10
-3664
-3664
-3664
-23
-4
-20
-410
-3358
-3358
-3358
-37
-4637
-4637
-4637
-3386
-3386
-3386
-33
-2271
-2271
-2271
-778
-48
-1536
-580
-339
-2
-0
-3599
-2566
-2566
-2566
-1780
-1780
-1780
-645
-45
-1456
-1456
-1456
-10
-41
-33
-4
-741
-288
-25
-113
-2131
-0
-4
-21
-2172
-372
-21
-1720
-1720
-1720
-63
-63
-63
-81
-896
-896
-896
-22
-3
-470
-148
-46
-536
-3024
-1
-2954
-2954
-2954
-356
-1968
-67
-2022
-2022
-2022
-2196
-2203
-2203
-2203
-2798
-3
-20
-37
-31
-32
-230
-21
-73
-1999
-1999
-1999
-50
-0
-488
-1759
-1756
-4598
-4598
-4598
-763
-763
-763
-4260
-4260
-4260
-393
-176
-2940
-1208
-1208
-1208
-0
-302
-2559
-2351
-2351
-2351
-0
-395
-886
-381
-2924
-0
-27
-602
-260
-151
-1
-767
-767
-767
-2996
-2996
-2996
-37
-383
-383
-383
-351
-696
-190
-0
-1
-1091
-2986
-2122
-82
-2054
-335
-750
-0
-182
-776
-2633
-2582
-2582
-2582
-71
-755
-2
-1
-50
-378
-122
-2571
-1292
-1292
-1292
-1469
-39
-4873
-4873
-4873
-0
-31
-122
-120
-336
-61
-74
-31
-1487
-1159
-1159
-1159
-776
-1848
-16
-4571
-4571
-4571
-54
-225
-225
-225
-1626
-0
-4482
-4482
-4482
-41
-3
-0
-45
-45
-45
-24
-0
-391
-4871
-4871
-4871
-1286
-55
-123
-5
-46
-200
-55
-130
-1185
-51
-193
-234
-43
-43
-43
-40
-133
-2571
-32
-48
-328
-29
-3979
-3979
-3979
-487
-2680
-2680
-2680
-0
-4263
-4263
-4263
-1620
-1620
-1620
-28
-1
-31
-2111
-216
-816
-4
-229
-28
-3103
-3103
-3103
-79
-51
-120
-782
-107
-24
-435
-435
-435
-52
-9
-876
-876
-876
-503
-3043
-3043
-3043
-30
-326
-4488
-4488
-4488
-84
-35
-1
-846
-846
-846
-469
-469
-469
-0
-538
-25
-3171
-3171
-3171
-124
-51
-1
-197
-36
-53
-4747
-4747
-4747
-3010
-4526
-4526
-4526
-1794
-29
-497
-22
-914
-139
-404
-2937
-1078
-4473
-4473
-4473
-0
-2928
-2967
-2967
-2967
-50
-0
-208
-572
-572
-572
-2932
-2932
-2932
-171
-0
-1
-844
-844
-844
-2
-1
-1880
-26
-2770
-2770
-2770
-33
-42
-28
-2923
-4146
-4146
-4146
-1153
-958
-1973
-141
-29
-1570
-14
-154
-132
-3779
-3779
-3779
-176
-3823
-3823
-3823
-1470
-474
-20
-0
-1
-63
-1082
-59
-1
-32
-215
-161
-1687
-1687
-1687
-32
-0
-63
-100
-81
-20
-32
-1653
-1653
-1653
-4935
-4935
-4935
-22
-1963
-1284
-20
-43
-1954
-731
-80
-178
-1027
-783
-783
-783
-4937
-4937
-4937
-2746
-2746
-2746
-415
-153
-158
-0
-1362
-1127
-24
-21
-27
-300
-2529
-2529
-2529
-3095
-3095
-3095
-66
-2725
-2725
-2725
-30
-132
-178
-2337
-2337
-2337
-1663
-2655
-2655
-2655
-47
-816
-1017
-1043
-1576
-1576
-1576
-4719
-4719
-4719
-3041
-3041
-3041
-2281
-665
-665
-665
-722
-151
-151
-151
-795
-1648
-1648
-1648
-2762
-36
-28
-1
-114
-1202
-1202
-1202
-168
-1218
-186
-306
-2016
-2459
-1131
-68
-129
-75
-29
-0
-138
-1085
-1259
-1259
-1259
-4162
-4162
-4162
-720
-0
-26
-2522
-2522
-2522
-1139
-23
-4
-142
-150
-23
-608
-608
-608
-32
-1987
-8
-3498
-3498
-3498
-1836
-22
-29
-365
-365
-365
-34
-775
-1862
-487
-61
-3833
-3833
-3833
-708
-708
-708
-1251
-1251
-1251
-102
-52
-1670
-4379
-4379
-4379
-0
-2020
-2020
-2020
-3002
-1213
-2
-6
-546
-2170
-2170
-2170
-325
-27
-4915
-4915
-4915
-1577
-61
-3294
-2012
-87
-58
-20
-4459
-4459
-4459
-4145
-20
-0
-3834
-3834
-3834
-96
-55
-2175
-2175
-2175
-24
-365
-107
-3388
-3388
-3388
-608
-60
-4080
-4080
-4080
-2053
-31
-1640
-1568
-1568
-1568
-171
-4106
-4106
-4106
-2579
-1831
-1831
-1831
-2181
-35
-2152
-1518
-1518
-1518
-147
-209
-0
-1296
-1296
-1296
-117
-0
-214
-15
-3149
-3149
-3149
-106
-1549
-1549
-1549
-61
-495
-112
-471
-3429
-3429
-3429
-0
-181
-36
-89
-3456
-365
-26
-830
-151
-4170
-4170
-4170
-140
-860
-1517
-1517
-1517
-106
-471
-0
-223
-550
-3989
-3989
-3989
-5
-0
-2449
-2449
-2449
-2214
-307
-0
-2788
-2788
-2788
-0
-91
-1
-308
-3839
-3839
-3839
-4522
-4522
-4522
-3818
-3818
-3818
-3411
-91
-0
-3951
-3951
-3951
-60
-1550
-1550
-1550
-2015
-3006
-3006
-3006
-12
-1
-71
-212
-155
-21
-72
-24
-201
-2137
-2137
-2137
-34
-4484
-4484
-4484
-462
-64
-28
-0
-56
-2437
-2437
-2437
-1522
-1522
-1522
-116
-2083
-2083
-2083
-390
-1879
-1879
-1879
-2649
-2649
-2649
-1633
-1292
-32
-4610
-4610
-4610
-375
-164
-2076
-2076
-2076
-1866
-2978
-4
-4844
-4844
-4844
-4229
-4229
-4229
-45
-28
-156
-546
-1336
-1201
-3879
-3879
-3879
-857
-2090
-3147
-46
-190
-3154
-3154
-3154
-3511
-3511
-3511
-34
-1314
-161
-2149
-2149
-2149
-162
-4985
-4985
-4985
-4462
-4462
-4462
-4769
-4769
-4769
-627
-233
-175
-2647
-4225
-4225
-4225
-3653
-1834
-471
-1241
-1241
-1241
-899
-35
-150
-705
-1652
-1306
-0
-1297
-1297
-1297
-2071
-499
-1
-67
-1246
-586
-6
-1
-50
-3857
-3857
-3857
-29
-0
-374
-1639
-156
-3549
-3549
-3549
-9
-175
-42
-563
-0
-1
-226
-2296
-111
-23
-36
-479
-3403
-3403
-3403
-3167
-206
-1874
-87
-20
-64
-2685
-1654
-1654
-1654
-1334
-90
-2225
-242
-242
-242
-31
-230
-59
-1
-883
-1377
-818
-448
-4184
-4184
-4184
-362
-913
-106
-950
-950
-950
-562
-38
-144
-2807
-37
-102
-4110
-4110
-4110
-2422
-2422
-2422
-4277
-4277
-4277
-99
-377
-0
-169
-102
-501
-165
-0
-611
-1115
-39
-4785
-4785
-4785
-1140
-3539
-3539
-3539
-645
-841
-841
-841
-378
-3897
-3897
-3897
-2699
-1
-62
-234
-1950
-1428
-1428
-1428
-211
-211
-1825
-0
-1
-26
-31
-1349
-1349
-1349
-925
-75
-185
-32
-56
-368
-171
-2
-389
-485
-31
-1557
-1079
-4813
-4813
-4813
-155
-498
-113
-3898
-3898
-3898
-1293
-42
-4972
-4972
-4972
-236
-42
-1782
-1782
-1782
-1667
-3010
-3010
-3010
-26
-2446
-2446
-2446
-538
-3913
-3913
-3913
-367
-248
-433
-2257
-519
-461
-2263
-2263
-2263
-130
-40
-54
-166
-46
-231
-0
-3937
-3937
-3937
-1575
-4460
-4460
-4460
-0
-692
-27
-842
-842
-842
-163
-618
-0
-186
-230
-2714
-838
-1134
-113
-504
-20
-598
-284
-7
-176
-66
-3873
-3873
-3873
-0
-368
-368
-368
-187
-203
-75
-3183
-3183
-3183
-93
-326
-1331
-186
-2577
-2577
-2577
-29
-1050
-3593
-3593
-3593
-1076
-573
-2239
-31
-1536
-1536
-1536
-41
-0
-4378
-4378
-4378
-3238
-3238
-3238
-77
-0
-584
-847
-4890
-4890
-4890
-205
-545
-978
-2504
-36
-296
-190
-1566
-33
-701
-701
-701
-961
-2218
-4266
-4266
-4266
-0
-23
-36
-2056
-2056
-2056
-5
-331
-571
-30
-166
-32
-4628
-4628
-4628
-641
-681
-40
-65
-2463
-276
-2191
-2191
-2191
-71
-90
-2124
-2124
-2124
-266
-32
-28
-4067
-4067
-4067
-39
-649
-4228
-85
-3345
-3345
-3345
-73
-3999
-3999
-3999
-25
-844
-2502
-2502
-2502
-3
-219
-323
-25
-917
-2508
-2508
-2508
-1514
-1514
-1514
-922
-62
-2764
-2764
-2764
-48
-29
-2072
-184
-1921
-741
-741
-741
-25
-31
-40
-306
-65
-1513
-1400
-1400
-1400
-355
-3623
-3623
-3623
-4703
-4703
-4703
-1429
-1440
-42
-3721
-3721
-3721
-69
-705
-2718
-265
-29
-21
-21
-1727
-192
-2820
-98
-19
-269
-2
-5
-2195
-2195
-2195
-37
-25
-2050
-1718
-1718
-1718
-23
-21
-3155
-3155
-3155
-190
-1
-99
-1213
-1213
-1213
-0
-114
-1693
-1693
-1693
-168
-43
-0
-368
-1457
-21
-1489
-1489
-1489
-900
-1142
-0
-616
-27
-2113
-2113
-2113
-29
-47
-875
-305
-27
-252
-3722
-3722
-3722
-1636
-3558
-3558
-3558
-57
-2082
-789
-344
-1246
-4286
-247
-20
-66
-10
-197
-666
-111
-59
-2179
-2179
-2179
-326
-3732
-3732
-3732
-59
-20
-818
-1941
-30
-317
-142
-52
-42
-895
-35
-561
-42
-137
-640
-1276
-105
-4943
-4943
-4943
-297
-65
-1
-628
-161
-3712
-3712
-3712
-1
-653
-966
-80
-251
-21
-2490
-43
-276
-80
-262
-1262
-1383
-23
-692
-1271
-80
-115
-136
-1
-1044
-151
-79
-1735
-1361
-1361
-1361
-90
-3191
-152
-48
-29
-61
-1389
-240
-2468
-2433
-88
-696
-696
-696
-1755
-1755
-1755
-906
-906
-906
-293
-532
-526
-240
-1
-845
-845
-845
-2500
-1766
-85
-87
-671
-245
-914
-689
-37
-86
-332
-481
-735
-112
-2
-0
-1
-4646
-4646
-4646
-4298
-4298
-4298
-179
-181
-1367
-365
-164
-2529
-9
-946
-216
-30
-23
-4564
-4564
-4564
-4657
-4657
-4657
-293
-284
-233
-94
-1418
-1418
-1418
-258
-1002
-139
-398
-608
-56
-2504
-2504
-2504
-204
-87
-274
-49
-542
-62
-27
-1
-3664
-2716
-2716
-2716
-25
-706
-1370
-2590
-1
-396
-31
-1070
-1070
-1070
-2312
-2312
-2312
-92
-0
-673
-30
-38
-2499
-2499
-2499
-1412
-427
-2129
-3284
-3284
-3284
-162
-305
-3258
-3258
-3258
-703
-645
-3615
-3615
-3615
-341
-276
-1366
-93
-697
-697
-697
-54
-355
-37
-57
-4015
-4015
-4015
-1100
-1100
-1100
-149
-1762
-1762
-1762
-1262
-65
-20
-4897
-4897
-4897
-753
-0
-679
-63
-3279
-32
-4856
-4856
-4856
-1
-28
-4716
-4716
-4716
-65
-750
-2
-29
-23
-4790
-4790
-4790
-127
-894
-260
-2164
-3
-1175
-236
-583
-1098
-1
-42
-335
-4629
-4629
-4629
-2
-1799
-399
-121
-2266
-441
-2122
-72
-172
-1472
-0
-3059
-3059
-3059
-1403
-1403
-1403
-44
-4425
-4425
-4425
-339
-339
-339
-0
-3364
-3364
-3364
-1114
-1753
-1753
-1753
-755
-30
-1136
-399
-82
-1102
-617
-61
-3422
-173
-105
-3778
-3778
-3778
-712
-318
-3635
-30
-1419
-49
-65
-65
-0
-324
-787
-18
-1
-2718
-2718
-2718
-4
-1391
-34
-33
-3826
-3826
-3826
-73
-0
-6
-59
-1005
-165
-4732
-4732
-4732
-56
-1823
-334
-4759
-4759
-4759
-732
-55
-182
-37
-361
-26
-3965
-3965
-3965
-365
-382
-1531
-115
-4758
-4758
-4758
-1417
-110
-1110
-121
-219
-4784
-4784
-4784
-0
-4034
-3942
-3942
-3942
-46
-2595
-2197
-3665
-3665
-3665
-30
-76
-2859
-2859
-2859
-4380
-4380
-4380
-1850
-731
-2507
-800
-0
-34
-1327
-24
-325
-57
-3
-24
-70
-30
-1339
-4
-64
-324
-324
-324
-4830
-4830
-4830
-681
-133
-2202
-2202
-2202
-203
-2
-2239
-381
-1108
-1108
-1108
-3156
-3156
-3156
-3
-307
-40
-3315
-30
-2918
-22
-3716
-3716
-3716
-2528
-3284
-3284
-3284
-254
-56
-1
-365
-3164
-3164
-3164
-53
-0
-0
-2531
-634
-300
-4610
-4610
-4610
-3121
-4397
-4397
-4397
-1388
-1388
-1388
-31
-371
-70
-0
-3656
-3656
-3656
-5
-2137
-2389
-2389
-2389
-26
-6
-4737
-4737
-4737
-1513
-1195
-22
-233
-328
-182
-180
-100
-1897
-1897
-1897
-26
-171
-2602
-1815
-1815
-1815
-11
-88
-178
-0
-27
-4741
-4741
-4741
-21
-121
-4734
-4734
-4734
-505
-505
-505
-31
-703
-4083
-4083
-4083
-2428
-1867
-1992
-3168
-3168
-3168
-188
-509
-509
-509
-2823
-1320
-3144
-152
-3082
-3710
-3710
-3710
-2998
-50
-50
-50
-1559
-689
-1372
-1372
-1372
-2091
-1010
-1010
-1010
-2267
-1835
-3246
-3246
-3246
-2900
-2900
-2900
-21
-1
-4476
-4476
-4476
-337
-201
-29
-4057
-4057
-4057
-42
-33
-3318
-3318
-3318
-1047
-84
-64
-24
-4042
-4042
-4042
-20
-2367
-33
-3555
-3555
-3555
-0
-105
-1684
-1
-1379
-25
-29
-92
-455
-455
-455
-1541
-1541
-1541
-1995
-2290
-447
-33
-101
-1455
-1455
-1455
-31
-2507
-2045
-2045
-2045
-7
-20
-31
-21
-0
-387
-374
-100
-32
-3349
-3349
-3349
-37
-1267
-373
-1
-200
-68
-339
-40
-532
-532
-532
-1492
-1886
-5
-1400
-7
-468
-951
-472
-1193
-1930
-1930
-1930
-29
-4211
-4211
-4211
-119
-1
-0
-94
-371
-28
-183
-21
-1502
-1502
-1502
-46
-491
-491
-491
-1416
-1416
-1416
-3359
-3359
-3359
-2511
-4
-773
-0
-3
-100
-0
-21
-0
-45
-1496
-1496
-1496
-116
-4727
-4727
-4727
-394
-1993
-138
-2229
-2229
-2229
-1476
-3652
-3652
-3652
-21
-351
-3781
-3781
-3781
-28
-2113
-1510
-2930
-2930
-2930
-22
-22
-3254
-3254
-3254
-203
-4056
-3024
-1159
-37
-58
-46
-1779
-355
-1091
-40
-21
-0
-880
-2882
-2882
-2882
-1144
-3614
-3614
-3614
-0
-399
-20
-30
-92
-1673
-256
-2735
-2735
-2735
-4
-40
-2964
-2964
-2964
-45
-436
-3090
-3090
-3090
-403
-983
-1549
-1058
-1712
-22
-1539
-376
-357
-24
-9
-3066
-3066
-3066
-2897
-2910
-34
-8
-4
-549
-3589
-3589
-3589
-717
-191
-60
-24
-0
-33
-25
-4825
-4825
-4825
-1860
-52
-35
-4401
-4401
-4401
-3221
-83
-1893
-39
-603
-53
-991
-2615
-197
-197
-197
-7
-75
-2825
-31
-775
-775
-775
-2854
-2854
-2854
-714
-3093
-3093
-3093
-80
-745
-5
-1815
-69
-618
-1840
-2279
-2279
-2279
-847
-426
-390
-753
-178
-284
-284
-284
-248
-1
-8
-1537
-594
-1537
-1537
-1537
-74
-0
-2352
-2352
-2352
-3487
-3487
-3487
-2989
-2989
-2989
-1
-26
-4110
-4110
-4110
-1824
-2318
-2318
-2318
-3669
-139
-391
-704
-1
-49
-1
-37
-21
-2930
-2863
-2863
-2863
-785
-785
-785
-924
-3519
-40
-27
-1822
-0
-25
-0
-1108
-4700
-4700
-4700
-507
-1831
-1
-4432
-4432
-4432
-2566
-0
-1810
-212
-82
-22
-28
-685
-33
-143
-638
-638
-638
-203
-1166
-1166
-1166
-37
-22
-35
-36
-798
-798
-798
-330
-283
-42
-284
-1994
-73
-2941
-2638
-2638
-2638
-35
-1311
-3
-274
-1059
-1059
-1059
-757
-2304
-4628
-4628
-4628
-5
-3258
-3258
-3258
-799
-2373
-11
-635
-2634
-2634
-2634
-2537
-2654
-28
-4450
-2304
-0
-378
-2478
-2478
-2478
-35
-1380
-1090
-396
-396
-396
-428
-428
-428
-28
-34
-692
-692
-692
-3534
-3534
-3534
-1
-99
-58
-3
-1
-4608
-4608
-4608
-1
-506
-293
-3326
-882
-2188
-3033
-3033
-3033
-29
-5
-27
-514
-2690
-2690
-2690
-207
-130
-23
-67
-30
-1356
-1356
-1356
-3933
-3933
-3933
-3610
-3610
-3610
-430
-26
-1786
-2652
-2652
-2652
-62
-460
-760
-3787
-3787
-3787
-43
-2
-91
-3628
-3628
-3628
-3825
-3825
-3825
-1952
-45
-1740
-21
-2642
-21
-109
-1118
-1509
-1509
-1509
-30
-4
-20
-522
-295
-60
-131
-2263
-2263
-2263
-1801
-1801
-1801
-0
-111
-731
-731
-731
-0
-2133
-96
-20
-3970
-3970
-3970
-203
-4146
-4146
-4146
-518
-518
-518
-24
-3040
-3040
-3040
-2091
-1908
-795
-795
-795
-21
-1849
-51
-150
-230
-4
-36
-61
-1128
-472
-473
-473
-473
-35
-387
-34
-3426
-2111
-22
-697
-1241
-26
-1470
-1269
-849
-3350
-3350
-3350
-3058
-3058
-3058
-52
-9
-3363
-3363
-3363
-21
-3720
-3720
-3720
-65
-36
-2900
-2900
-2900
-986
-30
-0
-38
-748
-1747
-1126
-4
-4406
-4406
-4406
-4202
-86
-2688
-1529
-0
-33
-1591
-1591
-1591
-15
-1957
-3119
-30
-5
-4629
-4629
-4629
-34
-1490
-1490
-1490
-55
-1862
-1862
-1862
-96
-190
-1433
-416
-850
-3494
-3494
-3494
-830
-28
-169
-4658
-4658
-4658
-2577
-140
-652
-1586
-0
-370
-1365
-201
-1
-82
-3030
-61
-74
-380
-1080
-4217
-4217
-4217
-5
-1
-3748
-3748
-3748
-2255
-411
-508
-201
-3
-21
-198
-29
-2196
-2237
-24
-1376
-1421
-5
-1295
-3604
-3604
-3604
-149
-149
-149
-376
-1473
-1473
-1473
-2371
-215
-489
-184
-184
-184
-62
-1418
-1418
-1418
-23
-23
-820
-96
-574
-32
-3492
-3492
-3492
-1454
-2985
-2985
-2985
-119
-38
-1591
-2271
-2271
-2271
-10
-2232
-3009
-3009
-3009
-3785
-3785
-3785
-1399
-2856
-2856
-2856
-4201
-4201
-4201
-22
-545
-38
-69
-1904
-1904
-1904
-2818
-97
-25
-510
-1524
-122
-1931
-1931
-1931
-3444
-3444
-3444
-878
-803
-41
-146
-31
-3359
-3359
-3359
-3724
-3724
-3724
-2938
-2938
-2938
-50
-478
-13
-2
-286
-112
-2626
-2626
-2626
-766
-156
-42
-2895
-1052
-60
-3655
-3655
-3655
-181
-634
-2625
-3149
-1821
-24
-402
-219
-20
-44
-48
-57
-73
-468
-1194
-32
-5
-49
-4729
-46
-205
-3782
-1
-2
-302
-111
-3749
-28
-412
-1520
-36
-2892
-2892
-2892
-68
-1626
-2226
-1198
-0
-173
-216
-216
-216
-1965
-20
-1776
-757
-23
-4366
-4366
-4366
-95
-139
-1566
-188
-1375
-0
-2248
-2248
-2248
-4836
-4836
-4836
-1002
-32
-4533
-4533
-4533
-2207
-104
-0
-592
-458
-21
-1986
-1986
-1986
-256
-1954
-1954
-1954
-829
-115
-1532
-1532
-1532
-1
-214
-2976
-669
-4860
-4860
-4860
-1601
-1601
-1601
-29
-31
-216
-2227
-113
-4351
-4351
-4351
-1230
-3110
-397
-41
-3
-1
-110
-77
-1994
-1994
-1994
-4041
-1219
-588
-338
-22
-27
-2667
-2667
-2667
-2009
-2009
-2009
-31
-222
-91
-2
-3012
-4582
-4582
-4582
-0
-1736
-2442
-88
-505
-2718
-4497
-4497
-4497
-155
-3352
-3352
-3352
-10
-24
-4889
-4889
-4889
-520
-1856
-53
-2
-33
-2187
-2187
-2187
-1
-2965
-2965
-2965
-117
-30
-3991
-3991
-3991
-633
-40
-385
-1964
-57
-34
-3962
-2163
-2281
-3828
-3828
-3828
-157
-4493
-4493
-4493
-2782
-577
-70
-4448
-4448
-4448
-56
-3344
-3344
-3344
-3
-39
-149
-149
-149
-352
-759
-61
-89
-22
-1128
-1128
-1128
-35
-142
-2367
-2367
-2367
-159
-966
-2992
-2992
-2992
-3398
-3398
-3398
-372
-376
-21
-107
-3824
-3824
-3824
-4854
-4854
-4854
-1867
-339
-383
-755
-819
-81
-864
-75
-32
-258
-396
-3080
-3080
-3080
-45
-1243
-107
-3100
-3061
-3061
-3061
-1
-62
-61
-3236
-3236
-3236
-1955
-1955
-1955
-1336
-0
-0
-1292
-1292
-1292
-95
-1953
-30
-488
-4836
-4836
-4836
-153
-135
-839
-839
-839
-1284
-2916
-3056
-1555
-206
-1924
-1924
-1924
-2928
-3138
-3138
-3138
-2589
-2589
-2589
-59
-2659
-25
-0
-20
-106
-31
-31
-233
-4495
-4495
-4495
-835
-847
-1149
-381
-51
-27
-2619
-120
-836
-836
-836
-4878
-4878
-4878
-1585
-1585
-1585
-32
-1243
-90
-329
-44
-2166
-2166
-2166
-4033
-4033
-4033
-3051
-1
-34
-845
-285
-1
-2101
-0
-4137
-4137
-4137
-141
-52
-3824
-3824
-3824
-2450
-2
-69
-2619
-0
-36
-1530
-1201
-69
-1153
-4076
-4076
-4076
-1829
-1829
-1829
-132
-4701
-4701
-4701
-32
-99
-2327
-3074
-3074
-3074
-55
-2403
-2403
-2403
-27
-2156
-381
-3
-124
-1092
-3818
-3818
-3818
-4827
-4827
-4827
-625
-68
-29
-0
-2
-109
-1242
-1242
-1242
-187
-33
-225
-93
-35
-117
-2171
-18
-71
-49
-0
-3755
-1158
-137
-137
-137
-2402
-2402
-2402
-100
-1893
-2618
-2618
-2618
-309
-953
-1426
-1426
-1426
-3651
-3651
-3651
-458
-1
-161
-415
-3844
-3844
-3844
-2337
-3039
-3039
-3039
-1892
-2
-1417
-1417
-1417
-1770
-140
-53
-801
-2367
-2816
-2816
-2816
-2553
-4194
-4194
-4194
-723
-6
-25
-219
-1852
-103
-1822
-43
-365
-34
-1847
-34
-58
-4929
-4929
-4929
-731
-2540
-2540
-2540
-1611
-99
-2502
-2328
-1549
-1273
-1273
-1273
-6
-736
-4045
-4045
-4045
-1084
-24
-438
-0
-572
-4206
-4206
-4206
-1
-237
-2605
-2605
-2605
-3100
-1566
-1566
-1566
-1372
-1372
-1372
-31
-120
-176
-2680
-2680
-2680
-362
-214
-2787
-210
-1976
-1976
-1976
-77
-1803
-49
-25
-2012
-2012
-2012
-438
-438
-438
-1973
-361
-28
-366
-4032
-4032
-4032
-91
-4110
-4110
-4110
-63
-2410
-28
-9
-49
-194
-26
-95
-99
-982
-3277
-3277
-3277
-116
-923
-697
-1170
-54
-2537
-2537
-2537
-1267
-1204
-3565
-3565
-3565
-2498
-107
-42
-1708
-66
-28
-573
-997
-0
-1512
-1512
-1512
-4477
-4477
-4477
-46
-30
-81
-67
-186
-4
-31
-78
-4382
-2174
-366
-1933
-1034
-179
-6
-231
-1737
-1737
-1737
-1161
-156
-97
-4917
-4917
-4917
-4236
-4236
-4236
-0
-446
-27
-71
-55
-36
-825
-1
-823
-823
-823
-327
-327
-327
-81
-173
-0
-2740
-46
-46
-2719
-2719
-2719
-845
-26
-21
-1
-4276
-4276
-4276
-1282
-0
-2110
-3971
-63
-4614
-4614
-4614
-495
-3572
-2314
-1412
-79
-3128
-3128
-3128
-578
-2536
-2536
-2536
-4490
-86
-1872
-3543
-3543
-3543
-977
-977
-977
-303
-0
-2087
-2574
-2574
-2574
-907
-28
-589
-71
-32
-31
-3593
-3593
-3593
-84
-338
-153
-2408
-2408
-2408
-62
-814
-3170
-3170
-3170
-83
-22
-1288
-212
-1788
-47
-1
-2346
-2346
-2346
-4922
-4922
-4922
-2
-561
-50
-4086
-4086
-4086
-135
-22
-1085
-1085
-1085
-177
-80
-0
-23
-20
-2506
-2122
-2122
-2122
-367
-2837
-2837
-2837
-23
-985
-10
-1323
-1323
-1323
-2795
-1527
-4083
-4083
-4083
-72
-2
-31
-432
-1723
-534
-3075
-127
-2708
-2708
-2708
-365
-538
-2771
-2771
-2771
-119
-920
-4669
-4669
-4669
-861
-366
-173
-67
-159
-49
-2738
-124
-22
-123
-72
-27
-3428
-39
-57
-2769
-64
-956
-11
-63
-13
-588
-2415
-2415
-2415
-383
-1120
-3658
-3658
-3658
-661
-661
-661
-1984
-153
-29
-2163
-988
-37
-43
-0
-0
-980
-6
-27
-1985
-875
-2017
-2927
-2927
-2927
-2757
-613
-4718
-4718
-4718
-367
-17
-242
-200
-28
-1331
-216
-257
-257
-257
-29
-251
-2021
-2527
-2527
-2527
-1153
-29
-177
-75
-1185
-485
-2212
-389
-43
-36
-590
-1812
-1812
-1812
-1620
-59
-80
-3192
-3192
-3192
-21
-925
-245
-630
-32
-2961
-29
-2636
-1
-390
-935
-336
-25
-4567
-4567
-4567
-128
-95
-1
-2117
-4
-30
-574
-554
-2328
-2328
-2328
-97
-43
-106
-25
-1364
-573
-0
-622
-0
-2066
-4978
-4978
-4978
-2185
-2185
-2185
-151
-338
-0
-2375
-31
-1
-0
-250
-94
-4163
-4163
-4163
-282
-165
-3546
-3546
-3546
-3199
-229
-3774
-3774
-3774
-2001
-192
-40
-2534
-2534
-2534
-0
-109
-4812
-4812
-4812
-91
-1181
-1181
-1181
-125
-269
-4737
-4737
-4737
-2797
-2797
-2797
-315
-34
-0
-20
-66
-1
-334
-4991
-4991
-4991
-84
-202
-488
-28
-1009
-1009
-1009
-1626
-2283
-2283
-2283
-2450
-1168
-143
-38
-582
-160
-1936
-1936
-1936
-147
-31
-4560
-4560
-4560
-139
-26
-1
-75
-72
-2884
-2884
-2884
-732
-66
-163
-16
-5
-366
-249
-4203
-4203
-4203
-23
-3128
-3128
-3128
-0
-1008
-1008
-1008
-55
-560
-560
-560
-1346
-0
-1919
-26
-0
-26
-635
-658
-4
-44
-112
-112
-112
-0
-5
-221
-4683
-4683
-4683
-264
-264
-264
-0
-32
-148
-29
-835
-881
-1
-2434
-2434
-2434
-98
-176
-1382
-80
-48
-62
-42
-57
-47
-1511
-147
-235
-2891
-2891
-2891
-410
-3400
-81
-4984
-4984
-4984
-2534
-2534
-2534
-3598
-3598
-3598
-732
-732
-732
-54
-422
-21
-1855
-3197
-3197
-3197
-117
-2122
-2122
-2122
-1024
-41
-138
-2859
-2859
-2859
-0
-66
-0
-768
-768
-768
-1
-4794
-4794
-4794
-38
-2635
-226
-3958
-3958
-3958
-662
-71
-71
-71
-0
-2827
-2827
-2827
-96
-367
-2768
-2768
-2768
-277
-2196
-0
-1969
-60
-688
-2288
-23
-46
-4986
-4986
-4986
-1741
-2397
-2397
-2397
-604
-117
-47
-1
-3665
-2241
-72
-208
-1570
-1570
-1570
-145
-67
-23
-170
-2
-247
-35
-2574
-2852
-1639
-1639
-1639
-22
-1385
-2641
-20
-77
-72
-3506
-365
-0
-68
-77
-2743
-2743
-2743
-26
-4514
-4514
-4514
-2
-30
-3
-230
-3667
-1371
-1371
-1371
-3923
-3923
-3923
-128
-59
-59
-59
-4327
-4327
-4327
-86
-1678
-3
-2504
-1579
-1579
-1579
-0
-1033
-2398
-2398
-2398
-4238
-4238
-4238
-3307
-3480
-37
-1460
-116
-4
-2015
-2015
-2015
-2220
-2220
-2220
-232
-583
-667
-3689
-3689
-3689
-3
-4083
-4083
-4083
-394
-83
-310
-0
-168
-4419
-4419
-4419
-969
-969
-969
-528
-402
-1587
-4859
-4859
-4859
-572
-572
-572
-674
-3903
-3903
-3903
-0
-26
-2255
-68
-3
-34
-51
-3293
-3293
-3293
-1061
-2456
-2456
-2456
-176
-188
-1
-2130
-31
-30
-339
-368
-368
-368
-1
-166
-275
-255
-341
-751
-31
-657
-657
-657
-330
-841
-53
-1760
-1760
-1760
-210
-258
-1000
-3881
-3881
-3881
-41
-3974
-3974
-3974
-1827
-1547
-1547
-1547
-1499
-1499
-1499
-30
-318
-52
-41
-37
-37
-37
-21
-99
-677
-2534
-2156
-2156
-2156
-1742
-637
-1690
-1690
-1690
-2511
-1291
-3297
-3297
-3297
-131
-505
-452
-0
-3670
-3670
-3670
-1
-28
-3173
-3173
-3173
-25
-1366
-28
-103
-56
-63
-2495
-2495
-2495
-2255
-2255
-2255
-2872
-33
-1166
-68
-1
-1086
-69
-69
-69
-2609
-2609
-2609
-269
-20
-2770
-2770
-2770
-2
-1130
-1130
-1130
-1285
-1225
-527
-33
-2308
-45
-2164
-2164
-2164
-2369
-2369
-2369
-20
-642
-642
-642
-1127
-1590
-626
-3462
-3462
-3462
-1788
-78
-129
-0
-2089
-2089
-2089
-30
-26
-1030
-59
-3961
-568
-1
-1376
-171
-23
-9
-0
-96
-75
-264
-1348
-1348
-1348
-3235
-3235
-3235
-0
-2
-2840
-2840
-2840
-405
-3933
-1719
-3192
-22
-32
-664
-689
-159
-292
-55
-2855
-2855
-2855
-109
-2457
-2457
-2457
-2158
-812
-1
-600
-302
-852
-0
-395
-223
-2572
-2572
-2572
-105
-40
-1730
-4361
-20
-0
-2101
-22
-57
-4667
-4667
-4667
-526
-177
-177
-177
-284
-783
-25
-68
-562
-4053
-4053
-4053
-169
-26
-524
-89
-2
-0
-326
-256
-26
-0
-1283
-756
-1236
-104
-35
-302
-4304
-4304
-4304
-2351
-2351
-2351
-1868
-3622
-1298
-12
-21
-2931
-2931
-2931
-2802
-2802
-2802
-138
-63
-2816
-2816
-2816
-254
-6
-99
-11
-32
-1007
-2512
-88
-88
-88
-375
-61
-44
-4568
-4568
-4568
-3389
-3389
-3389
-39
-24
-4673
-4673
-4673
-4685
-4685
-4685
-2911
-2911
-2911
-0
-153
-344
-344
-344
-3270
-2192
-264
-2803
-2803
-2803
-0
-114
-650
-2859
-2859
-2859
-204
-279
-6
-525
-26
-20
-1070
-63
-132
-132
-132
-756
-61
-258
-269
-436
-0
-2656
-37
-41
-805
-1551
-1551
-1551
-110
-33
-10
-1753
-1753
-1753
-0
-103
-103
-103
-876
-876
-876
-3290
-3290
-3290
-3430
-58
-0
-336
-92
-1460
-1507
-1818
-1818
-1818
-25
-2542
-1006
-1006
-1006
-3306
-3306
-3306
-97
-33
-23
-26
-30
-0
-2862
-2
-20
-141
-1276
-825
-365
-360
-42
-103
-698
-413
-1321
-2517
-2517
-2517
-62
-1100
-687
-1116
-1331
-62
-36
-3430
-2915
-1366
-277
-2970
-2970
-2970
-10
-2274
-24
-4169
-4169
-4169
-36
-1
-366
-21
-1752
-1752
-1752
-26
-3355
-3355
-3355
-325
-351
-522
-22
-722
-950
-950
-950
-0
-23
-50
-34
-1621
-1621
-1621
-2028
-2028
-2028
-36
-4793
-4793
-4793
-957
-1387
-91
-756
-1
-139
-328
-450
-3003
-71
-1
-224
-4866
-4866
-4866
-2347
-2347
-2347
-2330
-2330
-2330
-24
-35
-130
-301
-1784
-146
-731
-3914
-3914
-3914
-1
-3192
-27
-1598
-172
-990
-24
-1141
-286
-310
-1673
-1673
-1673
-40
-3653
-3653
-3653
-2039
-2039
-2039
-25
-20
-27
-3264
-3264
-3264
-303
-751
-4467
-4467
-4467
-1
-101
-1443
-120
-98
-4
-4281
-4281
-4281
-5
-121
-20
-3245
-3245
-3245
-75
-1555
-1555
-1555
-428
-82
-27
-1060
-4364
-4364
-4364
-2981
-2981
-2981
-186
-4437
-4437
-4437
-125
-0
-2298
-2298
-2298
-1337
-109
-2560
-2560
-2560
-30
-2241
-1877
-30
-2299
-22
-241
-580
-91
-2759
-2759
-2759
-704
-463
-51
-435
-0
-204
-31
-2676
-0
-4295
-4295
-4295
-40
-1539
-37
-1531
-1
-1525
-290
-2184
-26
-28
-171
-2313
-84
-184
-368
-4
-2303
-3719
-3719
-3719
-7
-3288
-3288
-3288
-4
-110
-443
-127
-314
-20
-7
-1537
-1537
-1537
-67
-21
-2
-2585
-214
-589
-0
-456
-3653
-3653
-3653
-128
-1
-519
-151
-0
-67
-360
-0
-41
-2565
-2565
-2565
-31
-3
-730
-1167
-2220
-84
-28
-24
-43
-0
-1
-1828
-2413
-2413
-2413
-1081
-1081
-1081
-1864
-2123
-410
-2257
-2257
-2257
-2559
-25
-1598
-1598
-1598
-910
-0
-784
-2589
-2589
-2589
-38
-951
-316
-316
-316
-14
-200
-526
-23
-54
-3213
-3213
-3213
-75
-40
-675
-741
-23
-164
-5
-2447
-2447
-2447
-23
-0
-4344
-4344
-4344
-2
-2684
-2684
-2684
-719
-719
-719
-2273
-1068
-1856
-1856
-1856
-159
-1045
-0
-62
-172
-26
-874
-2785
-2973
-2973
-2973
-1259
-3211
-24
-45
-0
-2534
-1
-7
-32
-23
-21
-4134
-4134
-4134
-1873
-50
-22
-2912
-99
-5
-2094
-41
-29
-32
-24
-2594
-29
-28
-2927
-1740
-1740
-1740
-195
-72
-103
-4729
-4729
-4729
-36
-3783
-3783
-3783
-4091
-4091
-4091
-348
-4989
-2763
-3049
-4
-22
-349
-57
-2711
-1012
-299
-0
-245
-2317
-123
-41
-23
-1096
-31
-1009
-1108
-1108
-1108
-73
-61
-2
-56
-33
-0
-71
-311
-311
-918
-32
-274
-97
-767
-767
-767
-2641
-4746
-4746
-4746
-62
-0
-34
-777
-53
-129
-54
-21
-398
-3293
-3293
-3293
-1348
-35
-806
-259
-150
-1090
-792
-1189
-27
-2315
-48
-0
-0
-759
-40
-363
-93
-104
-37
-3687
-3687
-3687
-68
-26
-71
-37
-63
-57
-20
-2662
-2662
-2662
-21
-35
-470
-2998
-2998
-2998
-40
-848
-54
-72
-93
-322
-5
-26
-29
-2965
-2965
-2965
-276
-23
-32
-127
-239
-239
-239
-1160
-53
-1548
-27
-57
-34
-0
-60
-58
-8
-1928
-1928
-1928
-300
-434
-45
-410
-4278
-4278
-4278
-1154
-3683
-3683
-3683
-31
-1
-198
-32
-796
-4024
-4024
-4024
-1110
-53
-32
-58
-4540
-4540
-4540
-4116
-4116
-4116
-761
-67
-328
-603
-21
-3953
-3953
-3953
-4387
-4387
-4387
-476
-29
-1
-0
-1259
-73
-0
-203
-1509
-2505
-3305
-2439
-2340
-214
-2283
-0
-34
-381
-0
-7
-3049
-3049
-3049
-364
-3090
-3090
-3090
-844
-844
-844
-0
-178
-5
-2995
-2995
-2995
-21
-387
-4709
-4709
-4709
-2740
-2740
-2740
-26
-213
-3581
-3581
-3581
-221
-59
-2664
-2664
-2664
-380
-380
-380
-498
-25
-56
-3195
-3195
-3195
-225
-670
-3122
-3122
-3122
-0
-65
-1098
-49
-132
-945
-945
-945
-50
-731
-620
-620
-620
-58
-1464
-100
-59
-131
-65
-58
-58
-21
-0
-357
-536
-4844
-4844
-4844
-2947
-2947
-2947
-93
-769
-28
-20
-21
-48
-58
-1144
-83
-58
-1095
-1531
-0
-44
-3959
-3959
-3959
-95
-4045
-69
-3073
-3073
-3073
-182
-27
-66
-26
-120
-30
-4060
-4060
-4060
-27
-0
-29
-194
-86
-44
-4
-28
-431
-789
-1489
-743
-155
-22
-733
-132
-0
-115
-67
-1
-1087
-30
-117
-0
-1
-2318
-4068
-104
-2358
-2358
-2358
-88
-1913
-1913
-1913
-4826
-4826
-4826
-2612
-41
-20
-624
-4
-98
-796
-1777
-589
-589
-589
-3514
-3514
-3514
-1026
-434
-2644
-0
-5
-0
-59
-21
-4852
-4852
-4852
-2201
-35
-1198
-4382
-4382
-4382
-35
-71
-800
-33
-32
-20
-42
-52
-34
-29
-772
-2267
-2267
-2267
-1097
-107
-0
-2208
-4
-1103
-134
-3168
-3168
-3168
-7
-48
-1753
-29
-107
-0
-310
-82
-124
-1171
-3788
-3788
-3788
-1
-62
-66
-93
-0
-4748
-4748
-4748
-94
-418
-53
-4966
-4966
-4966
-29
-27
-1097
-3442
-176
-1672
-837
-0
-185
-0
-1023
-128
-64
-1464
-31
-31
-1
-2076
-2076
-2076
-214
-616
-1549
-32
-3090
-3090
-3090
-4502
-4502
-4502
-37
-98
-89
-3328
-3328
-3328
-3774
-3774
-3774
-2775
-517
-78
-30
-869
-0
-32
-186
-2256
-66
-3451
-3451
-3451
-836
-2208
-98
-85
-32
-260
-3005
-3005
-3005
-441
-441
-441
-139
-91
-102
-47
-517
-76
-41
-1792
-1792
-1792
-1705
-4153
-4153
-4153
-933
-90
-2221
-2221
-2221
-2040
-1769
-1769
-1769
-7
-2753
-37
-812
-139
-94
-3636
-67
-24
-4786
-4786
-4786
-2846
-4
-29
-1296
-46
-33
-62
-39
-1
-2772
-0
-183
-319
-188
-914
-1278
-2992
-3595
-136
-3388
-3388
-3388
-62
-681
-1
-50
-26
-122
-26
-147
-94
-150
-63
-366
-915
-1
-133
-3051
-1403
-99
-486
-0
-1290
-515
-1670
-30
-58
-1741
-1741
-1741
-641
-23
-52
-0
-3409
-3409
-3409
-133
-1942
-1942
-1942
-559
-407
-2054
-367
-93
-109
-367
-80
-201
-0
-2922
-106
-106
-106
-56
-4284
-4284
-4284
-1464
-72
-2307
-71
-31
-1299
-1299
-1299
-4382
-4382
-4382
-28
-310
-1
-2042
-3141
-371
-2827
-2827
-2827
-2051
-71
-0
-24
-123
-191
-2373
-2373
-2373
-1
-24
-0
-25
-634
-4
-3
-140
-148
-369
-0
-55
-372
-216
-4516
-4516
-4516
-41
-129
-1
-4081
-2645
-124
-3766
-246
-116
-62
-243
-659
-659
-659
-0
-126
-23
-150
-3544
-276
-276
-276
-830
-173
-210
-854
-514
-34
-195
-105
-2625
-2625
-2625
-1489
-1
-20
-1548
-21
-1
-5
-857
-78
-26
-2270
-2648
-2648
-2648
-2889
-2889
-2889
-861
-4942
-4942
-4942
-37
-1
-0
-3309
-3309
-3309
-3613
-3613
-3613
-25
-338
-898
-113
-32
-2336
-2336
-2336
-2024
-1623
-3302
-3302
-3302
-3167
-3167
-3167
-1268
-2762
-2762
-2762
-151
-73
-48
-114
-2945
-2945
-2945
-4136
-4136
-4136
-102
-2057
-2057
-2057
-79
-928
-928
-928
-320
-4537
-4537
-4537
-0
-626
-3653
-72
-58
-814
-2408
-2408
-2408
-54
-168
-3622
-3622
-3622
-2288
-71
-1255
-1735
-1735
-1735
-221
-103
-297
-435
-435
-435
-858
-5
-0
-248
-1436
-1436
-1436
-1766
-1766
-1766
-2525
-2525
-2525
-34
-60
-299
-24
-3843
-3843
-3843
-508
-3116
-3116
-3116
-35
-0
-839
-2700
-79
-3013
-3628
-3628
-3628
-2732
-2732
-2732
-1
-275
-73
-945
-98
-2365
-2365
-2365
-1266
-568
-568
-568
-3
-367
-111
-2106
-1741
-896
-3961
-510
-510
-510
-4134
-4134
-4134
-60
-3499
-3499
-3499
-4189
-4189
-4189
-101
-101
-101
-20
-20
-11
-3560
-3560
-3560
-104
-23
-506
-31
-217
-1411
-1
-2291
-2291
-2291
-21
-101
-1254
-1254
-1254
-93
-3
-377
-105
-1761
-39
-0
-3
-2
-62
-53
-60
-152
-450
-44
-502
-4847
-4847
-4847
-1264
-1509
-1509
-1509
-25
-1778
-2380
-2380
-2380
-74
-2803
-2803
-2803
-299
-1027
-1466
-4635
-4635
-4635
-119
-127
-1334
-23
-1731
-231
-381
-2781
-2781
-2781
-304
-29
-28
-4364
-1459
-2268
-4590
-4590
-4590
-2225
-2225
-2225
-216
-2441
-4082
-101
-266
-3542
-368
-1218
-27
-615
-4206
-785
-3851
-3851
-3851
-1262
-1
-101
-1263
-1263
-1263
-2919
-29
-1275
-1641
-624
-1056
-4759
-4759
-4759
-4604
-4604
-4604
-2
-261
-4704
-4704
-4704
-632
-1586
-2460
-2460
-2460
-137
-61
-1114
-785
-625
-2003
-1891
-81
-133
-2854
-2854
-2854
-2888
-2382
-2382
-2382
-1660
-4252
-4252
-4252
-2811
-2811
-2811
-1947
-1947
-1947
-593
-4553
-4553
-4553
-4839
-4839
-4839
-1386
-1386
-1386
-2360
-2360
-2360
-4930
-4930
-4930
-463
-55
-294
-294
-294
-815
-565
-3
-549
-4973
-4973
-4973
-4423
-4423
-4423
-545
-3983
-3983
-3983
-1165
-2013
-327
-327
-327
-1422
-1422
-1422
-620
-1853
-3173
-3173
-3173
-2772
-2772
-2772
-69
-682
-523
-3946
-3946
-3946
-1275
-1275
-1275
-4182
-4182
-4182
-1876
-1876
-1876
-2383
-2383
-2383
-2442
-581
-684
-564
-1009
-1267
-418
-367
-4580
-4580
-4580
-188
-1002
-7
-495
-4933
-4933
-4933
-1752
-62
-559
-989
-989
-989
-2
-124
-4471
-4471
-4471
-788
-691
-2081
-0
-1729
-3171
-2905
-2905
-2905
-2386
-2386
-2386
-33
-52
-2013
-0
-65
-2989
-4495
-4495
-4495
-0
-409
-2081
-1314
-190
-2262
-2262
-2262
-76
-127
-2314
-0
-4089
-4089
-4089
-237
-375
-1965
-252
-137
-137
-137
-602
-2031
-2031
-2031
-2081
-2081
-2081
-299
-23
-3165
-3165
-3165
-72
-1771
-309
-71
-1903
-1836
-3434
-3434
-3434
-2173
-4024
-1036
-485
-695
-695
-695
-4666
-4666
-4666
-4877
-4877
-4877
-203
-3221
-3221
-3221
-1114
-1940
-223
-2905
-2905
-2905
-69
-0
-2781
-254
-3974
-63
-1027
-1027
-1027
-70
-2008
-2008
-2008
-4729
-4729
-4729
-1514
-60
-4511
-3558
-3558
-3558
-623
-18
-50
-1365
-1365
-1365
-134
-3455
-3455
-3455
-82
-1041
-254
-502
-1350
-879
-967
-967
-967
-248
-3115
-3115
-3115
-509
-2906
-4009
-4009
-4009
-374
-208
-1819
-1819
-1819
-1928
-4987
-4987
-4987
-3609
-3609
-3609
-2102
-1
-360
-918
-0
-3748
-3748
-3748
-327
-2283
-1263
-627
-2084
-1
-325
-1776
-1776
-1776
-4042
-4042
-4042
-2823
-269
-687
-3157
-3157
-3157
-159
-88
-509
-20
-570
-4759
-4759
-4759
-163
-22
-4623
-4623
-4623
-1979
-3252
-3252
-3252
-70
-2905
-2905
-2905
-1936
-4269
-4269
-4269
-1
-1200
-2769
-4863
-4863
-4863
-4222
-1898
-1898
-1898
-890
-4624
-4624
-4624
-1830
-1830
-1830
-23
-2823
-2823
-2823
-467
-82
-2038
-2038
-2038
-61
-3671
-4430
-4430
-4430
-40
-1114
-1114
-1114
-3436
-27
-1668
-3119
-4916
-4916
-4916
-349
-30
-60
-1313
-1
-1930
-643
-985
-29
-1624
-1624
-1624
-2016
-1295
-226
-1309
-1309
-1309
-3888
-3888
-3888
-2415
-1754
-2372
-285
-4244
-4244
-4244
-2459
-3968
-3968
-3968
-1071
-36
-1458
-1458
-1458
-78
-1824
-385
-1236
-7
-942
-20
-1446
-1446
-1446
-2859
-2859
-2859
-51
-20
-284
-2715
-2715
-2715
-2406
-22
-1616
-0
-1530
-42
-49
-995
-33
-20
-1216
-1
-24
-582
-499
-852
-852
-852
-726
-1532
-49
-88
-100
-2903
-2903
-2903
-1188
-32
-556
-3923
-3923
-3923
-662
-775
-595
-2075
-175
-2487
-2487
-2487
-2963
-4205
-4205
-4205
-236
-3924
-3924
-3924
-53
-55
-604
-604
-604
-293
-125
-54
-2246
-22
-8
-25
-224
-1
-1678
-365
-4123
-4123
-4123
-1024
-1307
-1307
-1307
-247
-4610
-4610
-4610
-3215
-727
-1502
-1
-53
-2829
-3968
-3968
-3968
-1420
-1420
-1420
-29
-29
-29
-179
-39
-611
-1084
-1821
-1821
-1821
-261
-2794
-2794
-2794
-1633
-2176
-2176
-2176
-582
-3234
-359
-359
-359
-0
-365
-576
-4305
-4305
-4305
-61
-4567
-4567
-4567
-2573
-2573
-2573
-366
-1247
-1247
-1247
-1283
-446
-3591
-3591
-3591
-2142
-343
-3152
-3152
-3152
-42
-93
-3163
-236
-630
-2920
-2920
-2920
-64
-1602
-1602
-1602
-1745
-1745
-1745
-235
-365
-31
-901
-1176
-1
-335
-13
-24
-29
-888
-888
-888
-1051
-2773
-2773
-2773
-2918
-2918
-2918
-60
-99
-30
-1603
-54
-33
-835
-1082
-3878
-3878
-3878
-67
-906
-2
-9
-1244
-1244
-1244
-369
-30
-53
-0
-3973
-3973
-3973
-2491
-455
-887
-73
-37
-269
-29
-1
-38
-28
-410
-1076
-3948
-3948
-3948
-973
-26
-280
-203
-2566
-2566
-2566
-632
-260
-151
-3616
-3616
-3616
-2473
-2285
-2372
-0
-0
-34
-706
-2765
-2765
-2765
-2619
-2619
-2619
-34
-0
-60
-936
-51
-2
-109
-167
-33
-391
-23
-2434
-253
-106
-227
-404
-254
-3503
-3503
-3503
-1175
-37
-140
-1
-23
-28
-2319
-104
-2423
-2423
-2423
-0
-2115
-700
-462
-0
-1511
-2448
-2448
-2448
-61
-40
-2451
-1651
-1053
-1053
-1053
-635
-1677
-177
-985
-985
-985
-3351
-3351
-3351
-32
-2954
-96
-279
-257
-24
-24
-24
-108
-2369
-272
-2031
-23
-2954
-2954
-2954
-306
-318
-365
-2583
-2583
-2583
-271
-254
-48
-0
-3643
-3643
-3643
-5
-51
-1081
-50
-36
-3028
-3028
-3028
-710
-2
-447
-466
-4844
-4844
-4844
-1887
-1887
-1887
-1802
-8
-41
-73
-96
-1082
-1082
-1082
-1882
-281
-229
-2510
-2510
-2510
-780
-780
-780
-33
-31
-163
-92
-136
-3029
-3029
-3029
-150
-67
-3660
-727
-2150
-729
-28
-291
-0
-61
-35
-105
-1086
-34
-159
-0
-38
-75
-2907
-2907
-2907
-1256
-2143
-27
-368
-249
-1
-342
-342
-342
-2405
-327
-61
-3032
-86
-3738
-3738
-3738
-21
-4003
-4003
-4003
-4
-1313
-9
-633
-2
-3666
-49
-59
-1821
-4732
-4732
-4732
-184
-1734
-3636
-2918
-2918
-2918
-1355
-36
-255
-0
-91
-33
-47
-159
-29
-1916
-1916
-1916
-117
-584
-584
-584
-303
-303
-303
-352
-452
-33
-115
-1197
-4064
-4064
-4064
-369
-2826
-2826
-2826
-425
-1
-3696
-3696
-3696
-3300
-3300
-3300
-1
-3408
-3408
-3408
-74
-407
-271
-319
-24
-43
-96
-90
-2924
-49
-32
-746
-277
-3176
-3976
-3976
-3976
-356
-356
-356
-375
-34
-1778
-2
-29
-1486
-4027
-4027
-4027
-1848
-1848
-1848
-262
-9
-1195
-31
-2909
-2909
-2909
-1172
-1172
-1172
-49
-2
-3302
-3302
-3302
-4076
-4076
-4076
-1
-27
-3271
-25
-676
-90
-1662
-20
-3214
-11
-57
-4781
-4781
-4781
-47
-1977
-281
-0
-325
-112
-60
-1
-2158
-2379
-2379
-2379
-434
-65
-53
-87
-2501
-2501
-2501
-64
-20
-33
-3149
-3149
-3149
-25
-90
-30
-1366
-73
-594
-3244
-3244
-3244
-696
-696
-696
-11
-687
-208
-1444
-1444
-1444
-162
-47
-3956
-3956
-3956
-51
-2916
-709
-2984
-2984
-2984
-0
-1
-79
-256
-393
-393
-393
-275
-3
-191
-2912
-2912
-2912
-57
-348
-670
-4093
-4093
-4093
-526
-3040
-3040
-3040
-367
-33
-1039
-1039
-1039
-1732
-1279
-0
-535
-317
-1027
-35
-1
-4551
-4551
-4551
-4662
-4662
-4662
-183
-25
-1147
-1147
-1147
-3673
-3673
-3673
-60
-2121
-83
-3667
-3667
-3667
-75
-365
-1797
-305
-10
-1403
-4
-3205
-3205
-3205
-3623
-3623
-3623
-370
-1407
-54
-1311
-0
-441
-31
-4772
-4772
-4772
-27
-1412
-2750
-2750
-2750
-540
-388
-936
-1528
-2
-32
-1736
-1736
-1736
-57
-26
-1392
-3293
-3293
-3293
-3326
-282
-1057
-143
-7
-12
-23
-2595
-2595
-2595
-0
-32
-310
-54
-130
-86
-6
-2644
-2644
-2644
-28
-3048
-3048
-3048
-681
-2182
-2182
-2182
-136
-41
-92
-64
-2133
-2133
-2133
-1393
-1393
-1393
-4360
-4360
-4360
-314
-114
-1512
-1349
-1349
-1349
-1555
-423
-3
-29
-72
-23
-728
-329
-3695
-3695
-3695
-1745
-20
-1138
-133
-7
-39
-103
-2201
-2201
-2201
-2202
-2202
-2202
-37
-378
-4694
-4694
-4694
-25
-401
-63
-2681
-4354
-4354
-4354
-290
-557
-463
-272
-382
-44
-22
-124
-2274
-2274
-2274
-35
-1
-188
-2581
-4668
-62
-1507
-33
-3123
-3123
-3123
-1369
-0
-59
-34
-46
-20
-795
-247
-7
-789
-4220
-736
-31
-2679
-138
-120
-30
-2114
-4174
-4174
-4174
-47
-331
-49
-147
-2798
-3170
-3170
-3170
-44
-160
-0
-649
-1191
-4844
-4844
-4844
-15
-58
-45
-969
-32
-4264
-4264
-4264
-173
-2566
-2566
-2566
-0
-361
-2690
-25
-47
-4637
-4637
-4637
-400
-2682
-2682
-2682
-174
-0
-1
-1467
-2985
-0
-65
-2615
-2615
-2615
-86
-2816
-2816
-2816
-2827
-2827
-2827
-1150
-1150
-1150
-99
-185
-2934
-2133
-3964
-3964
-3964
-2938
-2938
-2938
-4854
-4854
-4854
-34
-1694
-1694
-1694
-2610
-32
-88
-373
-2988
-3659
-3659
-3659
-2900
-779
-248
-2411
-26
-16
-1067
-154
-197
-36
-63
-137
-3256
-25
-49
-73
-45
-279
-2708
-2708
-2708
-47
-41
-2223
-3931
-3931
-3931
-52
-141
-95
-251
-28
-29
-4445
-4445
-4445
-4054
-4054
-4054
-262
-1427
-2621
-2621
-2621
-4917
-4917
-4917
-458
-2193
-2193
-2193
-3934
-3934
-3934
-35
-81
-25
-309
-2257
-2257
-2257
-30
-26
-76
-2021
-2021
-2021
-93
-2596
-2596
-2596
-73
-294
-49
-435
-494
-2497
-497
-1315
-1878
-2
-243
-529
-39
-787
-787
-787
-67
-21
-0
-1
-4410
-4410
-4410
-36
-158
-2633
-4054
-4054
-4054
-1
-59
-1463
-57
-2231
-188
-701
-276
-1629
-902
-902
-902
-502
-0
-2829
-0
-501
-2813
-2813
-2813
-354
-310
-1569
-3391
-3391
-3391
-2806
-2806
-2806
-2519
-2519
-2519
-27
-33
-3673
-3673
-3673
-860
-1888
-126
-70
-451
-366
-61
-1
-873
-2954
-155
-722
-722
-722
-145
-365
-13
-1219
-1219
-1219
-1
-0
-2707
-259
-130
-41
-751
-2
-882
-145
-36
-0
-4
-3284
-3284
-3284
-4847
-4847
-4847
-104
-368
-2583
-1620
-1620
-1620
-94
-2940
-2940
-2940
-10
-110
-23
-365
-252
-20
-1
-2218
-4368
-4368
-4368
-1046
-4798
-4798
-4798
-49
-485
-0
-1184
-4830
-4830
-4830
-2195
-2195
-2195
-243
-0
-2544
-1834
-1834
-1834
-1473
-790
-321
-23
-1053
-41
-1109
-3690
-3690
-3690
-50
-55
-2521
-2521
-2521
-2631
-406
-202
-202
-202
-119
-55
-61
-1363
-711
-686
-3428
-3428
-3428
-785
-452
-45
-11
-1706
-460
-460
-460
-1478
-2483
-225
-2120
-388
-296
-1454
-113
-102
-382
-181
-117
-70
-99
-38
-1213
-1213
-1213
-2639
-2639
-2639
-2944
-1509
-70
-109
-23
-340
-38
-39
-156
-105
-0
-3006
-332
-234
-0
-3
-3656
-3749
-3749
-3749
-4410
-4410
-4410
-2006
-133
-819
-1526
-37
-344
-0
-4383
-4383
-4383
-512
-753
-235
-0
-385
-95
-2
-53
-120
-21
-380
-50
-4005
-4005
-4005
-0
-4088
-4088
-4088
-298
-3713
-3713
-3713
-21
-37
-91
-1
-431
-24
-561
-62
-62
-36
-130
-751
-3096
-3096
-3096
-56
-89
-113
-0
-2
-415
-583
-782
-54
-782
-73
-0
-3694
-2
-25
-2323
-2323
-2323
-4066
-3019
-428
-428
-428
-0
-70
-70
-117
-117
-117
-74
-3561
-3561
-3561
-1
-1
-1
-3258
-3258
-3258
-0
-0
-2345
-2345
-2345
-3744
-3744
-3744
-413
-443
-144
-42
-1428
-1428
-1428
-345
-231
-27
-4527
-4527
-4527
-682
-410
-3710
-3710
-3710
-48
-380
-97
-3301
-3301
-3301
-549
-0
-71
-1558
-1558
-1558
-1273
-688
-107
-2967
-423
-0
-1625
-163
-3071
-33
-364
-2410
-3211
-3211
-3211
-2259
-31
-1084
-1084
-1084
-58
-0
-2181
-2181
-2181
-44
-287
-38
-1
-39
-26
-26
-3440
-3440
-3440
-3313
-29
-148
-148
-148
-2955
-2955
-2955
-2213
-61
-68
-27
-155
-21
-2
-92
-47
-1
-3823
-305
-683
-683
-683
-4
-21
-2029
-1
-20
-4772
-4772
-4772
-52
-65
-2253
-38
-181
-209
-1843
-1843
-1843
-45
-859
-32
-125
-2983
-2983
-2983
-28
-4108
-4108
-4108
-1963
-170
-32
-1
-1354
-86
-1459
-1459
-1459
-23
-0
-56
-84
-26
-34
-66
-319
-32
-1018
-73
-3526
-3526
-3526
-28
-271
-2042
-2042
-2042
-489
-341
-1
-26
-81
-48
-4077
-4077
-4077
-32
-0
-32
-689
-0
-1005
-31
-4245
-1
-0
-2
-3368
-3368
-3368
-4407
-170
-3135
-849
-222
-128
-41
-222
-222
-222
-32
-1868
-1868
-1868
-140
-547
-1004
-111
-24
-424
-3508
-3508
-3508
-1046
-1046
-1046
-2326
-2326
-2326
-2395
-42
-95
-142
-229
-304
-0
-368
-262
-262
-262
-80
-20
-28
-148
-57
-48
-46
-3488
-3488
-3488
-36
-30
-43
-816
-2928
-1523
-40
-907
-22
-3764
-3575
-3575
-3575
-222
-3
-275
-371
-773
-4866
-4866
-4866
-1243
-1128
-4190
-4190
-4190
-6
-35
-135
-138
-206
-1754
-22
-21
-241
-278
-1273
-6
-171
-22
-274
-1575
-1575
-1575
-403
-2650
-2650
-2650
-314
-1969
-310
-190
-163
-1346
-405
-167
-2370
-2370
-2370
-135
-65
-31
-895
-1740
-0
-0
-339
-0
-79
-4672
-4672
-4672
-1421
-921
-452
-1182
-372
-0
-763
-4158
-4158
-4158
-38
-946
-177
-1919
-1100
-4265
-4265
-4265
-1869
-48
-511
-511
-511
-2300
-589
-372
-372
-372
-2261
-64
-24
-0
-2373
-2373
-2373
-533
-2995
-2995
-2995
-110
-141
-123
-648
-123
-910
-31
-0
-518
-1156
-3056
-44
-142
-99
-99
-99
-131
-4185
-4185
-4185
-1593
-746
-94
-268
-2684
-2684
-2684
-415
-38
-140
-149
-424
-1388
-24
-2742
-160
-1
-1
-577
-136
-925
-925
-925
-25
-661
-79
-1086
-383
-1
-4570
-4570
-4570
-55
-3347
-3
-26
-376
-14
-2734
-2734
-2734
-193
-193
-193
-1398
-1398
-1398
-805
-3918
-3918
-3918
-1680
-178
-196
-2765
-2765
-2765
-1146
-500
-853
-4969
-4969
-4969
-3209
-3993
-3993
-3993
-264
-60
-4544
-372
-2627
-2627
-2627
-2
-1
-2305
-2305
-2305
-365
-4552
-4552
-4552
-217
-3825
-3825
-3825
-2573
-2573
-2573
-3088
-3088
-3088
-106
-205
-3280
-3280
-3280
-4942
-4942
-4942
-83
-2798
-2798
-2798
-16
-868
-868
-868
-938
-30
-22
-23
-809
-95
-84
-70
-261
-894
-3556
-3556
-3556
-390
-4179
-4179
-4179
-3861
-3861
-3861
-2
-1010
-1010
-1010
-175
-21
-3778
-3778
-3778
-405
-156
-8
-4905
-4905
-4905
-2027
-2027
-2027
-947
-38
-30
-1677
-1677
-1677
-2
-135
-1992
-1992
-1992
-1633
-170
-859
-85
-742
-634
-634
-634
-107
-22
-132
-9
-189
-47
-33
-2881
-763
-2971
-2971
-2971
-1826
-147
-314
-314
-314
-55
-62
-681
-96
-1475
-0
-3
-109
-847
-4626
-4626
-4626
-4941
-4941
-4941
-28
-47
-4682
-4682
-4682
-1273
-0
-81
-172
-24
-337
-2
-1937
-115
-157
-96
-914
-3147
-3147
-3147
-106
-142
-859
-7
-511
-1519
-1519
-1519
-4666
-4666
-4666
-309
-365
-63
-24
-429
-3441
-3441
-3441
-2034
-2034
-2034
-2358
-51
-80
-20
-3077
-1032
-3398
-3398
-3398
-1259
-888
-269
-600
-64
-643
-232
-4860
-4860
-4860
-615
-45
-3180
-3180
-3180
-159
-159
-159
-3465
-3465
-3465
-915
-2001
-2018
-1519
-38
-2050
-2050
-2050
-764
-4974
-4974
-4974
-4302
-4302
-4302
-1551
-1551
-1551
-30
-21
-67
-67
-67
-3451
-3451
-3451
-3834
-3834
-3834
-2
-0
-0
-365
-1540
-1540
-1540
-24
-336
-2642
-2642
-2642
-175
-163
-470
-0
-31
-908
-103
-27
-108
-80
-3291
-3291
-3291
-273
-293
-111
-1350
-447
-96
-247
-40
-0
-3285
-3285
-3285
-119
-96
-0
-31
-29
-127
-2786
-2786
-2786
-438
-241
-42
-1236
-1236
-1236
-1962
-636
-704
-21
-305
-126
-119
-256
-2081
-590
-1351
-4962
-4962
-4962
-214
-580
-1668
-1668
-1668
-4258
-4258
-4258
-1
-228
-228
-228
-1
-129
-2842
-23
-58
-110
-4204
-180
-134
-3235
-3235
-3235
-2087
-77
-161
-142
-65
-72
-68
-1089
-3286
-3286
-3286
-135
-1627
-1818
-2047
-36
-1
-112
-112
-112
-124
-0
-72
-855
-855
-855
-3170
-3170
-3170
-1668
-1668
-1668
-698
-517
-108
-39
-36
-0
-60
-54
-2811
-300
-4
-1586
-599
-243
-1762
-0
-969
-969
-969
-26
-555
-555
-555
-1
-492
-206
-308
-105
-3291
-3291
-3291
-883
-2753
-0
-342
-138
-190
-21
-4298
-4298
-4298
-48
-105
-122
-622
-171
-3149
-1
-2731
-115
-2928
-2928
-2928
-4258
-4258
-4258
-3270
-3270
-3270
-1298
-2227
-34
-2295
-65
-36
-36
-142
-256
-1937
-650
-1497
-25
-259
-55
-219
-212
-212
-212
-0
-365
-2816
-2816
-2816
-319
-56
-4191
-4191
-4191
-301
-134
-272
-620
-1355
-1347
-151
-2859
-1
-559
-215
-1097
-9
-251
-1972
-1972
-1972
-110
-3108
-3108
-3108
-533
-2424
-3511
-138
-56
-105
-1
-3642
-3642
-3642
-180
-1
-39
-139
-656
-346
-2484
-1
-1691
-1691
-1691
-38
-37
-3299
-3299
-3299
-374
-1
-2211
-2211
-2211
-2245
-4258
-4258
-4258
-365
-43
-25
-2072
-1751
-12
-81
-367
-129
-3883
-3883
-3883
-2803
-2
-1
-32
-42
-241
-1075
-112
-179
-4654
-4654
-4654
-56
-588
-225
-351
-44
-1029
-453
-3402
-3402
-3402
-369
-4654
-4654
-4654
-3281
-3281
-3281
-106
-3850
-4302
-4302
-4302
-471
-0
-976
-976
-976
-2725
-2372
-2372
-2372
-201
-585
-547
-99
-134
-252
-437
-85
-3167
-651
-2913
-38
-95
-857
-857
-857
-27
-34
-2152
-1462
-591
-3446
-3446
-3446
-1789
-112
-2193
-2193
-2193
-887
-605
-4889
-4889
-4889
-3286
-3286
-3286
-1331
-1569
-1569
-1569
-1
-1725
-366
-734
-4018
-4018
-4018
-11
-2411
-2411
-2411
-1990
-3811
-1096
-51
-126
-0
-36
-999
-3596
-3596
-3596
-154
-376
-1043
-226
-330
-3965
-3965
-3965
-365
-4877
-4877
-4877
-3880
-3880
-3880
-292
-1898
-1898
-1898
-2870
-169
-4997
-4997
-4997
-21
-3535
-3535
-3535
-30
-3809
-364
-338
-3521
-3521
-3521
-285
-49
-1913
-640
-1408
-259
-144
-1026
-164
-3591
-3591
-3591
-369
-4524
-4524
-4524
-1438
-1438
-1438
-704
-704
-704
-609
-67
-358
-2973
-2973
-2973
-63
-299
-3277
-3277
-3277
-306
-3582
-16
-3970
-3970
-3970
-1013
-1013
-1013
-1410
-1410
-1410
-376
-2963
-88
-579
-2174
-2174
-2174
-87
-59
-2875
-549
-966
-155
-362
-38
-37
-1
-1
-169
-45
-883
-1050
-29
-116
-1778
-1013
-1013
-1013
-71
-66
-1687
-47
-482
-1098
-22
-2849
-1256
-1256
-1256
-276
-73
-175
-225
-20
-84
-382
-770
-1601
-1601
-1601
-2085
-4028
-4028
-4028
-3255
-3255
-3255
-62
-664
-664
-664
-369
-0
-1325
-4158
-4158
-4158
-35
-6
-1
-0
-2891
-2891
-2891
-32
-422
-928
-18
-3963
-3963
-3963
-94
-2848
-2848
-2848
-758
-1
-2901
-2901
-2901
-335
-0
-799
-21
-1820
-1820
-1820
-4
-3980
-3980
-3980
-3253
-3253
-3253
-186
-1745
-44
-4355
-4355
-4355
-0
-1992
-1992
-1992
-1013
-456
-0
-42
-152
-758
-758
-758
-1548
-83
-67
-44
-54
-680
-3039
-3039
-3039
-45
-1276
-33
-1733
-1772
-90
-1010
-25
-2343
-2343
-2343
-1688
-105
-2972
-2972
-2972
-0
-648
-694
-694
-694
-1011
-1
-326
-15
-312
-2877
-1799
-3543
-3543
-3543
-97
-868
-163
-3713
-3713
-3713
-27
-328
-4490
-186
-1404
-4709
-514
-2146
-654
-337
-243
-559
-582
-1124
-3203
-3203
-3203
-814
-28
-1733
-1733
-1733
-0
-3885
-3885
-3885
-557
-1796
-1832
-2484
-2484
-2484
-186
-3998
-3998
-3998
-69
-3223
-139
-137
-1762
-1
-298
-158
-0
-2022
-3123
-3123
-3123
-31
-242
-25
-3039
-3039
-3039
-2822
-2822
-2822
-747
-156
-3269
-2289
-3670
-3670
-3670
-4412
-4412
-4412
-3870
-293
-460
-53
-660
-4
-2561
-3257
-3257
-3257
-2119
-2119
-2119
-90
-216
-62
-29
-2272
-0
-151
-49
-106
-43
-2
-774
-27
-217
-540
-34
-118
-0
-67
-27
-140
-0
-3576
-3576
-3576
-3659
-3659
-3659
-640
-1587
-32
-4459
-4459
-4459
-175
-4768
-4768
-4768
-242
-1323
-1
-128
-34
-1834
-1834
-1834
-0
-2438
-2095
-1806
-30
-62
-4784
-4784
-4784
-3045
-3045
-3045
-3316
-3316
-3316
-4495
-4495
-4495
-4116
-4116
-4116
-63
-1611
-1611
-1611
-49
-74
-0
-20
-621
-94
-289
-20
-64
-84
-31
-74
-23
-500
-3435
-3435
-3435
-516
-1485
-0
-123
-955
-1485
-232
-138
-59
-23
-58
-545
-30
-2376
-119
-424
-0
-264
-1065
-3412
-2
-93
-48
-1781
-381
-1
-40
-2623
-2623
-2623
-4968
-4968
-4968
-141
-21
-727
-727
-727
-1097
-1097
-1097
-61
-0
-21
-274
-1092
-1092
-1092
-4007
-21
-358
-358
-358
-606
-260
-20
-2295
-8
-2337
-2337
-2337
-120
-60
-4172
-3
-0
-31
-3223
-0
-0
-0
-848
-332
-3015
-275
-1105
-0
-3335
-3335
-3335
-57
-1500
-21
-53
-61
-814
-2483
-2483
-2483
-2155
-32
-1
-77
-1
-4314
-4314
-4314
-108
-828
-21
-4
-252
-1802
-72
-264
-169
-4609
-4609
-4609
-1054
-31
-30
-2474
-32
-13
-186
-3373
-3373
-3373
-0
-672
-976
-976
-976
-31
-50
-4863
-4863
-4863
-4029
-665
-665
-665
-353
-723
-1
-2956
-86
-26
-365
-1
-2232
-0
-2319
-2319
-2319
-298
-34
-42
-72
-56
-2935
-91
-147
-0
-151
-438
-468
-404
-202
-766
-26
-34
-68
-35
-43
-83
-0
-3297
-3297
-3297
-0
-177
-3229
-4142
-4142
-4142
-184
-31
-1
-2192
-2192
-2192
-31
-4803
-4803
-4803
-2780
-1608
-60
-4509
-4509
-4509
-23
-23
-23
-1
-135
-781
-35
-181
-380
-152
-416
-1513
-1513
-1513
-24
-1
-827
-376
-762
-119
-32
-2199
-206
-206
-206
-4854
-4854
-4854
-137
-2582
-2582
-2582
-60
-310
-93
-0
-1876
-54
-329
-329
-329
-310
-40
-3690
-3690
-3690
-35
-0
-2230
-2230
-2230
-4422
-4422
-4422
-35
-744
-5
-4388
-4388
-4388
-48
-724
-43
-3432
-67
-281
-4754
-4754
-4754
-3
-9
-764
-336
-351
-651
-178
-147
-699
-55
-395
-38
-2000
-23
-1253
-1253
-1253
-155
-3161
-33
-0
-34
-0
-122
-2013
-3297
-3297
-3297
-1880
-3442
-3442
-3442
-1552
-1552
-1552
-26
-322
-31
-525
-313
-2528
-2528
-2528
-1464
-2485
-2485
-2485
-2177
-25
-0
-4803
-4803
-4803
-28
-1
-35
-2289
-2289
-2289
-574
-36
-1831
-55
-26
-2240
-3
-408
-22
-31
-1172
-24
-33
-31
-136
-1057
-0
-2228
-33
-28
-2
-4391
-4391
-4391
-32
-50
-31
-64
-1048
-4149
-4149
-4149
-0
-36
-40
-31
-61
-1524
-1524
-1524
-332
-1904
-36
-28
-3
-3621
-3621
-3621
-805
-86
-28
-498
-2900
-2900
-2900
-4963
-4963
-4963
-273
-2557
-27
-89
-51
-37
-62
-682
-1934
-160
-1
-33
-264
-3985
-3985
-3985
-47
-303
-970
-970
-970
-2249
-0
-59
-31
-22
-121
-4357
-4357
-4357
-419
-2803
-1
-26
-2
-89
-47
-124
-160
-38
-720
-720
-720
-47
-2644
-2927
-2927
-2927
-457
-365
-365
-365
-1385
-369
-1871
-288
-624
-315
-1090
-29
-2
-83
-1336
-488
-85
-75
-15
-0
-24
-461
-897
-21
-29
-62
-377
-194
-700
-4974
-4974
-4974
-102
-104
-789
-1186
-1186
-1186
-2681
-20
-443
-443
-443
-30
-100
-148
-1569
-1569
-1569
-672
-3748
-3748
-3748
-62
-62
-62
-24
-367
-313
-3783
-3783
-3783
-32
-0
-1
-108
-31
-140
-4
-6
-366
-80
-24
-33
-62
-569
-1
-281
-6
-454
-4045
-4045
-4045
-2300
-4433
-4433
-4433
-964
-180
-150
-37
-63
-3827
-3827
-3827
-2074
-2
-34
-26
-446
-852
-155
-243
-90
-1309
-2283
-170
-71
-94
-2342
-2342
-2342
-3116
-3116
-3116
-347
-780
-780
-780
-130
-836
-836
-836
-455
-3283
-3283
-3283
-111
-2
-3424
-0
-0
-22
-0
-526
-20
-734
-68
-302
-94
-107
-1031
-1031
-1031
-2071
-590
-4133
-4133
-4133
-890
-67
-22
-21
-2954
-2885
-2308
-37
-40
-135
-34
-1
-160
-29
-1292
-1292
-1292
-150
-4550
-4550
-4550
-20
-1145
-1
-1
-2728
-138
-42
-30
-1544
-2451
-2451
-2451
-1352
-1352
-1352
-121
-32
-2266
-3377
-3377
-3377
-65
-310
-33
-156
-61
-34
-41
-26
-31
-3679
-2
-1307
-120
-37
-41
-1803
-1803
-1803
-30
-196
-26
-2
-2630
-2630
-2630
-958
-811
-113
-20
-36
-97
-394
-907
-1122
-59
-227
-4401
-4401
-4401
-4975
-4975
-4975
-4129
-4129
-4129
-4386
-4386
-4386
-2039
-122
-37
-0
-3047
-3047
-3047
-2448
-2448
-2448
-4003
-125
-138
-2542
-2542
-2542
-37
-0
-3068
-32
-128
-128
-128
-538
-178
-0
-1767
-1767
-1767
-2569
-2569
-2569
-3057
-3770
-3770
-3770
-852
-0
-1564
-30
-52
-776
-69
-4562
-4562
-4562
-3517
-3517
-3517
-45
-23
-1
-607
-0
-4924
-4924
-4924
-0
-1496
-119
-471
-43
-779
-1124
-1124
-1124
-2487
-4511
-4511
-4511
-30
-392
-35
-126
-19
-43
-86
-36
-2
-1944
-53
-89
-89
-89
-124
-4
-4487
-4487
-4487
-412
-94
-78
-116
-2343
-2343
-2343
-851
-53
-1596
-1596
-1596
-401
-401
-401
-2194
-33
-471
-158
-26
-125
-1034
-9
-32
-45
-425
-60
-4580
-4580
-4580
-53
-21
-3008
-3008
-3008
-2275
-2275
-2275
-30
-38
-25
-148
-148
-148
-171
-3031
-3031
-3031
-480
-66
-236
-4546
-4546
-4546
-39
-4507
-4507
-4507
-31
-0
-1140
-1140
-1140
-2609
-3
-207
-60
-31
-3974
-50
-58
-479
-479
-479
-68
-244
-1
-91
-0
-262
-2366
-2366
-2366
-54
-84
-132
-30
-20
-0
-71
-451
-1900
-1865
-1247
-1247
-1247
-353
-353
-353
-2439
-1
-630
-4191
-4191
-4191
-367
-4893
-4893
-4893
-44
-20
-4952
-4952
-4952
-50
-1739
-23
-2989
-2989
-2989
-242
-0
-732
-10
-2258
-1
-128
-35
-1020
-1020
-1020
-748
-57
-69
-367
-108
-534
-1519
-2
-73
-2699
-219
-694
-694
-694
-7
-2065
-3492
-3492
-3492
-2381
-228
-873
-4220
-4220
-4220
-1464
-0
-830
-20
-4285
-4285
-4285
-1001
-4353
-4353
-4353
-380
-439
-492
-719
-802
-81
-333
-900
-896
-3391
-26
-4554
-4554
-4554
-4566
-4566
-4566
-377
-513
-0
-121
-88
-2
-1438
-3819
-3819
-3819
-249
-4834
-4834
-4834
-108
-102
-3659
-3659
-3659
-3604
-3604
-3604
-182
-447
-520
-1542
-1542
-1542
-4479
-4479
-4479
-5
-21
-137
-812
-812
-812
-23
-84
-45
-1
-2305
-60
-3100
-3100
-3100
-0
-411
-3149
-54
-29
-366
-43
-0
-3464
-3049
-3049
-3049
-498
-4567
-4567
-4567
-519
-22
-50
-544
-218
-139
-3105
-366
-148
-4705
-4705
-4705
-100
-839
-4576
-4576
-4576
-166
-1181
-516
-378
-2065
-30
-3512
-3512
-3512
-1378
-27
-3799
-3799
-3799
-29
-0
-0
-365
-2012
-722
-37
-588
-876
-3721
-3721
-3721
-1668
-3315
-3315
-3315
-112
-428
-129
-4150
-4150
-4150
-422
-4378
-3584
-505
-2
-7
-477
-191
-4829
-4829
-4829
-852
-108
-834
-58
-366
-799
-4932
-4932
-4932
-0
-32
-10
-0
-172
-2315
-68
-61
-84
-365
-57
-163
-35
-4623
-4623
-4623
-74
-291
-27
-357
-2
-2749
-2749
-2749
-1
-30
-145
-1638
-1
-4297
-4297
-4297
-4641
-4641
-4641
-1793
-1605
-1605
-1605
-574
-39
-3297
-3297
-3297
-35
-582
-57
-944
-944
-944
-366
-2122
-2122
-2122
-24
-2003
-280
-40
-4
-28
-938
-29
-81
-343
-361
-361
-361
-1165
-1165
-1165
-2
-1953
-3835
-3835
-3835
-240
-0
-3889
-3889
-3889
-209
-2671
-20
-509
-20
-366
-506
-58
-36
-4125
-4125
-4125
-142
-1903
-51
-72
-1644
-1602
-1512
-1512
-1512
-94
-180
-4103
-121
-356
-1
-1258
-1258
-1258
-108
-4557
-4557
-4557
-3645
-97
-3043
-3043
-3043
-0
-1614
-58
-3431
-3425
-196
-464
-212
-809
-82
-4261
-4261
-4261
-1206
-1206
-1206
-140
-14
-0
-196
-4
-179
-143
-143
-143
-4351
-4959
-4959
-4959
-28
-29
-116
-2936
-4112
-4112
-4112
-870
-112
-112
-112
-71
-4190
-4190
-4190
-572
-341
-23
-4537
-4537
-4537
-1953
-213
-31
-173
-0
-3389
-292
-1
-152
-31
-235
-2990
-2990
-2990
-4897
-4897
-4897
-856
-366
-20
-536
-161
-187
-20
-500
-500
-500
-25
-34
-1163
-4620
-4620
-4620
-21
-2998
-96
-296
-296
-296
-787
-11
-1
-95
-2725
-2725
-2725
-138
-3756
-3756
-3756
-38
-124
-217
-3300
-3300
-3300
-4096
-4096
-4096
-2419
-2419
-2419
-249
-0
-186
-26
-1
-5
-7
-1492
-1492
-1492
-2664
-2664
-2664
-90
-962
-2411
-32
-34
-0
-772
-1673
-2500
-2500
-2500
-4097
-4097
-4097
-120
-343
-961
-1648
-26
-47
-311
-21
-105
-26
-297
-297
-297
-223
-1312
-518
-120
-1655
-1655
-1655
-1462
-21
-2332
-2332
-2332
-1564
-1564
-1564
-1
-10
-56
-1951
-1951
-1951
-2326
-2326
-2326
-487
-1976
-1976
-1976
-123
-121
-98
-2592
-2592
-2592
-345
-80
-1745
-1745
-1745
-25
-1594
-98
-2894
-253
-3907
-3907
-3907
-81
-29
-678
-4653
-4653
-4653
-22
-34
-389
-24
-963
-148
-22
-3786
-3786
-3786
-2629
-2629
-2629
-37
-45
-22
-31
-28
-27
-4185
-4185
-4185
-1
-4341
-4341
-4341
-489
-605
-81
-2
-1083
-3
-365
-31
-1458
-1458
-1458
-111
-1620
-453
-2841
-2841
-2841
-168
-219
-2439
-700
-700
-700
-1
-49
-4851
-4851
-4851
-139
-0
-2649
-2649
-2649
-4199
-4199
-4199
-85
-4
-645
-29
-305
-264
-112
-27
-2799
-262
-171
-38
-366
-1
-0
-78
-50
-595
-43
-116
-470
-2744
-2744
-2744
-1298
-4651
-4651
-4651
-282
-2049
-107
-69
-2422
-131
-130
-73
-137
-729
-2458
-40
-8
-559
-3655
-3655
-3655
-3497
-154
-327
-94
-2391
-2391
-2391
-475
-2432
-128
-329
-2449
-368
-3916
-3916
-3916
-3620
-3620
-3620
-29
-0
-949
-137
-66
-581
-3609
-55
-1310
-160
-175
-2121
-2121
-2121
-57
-2894
-2894
-2894
-2550
-2550
-2550
-389
-33
-246
-52
-31
-299
-513
-1714
-21
-108
-210
-1684
-1684
-1684
-20
-36
-857
-4210
-78
-498
-344
-1518
-271
-550
-23
-4621
-4621
-4621
-375
-364
-4996
-4996
-4996
-1086
-3636
-3636
-3636
-516
-3443
-3443
-3443
-37
-123
-24
-65
-600
-22
-92
-0
-369
-57
-31
-0
-125
-4
-49
-158
-93
-37
-516
-3174
-38
-2187
-2187
-2187
-4765
-4765
-4765
-188
-1
-2
-1385
-726
-726
-726
-171
-4640
-4640
-4640
-496
-424
-594
-29
-1016
-1778
-2867
-2867
-2867
-804
-6
-308
-3611
-3611
-3611
-789
-789
-789
-2786
-2786
-2786
-641
-138
-1206
-317
-219
-47
-14
-3227
-3227
-3227
-314
-3149
-2757
-30
-59
-16
-3295
-3295
-3295
-367
-2315
-46
-550
-1035
-1035
-1035
-218
-3987
-3987
-3987
-67
-1098
-3817
-3817
-3817
-2517
-573
-185
-133
-244
-244
-244
-1785
-102
-367
-30
-147
-248
-1191
-1191
-1191
-89
-0
-4379
-4379
-4379
-59
-59
-59
-235
-30
-3991
-116
-302
-1
-316
-20
-1016
-701
-701
-701
-1096
-3992
-3992
-3992
-0
-317
-1
-297
-297
-297
-31
-3607
-3607
-3607
-21
-153
-732
-4091
-4091
-4091
-21
-0
-27
-1
-54
-292
-150
-8
-253
-69
-1
-3565
-3565
-3565
-1796
-1796
-1796
-512
-2996
-86
-287
-321
-2529
-3267
-3267
-3267
-2898
-2898
-2898
-38
-40
-125
-388
-2251
-2251
-2251
-1108
-69
-132
-2672
-0
-3654
-3654
-3654
-3858
-3858
-3858
-287
-4488
-4488
-4488
-113
-141
-1
-31
-2259
-2259
-2259
-51
-63
-3235
-3235
-3235
-1
-4137
-4137
-4137
-2919
-2610
-2610
-2610
-2816
-2816
-2816
-32
-1
-4
-84
-1594
-3614
-3614
-3614
-30
-32
-3224
-3224
-3224
-55
-2443
-2443
-2443
-54
-1294
-1294
-1294
-221
-28
-146
-317
-317
-317
-1783
-4355
-4355
-4355
-914
-126
-151
-168
-345
-692
-637
-637
-637
-2986
-2986
-2986
-230
-338
-43
-269
-4350
-4350
-4350
-23
-226
-0
-120
-23
-0
-24
-20
-505
-31
-4371
-4371
-4371
-1
-61
-3117
-3117
-3117
-394
-973
-973
-973
-213
-4140
-4140
-4140
-30
-85
-2003
-636
-31
-390
-537
-52
-198
-254
-1
-189
-4641
-4641
-4641
-4273
-4273
-4273
-299
-139
-1098
-128
-128
-128
-685
-6
-22
-0
-52
-2069
-2069
-2069
-100
-4729
-4729
-4729
-620
-554
-1399
-96
-209
-209
-209
-63
-1
-207
-289
-988
-358
-1
-25
-679
-679
-679
-20
-1
-28
-35
-1037
-1379
-2180
-32
-365
-22
-22
-3968
-3968
-3968
-62
-665
-206
-94
-4670
-4670
-4670
-98
-212
-2947
-2
-38
-38
-38
-668
-0
-418
-2000
-2000
-2000
-4013
-4013
-4013
-337
-4417
-4417
-4417
-79
-1415
-1415
-1415
-3927
-3927
-3927
-2168
-2168
-2168
-20
-30
-96
-580
-1100
-221
-4040
-4040
-4040
-0
-2577
-2101
-2
-249
-1104
-488
-95
-0
-2042
-43
-0
-36
-4404
-4404
-4404
-44
-1
-653
-550
-550
-550
-37
-2898
-2898
-2898
-1861
-1861
-1861
-3287
-196
-35
-104
-30
-3653
-4015
-4015
-4015
-2601
-800
-49
-140
-106
-28
-54
-228
-44
-1844
-33
-35
-0
-135
-2
-96
-713
-5
-94
-3807
-3807
-3807
-26
-2175
-29
-41
-4600
-4600
-4600
-110
-358
-21
-53
-0
-104
-4332
-4332
-4332
-24
-42
-341
-21
-624
-918
-3
-22
-21
-42
-322
-322
-322
-1867
-0
-922
-922
-922
-3750
-3750
-3750
-452
-452
-452
-1675
-0
-27
-608
-2818
-575
-575
-575
-0
-0
-1387
-1387
-1387
-175
-121
-0
-4361
-4361
-4361
-749
-368
-366
-2602
-2602
-2602
-3232
-4705
-4705
-4705
-3296
-0
-1199
-21
-1768
-1768
-1768
-1
-3796
-3796
-3796
-156
-2577
-235
-20
-4052
-4052
-4052
-0
-4
-249
-77
-77
-77
-415
-115
-0
-281
-1
-2095
-371
-355
-3752
-3752
-3752
-26
-185
-342
-27
-6
-32
-1
-365
-37
-0
-0
-5
-2379
-2379
-2379
-0
-233
-4
-3774
-3774
-3774
-139
-680
-3366
-96
-96
-96
-1057
-230
-4636
-4636
-4636
-1784
-31
-3263
-3263
-3263
-4568
-4568
-4568
-1946
-1356
-4785
-4785
-4785
-120
-31
-48
-244
-1466
-354
-0
-1436
-41
-29
-3966
-3966
-3966
-4359
-4359
-4359
-49
-365
-4552
-4552
-4552
-31
-3
-30
-294
-49
-1234
-38
-820
-1481
-1481
-1481
-465
-79
-770
-2264
-2264
-2264
-21
-40
-309
-25
-100
-3014
-3014
-3014
-80
-34
-4668
-4668
-4668
-140
-34
-74
-31
-149
-48
-3710
-152
-1
-2157
-445
-30
-2061
-701
-282
-0
-206
-2
-0
-804
-28
-2987
-2987
-2987
-0
-34
-4704
-4704
-4704
-0
-147
-2874
-1
-710
-3700
-396
-40
-50
-163
-1766
-75
-824
-1
-31
-85
-51
-3339
-3023
-1099
-209
-60
-40
-2
-4480
-4480
-4480
-93
-2262
-2262
-2262
-33
-0
-71
-32
-1571
-2258
-11
-32
-31
-25
-1800
-267
-445
-0
-54
-337
-28
-1
-20
-91
-180
-53
-33
-23
-24
-478
-1
-4783
-4783
-4783
-23
-22
-12
-523
-3331
-3331
-3331
-33
-4307
-4307
-4307
-26
-3442
-3442
-3442
-2
-214
-24
-35
-80
-105
-0
-13
-104
-1
-2241
-42
-2585
-2585
-2585
-0
-2302
-145
-23
-96
-0
-33
-27
-32
-1836
-0
-369
-287
-396
-581
-148
-199
-40
-47
-23
-0
-70
-3
-2494
-2494
-2494
-3199
-1
-31
-0
-240
-87
-1468
-2
-3347
-3347
-3347
-204
-20
-1076
-21
-35
-4288
-4288
-4288
-33
-100
-190
-2774
-179
-1
-22
-57
-2004
-2004
-2004
-114
-2
-3636
-3636
-3636
-20
-1
-91
-3824
-3824
-3824
-25
-350
-3362
-3362
-3362
-22
-3312
-4797
-4797
-4797
-2184
-981
-3516
-3516
-3516
-279
-31
-32
-25
-125
-68
-0
-1219
-113
-34
-25
-0
-0
-3203
-2082
-166
-4881
-4881
-4881
-4016
-4016
-4016
-59
-533
-1451
-1451
-1451
-4160
-4160
-4160
-27
-97
-32
-4058
-4058
-4058
-414
-49
-421
-89
-31
-74
-911
-3898
-3898
-3898
-3423
-3423
-3423
-1
-39
-28
-1901
-197
-86
-47
-2359
-2359
-2359
-4159
-4159
-4159
-26
-35
-25
-30
-410
-31
-68
-1920
-1920
-1920
-22
-866
-22
-4865
-4865
-4865
-2776
-3256
-3256
-3256
-32
-30
-64
-577
-31
-1
-1123
-1123
-1123
-23
-3415
-3415
-3415
-1139
-1139
-1139
-0
-4792
-4792
-4792
-4822
-4822
-4822
-805
-95
-1369
-1369
-1369
-3957
-3957
-3957
-27
-61
-46
-1080
-1080
-1080
-4243
-4243
-4243
-870
-3
-98
-98
-98
-3993
-3993
-3993
-1273
-1273
-1273
-0
-1939
-25
-4516
-4516
-4516
-140
-1
-209
-4384
-4384
-4384
-90
-31
-1545
-25
-3
-1
-27
-2198
-37
-1889
-1
-115
-443
-992
-276
-812
-5
-29
-300
-43
-43
-43
-1036
-134
-3152
-3152
-3152
-3
-365
-884
-3764
-3764
-3764
-31
-86
-547
-2194
-43
-2993
-2993
-2993
-70
-361
-1232
-528
-0
-867
-95
-3212
-669
-705
-4522
-4522
-4522
-1918
-374
-21
-134
-1
-237
-3107
-3107
-3107
-0
-128
-107
-286
-126
-0
-18
-61
-45
-45
-45
-232
-2077
-2077
-2077
-178
-2675
-2823
-2823
-2823
-1105
-0
-76
-22
-39
-915
-36
-6
-10
-959
-0
-37
-3820
-2008
-10
-60
-23
-209
-1076
-0
-4336
-10
-4696
-4696
-4696
-238
-115
-3787
-21
-77
-0
-4849
-4523
-4523
-4523
-3811
-3811
-3811
-38
-0
-31
-3894
-3894
-3894
-299
-511
-1938
-1938
-1938
-4818
-4818
-4818
-8
-1353
-1353
-1353
-740
-2669
-2669
-2669
-102
-264
-514
-4359
-4359
-4359
-148
-29
-2490
-2490
-2490
-54
-31
-1
-38
-51
-32
-1602
-25
-885
-148
-3639
-3639
-3639
-135
-135
-135
-231
-3
-182
-1374
-1374
-1374
-2692
-2692
-2692
-1213
-1213
-1213
-30
-53
-3905
-3905
-3905
-462
-34
-3
-366
-366
-366
-3839
-3839
-3839
-31
-6
-0
-4225
-4225
-4225
-2726
-1946
-67
-258
-4412
-4412
-4412
-3482
-3482
-3482
-365
-3278
-3278
-3278
-76
-55
-1997
-1997
-1997
-365
-565
-125
-841
-841
-841
-45
-3404
-3404
-3404
-184
-2344
-4511
-4511
-4511
-223
-56
-2
-33
-365
-31
-2675
-3
-71
-2741
-2741
-2741
-0
-4935
-4935
-4935
-21
-690
-56
-3709
-3709
-3709
-481
-481
-481
-55
-162
-361
-1107
-2999
-2999
-2999
-106
-16
-38
-559
-1
-24
-2556
-905
-31
-106
-387
-192
-8
-4101
-3479
-3479
-3479
-101
-0
-230
-0
-58
-2424
-2424
-2424
-72
-3429
-3429
-3429
-554
-52
-70
-0
-28
-169
-4193
-4193
-4193
-3
-36
-248
-9
-4193
-4193
-4193
-4526
-4526
-4526
-0
-43
-228
-524
-144
-144
-144
-650
-741
-31
-567
-30
-368
-169
-4459
-40
-184
-2241
-1260
-793
-90
-1160
-0
-47
-345
-514
-62
-1262
-1495
-3475
-3475
-3475
-3075
-221
-90
-25
-51
-55
-38
-746
-39
-869
-24
-33
-0
-595
-3883
-3883
-3883
-71
-1256
-1256
-1256
-238
-293
-528
-2
-368
-75
-1146
-4726
-4726
-4726
-163
-106
-452
-3873
-3873
-3873
-46
-25
-184
-26
-1363
-1996
-78
-30
-641
-380
-62
-733
-235
-53
-0
-90
-163
-145
-52
-24
-2266
-128
-25
-98
-206
-834
-239
-372
-34
-164
-537
-88
-151
-0
-1639
-1639
-1639
-27
-20
-60
-4560
-4560
-4560
-78
-1
-0
-40
-0
-44
-32
-413
-22
-158
-115
-21
-1504
-1504
-1504
-546
-546
-546
-471
-180
-180
-180
-0
-2433
-40
-3850
-3850
-3850
-4440
-4440
-4440
-1036
-20
-60
-3332
-3332
-3332
-1151
-1151
-1151
-115
-24
-46
-63
-2948
-105
-0
-610
-229
-229
-229
-0
-88
-169
-123
-407
-136
-862
-2905
-2905
-2905
-0
-480
-391
-30
-5
-190
-17
-266
-52
-76
-196
-367
-28
-366
-2
-60
-1
-2270
-259
-135
-1436
-365
-55
-338
-0
-70
-580
-46
-532
-29
-96
-91
-91
-31
-22
-71
-71
-71
-40
-4145
-4145
-4145
-22
-365
-184
-1360
-176
-1
-122
-991
-80
-4386
-4386
-4386
-3278
-58
-181
-21
-832
-37
-4283
-4283
-4283
-156
-3153
-34
-125
-276
-33
-3869
-3869
-3869
-496
-318
-88
-1370
-0
-4601
-4601
-4601
-75
-65
-3175
-3175
-3175
-58
-525
-1483
-365
-565
-1307
-184
-26
-4640
-4640
-4640
-4333
-4333
-4333
-3
-4645
-4645
-4645
-1844
-434
-1659
-1659
-1659
-1
-952
-952
-952
-2923
-51
-3579
-3579
-3579
-1240
-28
-23
-1871
-49
-874
-366
-53
-123
-0
-1
-3816
-25
-36
-888
-3099
-41
-597
-1518
-1518
-1518
-562
-0
-28
-21
-3954
-3954
-3954
-148
-188
-30
-54
-520
-53
-2320
-3894
-3894
-3894
-40
-8
-104
-650
-4187
-4187
-4187
-2961
-2961
-2961
-48
-1276
-34
-572
-796
-23
-21
-0
-0
-4815
-4815
-4815
-27
-174
-4671
-4671
-4671
-145
-356
-2761
-2145
-149
-2522
-127
-3553
-3553
-3553
-48
-22
-1515
-71
-1449
-206
-0
-1001
-69
-24
-21
-226
-53
-4804
-4804
-4804
-4439
-4439
-4439
-56
-0
-42
-509
-0
-201
-1992
-72
-25
-2
-0
-588
-588
-588
-1360
-1022
-938
-938
-938
-1728
-179
-654
-32
-2256
-1002
-65
-1065
-1065
-1065
-118
-440
-151
-1
-3964
-3964
-3964
-205
-1067
-7
-243
-27
-4637
-4637
-4637
-328
-3577
-3577
-3577
-165
-950
-137
-50
-860
-225
-3897
-554
-931
-365
-23
-852
-3169
-2
-186
-24
-3976
-3976
-3976
-3980
-3980
-3980
-0
-2
-4129
-4129
-4129
-1426
-36
-0
-4569
-4569
-4569
-2809
-3549
-3549
-3549
-45
-365
-883
-883
-883
-677
-23
-368
-365
-196
-1621
-1334
-3880
-1419
-1
-2
-1297
-1772
-1951
-206
-33
-3461
-1
-26
-57
-4237
-3717
-3717
-3717
-22
-20
-3967
-3967
-3967
-29
-3132
-3132
-3132
-33
-1
-3764
-93
-97
-16
-983
-983
-983
-3967
-3967
-3967
-1380
-20
-937
-1
-3882
-3882
-3882
-36
-54
-0
-21
-29
-55
-2822
-2822
-2822
-120
-365
-20
-44
-97
-132
-220
-149
-3045
-2124
-2124
-2124
-22
-4993
-4993
-4993
-983
-365
-106
-0
-182
-4144
-4144
-4144
-4046
-4046
-4046
-1038
-0
-143
-100
-1470
-1470
-1470
-880
-17
-1749
-74
-1
-110
-0
-20
-216
-261
-153
-26
-877
-3910
-58
-293
-2401
-2401
-2401
-0
-611
-115
-100
-847
-304
-113
-22
-255
-2497
-97
-992
-34
-31
-0
-52
-1727
-1727
-1727
-37
-3513
-3513
-3513
-4885
-4885
-4885
-31
-25
-632
-632
-632
-3965
-3965
-3965
-1045
-265
-265
-265
-4688
-4688
-4688
-3430
-705
-2367
-285
-0
-2532
-2532
-2532
-614
-494
-2312
-2312
-2312
-303
-303
-303
-74
-40
-3184
-3184
-3184
-4974
-4974
-4974
-612
-378
-4058
-4058
-4058
-358
-1
-84
-795
-4577
-4577
-4577
-727
-174
-2312
-0
-4045
-4045
-4045
-2182
-4823
-4823
-4823
-54
-368
-2381
-56
-60
-2739
-2739
-2739
-0
-3004
-3004
-3004
-98
-8
-37
-367
-367
-50
-102
-70
-53
-3788
-3788
-3788
-697
-201
-0
-4874
-4874
-4874
-126
-126
-126
-88
-1036
-1036
-1036
-1732
-8
-244
-4822
-4822
-4822
-31
-305
-1
-206
-1
-74
-0
-58
-4070
-4070
-4070
-2922
-2922
-2922
-1
-1305
-1305
-1305
-24
-28
-0
-34
-38
-130
-40
-0
-26
-2573
-2573
-2573
-44
-2200
-253
-253
-253
-346
-76
-4306
-4306
-4306
-83
-671
-0
-266
-1
-931
-229
-2369
-2369
-2369
-195
-38
-65
-28
-39
-2782
-42
-46
-924
-116
-3188
-3188
-3188
-1
-37
-37
-37
-4910
-4910
-4910
-26
-0
-70
-112
-784
-163
-411
-2
-3158
-3158
-3158
-2375
-4249
-4249
-4249
-33
-65
-39
-31
-454
-230
-0
-74
-597
-139
-26
-3249
-3249
-3249
-2464
-92
-38
-33
-4627
-2122
-2122
-2122
-25
-0
-386
-8
-344
-1000
-1000
-1000
-622
-1962
-101
-2
-1365
-1365
-1365
-330
-46
-401
-36
-1
-21
-3607
-3607
-3607
-70
-29
-45
-199
-26
-21
-20
-31
-1
-1947
-53
-31
-4842
-4842
-4842
-28
-71
-23
-42
-31
-474
-1077
-188
-201
-217
-33
-0
-29
-34
-0
-3
-3990
-3990
-3990
-39
-25
-24
-64
-47
-31
-4361
-4361
-4361
-76
-55
-40
-29
-4306
-4306
-4306
-32
-49
-235
-1762
-1762
-1762
-38
-335
-4
-3961
-3961
-3961
-73
-396
-553
-0
-44
-25
-2518
-43
-30
-0
-33
-0
-35
-159
-159
-159
-2825
-2825
-2825
-40
-3895
-29
-74
-0
-723
-189
-642
-642
-642
-30
-481
-51
-64
-68
-1157
-1157
-1157
-288
-38
-21
-31
-440
-256
-170
-3
-0
-4871
-4871
-4871
-29
-37
-26
-1337
-298
-393
-2436
-2436
-2436
-2
-1571
-1571
-1571
-27
-291
-27
-39
-400
-278
-25
-4068
-28
-1290
-1290
-1290
-54
-919
-319
-808
-2
-35
-4338
-4338
-4338
-594
-668
-32
-3975
-3975
-3975
-480
-179
-0
-95
-395
-4359
-4359
-4359
-897
-4646
-4646
-4646
-1466
-1466
-1466
-687
-35
-33
-336
-109
-195
-45
-174
-4713
-4713
-4713
-59
-525
-274
-2
-29
-26
-692
-692
-692
-34
-62
-4707
-4707
-4707
-1
-1
-28
-427
-873
-873
-873
-33
-36
-59
-174
-2825
-2825
-2825
-33
-45
-43
-1735
-0
-27
-182
-25
-42
-0
-90
-0
-0
-0
-29
-3170
-4125
-4125
-4125
-231
-4346
-4346
-4346
-32
-242
-28
-33
-3609
-141
-1
-44
-34
-28
-3658
-3658
-3658
-310
-2717
-4967
-4967
-4967
-353
-293
-1157
-100
-4072
-4072
-4072
-4594
-156
-31
-0
-37
-298
-1773
-1773
-1773
-22
-2130
-96
-1724
-37
-34
-245
-35
-256
-33
-34
-263
-525
-38
-731
-1
-36
-53
-29
-76
-20
-894
-561
-32
-389
-61
-29
-33
-24
-38
-2494
-29
-4158
-4158
-4158
-28
-40
-418
-3054
-3054
-3054
-29
-56
-25
-34
-780
-780
-780
-1
-2474
-2474
-2474
-3531
-3531
-3531
-0
-269
-939
-26
-148
-40
-47
-79
-945
-45
-44
-64
-156
-648
-1
-403
-94
-27
-4400
-4400
-4400
-24
-33
-21
-30
-204
-33
-2049
-736
-1415
-37
-28
-2571
-2571
-2571
-30
-2505
-0
-77
-1
-1
-0
-24
-0
-71
-4184
-1103
-818
-553
-2553
-914
-230
-4795
-4795
-4795
-86
-359
-163
-389
-20
-0
-2302
-2302
-2302
-88
-29
-36
-4031
-4031
-4031
-3164
-688
-207
-71
-1
-0
-4339
-4339
-4339
-3326
-258
-30
-1395
-28
-1570
-2574
-33
-432
-2819
-2819
-2819
-1
-3348
-26
-396
-20
-1554
-20
-0
-1379
-27
-3083
-3083
-3083
-3028
-3028
-3028
-4385
-4385
-4385
-134
-101
-53
-24
-205
-59
-22
-205
-22
-1
-45
-1395
-413
-118
-1973
-1973
-1973
-122
-4141
-562
-149
-2151
-2151
-2151
-2936
-2936
-2936
-845
-845
-845
-1203
-1098
-1098
-1098
-44
-1536
-1536
-1536
-4879
-4879
-4879
-34
-31
-615
-36
-2
-92
-0
-92
-92
-69
-103
-1206
-1206
-1206
-1
-4309
-4309
-4309
-41
-731
-20
-34
-2940
-183
-4299
-2205
-2205
-2205
-16
-71
-699
-53
-67
-2572
-2572
-2572
-776
-0
-99
-80
-369
-2
-2922
-2922
-2922
-38
-60
-951
-951
-951
-21
-4811
-4811
-4811
-2
-2993
-2993
-2993
-24
-4343
-4343
-4343
-82
-297
-44
-1268
-2536
-2536
-2536
-21
-3606
-3606
-3606
-0
-2096
-0
-673
-47
-342
-27
-42
-132
-22
-44
-127
-102
-654
-1810
-2820
-26
-630
-45
-30
-147
-4225
-4225
-4225
-1
-92
-2465
-44
-279
-322
-68
-30
-231
-3571
-2193
-3104
-4060
-4060
-4060
-31
-1075
-20
-32
-1492
-146
-1178
-4
-27
-314
-33
-20
-127
-64
-558
-0
-34
-1445
-1445
-1445
-146
-1
-70
-1
-978
-4289
-4289
-4289
-177
-44
-1
-54
-3757
-3757
-3757
-35
-35
-35
-240
-1
-269
-32
-83
-408
-21
-31
-1789
-41
-413
-58
-1096
-191
-33
-1203
-0
-994
-2
-443
-756
-756
-756
-1050
-39
-21
-153
-1174
-162
-357
-69
-4270
-4270
-4270
-32
-27
-364
-33
-0
-103
-491
-75
-72
-182
-48
-615
-615
-615
-439
-509
-84
-31
-274
-61
-392
-4127
-366
-1
-734
-55
-83
-22
-101
-22
-333
-0
-50
-113
-21
-404
-3081
-3081
-3081
-0
-27
-178
-62
-38
-374
-2
-0
-95
-1
-38
-55
-32
-35
-4201
-489
-489
-489
-1174
-987
-125
-4462
-4462
-4462
-822
-1036
-302
-178
-46
-21
-34
-171
-171
-171
-1538
-1
-1829
-1829
-1829
-21
-2
-3033
-3033
-3033
-68
-731
-33
-863
-4218
-4218
-4218
-287
-753
-55
-21
-0
-488
-61
-82
-2518
-54
-35
-25
-43
-367
-852
-852
-852
-26
-23
-20
-21
-168
-31
-18
-417
-235
-8
-35
-0
-295
-10
-3380
-3380
-3380
-3712
-3712
-3712
-1529
-1624
-3
-45
-323
-64
-3
-785
-1097
-23
-30
-3033
-9
-0
-76
-2
-25
-0
-65
-1147
-84
-218
-41
-4448
-91
-30
-4728
-4728
-4728
-35
-32
-3536
-3536
-3536
-0
-2193
-88
-371
-910
-0
-1
-999
-350
-260
-31
-20
-311
-2106
-0
-1159
-189
-1
-3230
-3230
-3230
-55
-145
-86
-1
-59
-379
-0
-2192
-21
-1
-104
-264
-1428
-2829
-2829
-2829
-91
-29
-1948
-1948
-1948
-1
-28
-97
-1209
-366
-26
-4846
-4846
-4846
-272
-0
-1401
-1401
-1401
-2
-50
-3654
-3654
-3654
-2
-221
-4929
-4929
-4929
-92
-56
-1
-1097
-4814
-4814
-4814
-148
-156
-1
-24
-270
-270
-270
-22
-29
-234
-954
-3444
-3444
-3444
-690
-690
-690
-79
-3653
-30
-2560
-2560
-2560
-1126
-476
-8
-280
-2196
-100
-1584
-1234
-1
-0
-22
-5
-0
-4
-2065
-2065
-2065
-181
-145
-0
-129
-463
-89
-839
-0
-894
-3322
-3322
-3322
-75
-3
-3862
-3862
-3862
-393
-412
-113
-653
-47
-45
-0
-0
-63
-2
-1570
-353
-136
-31
-118
-134
-1823
-431
-89
-2
-74
-733
-733
-733
-440
-20
-35
-84
-43
-33
-828
-16
-821
-202
-121
-1327
-1327
-1327
-645
-6
-305
-112
-401
-26
-67
-61
-41
-450
-317
-1
-4121
-4121
-4121
-100
-0
-2014
-2014
-2014
-2
-1
-27
-31
-277
-4140
-4140
-4140
-118
-3
-29
-26
-3301
-3301
-3301
-22
-22
-1
-0
-230
-0
-875
-39
-4121
-4121
-4121
-910
-910
-910
-8
-0
-93
-153
-12
-11
-295
-3300
-3300
-3300
-2505
-2505
-2505
-484
-484
-484
-216
-150
-0
-35
-47
-0
-0
-0
-495
-4512
-64
-205
-0
-352
-274
-128
-4940
-4940
-4940
-367
-39
-149
-4781
-4781
-4781
-296
-74
-60
-44
-2820
-0
-0
-86
-288
-734
-119
-30
-44
-1
-135
-370
-21
-3702
-3702
-3702
-1
-304
-26
-58
-24
-4184
-4184
-4184
-1191
-1191
-1191
-356
-3656
-7
-1526
-1526
-1526
-2
-208
-1200
-21
-3506
-3506
-3506
-40
-63
-804
-266
-1161
-1161
-1161
-24
-2685
-31
-140
-25
-251
-3862
-3862
-3862
-24
-263
-61
-55
-33
-48
-108
-31
-495
-2017
-2017
-2017
-49
-114
-439
-1022
-32
-29
-475
-2
-29
-3268
-3268
-3268
-1539
-50
-268
-45
-160
-513
-0
-64
-1239
-342
-342
-342
-172
-4027
-4027
-4027
-1237
-1237
-1237
-210
-279
-279
-279
-6
-515
-1
-20
-0
-104
-23
-3
-32
-389
-3737
-3737
-3737
-1
-3259
-3259
-3259
-3830
-911
-566
-0
-54
-169
-283
-30
-304
-2908
-712
-31
-0
-23
-1
-0
-79
-94
-834
-170
-0
-4292
-4292
-4292
-0
-326
-68
-779
-25
-3844
-3844
-3844
-64
-5
-232
-4128
-4128
-4128
-4162
-4162
-4162
-109
-728
-235
-406
-164
-41
-3091
-4577
-4577
-4577
-23
-1
-267
-161
-510
-55
-1151
-136
-0
-44
-683
-9
-356
-38
-4028
-4028
-4028
-3374
-3374
-3374
-2995
-407
-39
-31
-236
-895
-196
-3275
-3275
-3275
-1656
-338
-2142
-2662
-4013
-4013
-4013
-666
-0
-67
-184
-182
-397
-450
-450
-450
-578
-3938
-1373
-544
-578
-372
-48
-0
-48
-2424
-590
-919
-13
-0
-859
-2800
-2800
-2800
-60
-79
-0
-549
-0
-4138
-4138
-4138
-2380
-2380
-2380
-10
-4534
-4534
-4534
-3872
-3872
-3872
-30
-147
-802
-48
-2661
-2661
-2661
-4072
-1613
-44
-560
-24
-169
-35
-4281
-4281
-4281
-309
-468
-3268
-3268
-3268
-148
-0
-124
-318
-60
-179
-62
-1
-29
-30
-50
-3368
-22
-738
-216
-367
-367
-367
-1877
-107
-224
-111
-1
-22
-2402
-3
-21
-39
-0
-278
-366
-602
-3343
-3343
-3343
-32
-189
-205
-48
-22
-2709
-160
-2728
-4991
-4991
-4991
-3232
-3232
-3232
-189
-0
-23
-595
-606
-1218
-1218
-1218
-38
-214
-1219
-1219
-1219
-1319
-590
-590
-590
-233
-4131
-4131
-4131
-940
-622
-588
-1698
-4700
-4700
-4700
-110
-3813
-3813
-3813
-26
-0
-4
-1116
-37
-3129
-3129
-3129
-0
-95
-95
-95
-33
-308
-413
-69
-49
-908
-220
-577
-577
-577
-366
-3092
-3092
-3092
-1
-64
-9
-1
-4405
-4405
-4405
-97
-218
-0
-29
-1
-50
-1
-94
-3539
-77
-1661
-20
-110
-0
-1304
-257
-815
-211
-23
-1
-91
-688
-45
-230
-864
-0
-2218
-2218
-2218
-106
-2
-2696
-2696
-2696
-202
-397
-2798
-1317
-30
-382
-2728
-4334
-4334
-4334
-3914
-3914
-3914
-32
-32
-4834
-4834
-4834
-4833
-4833
-4833
-1598
-1598
-1598
-473
-1
-2
-438
-4213
-4213
-4213
-3221
-3221
-3221
-26
-103
-135
-0
-3834
-3834
-3834
-3861
-3861
-3861
-84
-82
-82
-82
-598
-2559
-21
-28
-367
-367
-367
-1
-78
-895
-33
-236
-123
-907
-4018
-4018
-4018
-352
-352
-352
-380
-575
-1638
-1638
-1638
-666
-2944
-115
-2029
-2029
-2029
-857
-178
-45
-27
-96
-282
-582
-176
-44
-1
-368
-4880
-4880
-4880
-1622
-2064
-0
-1
-237
-30
-101
-0
-204
-248
-248
-248
-82
-1290
-1290
-1290
-489
-47
-56
-31
-31
-210
-1159
-1664
-1664
-1664
-30
-1185
-1074
-1074
-1074
-367
-1024
-45
-4995
-4995
-4995
-548
-548
-548
-5
-322
-1197
-581
-46
-2134
-2134
-2134
-211
-622
-0
-49
-31
-1550
-239
-129
-2
-20
-991
-0
-576
-576
-576
-337
-4329
-4329
-4329
-57
-2733
-41
-46
-4367
-4367
-4367
-4635
-4635
-4635
-0
-868
-868
-868
-863
-25
-113
-125
-56
-32
-367
-0
-883
-2770
-2770
-2770
-3852
-46
-24
-28
-32
-926
-112
-3834
-0
-67
-0
-1650
-1650
-1650
-0
-474
-474
-474
-1
-369
-104
-47
-253
-253
-253
-1373
-2020
-2020
-2020
-0
-313
-1050
-1352
-1352
-1352
-2316
-2316
-2316
-0
-4286
-4286
-4286
-1004
-1348
-73
-292
-0
-966
-63
-176
-176
-176
-3331
-3331
-3331
-286
-3477
-21
-4172
-4172
-4172
-2
-659
-41
-718
-718
-718
-67
-28
-977
-42
-50
-32
-61
-4299
-4299
-4299
-262
-70
-54
-1364
-1364
-1364
-1
-1
-333
-107
-0
-189
-50
-287
-1659
-0
-3114
-3114
-3114
-732
-90
-3449
-3449
-3449
-2126
-2126
-2126
-522
-942
-307
-29
-1472
-1278
-2421
-1617
-109
-281
-42
-50
-2509
-2509
-2509
-367
-0
-1998
-1998
-1998
-4015
-4015
-4015
-142
-69
-9
-244
-2246
-2607
-72
-2521
-2521
-2521
-3119
-3119
-3119
-1
-452
-225
-0
-38
-3976
-74
-0
-93
-4565
-4565
-4565
-78
-32
-62
-2849
-2849
-2849
-63
-314
-12
-0
-362
-562
-34
-931
-275
-52
-155
-281
-4391
-4391
-4391
-276
-120
-120
-120
-1764
-44
-34
-3615
-1
-29
-53
-90
-369
-22
-26
-2543
-2543
-2543
-226
-29
-331
-95
-337
-635
-197
-0
-35
-1404
-1134
-0
-54
-118
-985
-1570
-28
-370
-163
-3936
-975
-975
-975
-238
-300
-51
-246
-22
-652
-365
-73
-117
-117
-117
-497
-269
-1995
-2024
-2856
-53
-22
-82
-189
-1
-48
-152
-4032
-4032
-4032
-28
-1147
-1147
-1147
-90
-2539
-0
-3285
-3285
-3285
-586
-15
-2737
-4276
-4276
-4276
-98
-86
-2958
-2106
-3483
-3634
-0
-4382
-1294
-1294
-1294
-57
-559
-559
-559
-61
-202
-2745
-27
-700
-700
-700
-115
-0
-1
-1823
-1
-4204
-178
-2355
-27
-1
-236
-28
-284
-197
-0
-8
-171
-749
-157
-37
-590
-457
-1224
-2576
-687
-687
-687
-33
-829
-202
-2139
-24
-1328
-1328
-1328
-0
-1
-31
-31
-0
-76
-0
-257
-28
-101
-2142
-2142
-2142
-1766
-306
-30
-42
-0
-1285
-1
-216
-2360
-2360
-2360
-20
-82
-46
-37
-335
-408
-1462
-1462
-1462
-4342
-4342
-4342
-22
-468
-1
-4007
-4007
-4007
-1097
-1
-3655
-42
-2150
-1809
-1809
-1809
-0
-1
-1793
-1793
-1793
-335
-223
-1253
-306
-1766
-4052
-1
-2001
-2001
-2001
-1562
-1562
-1562
-611
-28
-4355
-1521
-196
-0
-1732
-5
-2574
-2574
-2574
-173
-40
-623
-1313
-430
-88
-1
-769
-769
-769
-0
-345
-4768
-4768
-4768
-1
-385
-1176
-1176
-1176
-26
-30
-79
-129
-4
-44
-224
-641
-0
-355
-82
-142
-24
-122
-621
-1709
-3657
-3657
-3657
-154
-0
-3704
-0
-424
-280
-280
-280
-3610
-3610
-3610
-31
-1
-32
-335
-1
-20
-0
-0
-3
-1
-4678
-4678
-4678
-27
-109
-121
-2231
-701
-814
-814
-814
-36
-304
-691
-210
-1
-1842
-1
-0
-31
-0
-95
-1464
-1464
-1464
-5
-281
-0
-49
-4073
-4073
-4073
-4411
-4411
-4411
-640
-640
-640
-0
-55
-67
-55
-3906
-3906
-3906
-31
-2
-1
-60
-31
-6
-31
-1475
-226
-2931
-670
-670
-670
-373
-373
-373
-331
-0
-1476
-3
-1578
-519
-2
-183
-69
-294
-2057
-2057
-2057
-0
-102
-62
-41
-4278
-4278
-4278
-3612
-3612
-3612
-53
-1
-26
-31
-1680
-329
-32
-311
-40
-30
-37
-31
-46
-4788
-3210
-3210
-3210
-20
-49
-1134
-3771
-3771
-3771
-683
-0
-0
-1088
-25
-29
-2912
-2912
-2912
-0
-1
-177
-0
-3668
-3668
-3668
-294
-40
-33
-30
-1
-4705
-4705
-4705
-0
-0
-357
-103
-11
-298
-4784
-4784
-4784
-26
-1
-4382
-4382
-4382
-167
-22
-0
-3061
-3061
-3061
-119
-531
-367
-201
-30
-0
-177
-31
-0
-58
-29
-4
-155
-4095
-4095
-4095
-682
-55
-2256
-2256
-2256
-101
-693
-20
-240
-31
-41
-4494
-4494
-4494
-769
-4
-800
-25
-752
-1
-238
-24
-32
-53
-0
-0
-28
-1
-2109
-46
-200
-168
-398
-87
-3297
-351
-0
-67
-338
-2249
-1190
-24
-340
-340
-340
-3117
-3117
-3117
-229
-408
-31
-1887
-1887
-1887
-574
-574
-574
-2
-2563
-2563
-2563
-24
-378
-53
-3754
-3754
-3754
-0
-47
-50
-2151
-85
-4019
-4019
-4019
-4390
-4390
-4390
-946
-18
-2830
-374
-410
-410
-410
-1
-1081
-54
-1
-3274
-82
-375
-945
-139
-0
-3273
-3273
-3273
-2219
-2219
-2219
-4753
-4753
-4753
-354
-28
-395
-25
-332
-63
-0
-2
-3285
-29
-0
-49
-106
-75
-30
-0
-4100
-4100
-4100
-1
-1
-327
-15
-31
-27
-1
-1876
-31
-1153
-30
-46
-308
-1545
-1545
-1545
-21
-180
-3
-22
-119
-174
-202
-700
-27
-31
-4163
-4163
-4163
-2200
-2200
-2200
-1
-140
-31
-55
-20
-47
-36
-253
-0
-168
-27
-31
-1
-200
-1903
-1903
-1903
-437
-27
-601
-1
-32
-51
-983
-1
-3472
-3472
-3472
-91
-35
-37
-1173
-1173
-1173
-1
-59
-20
-0
-1
-4090
-4090
-4090
-77
-530
-2556
-1807
-1807
-1807
-3184
-3184
-3184
-10
-23
-1630
-62
-34
-7
-55
-0
-1572
-0
-28
-2
-35
-84
-1
-79
-1769
-1769
-1769
-92
-3086
-3086
-3086
-419
-10
-4877
-4877
-4877
-1857
-4504
-4504
-4504
-34
-0
-4010
-4010
-4010
-37
-24
-40
-0
-135
-437
-0
-0
-0
-3784
-3784
-3784
-31
-20
-78
-1
-31
-32
-0
-92
-60
-268
-140
-480
-2962
-2962
-2962
-23
-58
-44
-1582
-1582
-1582
-665
-22
-0
-44
-28
-87
-489
-3
-2917
-90
-418
-32
-24
-3291
-562
-93
-3792
-3792
-3792
-90
-3046
-31
-1
-1832
-1832
-1832
-22
-4068
-4042
-4042
-4042
-257
-20
-22
-0
-345
-440
-421
-68
-0
-3795
-4038
-4038
-4038
-31
-1090
-98
-25
-25
-25
-2383
-65
-98
-358
-2269
-2269
-2269
-42
-173
-59
-0
-143
-0
-2303
-3988
-3988
-3988
-767
-176
-1
-746
-827
-33
-730
-197
-269
-47
-24
-1
-1498
-1498
-1498
-2683
-6
-51
-0
-440
-4515
-4515
-4515
-30
-1586
-33
-597
-52
-1079
-915
-915
-915
-21
-79
-106
-62
-611
-102
-2924
-132
-2981
-2981
-2981
-2716
-2716
-2716
-51
-2954
-78
-24
-61
-532
-660
-1523
-1523
-1523
-2484
-0
-95
-233
-25
-16
-1485
-28
-181
-3127
-31
-0
-1
-1244
-49
-59
-4
-255
-155
-30
-0
-2576
-171
-3840
-3840
-3840
-484
-3443
-3443
-3443
-61
-4808
-4808
-4808
-67
-2016
-2016
-2016
-4513
-4513
-4513
-3472
-3472
-3472
-57
-2
-22
-45
-127
-34
-30
-1
-619
-142
-0
-118
-507
-1636
-1069
-634
-46
-2991
-3
-1590
-61
-466
-741
-1837
-1837
-1837
-36
-3638
-24
-4633
-4633
-4633
-103
-21
-437
-20
-23
-513
-565
-58
-991
-112
-3795
-3795
-3795
-1846
-1846
-1846
-481
-60
-559
-27
-204
-2758
-2758
-2758
-32
-1346
-255
-1
-258
-68
-238
-28
-0
-370
-72
-1505
-1505
-1505
-1371
-61
-1
-61
-809
-463
-1140
-505
-3468
-741
-100
-357
-357
-357
-1
-1
-149
-2597
-2597
-2597
-486
-486
-486
-67
-211
-2251
-761
-14
-0
-664
-4
-213
-258
-476
-65
-4958
-4958
-4958
-851
-91
-20
-841
-841
-841
-41
-1581
-1581
-1581
-23
-2477
-143
-174
-127
-52
-73
-107
-59
-1446
-1446
-1446
-261
-1
-24
-489
-1
-458
-58
-305
-45
-397
-1
-26
-4004
-4004
-4004
-465
-1
-4687
-4687
-4687
-4210
-4210
-4210
-433
-3750
-3750
-3750
-97
-31
-89
-112
-0
-1526
-1526
-1526
-564
-28
-564
-1200
-25
-21
-1933
-1933
-1933
-359
-4131
-4131
-4131
-320
-2994
-98
-4361
-4361
-4361
-0
-138
-191
-103
-124
-0
-67
-1776
-3321
-3321
-3321
-500
-0
-918
-1553
-1553
-1553
-474
-21
-0
-1187
-700
-95
-4548
-4548
-4548
-583
-583
-583
-2484
-2484
-2484
-58
-878
-134
-3548
-3548
-3548
-532
-63
-26
-130
-2
-101
-27
-23
-248
-58
-31
-0
-1962
-157
-52
-0
-0
-1
-376
-233
-315
-1337
-2401
-522
-57
-188
-156
-249
-350
-39
-225
-276
-92
-276
-31
-2
-37
-460
-2555
-2555
-2555
-4609
-4609
-4609
-0
-26
-366
-1178
-390
-57
-0
-112
-605
-645
-365
-483
-22
-221
-59
-54
-94
-23
-4419
-4419
-4419
-4585
-3843
-3843
-3843
-250
-250
-250
-1695
-1695
-1695
-611
-46
-65
-3
-1008
-1008
-1008
-115
-68
-0
-561
-42
-50
-3032
-3032
-3032
-2391
-0
-1975
-28
-1409
-1409
-1409
-36
-463
-206
-0
-71
-90
-0
-0
-605
-52
-78
-4809
-4809
-4809
-336
-38
-0
-244
-42
-493
-0
-50
-406
-406
-406
-24
-4433
-4433
-4433
-0
-3909
-3909
-3909
-4589
-4589
-4589
-68
-46
-1666
-21
-1
-2479
-113
-1
-230
-2832
-2832
-2832
-46
-1150
-1150
-1150
-4666
-4666
-4666
-32
-364
-0
-0
-178
-109
-96
-2
-2282
-2282
-2282
-48
-717
-3080
-32
-78
-1937
-1937
-1937
-1
-96
-186
-607
-80
-4985
-4985
-4985
-281
-254
-1
-168
-2
-88
-2476
-2476
-2476
-32
-20
-4782
-4782
-4782
-2482
-193
-698
-791
-791
-791
-243
-122
-173
-270
-980
-612
-574
-21
-1432
-27
-30
-23
-5
-24
-105
-3778
-3778
-3778
-147
-118
-1697
-1697
-1697
-32
-1466
-26
-1548
-1078
-1078
-1078
-1561
-3757
-3757
-3757
-0
-109
-252
-125
-110
-58
-216
-237
-0
-119
-1826
-1748
-0
-75
-6
-321
-61
-285
-28
-78
-587
-46
-1349
-328
-295
-879
-273
-71
-224
-21
-270
-27
-0
-246
-3173
-32
-2142
-129
-3805
-392
-290
-39
-394
-28
-0
-0
-53
-0
-32
-94
-1710
-0
-101
-111
-242
-1
-3507
-3507
-3507
-34
-1427
-1427
-1427
-3863
-3863
-3863
-1
-601
-215
-981
-981
-981
-0
-48
-0
-21
-249
-249
-249
-0
-286
-38
-1754
-1404
-1404
-1404
-3
-27
-1740
-1740
-1740
-323
-30
-134
-118
-202
-2390
-384
-365
-60
-78
-31
-73
-1813
-3616
-3616
-3616
-735
-15
-0
-3827
-3827
-3827
-562
-1821
-640
-1016
-0
-21
-2
-1
-0
-33
-95
-21
-1758
-3208
-1
-0
-1
-0
-587
-0
-365
-4456
-4456
-4456
-3253
-51
-247
-918
-50
-3298
-3298
-3298
-461
-3827
-1
-3590
-3590
-3590
-1
-1471
-370
-4839
-4839
-4839
-32
-42
-32
-356
-3515
-14
-4
-0
-0
-1042
-5
-1
-0
-14
-20
-1
-33
-727
-3
-27
-41
-146
-0
-1159
-1824
-1
-20
-1442
-1442
-1442
-0
-212
-2303
-2303
-2303
-3875
-636
-0
-0
-29
-1
-2
-36
-1402
-1402
-1402
-118
-673
-4732
-4732
-4732
-36
-61
-1064
-33
-708
-125
-3
-319
-1013
-1
-1
-373
-373
-373
-180
-362
-1
-21
-1324
-380
-123
-123
-123
-1
-106
-2500
-804
-646
-91
-575
-229
-309
-0
-215
-33
-3609
-36
-771
-38
-4978
-4978
-4978
-477
-30
-24
-0
-1457
-1457
-1457
-31
-2264
-0
-4
-1
-0
-885
-3
-722
-303
-539
-122
-31
-95
-36
-254
-345
-5
-0
-0
-13
-1
-34
-1306
-1468
-808
-808
-808
-0
-543
-77
-415
-4656
-4656
-4656
-374
-1189
-30
-2303
-2303
-2303
-214
-22
-26
-160
-25
-4694
-21
-25
-27
-20
-1
-406
-0
-21
-6
-30
-368
-1
-26
-4161
-4161
-4161
-1
-33
-835
-146
-3269
-3269
-3269
-0
-2
-35
-33
-0
-0
-23
-13
-0
-1581
-302
-4763
-4763
-4763
-4794
-4794
-4794
-24
-365
-1
-2
-266
-30
-4327
-4327
-4327
-29
-146
-3234
-35
-5
-156
-1
-1
-1
-369
-22
-641
-2
-3482
-3482
-3482
-25
-30
-4684
-4684
-4684
-2
-436
-0
-62
-48
-1
-6
-1
-0
-37
-2564
-2564
-2564
-0
-4775
-4775
-4775
-26
-1220
-1220
-1220
-3993
-3993
-3993
-2193
-2563
-0
-156
-22
-0
-3
-926
-2047
-2047
-2047
-364
-3829
-3829
-3829
-53
-27
-1063
-2056
-40
-208
-0
-2111
-157
-20
-266
-34
-0
-88
-819
-7
-433
-3895
-3895
-3895
-39
-27
-90
-3
-41
-111
-30
-2828
-2828
-2828
-12
-464
-729
-729
-729
-417
-408
-0
-25
-1514
-35
-0
-415
-35
-4389
-4389
-4389
-55
-99
-4845
-4845
-4845
-3980
-52
-901
-0
-408
-4894
-4894
-4894
-59
-756
-46
-4822
-4822
-4822
-35
-1512
-155
-58
-2232
-447
-1
-246
-32
-38
-514
-50
-1100
-0
-745
-225
-225
-225
-33
-41
-37
-47
-20
-2
-1097
-32
-0
-59
-31
-447
-24
-37
-58
-36
-333
-4429
-4429
-4429
-248
-1497
-477
-63
-21
-0
-34
-0
-477
-0
-30
-23
-22
-145
-4791
-4791
-4791
-0
-31
-3129
-3129
-3129
-2477
-2477
-2477
-2191
-2191
-2191
-2
-31
-79
-36
-243
-120
-54
-1975
-1975
-1975
-34
-948
-948
-948
-0
-1975
-1975
-1975
-54
-239
-44
-857
-119
-0
-222
-58
-58
-58
-483
-1940 \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json b/priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json
deleted file mode 100644
index 989a08a..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/data/xnotdate.json
+++ /dev/null
@@ -1,34 +0,0 @@
-[
- {
- "males": 50,
- "females": 12
- },
- {
- "males": 95,
- "females": 66
- },
- {
- "males": 143,
- "females": 89
- },
- {
- "males": 198,
- "females": 105
- },
- {
- "males": 244,
- "females": 533
- },
- {
- "males": 277,
- "females": 175
- },
- {
- "males": 344,
- "females": 401
- },
- {
- "males": 441,
- "females": 1299
- }
-]
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm
deleted file mode 100644
index 1219425..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/examples.htm
+++ /dev/null
@@ -1,113 +0,0 @@
-<html lang='en'>
-<head>
- <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
-
- <title>MetricsGraphics.js - Examples</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
- <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
- <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
-
- <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
- <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css' id='light'>
- <link href='' rel='stylesheet' type='text/css' id='dark'>
- <link href='' rel='stylesheet' type='text/css' id='accessible'>
- <link href='css/highlightjs-default.css' rel='stylesheet' type='text/css' id='light-code'>
- <link href='' rel='stylesheet' type='text/css' id='dark-code'>
-
- <script src='js/lib/highlight.pack.js'></script>
- <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
- <script src="https://d3js.org/d3.v4.min.js"></script>
- <script src='https://unpkg.com/popper.js/dist/umd/popper.min.js'></script>
-
- <!-- dev start -->
- <script src='js/MG.js'></script>
- <script src='js/misc/utility.js'></script>
- <script src='js/common/data_graphic.js'></script>
- <script src='js/common/hooks.js'></script>
- <script src='js/common/register.js'></script>
- <script src='js/common/bootstrap_tooltip_popover.js'></script>
- <script src='js/common/scales.js'></script>
- <script src='js/common/chart_title.js'></script>
- <script src='js/common/y_axis.js'></script>
- <script src='js/common/x_axis.js'></script>
- <script src='js/common/scales.js'></script>
- <script src='js/common/init.js'></script>
- <script src='js/common/markers.js'></script>
- <script src='js/common/rollover.js'></script>
- <script src='js/common/zoom.js'></script>
- <script src='js/common/brush.js'></script>
- <script src='js/common/window_listeners.js'></script>
- <script src='js/layout/bootstrap_dropdown.js'></script>
- <script src='js/layout/button.js'></script>
- <script src='js/charts/line.js'></script>
- <script src='js/charts/histogram.js'></script>
- <script src='js/charts/point.js'></script>
- <script src='js/charts/bar.js'></script>
- <script src='js/charts/table.js'></script>
- <script src='js/charts/missing.js'></script>
- <script src='js/misc/process.js'></script>
- <script src='js/misc/smoothers.js'></script>
- <script src='js/misc/formatters.js'></script>
- <script src='js/misc/transitions.js'></script>
- <script src='js/misc/error.js'></script>
- <!-- dev end -->
-
- <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-51487512-1', 'metricsgraphicsjs.org');
- ga('send', 'pageview');
- </script>
-</head>
-
-<body>
- <div class='container'>
- <div class='head'>
- <ul>
- <li><a href='./'>Home</a></li>
- <li><a href='https://github.com/metricsgraphics/metrics-graphics/releases'>Download</a></li>
- <li><a href='interactive-demo.htm'>Interactive</a></li>
- <li><a href='https://github.com/metricsgraphics/metrics-graphics'>Code</a></li>
- <li><a href='https://github.com/metricsgraphics/metrics-graphics/issues'>Issues</a></li>
- <li class='divider'>|</li>
- <li><a href='#' id='light-css' class='pill active'>Light style</a></li>
- <li><a href='#' id='dark-css' class='pill'>Dark style</a></li>
- <li><a href='#' id='accessible-css' class='pill'>Accessible style</a></li>
- </ul>
-
- <img src='images/logo.svg' id='logo' class='svg' />
- </div>
-
- <ul class='examples text-center'>
- <li><a href='#' id='goto-lines' class='pill'>Lines</a></li>
- <li><a href='#' id='goto-multilines' class='pill'>Multiple Lines</a></li>
- <li><a href='#' id='goto-data' class='pill'>Data</a></li>
- <li><a href='#' id='goto-axes' class='pill'>Axes</a></li>
- <li><a href='#' id='goto-rollovers' class='pill'>Rollovers</a></li>
- <li><a href='#' id='goto-auto-time-formatting' class='pill'>Automatic time formatting</a></li>
- <li><a href='#' id='goto-annotations' class='pill'>Annotations</a></li>
- <li><a href='#' id='goto-updating' class='pill'>Updating</a></li>
- <li><a href='#' id='goto-other' class='pill'>Other</a></li>
- <li><a href='#' id='goto-brushing_zooming' class='pill'>Brushing &amp; Zooming</a></li>
- <li><a href='#' id='goto-experimental' class='pill'>Experimental</a></li>
- </ul>
-
- <div id='trunk'></div>
-
- <div class='footer'>
- Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a>,
- <a href='https://github.com/hamilton'>Hamilton Ulmer</a> &mdash; Metrics at
- <a href='https://www.mozilla.org/en-US/'>Mozilla</a>
- <br />Shared under the <a href='http://www.mozilla.org/MPL/2.0/'>
- Mozilla Public License</a>.
- </div>
- </div> <!-- end container -->
-
- <script src='js/main.js'></script>
-</body>
-</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png b/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png
deleted file mode 100644
index 9647b67..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/images/divider.png
+++ /dev/null
Binary files differ
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg b/priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg
deleted file mode 100644
index c847025..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/images/logo.svg
+++ /dev/null
@@ -1,242 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="480px" height="79px" viewBox="0 0 480 79" enable-background="new 0 0 480 79" xml:space="preserve">
-<g>
- <path fill="#101111" d="M96.164,52.427c2.84-4.839,5.58-9.709,8.22-14.61c2.64-4.899,5.24-9.875,7.8-14.924
- c0.56,0.038,1.149,0.064,1.77,0.083c0.62,0.019,1.27,0.027,1.95,0.027c0.56,0,1.11-0.027,1.65-0.083
- c0.54-0.055,1.089-0.083,1.65-0.083c0.64,0,0.96,0.185,0.96,0.554c0,0.407-0.22,0.619-0.66,0.638
- c-0.441,0.019-0.96,0.064-1.56,0.138c-1.121,0.121-1.821,0.904-2.1,2.348l-5.52,29.436c-0.12,0.683-0.18,1.225-0.18,1.626
- c0,1.284,0.58,1.926,1.74,1.926c0.36,0,0.649,0.03,0.87,0.091c0.219,0.06,0.33,0.271,0.33,0.632c0,0.161-0.081,0.311-0.24,0.451
- c-0.16,0.141-0.4,0.211-0.72,0.211c-0.32,0-0.86-0.051-1.62-0.149c-0.761-0.101-1.74-0.151-2.94-0.151
- c-1.44,0-2.57,0.062-3.39,0.181c-0.82,0.119-1.331,0.181-1.53,0.181c-0.52,0-0.78-0.261-0.78-0.783c0-0.48,0.2-0.722,0.6-0.722
- c0.399,0,0.879-0.08,1.44-0.241c0.879-0.24,1.449-0.672,1.71-1.295c0.26-0.621,0.53-1.574,0.81-2.859l5.88-29.676l-17.76,33.951
- c-0.36,0.723-0.74,1.084-1.14,1.084c-0.24,0-0.39-0.14-0.45-0.421s-0.11-0.702-0.15-1.265l-1.38-31.844
- c-2.961,9.15-5.081,16.204-6.36,21.16c-1.28,4.956-1.92,7.796-1.92,8.518c0,0.843,0.17,1.445,0.51,1.806
- c0.339,0.362,0.72,0.623,1.14,0.783c0.42,0.16,0.8,0.29,1.14,0.391c0.339,0.101,0.51,0.312,0.51,0.632
- c0,0.241-0.09,0.441-0.27,0.602c-0.18,0.161-0.39,0.241-0.63,0.241c-0.4,0-0.96-0.08-1.68-0.24c-0.72-0.159-1.661-0.239-2.82-0.239
- c-0.999,0-1.83,0.06-2.49,0.18s-1.149,0.18-1.47,0.18c-0.519,0-0.78-0.199-0.78-0.6c0-0.439,0.24-0.71,0.72-0.811
- c0.48-0.099,1.08-0.249,1.8-0.449c0.48-0.12,0.87-0.29,1.17-0.511c0.3-0.219,0.57-0.519,0.81-0.899c0.24-0.38,0.459-0.88,0.66-1.5
- c0.2-0.62,0.439-1.39,0.72-2.311l7.62-26.16c0.08-0.2,0.14-0.459,0.18-0.78c0.039-0.32,0.06-0.68,0.06-1.08
- c0-0.64-0.16-1.06-0.48-1.26c-0.32-0.2-0.67-0.33-1.05-0.39c-0.381-0.06-0.73-0.12-1.05-0.18c-0.321-0.06-0.48-0.25-0.48-0.57
- c0-0.44,0.3-0.66,0.9-0.66c0.159,0,0.699,0.038,1.62,0.111c0.919,0.074,2.34,0.11,4.26,0.11c0.8,0,1.25,0.112,1.35,0.333
- c0.099,0.221,0.169,0.657,0.21,1.306L96.164,52.427z"/>
- <path fill="#101111" d="M122.144,51.947c0,2.24,0.489,3.96,1.47,5.16c0.979,1.199,2.25,1.8,3.81,1.8c2.16,0,4.26-1.22,6.3-3.66
- c0.6-0.72,0.979-1.32,1.14-1.8c0.159-0.48,0.42-0.721,0.78-0.721c0.24,0,0.36,0.201,0.36,0.601c0,0.32-0.15,0.78-0.45,1.38
- c-0.3,0.6-0.771,1.32-1.41,2.16c-2.601,3.359-5.3,5.04-8.1,5.04c-1.08,0-2.09-0.251-3.03-0.75c-0.94-0.5-1.761-1.2-2.46-2.101
- c-0.7-0.899-1.25-1.989-1.65-3.27c-0.4-1.279-0.6-2.7-0.6-4.26c0-2.199,0.422-4.41,1.268-6.63c0.845-2.221,2.091-4.329,3.741-6.331
- c1.528-1.879,3.128-3.279,4.797-4.2c1.67-0.92,3.269-1.38,4.798-1.38c1.81,0,3.278,0.561,4.405,1.68
- c1.127,1.12,1.69,2.561,1.69,4.32c0,2.96-1.4,5.321-4.2,7.081c-2.8,1.761-6.96,2.86-12.479,3.3
- C122.204,50.647,122.144,51.508,122.144,51.947z M132.074,44.807c2.22-1.879,3.33-4.199,3.33-6.959c0-1.12-0.27-2.02-0.81-2.7
- c-0.54-0.68-1.271-1.02-2.19-1.02c-0.921,0-1.851,0.3-2.79,0.9c-0.94,0.6-1.851,1.491-2.73,2.67c-0.88,1.18-1.71,2.631-2.49,4.35
- c-0.78,1.721-1.431,3.681-1.95,5.88C126.644,47.728,129.854,46.688,132.074,44.807z"/>
- <path fill="#101111" d="M150.043,34.307h4.38c0.279,0,0.42,0.12,0.42,0.36c0,0.72-0.24,1.08-0.72,1.08h-4.38l-3.24,12.18
- c-0.6,2.28-1.08,4.131-1.44,5.55c-0.36,1.421-0.54,2.431-0.54,3.03c0,0.4,0.09,0.72,0.27,0.96c0.18,0.24,0.369,0.36,0.57,0.36
- c0.56,0,1.52-1.04,2.88-3.12c0.56-0.84,0.91-1.489,1.05-1.95c0.14-0.459,0.35-0.689,0.63-0.689c0.32,0,0.48,0.2,0.48,0.6
- c0,0.6-0.681,1.9-2.04,3.9c-1.041,1.56-2.061,2.74-3.06,3.54c-1,0.799-1.84,1.199-2.52,1.199c-0.6,0-1.09-0.27-1.47-0.81
- c-0.381-0.54-0.57-1.29-0.57-2.25c0-1.959,0.76-5.619,2.28-10.98l3.24-11.52h-3.66c-0.12,0-0.221-0.04-0.3-0.12
- c-0.081-0.08-0.12-0.159-0.12-0.24c0-0.72,0.24-1.08,0.72-1.08h3.78l1.5-5.64c0.159-0.56,0.41-0.919,0.75-1.08
- c0.339-0.159,0.89-0.24,1.65-0.24c0.799,0,1.2,0.201,1.2,0.6c0,0.16-0.1,0.6-0.3,1.32L150.043,34.307z"/>
- <path fill="#101111" d="M161.383,50.17c2.28-5.588,4.329-9.758,6.15-12.512c1.82-2.754,3.57-4.132,5.25-4.132
- c0.68,0,1.27,0.27,1.77,0.808c0.5,0.539,0.75,1.268,0.75,2.186c0,0.999-0.24,1.817-0.72,2.455c-0.48,0.639-1.02,0.958-1.62,0.958
- c-0.48,0-0.87-0.149-1.17-0.449c-0.3-0.299-0.45-0.729-0.45-1.287c0-0.439-0.101-0.788-0.3-1.047
- c-0.201-0.259-0.42-0.389-0.66-0.389c-0.681,0-1.93,1.557-3.75,4.67c-1.821,3.113-3.951,7.823-6.39,14.129
- c-0.44,1.157-0.771,2.075-0.99,2.754c-0.221,0.679-0.42,1.197-0.6,1.557c-0.18,0.359-0.39,0.59-0.63,0.688
- c-0.24,0.1-0.621,0.149-1.14,0.149c-0.96,0-1.44-0.239-1.44-0.718c0-0.08,0.06-0.34,0.18-0.778l4.44-16.879
- c0.28-1.076,0.5-2.014,0.66-2.812c0.16-0.798,0.24-1.477,0.24-2.035c0-0.758-0.3-1.137-0.9-1.137c-0.52,0-1.041,0.28-1.56,0.84
- c-0.521,0.561-1.011,1.17-1.47,1.83c-0.46,0.66-0.88,1.26-1.26,1.8c-0.381,0.54-0.651,0.81-0.81,0.81c-0.28,0-0.42-0.199-0.42-0.6
- c0-0.16,0.199-0.6,0.6-1.32c0.399-0.72,1.06-1.62,1.98-2.7c2.16-2.559,3.98-3.84,5.46-3.84c0.6,0,1.08,0.229,1.44,0.689
- c0.36,0.459,0.54,1.147,0.54,2.065c0,0.319-0.06,0.978-0.18,1.975c-0.12,0.999-0.36,2.195-0.72,3.593L161.383,50.17z"/>
- <path fill="#101111" d="M179.802,55.007c-0.36,1.2-0.54,1.98-0.54,2.34c0,0.841,0.279,1.261,0.84,1.261c1,0,2.08-1.021,3.24-3.061
- c0.639-1.08,1.069-1.869,1.29-2.37c0.219-0.499,0.41-0.75,0.57-0.75c0.279,0,0.42,0.141,0.42,0.42c0,0.681-0.801,2.241-2.4,4.681
- c-0.921,1.4-1.84,2.45-2.76,3.149c-0.92,0.699-1.78,1.05-2.58,1.05c-1.601,0-2.4-1-2.4-3c0-1.039,0.22-2.329,0.66-3.869
- c0.439-1.54,1.04-3.391,1.8-5.551l2.46-7.199c0.36-1.08,0.66-2.01,0.9-2.791c0.24-0.78,0.36-1.449,0.36-2.01
- c0-0.44-0.051-0.759-0.15-0.96c-0.101-0.2-0.33-0.3-0.69-0.3c-0.48,0-0.96,0.25-1.44,0.75c-0.48,0.501-0.93,1.061-1.35,1.68
- c-0.42,0.621-0.801,1.18-1.14,1.68c-0.34,0.501-0.591,0.75-0.75,0.75c-0.201,0-0.3-0.181-0.3-0.54c0-0.16,0.159-0.54,0.48-1.14
- c0.319-0.6,0.84-1.359,1.56-2.28c2.04-2.56,3.84-3.84,5.4-3.84c0.68,0,1.22,0.22,1.62,0.66c0.399,0.44,0.6,1.06,0.6,1.86
- c0,0.84-0.141,1.761-0.42,2.76c-0.28,1-0.621,2.099-1.02,3.3L179.802,55.007z M184.872,23.837c0.58-0.819,1.23-1.23,1.95-1.23
- c0.519,0,0.939,0.201,1.26,0.6c0.32,0.4,0.48,0.92,0.48,1.56c0,1.161-0.28,2.16-0.84,3c-0.561,0.84-1.2,1.26-1.92,1.26
- c-0.561,0-1-0.219-1.32-0.66c-0.32-0.44-0.48-1.06-0.48-1.86C184.002,25.547,184.292,24.657,184.872,23.837z"/>
- <path fill="#101111" d="M209.082,33.917c0.919,0.581,1.38,1.41,1.38,2.49c0,0.4-0.16,0.78-0.48,1.14
- c-0.321,0.36-0.76,0.54-1.32,0.54c-0.681,0-1.251-0.18-1.71-0.54c-0.46-0.36-0.88-0.75-1.26-1.17c-0.38-0.42-0.741-0.81-1.08-1.17
- c-0.34-0.36-0.73-0.54-1.17-0.54c-0.88,0-1.87,0.4-2.97,1.2c-1.101,0.8-2.14,1.911-3.12,3.33c-0.981,1.42-1.811,3.13-2.49,5.13
- c-0.681,2.001-1.02,4.2-1.02,6.6c0,2.561,0.51,4.521,1.53,5.88c1.02,1.36,2.45,2.04,4.29,2.04c1.879,0,3.9-1.199,6.06-3.6
- c0.64-0.72,1.05-1.32,1.23-1.8c0.18-0.48,0.45-0.721,0.81-0.721c0.28,0,0.42,0.201,0.42,0.601c0,0.32-0.21,0.84-0.63,1.56
- c-0.42,0.721-1.07,1.581-1.95,2.58c-1.281,1.48-2.571,2.591-3.87,3.33c-1.3,0.74-2.65,1.11-4.05,1.11
- c-1.161,0-2.23-0.251-3.21-0.75c-0.98-0.5-1.84-1.2-2.58-2.101c-0.741-0.899-1.32-1.989-1.74-3.27c-0.42-1.279-0.63-2.7-0.63-4.26
- c0-2.199,0.439-4.41,1.32-6.63c0.879-2.221,2.18-4.25,3.9-6.09c1.68-2.04,3.47-3.51,5.37-4.41c1.899-0.9,3.63-1.35,5.19-1.35
- C206.901,33.047,208.161,33.338,209.082,33.917z"/>
- <path fill="#101111" d="M222.342,46.901c0.96,1.206,1.72,2.34,2.28,3.405c0.56,1.064,0.84,2.2,0.84,3.404
- c0,1.086-0.23,2.11-0.69,3.074s-1.06,1.808-1.8,2.531s-1.61,1.307-2.61,1.748c-1,0.441-2.04,0.662-3.12,0.662
- c-0.84,0-1.68-0.11-2.52-0.329c-0.84-0.221-1.6-0.511-2.28-0.87c-0.68-0.36-1.23-0.76-1.65-1.2c-0.42-0.439-0.63-0.859-0.63-1.26
- c0-1.28,0.13-2.271,0.39-2.971c0.261-0.699,0.57-1.05,0.93-1.05c0.24,0,0.44,0.09,0.6,0.271c0.159,0.18,0.309,0.42,0.45,0.72
- c0.14,0.3,0.27,0.62,0.39,0.96s0.279,0.69,0.48,1.05c0.64,1.161,1.359,2.021,2.16,2.58c0.8,0.561,1.659,0.84,2.58,0.84
- c1.119,0,2.079-0.47,2.88-1.41c0.8-0.939,1.2-2.089,1.2-3.449c0-0.92-0.19-1.771-0.57-2.551c-0.38-0.779-0.91-1.59-1.59-2.43
- l-2.52-3.06c-0.96-1.16-1.701-2.26-2.22-3.301c-0.52-1.039-0.78-2.079-0.78-3.119c0-1,0.21-1.98,0.63-2.94s0.979-1.81,1.68-2.55
- c0.699-0.74,1.509-1.33,2.43-1.77c0.92-0.44,1.899-0.66,2.94-0.66c0.76,0,1.51,0.074,2.25,0.222s1.41,0.351,2.01,0.609
- c0.601,0.259,1.08,0.575,1.44,0.948c0.36,0.374,0.54,0.781,0.54,1.221c0,1.92-0.381,2.88-1.14,2.88c-0.321,0-0.681-0.229-1.08-0.69
- c-0.4-0.459-0.87-0.969-1.41-1.53c-0.54-0.56-1.14-1.07-1.8-1.53c-0.66-0.459-1.41-0.69-2.25-0.69c-0.92,0-1.73,0.372-2.43,1.116
- c-0.701,0.743-1.05,1.677-1.05,2.802c0,0.724,0.16,1.417,0.48,2.079c0.32,0.663,0.78,1.375,1.38,2.139L222.342,46.901z"/>
- <path fill="#101111" d="M259.182,31.007c-0.12,0.521-0.4,0.78-0.84,0.78c-0.48,0-0.721-0.42-0.721-1.26
- c0-0.36,0.021-0.789,0.061-1.29c0.039-0.5,0.06-1.089,0.06-1.77c0-1.479-0.13-2.499-0.39-3.06c-0.261-0.56-0.971-0.84-2.13-0.84
- c-1.721,0-3.641,0.42-5.76,1.26c-2.121,0.84-4.121,2.1-6,3.78c-2.801,2.52-4.941,5.43-6.42,8.73c-1.48,3.3-2.221,6.771-2.221,10.41
- c0,3.921,0.88,6.971,2.641,9.15c1.76,2.181,4.159,3.27,7.199,3.27c1.2,0,2.229-0.12,3.091-0.36c0.859-0.239,1.569-0.639,2.13-1.199
- c0.439-1.44,0.77-2.68,0.989-3.721c0.22-1.039,0.391-1.839,0.511-2.399l0.899-4.561c0.12-0.759,0.181-1.2,0.181-1.319
- c0-1.04-0.42-1.681-1.261-1.92c-0.28-0.08-0.561-0.12-0.84-0.12c-0.28,0-0.54-0.01-0.78-0.03c-0.239-0.02-0.44-0.08-0.6-0.18
- c-0.16-0.1-0.24-0.29-0.24-0.57c0-0.48,0.36-0.72,1.08-0.72c0.56,0,1.26,0.04,2.101,0.12c0.84,0.08,1.819,0.119,2.939,0.119
- c1.16,0,2.12-0.06,2.88-0.18s1.32-0.18,1.681-0.18c0.479,0,0.72,0.2,0.72,0.6c0,0.32-0.081,0.531-0.24,0.63
- c-0.16,0.101-0.37,0.181-0.63,0.24c-0.261,0.06-0.54,0.12-0.84,0.18c-0.3,0.061-0.591,0.19-0.87,0.391c-0.48,0.4-0.87,1-1.17,1.8
- c-0.3,0.801-0.591,1.881-0.87,3.24l-0.66,3.359c-0.12,0.641-0.28,1.44-0.479,2.4c-0.201,0.96-0.36,2.141-0.48,3.54
- c-2.8,1.72-5.961,2.58-9.479,2.58c-2.081,0-3.99-0.351-5.73-1.05c-1.74-0.7-3.24-1.689-4.5-2.971
- c-1.26-1.279-2.24-2.819-2.939-4.62c-0.701-1.8-1.051-3.779-1.051-5.939c0-3.92,0.9-7.55,2.7-10.89c1.8-3.339,4.46-6.33,7.98-8.97
- c2.6-1.92,5.399-3.369,8.399-4.35c3-0.98,5.9-1.47,8.7-1.47c2,0,3,0.4,3,1.2c0,0.201-0.021,0.34-0.06,0.42L259.182,31.007z"/>
- <path fill="#101111" d="M268.721,50.17c2.28-5.588,4.329-9.758,6.15-12.512c1.819-2.754,3.569-4.132,5.25-4.132
- c0.68,0,1.269,0.27,1.77,0.808c0.5,0.539,0.75,1.268,0.75,2.186c0,0.999-0.24,1.817-0.72,2.455c-0.48,0.639-1.021,0.958-1.62,0.958
- c-0.48,0-0.87-0.149-1.17-0.449c-0.3-0.299-0.45-0.729-0.45-1.287c0-0.439-0.101-0.788-0.3-1.047
- c-0.201-0.259-0.42-0.389-0.66-0.389c-0.681,0-1.931,1.557-3.75,4.67c-1.82,3.113-3.951,7.823-6.39,14.129
- c-0.441,1.157-0.771,2.075-0.99,2.754c-0.221,0.679-0.42,1.197-0.601,1.557c-0.18,0.359-0.39,0.59-0.63,0.688
- c-0.239,0.1-0.62,0.149-1.14,0.149c-0.96,0-1.44-0.239-1.44-0.718c0-0.08,0.061-0.34,0.181-0.778l4.439-16.879
- c0.279-1.076,0.5-2.014,0.66-2.812c0.159-0.798,0.24-1.477,0.24-2.035c0-0.758-0.3-1.137-0.9-1.137c-0.521,0-1.04,0.28-1.56,0.84
- c-0.521,0.561-1.011,1.17-1.47,1.83c-0.461,0.66-0.881,1.26-1.261,1.8s-0.65,0.81-0.81,0.81c-0.28,0-0.42-0.199-0.42-0.6
- c0-0.16,0.199-0.6,0.6-1.32c0.399-0.72,1.06-1.62,1.98-2.7c2.16-2.559,3.979-3.84,5.46-3.84c0.6,0,1.08,0.229,1.439,0.689
- c0.36,0.459,0.54,1.147,0.54,2.065c0,0.319-0.06,0.978-0.18,1.975c-0.12,0.999-0.36,2.195-0.72,3.593L268.721,50.17z"/>
- <path fill="#101111" d="M302.141,53.207c-0.24,0.84-0.4,1.521-0.48,2.04c-0.08,0.521-0.12,0.86-0.12,1.02
- c0,0.841,0.22,1.261,0.66,1.261c0.68,0,1.62-0.84,2.82-2.521c0.52-0.72,0.859-1.279,1.02-1.68c0.16-0.399,0.399-0.601,0.721-0.601
- c0.199,0,0.3,0.141,0.3,0.421c0,0.84-0.641,2.159-1.92,3.96c-2.2,3.2-4.141,4.8-5.82,4.8c-1.28,0-1.92-0.86-1.92-2.58
- c0-0.999,0.13-2.03,0.39-3.09s0.55-2.17,0.87-3.33l1.801-6.66c-3,5.16-5.641,9.04-7.921,11.64c-2.279,2.601-4.42,3.9-6.42,3.9
- c-1.479,0-2.66-0.561-3.54-1.68c-0.879-1.12-1.319-2.74-1.319-4.86c0-2.199,0.51-4.539,1.529-7.021
- c1.021-2.479,2.59-5.039,4.71-7.68c2-2.52,4.051-4.389,6.15-5.61c2.1-1.22,3.95-1.83,5.55-1.83c1.08,0,1.95,0.21,2.61,0.63
- c0.66,0.42,1.13,0.63,1.41,0.63c0.159,0,0.31-0.09,0.45-0.27c0.14-0.18,0.309-0.38,0.51-0.6c0.199-0.219,0.45-0.42,0.75-0.6
- s0.669-0.27,1.109-0.27c0.561,0,0.939,0.051,1.141,0.15c0.199,0.101,0.3,0.371,0.3,0.81c0,0.28-0.101,0.72-0.3,1.32L302.141,53.207
- z M294.671,36.557c-1.821,1.5-3.631,3.81-5.431,6.93c-1.4,2.44-2.44,4.649-3.12,6.63c-0.681,1.979-1.02,3.65-1.02,5.01
- c0,1.161,0.26,2.04,0.78,2.64c0.519,0.601,1.179,0.9,1.979,0.9c1.119,0,2.35-0.669,3.69-2.01c1.34-1.34,2.91-3.33,4.71-5.97
- c4.2-6.16,6.3-10.4,6.3-12.721c0-1.16-0.3-2.06-0.9-2.7c-0.6-0.64-1.439-0.96-2.52-0.96
- C297.979,34.307,296.49,35.057,294.671,36.557z"/>
- <path fill="#101111" d="M320.08,33.827c0.8-0.2,1.569-0.35,2.31-0.45c0.74-0.099,1.45-0.15,2.131-0.15c2.76,0,4.89,0.801,6.39,2.4
- c1.5,1.601,2.25,3.9,2.25,6.9c0,2.279-0.411,4.58-1.23,6.899c-0.82,2.32-2.01,4.5-3.569,6.54c-2.961,3.801-6,5.7-9.12,5.7
- c-1.041,0-1.971-0.21-2.79-0.63c-0.82-0.42-1.631-1.069-2.43-1.95l-2.101,10.32c-0.08,0.399-0.12,0.739-0.12,1.02
- c0,0.601,0.181,1.029,0.54,1.29c0.36,0.26,0.77,0.46,1.23,0.601c0.459,0.14,0.87,0.26,1.229,0.359c0.36,0.1,0.54,0.29,0.54,0.57
- c0,0.439-0.22,0.66-0.66,0.66s-1.18-0.07-2.22-0.21c-1.04-0.141-2.359-0.21-3.96-0.21c-1.119,0-2.04,0.069-2.76,0.21
- c-0.72,0.14-1.28,0.21-1.68,0.21c-0.68,0-1.021-0.16-1.021-0.48c0-0.44,0.25-0.7,0.75-0.779c0.501-0.081,1.17-0.28,2.01-0.601
- c0.48-0.2,0.851-0.39,1.11-0.57c0.261-0.18,0.471-0.399,0.63-0.659c0.16-0.261,0.291-0.591,0.39-0.99
- c0.101-0.4,0.231-0.921,0.391-1.561l7.68-31.68c-0.921,0.48-1.641,0.87-2.16,1.17c-0.521,0.3-0.88,0.45-1.08,0.45
- c-0.32,0-0.479-0.1-0.479-0.3c0-0.52,0.339-0.99,1.02-1.41c0.68-0.42,1.72-0.909,3.12-1.47l1.32-5.76c0.12-0.48,0.26-0.78,0.42-0.9
- c0.159-0.12,0.439-0.18,0.84-0.18h0.78c0.56,0,0.949,0.01,1.17,0.03c0.22,0.021,0.33,0.13,0.33,0.33v0.24
- c0,0.12-0.04,0.28-0.12,0.48L320.08,33.827z M315.28,53.837c-0.16,0.844-0.24,1.608-0.24,2.29c0,1.287,0.33,2.292,0.99,3.016
- s1.55,1.084,2.67,1.084c2.84,0,5.199-1.828,7.08-5.485c1.359-2.612,2.359-5.094,3-7.445c0.64-2.351,0.96-4.33,0.96-5.938
- c0-2.09-0.54-3.698-1.62-4.823s-2.64-1.688-4.68-1.688c-0.96,0-2.2,0.221-3.721,0.663l-3.779,15.373
- C315.66,52.008,315.439,52.993,315.28,53.837z"/>
- <path fill="#101111" d="M341.499,46.907c2.36-4.6,4.53-8.03,6.51-10.29c1.98-2.26,3.931-3.39,5.851-3.39
- c1.479,0,2.68,0.648,3.6,1.941c0.92,1.294,1.38,3.136,1.38,5.525c0,2.15-0.359,4.46-1.08,6.928c-0.72,2.47-1.739,4.799-3.06,6.988
- c-1.4,2.27-2.87,3.994-4.41,5.172c-1.54,1.176-2.91,1.766-4.109,1.766c-1.001,0-1.78-0.25-2.341-0.75s-0.84-1.169-0.84-2.007
- c0-0.597,0.159-1.074,0.48-1.433c0.319-0.358,0.699-0.538,1.14-0.538c0.36,0,0.66,0.14,0.9,0.418
- c0.239,0.279,0.459,0.588,0.66,0.927c0.199,0.338,0.429,0.646,0.689,0.925c0.26,0.279,0.609,0.418,1.05,0.418
- c0.8,0,1.51-0.457,2.13-1.372s1.311-2.309,2.07-4.18c0.56-1.353,1.04-2.696,1.44-4.029c0.399-1.333,0.72-2.606,0.96-3.82
- c0.239-1.213,0.42-2.328,0.54-3.343s0.18-1.86,0.18-2.537c0-1.393-0.25-2.448-0.75-3.164c-0.501-0.716-1.15-1.075-1.95-1.075
- c-1.601,0-3.471,1.38-5.609,4.14c-2.141,2.76-4.211,6.72-6.21,11.88c-1.041,2.76-1.771,4.821-2.19,6.181s-0.67,2.1-0.75,2.22
- c-0.2,0.359-0.761,0.54-1.68,0.54c-0.44,0-0.75-0.051-0.931-0.15c-0.18-0.1-0.27-0.369-0.27-0.81c0-0.2,0.06-0.54,0.18-1.021
- l8.7-33.84c0.279-1.08,0.42-1.86,0.42-2.34c0-0.279-0.12-0.53-0.36-0.75c-0.239-0.219-0.58-0.33-1.02-0.33
- c-0.12,0-0.23,0.01-0.33,0.03c-0.101,0.021-0.21,0.03-0.33,0.03c-0.641,0-0.96-0.2-0.96-0.6c0-0.24,0.09-0.41,0.271-0.51
- c0.18-0.1,0.42-0.17,0.72-0.21c0.3-0.04,0.669-0.07,1.109-0.09c0.44-0.02,0.92-0.09,1.44-0.21c1.08-0.2,1.86-0.5,2.34-0.9
- c0.48-0.399,0.9-0.6,1.26-0.6c0.2,0,0.301,0.16,0.301,0.48c0,0.041-0.011,0.111-0.03,0.21c-0.021,0.101-0.051,0.25-0.09,0.45
- L341.499,46.907z"/>
- <path fill="#101111" d="M366.579,55.007c-0.36,1.2-0.54,1.98-0.54,2.34c0,0.841,0.279,1.261,0.84,1.261
- c0.999,0,2.079-1.021,3.24-3.061c0.64-1.08,1.069-1.869,1.29-2.37c0.219-0.499,0.409-0.75,0.569-0.75
- c0.28,0,0.421,0.141,0.421,0.42c0,0.681-0.801,2.241-2.4,4.681c-0.921,1.4-1.841,2.45-2.76,3.149c-0.921,0.699-1.78,1.05-2.58,1.05
- c-1.601,0-2.4-1-2.4-3c0-1.039,0.22-2.329,0.66-3.869c0.439-1.54,1.04-3.391,1.8-5.551l2.46-7.199c0.36-1.08,0.66-2.01,0.9-2.791
- c0.24-0.78,0.359-1.449,0.359-2.01c0-0.44-0.05-0.759-0.149-0.96c-0.101-0.2-0.33-0.3-0.69-0.3c-0.479,0-0.96,0.25-1.439,0.75
- c-0.48,0.501-0.931,1.061-1.351,1.68c-0.42,0.621-0.8,1.18-1.14,1.68c-0.34,0.501-0.591,0.75-0.75,0.75c-0.2,0-0.3-0.181-0.3-0.54
- c0-0.16,0.159-0.54,0.479-1.14s0.84-1.359,1.561-2.28c2.04-2.56,3.84-3.84,5.399-3.84c0.68,0,1.22,0.22,1.62,0.66
- c0.399,0.44,0.601,1.06,0.601,1.86c0,0.84-0.141,1.761-0.42,2.76c-0.28,1-0.621,2.099-1.021,3.3L366.579,55.007z M371.649,23.837
- c0.579-0.819,1.229-1.23,1.949-1.23c0.52,0,0.939,0.201,1.261,0.6c0.319,0.4,0.479,0.92,0.479,1.56c0,1.161-0.28,2.16-0.84,3
- c-0.561,0.84-1.2,1.26-1.92,1.26c-0.561,0-1-0.219-1.32-0.66c-0.32-0.44-0.479-1.06-0.479-1.86
- C370.779,25.547,371.068,24.657,371.649,23.837z"/>
- <path fill="#101111" d="M395.858,33.917c0.92,0.581,1.38,1.41,1.38,2.49c0,0.4-0.16,0.78-0.48,1.14
- c-0.32,0.36-0.76,0.54-1.319,0.54c-0.681,0-1.251-0.18-1.71-0.54c-0.461-0.36-0.881-0.75-1.26-1.17
- c-0.381-0.42-0.741-0.81-1.08-1.17c-0.341-0.36-0.73-0.54-1.17-0.54c-0.881,0-1.871,0.4-2.971,1.2c-1.101,0.8-2.14,1.911-3.12,3.33
- c-0.98,1.42-1.81,3.13-2.489,5.13c-0.681,2.001-1.021,4.2-1.021,6.6c0,2.561,0.51,4.521,1.53,5.88c1.02,1.36,2.449,2.04,4.29,2.04
- c1.88,0,3.899-1.199,6.06-3.6c0.64-0.72,1.05-1.32,1.23-1.8c0.18-0.48,0.45-0.721,0.81-0.721c0.279,0,0.42,0.201,0.42,0.601
- c0,0.32-0.21,0.84-0.63,1.56c-0.42,0.721-1.07,1.581-1.95,2.58c-1.28,1.48-2.57,2.591-3.87,3.33c-1.3,0.74-2.649,1.11-4.05,1.11
- c-1.16,0-2.23-0.251-3.21-0.75c-0.98-0.5-1.84-1.2-2.58-2.101c-0.74-0.899-1.319-1.989-1.739-3.27
- c-0.421-1.279-0.631-2.7-0.631-4.26c0-2.199,0.44-4.41,1.32-6.63c0.88-2.221,2.18-4.25,3.9-6.09c1.68-2.04,3.47-3.51,5.37-4.41
- c1.899-0.9,3.63-1.35,5.189-1.35C393.678,33.047,394.938,33.338,395.858,33.917z"/>
- <path fill="#101111" d="M409.118,46.901c0.96,1.206,1.72,2.34,2.28,3.405c0.56,1.064,0.84,2.2,0.84,3.404
- c0,1.086-0.23,2.11-0.69,3.074s-1.06,1.808-1.8,2.531s-1.61,1.307-2.609,1.748c-1.001,0.441-2.04,0.662-3.12,0.662
- c-0.84,0-1.681-0.11-2.521-0.329c-0.84-0.221-1.6-0.511-2.279-0.87c-0.68-0.36-1.23-0.76-1.65-1.2
- c-0.42-0.439-0.63-0.859-0.63-1.26c0-1.28,0.13-2.271,0.39-2.971c0.261-0.699,0.57-1.05,0.93-1.05c0.24,0,0.441,0.09,0.601,0.271
- c0.159,0.18,0.31,0.42,0.45,0.72c0.14,0.3,0.27,0.62,0.39,0.96s0.279,0.69,0.48,1.05c0.639,1.161,1.359,2.021,2.159,2.58
- c0.8,0.561,1.66,0.84,2.58,0.84c1.12,0,2.08-0.47,2.88-1.41c0.8-0.939,1.2-2.089,1.2-3.449c0-0.92-0.19-1.771-0.569-2.551
- c-0.381-0.779-0.911-1.59-1.591-2.43l-2.52-3.06c-0.96-1.16-1.701-2.26-2.22-3.301c-0.521-1.039-0.78-2.079-0.78-3.119
- c0-1,0.21-1.98,0.63-2.94s0.979-1.81,1.68-2.55c0.7-0.74,1.51-1.33,2.431-1.77c0.919-0.44,1.899-0.66,2.939-0.66
- c0.76,0,1.51,0.074,2.25,0.222s1.41,0.351,2.01,0.609c0.601,0.259,1.08,0.575,1.44,0.948c0.36,0.374,0.54,0.781,0.54,1.221
- c0,1.92-0.381,2.88-1.14,2.88c-0.321,0-0.681-0.229-1.08-0.69c-0.4-0.459-0.87-0.969-1.41-1.53c-0.54-0.56-1.14-1.07-1.8-1.53
- c-0.66-0.459-1.41-0.69-2.25-0.69c-0.921,0-1.73,0.372-2.431,1.116c-0.7,0.743-1.05,1.677-1.05,2.802
- c0,0.724,0.159,1.417,0.48,2.079c0.319,0.663,0.779,1.375,1.38,2.139L409.118,46.901z"/>
- <path fill="#101111" d="M416.708,56.717c0.459-0.619,1.01-0.93,1.649-0.93c1.12,0,1.681,0.78,1.681,2.34
- c0,0.801-0.23,1.54-0.69,2.22s-1.011,1.021-1.649,1.021c-1.121,0-1.681-0.78-1.681-2.34
- C416.018,58.107,416.248,57.338,416.708,56.717z"/>
- <path fill="#101111" d="M431.678,61.188c-0.6,2.279-1.311,4.249-2.13,5.909c-0.82,1.66-1.68,3.05-2.58,4.17
- c-0.899,1.12-1.83,1.95-2.79,2.49s-1.88,0.811-2.76,0.811c-1.239,0-2.27-0.36-3.09-1.08c-0.819-0.721-1.23-1.541-1.23-2.46
- c0-0.641,0.181-1.141,0.54-1.5c0.36-0.36,0.761-0.54,1.2-0.54c0.48,0,0.87,0.199,1.17,0.6c0.3,0.399,0.58,0.84,0.84,1.32
- c0.261,0.479,0.521,0.92,0.78,1.319c0.261,0.399,0.61,0.601,1.05,0.601c0.601,0,1.141-0.341,1.62-1.021
- c0.48-0.681,0.971-1.739,1.47-3.18c0.501-1.439,1.041-3.261,1.62-5.46c0.579-2.2,1.29-4.819,2.13-7.86l4.32-15.959
- c0.199-0.68,0.33-1.24,0.39-1.68c0.061-0.439,0.091-0.72,0.091-0.84c0-0.44-0.281-0.66-0.841-0.66c-0.4,0-0.82,0.25-1.26,0.75
- c-0.44,0.5-0.87,1.041-1.29,1.62c-0.42,0.58-0.801,1.12-1.14,1.62c-0.341,0.501-0.591,0.75-0.75,0.75c-0.24,0-0.36-0.181-0.36-0.54
- c0-0.16,0.17-0.54,0.51-1.14s0.87-1.359,1.591-2.28c1.039-1.28,1.989-2.24,2.85-2.88c0.859-0.639,1.71-0.96,2.55-0.96
- c0.601,0,1.1,0.201,1.5,0.6c0.399,0.4,0.601,0.98,0.601,1.74c0,0.44-0.051,0.93-0.15,1.47c-0.101,0.54-0.25,1.15-0.45,1.83
- L431.678,61.188z M437.738,23.837c0.56-0.819,1.199-1.23,1.92-1.23c0.52,0,0.939,0.201,1.26,0.6c0.319,0.4,0.479,0.92,0.479,1.56
- c0,1.161-0.27,2.16-0.81,3s-1.17,1.26-1.89,1.26c-0.561,0-1.001-0.219-1.32-0.66c-0.32-0.44-0.48-1.06-0.48-1.86
- C436.897,25.547,437.178,24.657,437.738,23.837z"/>
- <path fill="#101111" d="M451.417,46.901c0.96,1.206,1.72,2.34,2.28,3.405c0.56,1.064,0.84,2.2,0.84,3.404
- c0,1.086-0.23,2.11-0.69,3.074s-1.06,1.808-1.8,2.531s-1.61,1.307-2.609,1.748c-1.001,0.441-2.04,0.662-3.12,0.662
- c-0.84,0-1.681-0.11-2.521-0.329c-0.84-0.221-1.6-0.511-2.279-0.87c-0.68-0.36-1.23-0.76-1.65-1.2
- c-0.42-0.439-0.63-0.859-0.63-1.26c0-1.28,0.13-2.271,0.39-2.971c0.261-0.699,0.57-1.05,0.93-1.05c0.24,0,0.441,0.09,0.601,0.271
- c0.159,0.18,0.31,0.42,0.45,0.72c0.14,0.3,0.27,0.62,0.39,0.96s0.279,0.69,0.48,1.05c0.639,1.161,1.359,2.021,2.159,2.58
- c0.8,0.561,1.66,0.84,2.58,0.84c1.12,0,2.08-0.47,2.88-1.41c0.8-0.939,1.2-2.089,1.2-3.449c0-0.92-0.19-1.771-0.569-2.551
- c-0.381-0.779-0.911-1.59-1.591-2.43l-2.52-3.06c-0.96-1.16-1.701-2.26-2.22-3.301c-0.521-1.039-0.78-2.079-0.78-3.119
- c0-1,0.21-1.98,0.63-2.94s0.979-1.81,1.68-2.55c0.7-0.74,1.51-1.33,2.431-1.77c0.919-0.44,1.899-0.66,2.939-0.66
- c0.76,0,1.51,0.074,2.25,0.222s1.41,0.351,2.01,0.609c0.601,0.259,1.08,0.575,1.44,0.948c0.36,0.374,0.54,0.781,0.54,1.221
- c0,1.92-0.381,2.88-1.14,2.88c-0.321,0-0.681-0.229-1.08-0.69c-0.4-0.459-0.87-0.969-1.41-1.53c-0.54-0.56-1.14-1.07-1.8-1.53
- c-0.66-0.459-1.41-0.69-2.25-0.69c-0.921,0-1.73,0.372-2.431,1.116c-0.7,0.743-1.05,1.677-1.05,2.802
- c0,0.724,0.159,1.417,0.48,2.079c0.319,0.663,0.779,1.375,1.38,2.139L451.417,46.901z"/>
-</g>
-<g>
- <path fill="#101111" d="M3.802,51.254V24.525c0-0.928,0.267-1.775,0.8-2.541s1.241-1.311,2.123-1.636l24.502-8.91
- c0.51-0.186,1.021-0.279,1.531-0.279c0.51,0,1.021,0.093,1.531,0.279l24.501,8.91c0.882,0.325,1.589,0.87,2.123,1.636
- s0.801,1.613,0.801,2.541v26.729c0,0.812-0.209,1.566-0.626,2.263c-0.418,0.696-0.987,1.241-1.706,1.636L34.882,68.517
- c-0.65,0.371-1.357,0.558-2.123,0.558s-1.474-0.187-2.123-0.558L6.134,55.152c-0.72-0.395-1.288-0.939-1.706-1.636
- S3.802,52.066,3.802,51.254z M8.466,24.456l24.293,8.84l24.292-8.84l-24.292-8.84L8.466,24.456z M34.986,63.4L57.26,51.254V29.12
- l-22.274,8.109V63.4z"/>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-<g>
-</g>
-</svg>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/index.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/index.htm
deleted file mode 100644
index e4c1ed0..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/index.htm
+++ /dev/null
@@ -1,269 +0,0 @@
-<html lang='en'>
-<head>
- <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
-
- <title>MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
- <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
- <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
-
- <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
- <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css'>
- <link href='css/highlightjs-default.css' rel='stylesheet' type='text/css'>
-
- <script src='js/lib/highlight.pack.js'></script>
- <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>
- <script src='https://d3js.org/d3.v4.min.js' charset='utf-8'></script>
- <script src='metricsgraphics.min.js'></script>
-
- <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-51487512-1', 'metricsgraphicsjs.org');
- ga('send', 'pageview');
- </script>
-</head>
-
-<body>
- <a href="https://github.com/metrics-graphics/metrics-graphics"><img style="z-index: 2; position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
-
- <div class='container'>
- <div id='content-body'>
- <img src='images/logo.svg' id='logo' class='svg' />
- <iframe src="https://ghbtns.com/github-btn.html?user=mozilla&repo=metrics-graphics&type=watch&count=true" allowtransparency="true" frameborder="0" scrolling="0" width="110" height="20" class='github-stars-top'></iframe>
-
- <div id='description'>
- <p><i>MetricsGraphics.js</i> is a library built on top of
- <a href='http://d3js.org/'>D3</a> that is optimized for visualizing and
- laying out time-series data. It provides a simple way to produce common types of
- graphics in a principled, consistent and responsive way. The library
- currently supports line charts, scatterplots, histograms, bar charts and data
- tables as well as features like rug plots and basic linear regression.</p>
- </div>
-
- <div id='torso'>
- <div class='thumb'><a href='https://github.com/metricsgraphics/metrics-graphics/releases'><i class="fa fa-download fa-4x"></i><br /><span class='text'>Download</span></a></div>
- <div class='thumb'><a href='examples.htm'><i class="fa fa-area-chart fa-4x"></i><br /><span class='text'>Examples</span></a></div>
- <div class='thumb'><a href='https://github.com/metricsgraphics/metrics-graphics'><i class="fa fa-github fa-4x"></i><br /><span class='text'>Github</span></a></div>
- </div>
- </div>
- </div>
-
- <div class='api-example'>
- <div class='container'>
-
-<pre><code class='javascript'>MG.data_graphic({
- title: "Downloads",
- description: "This graphic shows a time-series of downloads.",
- data: [{'date':new Date('2014-11-01'),'value':12},
- {'date':new Date('2014-11-02'),'value':18}],
- width: 600,
- height: 250,
- target: '#downloads',
- x_accessor: 'date',
- y_accessor: 'value',
-})</code></pre>
-
- </div>
- </div>
-
- <div class='container'>
- <p>The API is simple. All that's needed to create a graphic is to specify a few default parameters and then, if desired, override one or more of the <a href='https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options'>optional parameters on offer</a>. We don't maintain state. To update a graphic, one would call <i>MG.data_graphic</i> on the same target element.</p>
- <p>The library is data-source agnostic. While it provides a number of convenience functions and options that allow for graphics to better handle things like missing observations, it doesn't care where the data comes from.</p>
- <p>The library makes it easy to construct narratives by providing a layout template based on Bootstrap. Take a look at <a href='examples.htm'>the examples</a> to see that in action.</p>
- <p>MetricsGraphics.js <a href='https://www.youtube.com/watch?v=ZmkeAlut7KI#t=399'>takes the misery out of</a> creating beautiful interactive graphics. <a href='http://blog.mozilla.org/metrics/2014/11/10/introducing-metricsgraphics-js/'>Read our blog post for more details</a>.</p>
-
- <h1>A bit about the library's design philosophy</h1>
- <p>MetricsGraphics.js is an opinionated library that aims to take the mystery and complication out of presenting simple data. It offers only line charts, scatterplots, bar charts, histograms and data tables, while maintaining a wide variety of options for each, and elevates the layout and explanation of these graphics to the same level of priority as the graphics themselves. The emergent philosophy is one of efficiency and practicality - by following the standards embodied by the library, you will make beautiful, concise and impactful presentations and dashboards.</p>
-
- <h1>Creating your first graphic</h1>
- <p>Here's a quick tutorial to get you started. Say that we have some data on a scholarly topic like <a href='http://geocommons.com/overlays/134594'>UFO sightings</a>. We decide that we're interested in creating a line chart of yearly sightings.</p>
- <p>We create a JSON file called <a href='data/ufo-sightings.json'>data/ufo-sightings.json</a> based on the original dataset, where we aggregate yearly sightings. The data doesn't have to be JSON of course, but that will mean less work later on.</p>
- <p>The next thing we do is load the data:</p>
-
-<pre class='highbottom'><code class='javascript'>d3.json('data/ufo-sightings.json', function(data) {
-})</code></pre>
-
- <p><i>MG.data_graphic</i> expects the data object to be an array of objects, which is already the case for us. That's good. It also needs dates to be timestamps if they're in a format like <i>yyyy-mm-dd</i>. We've got aggregated yearly data, so we don't need to worry about that. Otherwise, we'd add a line like this one.</p>
-
-<pre class='highbottom'><code class='javascript'>d3.json('data/ufo-sightings.json', function(data) {
- data = MG.convert.date(data, 'year');
-})</code></pre>
-
- <p>Finally, we create the graphic and place it in the element specified in <i>target</i>.</p>
-
-<pre class='highbottom'><code class='javascript'>d3.json('data/ufo-sightings.json', function(data) {
- MG.data_graphic({
- title: "UFO Sightings",
- description: "Yearly UFO sightings from the year 1945 to 2010.",
- data: data,
- width: 650,
- height: 150,
- target: '#ufo-sightings',
- x_accessor: 'year',
- y_accessor: 'sightings',
- markers: [{'year': 1964, 'label': '"The Creeping Terror" released'}]
- })
-})</code></pre>
-
- <p class='highbottom'>And this is what we end up with. In this example, we're adding a marker to draw attention to a particular data point. This is optional of course.</p>
- <div id='ufo-sightings'></div>
- <p class='hightop'>It's as easy as that. If for whatever reason we decide to update the data in the graphic, we call <i>MG.data_graphic</i> with the updated data object on the same target element. The library will gracefully transition the existing plot to the new one. It's ridiculously easy to modify every aspect of the graphic by setting one or more of the <a href='https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options'>available options</a>.</p>
-
- <h1>Still not convinced?</h1>
- <p>We've set up an interactive version of this example that you can play around with. You don't need to download anything. <a href='interactive-demo.htm'>Check it out</a>.</p>
- <p>Take the library out for a spin, file bugs and don't forget to star the project on Github!</p>
- </div>
-
- <div class='container footer'>
- Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a>,
- <a href='https://github.com/hamilton'>Hamilton Ulmer</a> &mdash; Metrics at
- <a href='https://www.mozilla.org/en-US/'>Mozilla</a>
- <br />Shared under the <a href='http://www.mozilla.org/MPL/2.0/'>
- Mozilla Public License</a>.
- </div>
-
- <style>
- body {
- background-color: #fcfcfc;
- }
-
- .api-example {
- margin: 80px 0 40px 0;
- width: 100%;
- background-color: #f1f1f1;
- border-top: 1px solid #ccc;
- border-bottom: 1px solid #ccc;
- }
-
- .container {
- width: 680px;
- }
-
- #fb-block {
- display: inline;
- padding: 0 0 0 6px;
- position: relative;
- top: 0;
- width: 60px;
- }
-
- @media only screen
- and (min-device-width : 320px)
- and (max-device-width : 480px) {
- #fb-block {
- top: -5px;
- }
- }
-
- .github-stars-top {
- margin: 95px 0 0 160px;
- position: absolute;
- }
-
- h1 {
- font-size: 24px;
- padding-top: 40px;
- }
-
- .highbottom {
- margin-bottom: 40px;
- }
-
- .hightop {
- margin-top: 40px;
- }
-
- p {
- padding-top: 6px;
- }
-
- pre {
- background-color: #f1f1f1;
- border: none;
- margin: 0 0 0 0 ;
- }
-
- .social-buttons {
- background-image: url(images/divider.png);
- background-repeat: no-repeat;
- background-position: center 35px;
- padding-top: 80px;
- }
-
- .thumb {
- padding: 0 35px 0 35px;
- }
-
- .thumb a {
- color: #227dc4;
- }
-
- .thumb a i.fa {
- background-color: #036bbc;
- color: transparent;
- text-shadow: 0px 1px 1px rgba(255,255,255,0.5);
- -webkit-background-clip: text;
- -moz-background-clip: text;
- background-clip: text;
- padding: 10px;
- }
-
- @-moz-document url-prefix() {
- .thumb a i.fa {
- background-color: transparent;
- color: #60a2d5;
- }
- }
-
- .thumb a span.text {
- color: white;
- font-size: 12px;
- letter-spacing: 1;
- text-transform: uppercase;
- background: #60a2d5;
- border-radius: 6px;
- padding: 1px 5px 1px 5px;
- }
-
- /*.thumb a:hover span.text {
- border-bottom: 1px solid #227dc4;
- }*/
-
- .thumb a:hover {
- text-decoration: none;
- }
-
- #twitter-block {
- display: inline;
- overflow: hidden;
- padding-top: 2px;
- position: relative;
- top: 0;
- }
- </style>
-
- <script>
- hljs.initHighlightingOnLoad();
-
- d3.json('data/ufo-sightings.json', function(data) {
- MG.data_graphic({
- title: "UFO Sightings",
- description: "Yearly UFO sightings from the year 1945 to 2010.",
- data: data,
- markers: [{'year': 1964, 'label': '"The Creeping Terror" released'}],
- width: 650,
- height: 180,
- target: '#ufo-sightings',
- x_accessor: 'year',
- y_accessor: 'sightings'
- })
- })
- </script>
-</body>
-</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm b/priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm
deleted file mode 100644
index f87f060..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/interactive-demo.htm
+++ /dev/null
@@ -1,236 +0,0 @@
-<html lang='en'>
-<head>
- <meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
-
- <title>MetricsGraphics.js - a library based on D3.js, optimized for visualizing and laying out time-series data</title>
-
- <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,700' rel='stylesheet' type='text/css'>
- <link href='https://fonts.googleapis.com/css?family=PT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>
- <link href='https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css' rel='stylesheet' type='text/css'>
- <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
-
- <link href='metricsgraphics.css' rel='stylesheet' type='text/css'>
- <link href='css/metricsgraphics-demo.css' rel='stylesheet' type='text/css'>
-
- <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js'></script>
- <script src="https://d3js.org/d3.v4.min.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js" charset="utf-8"></script>
-
- <!-- dev start -->
- <script src='js/MG.js'></script>
- <script src='js/misc/utility.js'></script>
- <script src='js/common/data_graphic.js'></script>
- <script src='js/common/hooks.js'></script>
- <script src='js/common/register.js'></script>
- <script src='js/common/bootstrap_tooltip_popover.js'></script>
- <script src='js/common/chart_title.js'></script>
- <script src='js/common/scales.js'></script>
- <script src='js/common/y_axis.js'></script>
- <script src='js/common/x_axis.js'></script>
- <script src='js/common/init.js'></script>
- <script src='js/common/markers.js'></script>
- <script src='js/common/rollover.js'></script>
- <script src='js/common/zoom.js'></script>
- <script src='js/common/brush.js'></script>
- <script src='js/common/window_listeners.js'></script>
- <script src='js/layout/bootstrap_dropdown.js'></script>
- <script src='js/layout/button.js'></script>
- <script src='js/charts/line.js'></script>
- <script src='js/charts/histogram.js'></script>
- <script src='js/charts/point.js'></script>
- <script src='js/charts/bar.js'></script>
- <script src='js/charts/table.js'></script>
- <script src='js/charts/missing.js'></script>
- <script src='js/misc/process.js'></script>
- <script src='js/misc/smoothers.js'></script>
- <script src='js/misc/formatters.js'></script>
- <script src='js/misc/transitions.js'></script>
- <script src='js/misc/error.js'></script>
- <!-- dev end -->
-
- <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-51487512-1', 'metricsgraphicsjs.org');
- ga('send', 'pageview');
- </script>
-</head>
-
-<body>
- <div class='container'>
- <div class='head'>
- <ul>
- <li><a href='./'>Home</a></li>
- <li><a href='https://github.com/metricsgraphics/metrics-graphics/releases'>Download</a></li>
- <li><a href='https://github.com/metricsgraphics/metrics-graphics'>Code</a></li>
- <li><a href='https://github.com/metricsgraphics/metrics-graphics/issues'>Issues</a></li>
- <li><a href='examples.htm'>Examples</a></li>
- </ul>
-
- <img src='images/logo.svg' id='logo' class='svg' />
- </div>
-
- <div id='description'>
- <p><i>MetricsGraphics.js</i> is a library built on top of
- <a href='http://d3js.org/'>D3</a> that is optimized for visualizing and
- laying out time-series data. It provides a simple way to produce common
- types of graphics in a principled, consistent and responsive way. The
- library currently supports line charts, scatterplots and histograms as
- well as features like rug plots and basic linear regression.</p>
-
- <p>This demo allows you to play around with the library without having to
- download it. Try doubling the number of sightings in, say, 1995 and see
- how that affects the graphic. Or how about changing any of the options in
- <i>MG.data_graphic</i>? Or perhaps change the chart type to a scatterplot by
- setting <code>chart_type:'point'</code>, switching the <i>x</i> and <i>y</i>
- accessors and increasing the <i>height</i>? The data object is set to the
- contents of the <i>Data</i> text area. Errors are logged to the console.</p>
- </div>
- </div>
-
- <div class='container'>
- <div class='row main-windows-titles'>
- <div class='col-xs-2'>Data</div>
- <div class='js-title col-xs-5'>
- JavaScript <a href='https://github.com/metricsgraphics/metrics-graphics/wiki/List-of-Options#list-of-options' target='_blank'>See Full List of Options</a>
- <button type='button' class='update btn'>Run</button>
- </div>
- </div>
- <div class='row main-windows'>
- <div class='data col-xs-2'>
- <textarea></textarea>
- </div>
- <div class='js col-xs-5' id='editor'></div>
- <div class='result text-center col-xs-5'></div>
- </div>
- </div>
-
- <div class='container footer'>
- Created by <a href='https://twitter.com/alialmossawi'>Ali Almossawi</a>,
- <a href='https://github.com/hamilton'>Hamilton Ulmer</a> &mdash; Metrics at
- <a href='https://www.mozilla.org/en-US/'>Mozilla</a>
- <br />Shared under the <a href='http://www.mozilla.org/MPL/2.0/'>
- Mozilla Public License</a>.
- </div>
-
- <style>
- body {
- background-color: #fcfcfc;
- }
-
- .container {
- width: 90%;
- min-width: 960px;
- }
-
- .data textarea {
- font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
- font-size: 11px;
- height: 100%;
- width: 100%;
- }
-
- .footer {
- background-image: url(images/divider.png);
- background-repeat: no-repeat;
- background-position: center 115px;
- padding-top: 70px;
- margin-bottom: 20px;
- }
-
- .hightop {
- margin-top: 40px;
- }
-
- #logo {
- margin: 15px 0 10px 0;
- }
-
- .main-windows-titles {
- color: #3b3b3b;
- font-size: 16px;
- padding-bottom: 5px;
- text-align: center;
- }
-
- .main-windows-titles .js-title a {
- position: absolute;
- right: 0;
- font-size: 70%;
- margin: 7px 1px 0 0;
- }
-
- .main-windows .data,
- .main-windows .js,
- .main-windows .result {
- height: 400px;
- }
-
- p {
- padding-top: 6px;
- }
-
- textarea,
- #editor {
- border-radius: 3px;
- border: none;
- overflow: auto;
- outline: none;
- -webkit-box-shadow: none;
- -moz-box-shadow: none;
- box-shadow: none;
- padding: 10px;
- border: 1px solid #ccc;
- }
-
- .btn.update {
- background-color: steelblue;
- color: white;
- margin-top: 34px;
- outline: none;
- position: absolute;
- right: 7px;
- z-index: 99;
- }
-
- .btn.update:hover,
- .btn.update:active,
- .btn.update:visited {
- color: #efefef;
- outline: none;
- }
- </style>
- <script>
- var default_call = '//modify away!\n'
- + 'MG.data_graphic({\n'
- + ' title: "UFO Sightings",\n'
- + ' description: "Yearly UFO sightings from 1945 to 2010.",\n'
- + ' data: JSON.parse(document.querySelector(\'.data textarea\').value),\n'
- + ' markers: [{\'year\': 1964, \'label\': \'"The Creeping Terror" released\'}],\n'
- + ' width: 400,\n'
- + ' height: 250,\n'
- + ' target: ".result",\n'
- + ' x_accessor: "year",\n'
- + ' y_accessor: "sightings",\n'
- + '});';
-
- var editor = ace.edit("editor");
- editor.getSession().setMode("ace/mode/javascript");
- editor.setValue(default_call);
- editor.gotoLine(1);
- editor.setHighlightActiveLine(false);
-
- d3.json('data/ufo-sightings.json', function(data) {
- document.querySelector('.data textarea').value = JSON.stringify(data, null, 2);
- eval(editor.getValue());
- })
-
- d3.select('.update').on('click', function() {
- eval(editor.getValue());
- })
- </script>
-</body>
-</html>
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js
deleted file mode 100644
index 470e125..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/highlight.pack.js
+++ /dev/null
@@ -1 +0,0 @@
-var hljs=new function(){function e(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function n(e,t){var n=e&&e.exec(t);return n&&0==n.index}function r(e){var t=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return t=t.map(function(e){return e.replace(/^lang(uage)?-/,"")}),t.filter(function(e){return m(e)||/no(-?)highlight/.test(e)})[0]}function i(e,t){var n={};for(var r in e)n[r]=e[r];if(t)for(var r in t)n[r]=t[r];return n}function a(e){var n=[];return function r(e,i){for(var a=e.firstChild;a;a=a.nextSibling)3==a.nodeType?i+=a.nodeValue.length:1==a.nodeType&&(n.push({event:"start",offset:i,node:a}),i=r(a,i),t(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:i,node:a}));return i}(e,0),n}function s(n,r,i){function a(){return n.length&&r.length?n[0].offset!=r[0].offset?n[0].offset<r[0].offset?n:r:"start"==r[0].event?n:r:n.length?n:r}function s(n){function r(t){return" "+t.nodeName+'="'+e(t.value)+'"'}l+="<"+t(n)+Array.prototype.map.call(n.attributes,r).join("")+">"}function o(e){l+="</"+t(e)+">"}function c(e){("start"==e.event?s:o)(e.node)}for(var u=0,l="",f=[];n.length||r.length;){var h=a();if(l+=e(i.substr(u,h[0].offset-u)),u=h[0].offset,h==n){f.reverse().forEach(o);do c(h.splice(0,1)[0]),h=a();while(h==n&&h.length&&h[0].offset==u);f.reverse().forEach(s)}else"start"==h[0].event?f.push(h[0].node):f.pop(),c(h.splice(0,1)[0])}return l+e(i.substr(u))}function o(e){function t(e){return e&&e.source||e}function n(n,r){return RegExp(t(n),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,s){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},c=function(t,n){e.cI&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");o[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=o}a.lR=n(a.l||/\b[A-Za-z0-9_]+\b/,!0),s&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=n(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=n(a.e)),a.tE=t(a.e)||"",a.eW&&s.tE&&(a.tE+=(a.e?"|":"")+s.tE)),a.i&&(a.iR=n(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var u=[];a.c.forEach(function(e){e.v?e.v.forEach(function(t){u.push(i(e,t))}):u.push("self"==e?a:e)}),a.c=u,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,s);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(t).filter(Boolean);a.t=l.length?n(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function c(t,r,i,a){function s(e,t){for(var r=0;r<t.c.length;r++)if(n(t.c[r].bR,e))return t.c[r]}function l(e,t){return n(e.eR,t)?e:e.eW?l(e.parent,t):void 0}function f(e,t){return!i&&n(t.iR,e)}function h(e,t){var n=x.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(n)&&e.k[n]}function g(e,t,n,r){var i=r?"":N.classPrefix,a='<span class="'+i,s=n?"":"</span>";return a+=e+'">',a+t+s}function p(){if(!w.k)return e(B);var t="",n=0;w.lR.lastIndex=0;for(var r=w.lR.exec(B);r;){t+=e(B.substr(n,r.index-n));var i=h(w,r);i?(y+=i[1],t+=g(i[0],e(r[0]))):t+=e(r[0]),n=w.lR.lastIndex,r=w.lR.exec(B)}return t+e(B.substr(n))}function v(){if(w.sL&&!E[w.sL])return e(B);var t=w.sL?c(w.sL,B,!0,L[w.sL]):u(B);return w.r>0&&(y+=t.r),"continuous"==w.subLanguageMode&&(L[w.sL]=t.top),g(t.language,t.value,!1,!0)}function b(){return void 0!==w.sL?v():p()}function d(t,n){var r=t.cN?g(t.cN,"",!0):"";t.rB?(M+=r,B=""):t.eB?(M+=e(n)+r,B=""):(M+=r,B=n),w=Object.create(t,{parent:{value:w}})}function R(t,n){if(B+=t,void 0===n)return M+=b(),0;var r=s(n,w);if(r)return M+=b(),d(r,n),r.rB?0:n.length;var i=l(w,n);if(i){var a=w;a.rE||a.eE||(B+=n),M+=b();do w.cN&&(M+="</span>"),y+=w.r,w=w.parent;while(w!=i.parent);return a.eE&&(M+=e(n)),B="",i.starts&&d(i.starts,""),a.rE?0:n.length}if(f(n,w))throw new Error('Illegal lexeme "'+n+'" for mode "'+(w.cN||"<unnamed>")+'"');return B+=n,n.length||1}var x=m(t);if(!x)throw new Error('Unknown language: "'+t+'"');o(x);for(var w=a||x,L={},M="",k=w;k!=x;k=k.parent)k.cN&&(M=g(k.cN,"",!0)+M);var B="",y=0;try{for(var C,I,j=0;;){if(w.t.lastIndex=j,C=w.t.exec(r),!C)break;I=R(r.substr(j,C.index-j),C[0]),j=C.index+I}R(r.substr(j));for(var k=w;k.parent;k=k.parent)k.cN&&(M+="</span>");return{r:y,value:M,language:t,top:w}}catch(A){if(-1!=A.message.indexOf("Illegal"))return{r:0,value:e(r)};throw A}}function u(t,n){n=n||N.languages||Object.keys(E);var r={r:0,value:e(t)},i=r;return n.forEach(function(e){if(m(e)){var n=c(e,t,!1);n.language=e,n.r>i.r&&(i=n),n.r>r.r&&(i=r,r=n)}}),i.language&&(r.second_best=i),r}function l(e){return N.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return t.replace(/\t/g,N.tabReplace)})),N.useBR&&(e=e.replace(/\n/g,"<br>")),e}function f(e,t,n){var r=t?R[t]:n,i=[e.trim()];return e.match(/(\s|^)hljs(\s|$)/)||i.push("hljs"),r&&i.push(r),i.join(" ").trim()}function h(e){var t=r(e);if(!/no(-?)highlight/.test(t)){var n;N.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):n=e;var i=n.textContent,o=t?c(t,i,!0):u(i),h=a(n);if(h.length){var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");g.innerHTML=o.value,o.value=s(h,a(g),i)}o.value=l(o.value),e.innerHTML=o.value,e.className=f(e.className,t,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function g(e){N=i(N,e)}function p(){if(!p.called){p.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,h)}}function v(){addEventListener("DOMContentLoaded",p,!1),addEventListener("load",p,!1)}function b(e,t){var n=E[e]=t(this);n.aliases&&n.aliases.forEach(function(t){R[t]=e})}function d(){return Object.keys(E)}function m(e){return E[e]||E[R[e]]}var N={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},E={},R={};this.highlight=c,this.highlightAuto=u,this.fixMarkup=l,this.highlightBlock=h,this.configure=g,this.initHighlighting=p,this.initHighlightingOnLoad=v,this.registerLanguage=b,this.listLanguages=d,this.getLanguage=m,this.inherit=i,this.IR="[a-zA-Z][a-zA-Z0-9_]*",this.UIR="[a-zA-Z_][a-zA-Z0-9_]*",this.NR="\\b\\d+(\\.\\d+)?",this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",this.BNR="\\b(0b[01]+)",this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",this.BE={b:"\\\\[\\s\\S]",r:0},this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]},this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]},this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]},this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]},this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]},this.NM={cN:"number",b:this.NR,r:0},this.CNM={cN:"number",b:this.CNR,r:0},this.BNM={cN:"number",b:this.BNR,r:0},this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},this.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]},this.TM={cN:"title",b:this.IR,r:0},this.UTM={cN:"title",b:this.UIR,r:0}};hljs.registerLanguage("javascript",function(r){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},r.ASM,r.QSM,r.CLCM,r.CBCM,r.CNM,{b:"("+r.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[r.CLCM,r.CBCM,r.RM,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[r.inherit(r.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[r.CLCM,r.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+r.IR,r:0}]}});hljs.registerLanguage("http",function(){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("xml",function(){var t="[A-Za-z0-9\\._:-]+",e={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},c={eW:!0,i:/</,r:0,c:[e,{cN:"attribute",b:t,r:0},{b:"=",r:0,c:[{cN:"value",c:[e],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[c],starts:{e:"</style>",rE:!0,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[c],starts:{e:"</script>",rE:!0,sL:"javascript"}},e,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},c]}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",a={cN:"function",b:c+"\\(",rB:!0,eE:!0,e:"\\("};return{cI:!0,i:"[=/|']",c:[e.CBCM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[a,e.ASM,e.QSM,e.CSSNM]}]},{cN:"tag",b:c,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[e.CBCM,{cN:"rule",b:"[^\\s]",rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}}); \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js
deleted file mode 100755
index a80f564..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/mode-javascript.js
+++ /dev/null
@@ -1 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},{token:"comment.doc.tag",regex:"\\bTODO\\b"},{defaultToken:"comment.doc"}]}};r.inherits(s,i),s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",s="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[{token:"comment",regex:"\\/\\/",next:"line_comment"},i.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+\b/},{token:"constant.numeric",regex:/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+r+")(\\.)(prototype)(\\.)("+r+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+r+")(\\.)("+r+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+r+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+r+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["punctuation.operator","support.function"],regex:/(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:["punctuation.operator","support.function.dom"],regex:/(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:["punctuation.operator","support.constant"],regex:/(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:r},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],start:[i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment_regex_allowed"},{token:"comment",regex:"\\/\\/",next:"line_comment_regex_allowed"},{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:r},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],comment_regex_allowed:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],comment:[{token:"comment",regex:"\\*\\/",next:"no_regex"},{defaultToken:"comment"}],line_comment_regex_allowed:[{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment"}],line_comment:[{token:"comment",regex:"$|^",next:"no_regex"},{defaultToken:"comment"}],qqstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:s},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!e||!e.noES6)&&this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:s},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(o,s),t.JavaScriptHighlightRules=o}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.id,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return{text:"{"+l+"}",selection:!1};if(h.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(h.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(h.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var p=u.substring(s.column,s.column+1);if(p=="}"){var d=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(d!==null&&h.isAutoInsertedClosing(s,u,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var v="";h.isMaybeInsertedClosing(s,u)&&(v=o.stringRepeat("}",f.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var p=u.substring(s.column,s.column+1);if(p==="}"){var m=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!m)return null;var g=this.$getIndent(r.getLine(m.row))}else{if(!v){h.clearMaybeInsertedClosing();return}var g=this.$getIndent(u)}var y=g+r.getTabString();return{text:"\n"+y+"\n"+g+v,selection:[1,y.length,1,y.length]}}h.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"("+o+")",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return{text:"["+o+"]",selection:!1};if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&h.isAutoInsertedClosing(u,a,i))return h.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return{text:s+u+s,selection:!1};var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column);if(l=="\\")return null;var p=r.getTokens(o.start.row),d=0,v,m=-1;for(var g=0;g<p.length;g++){v=p[g],v.type=="string"?m=-1:m<0&&(m=v.value.indexOf(s));if(v.value.length+d>o.start.column)break;d+=p[g].value.length}if(!v||m<0&&v.type!=="comment"&&(v.type!=="string"||o.start.column!==v.value.length+d-1&&v.value.lastIndexOf(s)===v.value.length-1)){if(!h.isSaneInsertion(n,r))return;return{text:s+s,selection:[1,1]}}if(v&&v.type==="string"){var y=f.substring(a.column,a.column+1);if(y==s)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(h,i),t.CstyleBehaviour=h}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n),s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)}}.call(o.prototype)}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("../worker/worker_client").WorkerClient,f=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.foldingRules=new l};r.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new a(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("jslint",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}) \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js
deleted file mode 100755
index f4935e8..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/js/lib/worker-javascript.js
+++ /dev/null
@@ -1 +0,0 @@
-"no use strict";(function(e){if(typeof e.window!="undefined"&&e.document)return;e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console,e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(t,n){n||(n=t,t=null);if(!n.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");n=e.normalizeModule(t,n);var r=e.require.modules[n];if(r)return r.initialized||(r.initialized=!0,r.exports=r.factory().exports),r.exports;var i=n.split("/");if(!e.require.tlns)return console.log("unable to load "+n);i[0]=e.require.tlns[i[0]]||i[0];var s=i.join("/")+".js";return e.require.id=n,importScripts(s),e.require(t,n)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},e.initBaseUrls=function(t){require.tlns=t},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var t=e.main=null,n=e.sender=null;e.onmessage=function(r){var i=r.data;if(i.command){if(!t[i.command])throw new Error("Unknown command:"+i.command);t[i.command].apply(t,i.args)}else if(i.init){initBaseUrls(i.tlns),require("ace/lib/es5-shim"),n=e.sender=initSender();var s=require(i.module)[i.classname];t=e.main=new s(n)}else i.event&&n&&n._signal(i.event,i.data)}})(this),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?(s.row!==r||i!==0||!this.$insertRight)&&s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>61440){var n=this._insertLines(e,t.slice(0,61440));t=t.slice(61440),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object"||!e)return e;var n=e.constructor;if(n===RegExp)return e;var r=n();for(var i in e)typeof e[i]=="object"?r[i]=t.deepCopy(e[i]):r[i]=e[i];return r},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/worker/mirror",["require","exports","module","ace/document","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../document").Document,i=e("../lib/lang"),s=t.Mirror=function(e){this.sender=e;var t=this.doc=new r(""),n=this.deferredUpdate=i.delayedCall(this.onUpdate.bind(this)),s=this;e.on("change",function(e){t.applyDeltas(e.data);if(s.$timeout)return n.schedule(s.$timeout);s.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(s.prototype)}),define("ace/mode/javascript/jshint",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function s(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var l=n[u]={exports:{}};t[u][0].call(l.exports,function(e){var n=t[u][1][e];return s(n?n:e)},l,l.exports,r,t,n,i)}return n[u].exports}var o=typeof e=="function"&&e;for(var u=0;u<i.length;u++)s(i[u]);return s}({1:[function(e,t,n){var r=[];for(var i=0;i<128;i++)r[i]=i===36||i>=65&&i<=90||i===95||i>=97&&i<=122;var s=[];for(var i=0;i<128;i++)s[i]=r[i]||i>=48&&i<=57;t.exports={asciiIdentifierStartTable:r,asciiIdentifierPartTable:s}},{}],2:[function(e,t,n){(function(){var e=this,r=e._,i={},s=Array.prototype,o=Object.prototype,u=Function.prototype,a=s.push,f=s.slice,l=s.concat,c=o.toString,h=o.hasOwnProperty,p=s.forEach,d=s.map,v=s.reduce,m=s.reduceRight,g=s.filter,y=s.every,b=s.some,w=s.indexOf,E=s.lastIndexOf,S=Array.isArray,x=Object.keys,T=u.bind,N=function(e){if(e instanceof N)return e;if(!(this instanceof N))return new N(e);this._wrapped=e};typeof n!="undefined"?(typeof t!="undefined"&&t.exports&&(n=t.exports=N),n._=N):e._=N,N.VERSION="1.6.0";var C=N.each=N.forEach=function(e,t,n){if(e==null)return e;if(p&&e.forEach===p)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,s=e.length;r<s;r++)if(t.call(n,e[r],r,e)===i)return}else{var o=N.keys(e);for(var r=0,s=o.length;r<s;r++)if(t.call(n,e[o[r]],o[r],e)===i)return}return e};N.map=N.collect=function(e,t,n){var r=[];return e==null?r:d&&e.map===d?e.map(t,n):(C(e,function(e,i,s){r.push(t.call(n,e,i,s))}),r)};var k="Reduce of empty array with no initial value";N.reduce=N.foldl=N.inject=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(v&&e.reduce===v)return r&&(t=N.bind(t,r)),i?e.reduce(t,n):e.reduce(t);C(e,function(e,s,o){i?n=t.call(r,n,e,s,o):(n=e,i=!0)});if(!i)throw new TypeError(k);return n},N.reduceRight=N.foldr=function(e,t,n,r){var i=arguments.length>2;e==null&&(e=[]);if(m&&e.reduceRight===m)return r&&(t=N.bind(t,r)),i?e.reduceRight(t,n):e.reduceRight(t);var s=e.length;if(s!==+s){var o=N.keys(e);s=o.length}C(e,function(u,a,f){a=o?o[--s]:--s,i?n=t.call(r,n,e[a],a,f):(n=e[a],i=!0)});if(!i)throw new TypeError(k);return n},N.find=N.detect=function(e,t,n){var r;return L(e,function(e,i,s){if(t.call(n,e,i,s))return r=e,!0}),r},N.filter=N.select=function(e,t,n){var r=[];return e==null?r:g&&e.filter===g?e.filter(t,n):(C(e,function(e,i,s){t.call(n,e,i,s)&&r.push(e)}),r)},N.reject=function(e,t,n){return N.filter(e,function(e,r,i){return!t.call(n,e,r,i)},n)},N.every=N.all=function(e,t,n){t||(t=N.identity);var r=!0;return e==null?r:y&&e.every===y?e.every(t,n):(C(e,function(e,s,o){if(!(r=r&&t.call(n,e,s,o)))return i}),!!r)};var L=N.some=N.any=function(e,t,n){t||(t=N.identity);var r=!1;return e==null?r:b&&e.some===b?e.some(t,n):(C(e,function(e,s,o){if(r||(r=t.call(n,e,s,o)))return i}),!!r)};N.contains=N.include=function(e,t){return e==null?!1:w&&e.indexOf===w?e.indexOf(t)!=-1:L(e,function(e){return e===t})},N.invoke=function(e,t){var n=f.call(arguments,2),r=N.isFunction(t);return N.map(e,function(e){return(r?t:e[t]).apply(e,n)})},N.pluck=function(e,t){return N.map(e,N.property(t))},N.where=function(e,t){return N.filter(e,N.matches(t))},N.findWhere=function(e,t){return N.find(e,N.matches(t))},N.max=function(e,t,n){if(!t&&N.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.max.apply(Math,e);var r=-Infinity,i=-Infinity;return C(e,function(e,s,o){var u=t?t.call(n,e,s,o):e;u>i&&(r=e,i=u)}),r},N.min=function(e,t,n){if(!t&&N.isArray(e)&&e[0]===+e[0]&&e.length<65535)return Math.min.apply(Math,e);var r=Infinity,i=Infinity;return C(e,function(e,s,o){var u=t?t.call(n,e,s,o):e;u<i&&(r=e,i=u)}),r},N.shuffle=function(e){var t,n=0,r=[];return C(e,function(e){t=N.random(n++),r[n-1]=r[t],r[t]=e}),r},N.sample=function(e,t,n){return t==null||n?(e.length!==+e.length&&(e=N.values(e)),e[N.random(e.length-1)]):N.shuffle(e).slice(0,Math.max(0,t))};var A=function(e){return e==null?N.identity:N.isFunction(e)?e:N.property(e)};N.sortBy=function(e,t,n){return t=A(t),N.pluck(N.map(e,function(e,r,i){return{value:e,index:r,criteria:t.call(n,e,r,i)}}).sort(function(e,t){var n=e.criteria,r=t.criteria;if(n!==r){if(n>r||n===void 0)return 1;if(n<r||r===void 0)return-1}return e.index-t.index}),"value")};var O=function(e){return function(t,n,r){var i={};return n=A(n),C(t,function(s,o){var u=n.call(r,s,o,t);e(i,u,s)}),i}};N.groupBy=O(function(e,t,n){N.has(e,t)?e[t].push(n):e[t]=[n]}),N.indexBy=O(function(e,t,n){e[t]=n}),N.countBy=O(function(e,t){N.has(e,t)?e[t]++:e[t]=1}),N.sortedIndex=function(e,t,n,r){n=A(n);var i=n.call(r,t),s=0,o=e.length;while(s<o){var u=s+o>>>1;n.call(r,e[u])<i?s=u+1:o=u}return s},N.toArray=function(e){return e?N.isArray(e)?f.call(e):e.length===+e.length?N.map(e,N.identity):N.values(e):[]},N.size=function(e){return e==null?0:e.length===+e.length?e.length:N.keys(e).length},N.first=N.head=N.take=function(e,t,n){return e==null?void 0:t==null||n?e[0]:t<0?[]:f.call(e,0,t)},N.initial=function(e,t,n){return f.call(e,0,e.length-(t==null||n?1:t))},N.last=function(e,t,n){return e==null?void 0:t==null||n?e[e.length-1]:f.call(e,Math.max(e.length-t,0))},N.rest=N.tail=N.drop=function(e,t,n){return f.call(e,t==null||n?1:t)},N.compact=function(e){return N.filter(e,N.identity)};var M=function(e,t,n){return t&&N.every(e,N.isArray)?l.apply(n,e):(C(e,function(e){N.isArray(e)||N.isArguments(e)?t?a.apply(n,e):M(e,t,n):n.push(e)}),n)};N.flatten=function(e,t){return M(e,t,[])},N.without=function(e){return N.difference(e,f.call(arguments,1))},N.partition=function(e,t){var n=[],r=[];return C(e,function(e){(t(e)?n:r).push(e)}),[n,r]},N.uniq=N.unique=function(e,t,n,r){N.isFunction(t)&&(r=n,n=t,t=!1);var i=n?N.map(e,n,r):e,s=[],o=[];return C(i,function(n,r){if(t?!r||o[o.length-1]!==n:!N.contains(o,n))o.push(n),s.push(e[r])}),s},N.union=function(){return N.uniq(N.flatten(arguments,!0))},N.intersection=function(e){var t=f.call(arguments,1);return N.filter(N.uniq(e),function(e){return N.every(t,function(t){return N.contains(t,e)})})},N.difference=function(e){var t=l.apply(s,f.call(arguments,1));return N.filter(e,function(e){return!N.contains(t,e)})},N.zip=function(){var e=N.max(N.pluck(arguments,"length").concat(0)),t=new Array(e);for(var n=0;n<e;n++)t[n]=N.pluck(arguments,""+n);return t},N.object=function(e,t){if(e==null)return{};var n={};for(var r=0,i=e.length;r<i;r++)t?n[e[r]]=t[r]:n[e[r][0]]=e[r][1];return n},N.indexOf=function(e,t,n){if(e==null)return-1;var r=0,i=e.length;if(n){if(typeof n!="number")return r=N.sortedIndex(e,t),e[r]===t?r:-1;r=n<0?Math.max(0,i+n):n}if(w&&e.indexOf===w)return e.indexOf(t,n);for(;r<i;r++)if(e[r]===t)return r;return-1},N.lastIndexOf=function(e,t,n){if(e==null)return-1;var r=n!=null;if(E&&e.lastIndexOf===E)return r?e.lastIndexOf(t,n):e.lastIndexOf(t);var i=r?n:e.length;while(i--)if(e[i]===t)return i;return-1},N.range=function(e,t,n){arguments.length<=1&&(t=e||0,e=0),n=arguments[2]||1;var r=Math.max(Math.ceil((t-e)/n),0),i=0,s=new Array(r);while(i<r)s[i++]=e,e+=n;return s};var _=function(){};N.bind=function(e,t){var n,r;if(T&&e.bind===T)return T.apply(e,f.call(arguments,1));if(!N.isFunction(e))throw new TypeError;return n=f.call(arguments,2),r=function(){if(this instanceof r){_.prototype=e.prototype;var i=new _;_.prototype=null;var s=e.apply(i,n.concat(f.call(arguments)));return Object(s)===s?s:i}return e.apply(t,n.concat(f.call(arguments)))}},N.partial=function(e){var t=f.call(arguments,1);return function(){var n=0,r=t.slice();for(var i=0,s=r.length;i<s;i++)r[i]===N&&(r[i]=arguments[n++]);while(n<arguments.length)r.push(arguments[n++]);return e.apply(this,r)}},N.bindAll=function(e){var t=f.call(arguments,1);if(t.length===0)throw new Error("bindAll must be passed function names");return C(t,function(t){e[t]=N.bind(e[t],e)}),e},N.memoize=function(e,t){var n={};return t||(t=N.identity),function(){var r=t.apply(this,arguments);return N.has(n,r)?n[r]:n[r]=e.apply(this,arguments)}},N.delay=function(e,t){var n=f.call(arguments,2);return setTimeout(function(){return e.apply(null,n)},t)},N.defer=function(e){return N.delay.apply(N,[e,1].concat(f.call(arguments,1)))},N.throttle=function(e,t,n){var r,i,s,o=null,u=0;n||(n={});var a=function(){u=n.leading===!1?0:N.now(),o=null,s=e.apply(r,i),r=i=null};return function(){var f=N.now();!u&&n.leading===!1&&(u=f);var l=t-(f-u);return r=this,i=arguments,l<=0?(clearTimeout(o),o=null,u=f,s=e.apply(r,i),r=i=null):!o&&n.trailing!==!1&&(o=setTimeout(a,l)),s}},N.debounce=function(e,t,n){var r,i,s,o,u,a=function(){var f=N.now()-o;f<t?r=setTimeout(a,t-f):(r=null,n||(u=e.apply(s,i),s=i=null))};return function(){s=this,i=arguments,o=N.now();var f=n&&!r;return r||(r=setTimeout(a,t)),f&&(u=e.apply(s,i),s=i=null),u}},N.once=function(e){var t=!1,n;return function(){return t?n:(t=!0,n=e.apply(this,arguments),e=null,n)}},N.wrap=function(e,t){return N.partial(t,e)},N.compose=function(){var e=arguments;return function(){var t=arguments;for(var n=e.length-1;n>=0;n--)t=[e[n].apply(this,t)];return t[0]}},N.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},N.keys=function(e){if(!N.isObject(e))return[];if(x)return x(e);var t=[];for(var n in e)N.has(e,n)&&t.push(n);return t},N.values=function(e){var t=N.keys(e),n=t.length,r=new Array(n);for(var i=0;i<n;i++)r[i]=e[t[i]];return r},N.pairs=function(e){var t=N.keys(e),n=t.length,r=new Array(n);for(var i=0;i<n;i++)r[i]=[t[i],e[t[i]]];return r},N.invert=function(e){var t={},n=N.keys(e);for(var r=0,i=n.length;r<i;r++)t[e[n[r]]]=n[r];return t},N.functions=N.methods=function(e){var t=[];for(var n in e)N.isFunction(e[n])&&t.push(n);return t.sort()},N.extend=function(e){return C(f.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e},N.pick=function(e){var t={},n=l.apply(s,f.call(arguments,1));return C(n,function(n){n in e&&(t[n]=e[n])}),t},N.omit=function(e){var t={},n=l.apply(s,f.call(arguments,1));for(var r in e)N.contains(n,r)||(t[r]=e[r]);return t},N.defaults=function(e){return C(f.call(arguments,1),function(t){if(t)for(var n in t)e[n]===void 0&&(e[n]=t[n])}),e},N.clone=function(e){return N.isObject(e)?N.isArray(e)?e.slice():N.extend({},e):e},N.tap=function(e,t){return t(e),e};var D=function(e,t,n,r){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return e===t;e instanceof N&&(e=e._wrapped),t instanceof N&&(t=t._wrapped);var i=c.call(e);if(i!=c.call(t))return!1;switch(i){case"[object String]":return e==String(t);case"[object Number]":return e!=+e?t!=+t:e==0?1/e==1/t:e==+t;case"[object Date]":case"[object Boolean]":return+e==+t;case"[object RegExp]":return e.source==t.source&&e.global==t.global&&e.multiline==t.multiline&&e.ignoreCase==t.ignoreCase}if(typeof e!="object"||typeof t!="object")return!1;var s=n.length;while(s--)if(n[s]==e)return r[s]==t;var o=e.constructor,u=t.constructor;if(o!==u&&!(N.isFunction(o)&&o instanceof o&&N.isFunction(u)&&u instanceof u)&&"constructor"in e&&"constructor"in t)return!1;n.push(e),r.push(t);var a=0,f=!0;if(i=="[object Array]"){a=e.length,f=a==t.length;if(f)while(a--)if(!(f=D(e[a],t[a],n,r)))break}else{for(var l in e)if(N.has(e,l)){a++;if(!(f=N.has(t,l)&&D(e[l],t[l],n,r)))break}if(f){for(l in t)if(N.has(t,l)&&!(a--))break;f=!a}}return n.pop(),r.pop(),f};N.isEqual=function(e,t){return D(e,t,[],[])},N.isEmpty=function(e){if(e==null)return!0;if(N.isArray(e)||N.isString(e))return e.length===0;for(var t in e)if(N.has(e,t))return!1;return!0},N.isElement=function(e){return!!e&&e.nodeType===1},N.isArray=S||function(e){return c.call(e)=="[object Array]"},N.isObject=function(e){return e===Object(e)},C(["Arguments","Function","String","Number","Date","RegExp"],function(e){N["is"+e]=function(t){return c.call(t)=="[object "+e+"]"}}),N.isArguments(arguments)||(N.isArguments=function(e){return!!e&&!!N.has(e,"callee")}),typeof /./!="function"&&(N.isFunction=function(e){return typeof e=="function"}),N.isFinite=function(e){return isFinite(e)&&!isNaN(parseFloat(e))},N.isNaN=function(e){return N.isNumber(e)&&e!=+e},N.isBoolean=function(e){return e===!0||e===!1||c.call(e)=="[object Boolean]"},N.isNull=function(e){return e===null},N.isUndefined=function(e){return e===void 0},N.has=function(e,t){return h.call(e,t)},N.noConflict=function(){return e._=r,this},N.identity=function(e){return e},N.constant=function(e){return function(){return e}},N.property=function(e){return function(t){return t[e]}},N.matches=function(e){return function(t){if(t===e)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0}},N.times=function(e,t,n){var r=Array(Math.max(0,e));for(var i=0;i<e;i++)r[i]=t.call(n,i);return r},N.random=function(e,t){return t==null&&(t=e,e=0),e+Math.floor(Math.random()*(t-e+1))},N.now=Date.now||function(){return(new Date).getTime()};var P={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};P.unescape=N.invert(P.escape);var H={escape:new RegExp("["+N.keys(P.escape).join("")+"]","g"),unescape:new RegExp("("+N.keys(P.unescape).join("|")+")","g")};N.each(["escape","unescape"],function(e){N[e]=function(t){return t==null?"":(""+t).replace(H[e],function(t){return P[e][t]})}}),N.result=function(e,t){if(e==null)return void 0;var n=e[t];return N.isFunction(n)?n.call(e):n},N.mixin=function(e){C(N.functions(e),function(t){var n=N[t]=e[t];N.prototype[t]=function(){var e=[this._wrapped];return a.apply(e,arguments),q.call(this,n.apply(N,e))}})};var B=0;N.uniqueId=function(e){var t=++B+"";return e?e+t:t},N.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var j=/(.)^/,F={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"},I=/\\|'|\r|\n|\t|\u2028|\u2029/g;N.template=function(e,t,n){var r;n=N.defaults({},n,N.templateSettings);var i=new RegExp([(n.escape||j).source,(n.interpolate||j).source,(n.evaluate||j).source].join("|")+"|$","g"),s=0,o="__p+='";e.replace(i,function(t,n,r,i,u){return o+=e.slice(s,u).replace(I,function(e){return"\\"+F[e]}),n&&(o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),r&&(o+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),i&&(o+="';\n"+i+"\n__p+='"),s=u+t.length,t}),o+="';\n",n.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{r=new Function(n.variable||"obj","_",o)}catch(u){throw u.source=o,u}if(t)return r(t,N);var a=function(e){return r.call(this,e,N)};return a.source="function("+(n.variable||"obj")+"){\n"+o+"}",a},N.chain=function(e){return N(e).chain()};var q=function(e){return this._chain?N(e).chain():e};N.mixin(N),C(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=s[e];N.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),(e=="shift"||e=="splice")&&n.length===0&&delete n[0],q.call(this,n)}}),C(["concat","join","slice"],function(e){var t=s[e];N.prototype[e]=function(){return q.call(this,t.apply(this._wrapped,arguments))}}),N.extend(N.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),typeof define=="function"&&define.amd&&define("underscore",[],function(){return N})}).call(this)},{}],3:[function(e,t,n){var r=e("underscore"),i=e("events"),s=e("./vars.js"),o=e("./messages.js"),u=e("./lex.js").Lexer,a=e("./reg.js"),f=e("./state.js").state,l=e("./style.js"),c=function(){"use strict";function I(e,t){return e=e.trim(),/^[+-]W\d{3}$/g.test(e)?!0:p[e]===undefined&&h[e]===undefined&&t.type!=="jslint"&&!m[e]?(G("E001",t,e),!1):!0}function q(e){return Object.prototype.toString.call(e)==="[object String]"}function R(e,t){return e?!e.identifier||e.value!==t?!1:!0:!1}function U(e){if(!e.reserved)return!1;var t=e.meta;if(t&&t.isFutureReservedWord&&f.option.inES5()){if(!t.es5)return!1;if(t.strictOnly&&!f.option.strict&&!f.directive["use strict"])return!1;if(e.isProperty)return!1}return!0}function z(e,t){return e.replace(/\{([^{}]*)\}/g,function(e,n){var r=t[n];return typeof r=="string"||typeof r=="number"?r:e})}function W(e,t){Object.keys(t).forEach(function(n){if(r.has(c.blacklist,n))return;e[n]=t[n]})}function X(){f.option.esnext&&W(M,s.newEcmaIdentifiers),f.option.couch&&W(M,s.couch),f.option.qunit&&W(M,s.qunit),f.option.rhino&&W(M,s.rhino),f.option.shelljs&&(W(M,s.shelljs),W(M,s.node)),f.option.typed&&W(M,s.typed),f.option.phantom&&W(M,s.phantom),f.option.prototypejs&&W(M,s.prototypejs),f.option.node&&(W(M,s.node),W(M,s.typed)),f.option.devel&&W(M,s.devel),f.option.dojo&&W(M,s.dojo),f.option.browser&&(W(M,s.browser),W(M,s.typed)),f.option.nonstandard&&W(M,s.nonstandard),f.option.jasmine&&W(M,s.jasmine),f.option.jquery&&W(M,s.jquery),f.option.mootools&&W(M,s.mootools),f.option.worker&&W(M,s.worker),f.option.wsh&&W(M,s.wsh),f.option.globalstrict&&f.option.strict!==!1&&(f.option.strict=!0),f.option.yui&&W(M,s.yui),f.option.mocha&&W(M,s.mocha),f.option.inMoz=function(e){return f.option.moz},f.option.inESNext=function(e){return f.option.moz||f.option.esnext},f.option.inES5=function(){return!f.option.es3},f.option.inES3=function(e){return e?!f.option.moz&&!f.option.esnext&&f.option.es3:f.option.es3}}function V(e,t,n){var r=Math.floor(t/f.lines.length*100),i=o.errors[e].desc;throw{name:"JSHintError",line:t,character:n,message:i+" ("+r+"% scanned).",raw:i,code:e}}function $(e,t,n,r){return c.undefs.push([e,t,n,r])}function J(){var e=f.ignoredLines;if(r.isEmpty(e))return;c.errors=r.reject(c.errors,function(t){return e[t.line]})}function K(e,t,n,r,i,s){var u,a,l,h;if(/^W\d{3}$/.test(e)){if(f.ignored[e])return;h=o.warnings[e]}else/E\d{3}/.test(e)?h=o.errors[e]:/I\d{3}/.test(e)&&(h=o.info[e]);return t=t||f.tokens.next,t.id==="(end)"&&(t=f.tokens.curr),a=t.line||0,u=t.from||0,l={id:"(error)",raw:h.desc,code:h.code,evidence:f.lines[a-1]||"",line:a,character:u,scope:c.scope,a:n,b:r,c:i,d:s},l.reason=z(h.desc,l),c.errors.push(l),J(),c.errors.length>=f.option.maxerr&&V("E043",a,u),l}function Q(e,t,n,r,i,s,o){return K(e,{line:t,from:n},r,i,s,o)}function G(e,t,n,r,i,s){K(e,t,n,r,i,s)}function Y(e,t,n,r,i,s,o){return G(e,{line:t,from:n},r,i,s,o)}function Z(e,t){var n;return n={id:"(internal)",elem:e,value:t},c.internals.push(n),n}function et(e,t){t=t||{};var n=t.type,i=t.token,s=t.islet;n==="exception"&&r.has(w["(context)"],e)&&w[e]!==!0&&!f.option.node&&K("W002",f.tokens.next,e),r.has(w,e)&&!w["(global)"]&&(w[e]===!0?f.option.latedef&&(f.option.latedef===!0&&r.contains([w[e],n],"unction")||!r.contains([w[e],n],"unction"))&&K("W003",f.tokens.next,e):((!f.option.shadow||r.contains(["inner","outer"],f.option.shadow))&&n!=="exception"||w["(blockscope)"].getlabel(e))&&K("W004",f.tokens.next,e)),w["(context)"]&&r.has(w["(context)"],e)&&n!=="function"&&f.option.shadow==="outer"&&K("W123",f.tokens.next,e),s?w["(blockscope)"].current.add(e,n,f.tokens.curr):(w["(blockscope)"].shadow(e),w[e]=n,i&&(w["(tokens)"][e]=i),Xt(w,e,{unused:t.unused||!1}),w["(global)"]?(S[e]=w,r.has(x,e)&&(f.option.latedef&&(f.option.latedef===!0&&r.contains([w[e],n],"unction")||!r.contains([w[e],n],"unction"))&&K("W003",f.tokens.next,e),delete x[e])):D[e]=w)}function tt(){var e=f.tokens.next,t=e.body.match(/(-\s+)?[^\s,:]+(?:\s*:\s*(-\s+)?[^\s,]+)?/g)||[],n={};if(e.type==="globals"){t.forEach(function(e){e=e.split(":");var t=(e[0]||"").trim(),r=(e[1]||"").trim();t.charAt(0)==="-"?(t=t.slice(1),r=!1,c.blacklist[t]=t,delete M[t]):n[t]=r==="true"}),W(M,n);for(var i in n)r.has(n,i)&&(g[i]=e)}e.type==="exported"&&t.forEach(function(e){y[e]=!0}),e.type==="members"&&(A=A||{},t.forEach(function(e){var t=e.charAt(0),n=e.charAt(e.length-1);t===n&&(t==='"'||t==="'")&&(e=e.substr(1,e.length-2).replace('\\"','"')),A[e]=!1}));var s=["maxstatements","maxparams","maxdepth","maxcomplexity","maxerr","maxlen","indent"];if(e.type==="jshint"||e.type==="jslint")t.forEach(function(t){t=t.split(":");var n=(t[0]||"").trim(),r=(t[1]||"").trim();if(!I(n,e))return;if(s.indexOf(n)>=0){if(r!=="false"){r=+r;if(typeof r!="number"||!isFinite(r)||r<=0||Math.floor(r)!==r){G("E032",e,t[1].trim());return}f.option[n]=r}else f.option[n]=n==="indent"?4:!1;return}if(n==="validthis"){if(w["(global)"])return void G("E009");if(r!=="true"&&r!=="false")return void G("E002",e);f.option.validthis=r==="true";return}if(n==="quotmark"){switch(r){case"true":case"false":f.option.quotmark=r==="true";break;case"double":case"single":f.option.quotmark=r;break;default:G("E002",e)}return}if(n==="shadow"){switch(r){case"true":f.option.shadow=!0;break;case"outer":f.option.shadow="outer";break;case"false":case"inner":f.option.shadow="inner";break;default:G("E002",e)}return}if(n==="unused"){switch(r){case"true":f.option.unused=!0;break;case"false":f.option.unused=!1;break;case"vars":case"strict":f.option.unused=r;break;default:G("E002",e)}return}if(n==="latedef"){switch(r){case"true":f.option.latedef=!0;break;case"false":f.option.latedef=!1;break;case"nofunc":f.option.latedef="nofunc";break;default:G("E002",e)}return}if(n==="ignore"){switch(r){case"start":f.ignoreLinterErrors=!0;break;case"end":f.ignoreLinterErrors=!1;break;case"line":f.ignoredLines[e.line]=!0,J();break;default:G("E002",e)}return}var i=/^([+-])(W\d{3})$/g.exec(n);if(i){f.ignored[i[2]]=i[1]==="-";return}var o;if(r==="true"||r==="false"){e.type==="jslint"?(o=v[n]||n,f.option[o]=r==="true",d[o]!==undefined&&(f.option[o]=!f.option[o])):f.option[n]=r==="true",n==="newcap"&&(f.option["(explicitNewcap)"]=!0);return}G("E002",e)}),X()}function nt(e){var t=e||0,n=0,r;while(n<=t)r=C[n],r||(r=C[n]=k.token()),n+=1;return r}function rt(t,n){switch(f.tokens.curr.id){case"(number)":f.tokens.next.id==="."&&K("W005",f.tokens.curr);break;case"-":(f.tokens.next.id==="-"||f.tokens.next.id==="--")&&K("W006");break;case"+":(f.tokens.next.id==="+"||f.tokens.next.id==="++")&&K("W007")}if(f.tokens.curr.type==="(string)"||f.tokens.curr.identifier)e=f.tokens.curr.value;t&&f.tokens.next.id!==t&&(n?f.tokens.next.id==="(end)"?G("E019",n,n.id):G("E020",f.tokens.next,t,n.id,n.line,f.tokens.next.value):(f.tokens.next.type!=="(identifier)"||f.tokens.next.value!==t)&&K("W116",f.tokens.next,t,f.tokens.next.value)),f.tokens.prev=f.tokens.curr,f.tokens.curr=f.tokens.next;for(;;){f.tokens.next=C.shift()||k.token(),f.tokens.next||V("E041",f.tokens.curr.line);if(f.tokens.next.id==="(end)"||f.tokens.next.id==="(error)")return;f.tokens.next.check&&f.tokens.next.check();if(f.tokens.next.isSpecial)tt();else if(f.tokens.next.id!=="(endline)")break}}function it(e){return e.infix||!e.identifier&&!!e.led}function st(){var e=f.tokens.curr,t=f.tokens.next;return t.id===";"||t.id==="}"||t.id===":"?!0:it(t)===it(e)||e.id==="yield"&&f.option.inMoz(!0)?e.line!==t.line:!1}function ot(t,n){var i,s=!1,o=!1,u=!1;!n&&f.tokens.next.value==="let"&&nt(0).value==="("&&(f.option.inMoz(!0)||K("W118",f.tokens.next,"let expressions"),u=!0,w["(blockscope)"].stack(),rt("let"),rt("("),f.syntax.let.fud.call(f.syntax.let.fud,!1),rt(")")),f.tokens.next.id==="(end)"&&G("E006",f.tokens.curr);var a=f.option.asi&&f.tokens.prev.line<f.tokens.curr.line&&r.contains(["]",")"],f.tokens.prev.id)&&r.contains(["[","("],f.tokens.curr.id);a&&K("W014",f.tokens.curr,f.tokens.curr.id),rt(),n&&(e="anonymous",w["(verb)"]=f.tokens.curr.value);if(n===!0&&f.tokens.curr.fud)i=f.tokens.curr.fud();else{f.tokens.curr.nud?i=f.tokens.curr.nud():G("E030",f.tokens.curr,f.tokens.curr.id);while(t<f.tokens.next.lbp&&!st())s=f.tokens.curr.value==="Array",o=f.tokens.curr.value==="Object",i&&(i.value||i.first&&i.first.value)&&(i.value!=="new"||i.first&&i.first.value&&i.first.value===".")&&(s=!1,i.value!==f.tokens.curr.value&&(o=!1)),rt(),s&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&K("W009",f.tokens.curr),o&&f.tokens.curr.id==="("&&f.tokens.next.id===")"&&K("W010",f.tokens.curr),i&&f.tokens.curr.led?i=f.tokens.curr.led(i):G("E033",f.tokens.curr,f.tokens.curr.id)}return u&&w["(blockscope)"].unstack(),i}function ut(e,t){e=e||f.tokens.curr,t=t||f.tokens.next,!f.option.laxbreak&&e.line!==t.line&&K("W014",t,t.value)}function at(e){e=e||f.tokens.curr,e.line!==f.tokens.next.line&&K("E022",e,e.value)}function ft(e,t){e.line!==t.line&&(f.option.laxcomma||(lt.first&&(K("I001"),lt.first=!1),K("W014",e,t.value)))}function lt(e){e=e||{},e.peek?ft(f.tokens.prev,f.tokens.curr):(ft(f.tokens.curr,f.tokens.next),rt(","));if(f.tokens.next.identifier&&(!e.property||!f.option.inES5()))switch(f.tokens.next.value){case"break":case"case":case"catch":case"continue":case"default":case"do":case"else":case"finally":case"for":case"if":case"in":case"instanceof":case"return":case"switch":case"throw":case"try":case"var":case"let":case"while":case"with":return G("E024",f.tokens.next,f.tokens.next.value),!1}if(f.tokens.next.type==="(punctuator)")switch(f.tokens.next.value){case"}":case"]":case",":if(e.allowTrailing)return!0;case")":return G("E024",f.tokens.next,f.tokens.next.value),!1}return!0}function ct(e,t){var n=f.syntax[e];if(!n||typeof n!="object")f.syntax[e]=n={id:e,lbp:t,value:e};return n}function ht(e){return ct(e,0)}function pt(e,t){var n=ht(e);return n.identifier=n.reserved=!0,n.fud=t,n}function dt(e,t){var n=pt(e,t);return n.block=!0,n}function vt(e){var t=e.id.charAt(0);if(t>="a"&&t<="z"||t>="A"&&t<="Z")e.identifier=e.reserved=!0;return e}function mt(e,t){var n=ct(e,150);return vt(n),n.nud=typeof t=="function"?t:function(){this.right=ot(150),this.arity="unary";if(this.id==="++"||this.id==="--")f.option.plusplus?K("W016",this,this.id):this.right&&(!this.right.identifier||U(this.right))&&this.right.id!=="."&&this.right.id!=="["&&K("W017",this);return this},n}function gt(e,t){var n=ht(e);return n.type=e,n.nud=t,n}function yt(e,t){var n=gt(e,t);return n.identifier=!0,n.reserved=!0,n}function bt(e,t){var n=gt(e,t&&t.nud||function(){return this});return t=t||{},t.isFutureReservedWord=!0,n.value=e,n.identifier=!0,n.reserved=!0,n.meta=t,n}function wt(e,t){return yt(e,function(){return typeof t=="function"&&t(this),this})}function Et(e,t,n,r){var i=ct(e,n);return vt(i),i.infix=!0,i.led=function(i){return r||ut(f.tokens.prev,f.tokens.curr),e==="in"&&i.id==="!"&&K("W018",i,"!"),typeof t=="function"?t(i,this):(this.left=i,this.right=ot(n),this)},i}function St(e){var t=ct(e,42);return t.led=function(e){return f.option.inESNext()||K("W104",f.tokens.curr,"arrow function syntax (=>)"),ut(f.tokens.prev,f.tokens.curr),this.left=e,this.right=Jt(undefined,undefined,!1,e),this},t}function xt(e,t){var n=ct(e,100);return n.led=function(e){ut(f.tokens.prev,f.tokens.curr);var n=ot(100);return R(e,"NaN")||R(n,"NaN")?K("W019",this):t&&t.apply(this,[e,n]),(!e||!n)&&V("E041",f.tokens.curr.line),e.id==="!"&&K("W018",e,"!"),n.id==="!"&&K("W018",n,"!"),this.left=e,this.right=n,this},n}function Tt(e){return e&&(e.type==="(number)"&&+e.value===0||e.type==="(string)"&&e.value===""||e.type==="null"&&!f.option.eqnull||e.type==="true"||e.type==="false"||e.type==="undefined")}function Nt(e,t){if(f.option.notypeof)return!1;if(!e||!t)return!1;var n=["undefined","object","boolean","number","string","function","xml","object","unknown"];return t.type==="(identifier)"&&t.value==="typeof"&&e.type==="(string)"?!r.contains(n,e.value):!1}function Ct(e){function n(e){if(typeof e!="object")return;return e.right==="prototype"?e:n(e.left)}function r(e){while(!e.identifier&&typeof e.left=="object")e=e.left;if(e.identifier&&t.indexOf(e.value)>=0)return e.value}var t=["Array","ArrayBuffer","Boolean","Collator","DataView","Date","DateTimeFormat","Error","EvalError","Float32Array","Float64Array","Function","Infinity","Intl","Int16Array","Int32Array","Int8Array","Iterator","Number","NumberFormat","Object","RangeError","ReferenceError","RegExp","StopIteration","String","SyntaxError","TypeError","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","URIError"],i=n(e);if(i)return r(i)}function kt(e,t,n){var r=Et(e,typeof t=="function"?t:function(e,t){t.left=e;if(e){if(f.option.freeze){var n=Ct(e);n&&K("W121",e,n)}M[e.value]===!1&&D[e.value]["(global)"]===!0?K("W020",e):e["function"]&&K("W021",e,e.value),w[e.value]==="const"&&G("E013",e,e.value);if(e.id===".")return e.left?e.left.value==="arguments"&&!f.directive["use strict"]&&K("E031",t):K("E031",t),t.right=ot(10),t;if(e.id==="[")return f.tokens.curr.left.first?f.tokens.curr.left.first.forEach(function(e){e&&w[e.value]==="const"&&G("E013",e,e.value)}):e.left?e.left.value==="arguments"&&!f.directive["use strict"]&&K("E031",t):K("E031",t),t.right=ot(10),t;if(e.identifier&&!U(e))return w[e.value]==="exception"&&K("W022",e),t.right=ot(10),t;e===f.syntax["function"]&&K("W023",f.tokens.curr)}G("E031",t)},n);return r.exps=!0,r.assign=!0,r}function Lt(e,t,n){var r=ct(e,n);return vt(r),r.led=typeof t=="function"?t:function(e){return f.option.bitwise&&K("W016",this,this.id),this.left=e,this.right=ot(n),this},r}function At(e){return kt(e,function(e,t){f.option.bitwise&&K("W016",t,t.id);if(e)return e.id==="."||e.id==="["||e.identifier&&!U(e)?(ot(10),t):(e===f.syntax["function"]&&K("W023",f.tokens.curr),t);G("E031",t)},20)}function Ot(e){var t=ct(e,150);return t.led=function(e){return f.option.plusplus?K("W016",this,this.id):(!e.identifier||U(e))&&e.id!=="."&&e.id!=="["&&K("W017",this),this.left=e,this},t}function Mt(e,t){if(!f.tokens.next.identifier)return;rt();var n=f.tokens.curr,r=f.tokens.curr.value;return U(n)?t&&f.option.inES5()?r:e&&r==="undefined"?r:(K("W024",f.tokens.curr,f.tokens.curr.id),r):r}function _t(e,t){var n=Mt(e,t);if(n)return n;f.tokens.curr.id==="function"&&f.tokens.next.id==="("?K("W025"):G("E030",f.tokens.next,f.tokens.next.value)}function Dt(e){var t=0,n;if(f.tokens.next.id!==";"||O)return;for(;;){do n=nt(t),t+=1;while(n.id!="(end)"&&n.id==="(comment)");if(n.reach)return;if(n.id!=="(endline)"){if(n.id==="function"){f.option.latedef===!0&&K("W026",n);break}K("W027",n,n.value,e);break}}}function Pt(){f.tokens.next.id!==";"?f.option.asi||(!f.option.lastsemic||f.tokens.next.id!=="}"||f.tokens.next.line!==f.tokens.curr.line)&&Q("W033",f.tokens.curr.line,f.tokens.curr.character):rt(";")}function Ht(){var e,t=N,n,i=D,s=f.tokens.next;if(s.id===";"){rt(";");return}var o=U(s);o&&s.meta&&s.meta.isFutureReservedWord&&nt().id===":"&&(K("W024",s,s.id),o=!1);if(s.value==="module"&&s.type==="(identifier)"&&nt().type==="(identifier)"){f.option.inESNext()||K("W119",f.tokens.curr,"module"),rt("module");var u=_t();et(u,{type:"unused",token:f.tokens.curr}),rt("from"),rt("(string)"),Pt();return}if(r.has(["[","{"],s.value)&&on().isDestAssign){f.option.inESNext()||K("W104",f.tokens.curr,"destructuring expression"),e=Yt(),e.forEach(function(e){$(w,"W117",e.token,e.id)}),rt("="),Zt(e,ot(10,!0)),rt(";");return}s.identifier&&!o&&nt().id===":"&&(rt(),rt(":"),D=Object.create(i),et(s.value,{type:"label"}),!f.tokens.next.labelled&&f.tokens.next.value!=="{"&&K("W028",f.tokens.next,s.value,f.tokens.next.value),f.tokens.next.label=s.value,s=f.tokens.next);if(s.id==="{"){var a=w["(verb)"]==="case"&&f.tokens.curr.value===":";Ft(!0,!0,!1,!1,a);return}return n=ot(0,!0),n&&(!n.identifier||n.value!=="function")&&n.type!=="(punctuator)"&&!f.directive["use strict"]&&f.option.globalstrict&&f.option.strict&&K("E007"),s.block||(!f.option.expr&&(!n||!n.exps)?K("W030",f.tokens.curr):f.option.nonew&&n&&n.left&&n.id==="("&&n.left.id==="new"&&K("W031",s),Pt()),N=t,D=i,n}function Bt(e){var t=[],n;while(!f.tokens.next.reach&&f.tokens.next.id!=="(end)")f.tokens.next.id===";"?(n=nt(),(!n||n.id!=="("&&n.id!=="[")&&K("W032"),rt(";")):t.push(Ht(e===f.tokens.next.line));return t}function jt(){var e,t,n;for(;;){if(f.tokens.next.id==="(string)"){t=nt(0);if(t.id==="(endline)"){e=1;do n=nt(e),e+=1;while(n.id==="(endline)");if(n.id!==";"){if(n.id!=="(string)"&&n.id!=="(number)"&&n.id!=="(regexp)"&&n.identifier!==!0&&n.id!=="}")break;K("W033",f.tokens.next)}else t=n}else if(t.id==="}")K("W033",t);else if(t.id!==";")break;rt(),f.directive[f.tokens.curr.value]&&K("W034",f.tokens.curr,f.tokens.curr.value),f.tokens.curr.value==="use strict"&&(f.option["(explicitNewcap)"]||(f.option.newcap=!0),f.option.undef=!0),f.directive[f.tokens.curr.value]=!0,t.id===";"&&rt(";");continue}break}}function Ft(e,t,n,i,s){var o,u=T,a=N,l,c=D,h,p,d;T=e;if(!e||!f.option.funcscope)D=Object.create(D);h=f.tokens.next;var v=w["(metrics)"];v.nestedBlockDepth+=1,v.verifyMaxNestedBlockDepthPerFunction();if(f.tokens.next.id==="{"){rt("{"),w["(blockscope)"].stack(),p=f.tokens.curr.line;if(f.tokens.next.id!=="}"){N+=f.option.indent;while(!e&&f.tokens.next.from>N)N+=f.option.indent;if(n){l={};for(d in f.directive)r.has(f.directive,d)&&(l[d]=f.directive[d]);jt(),f.option.strict&&w["(context)"]["(global)"]&&!l["use strict"]&&!f.directive["use strict"]&&K("E007")}o=Bt(p),v.statementCount+=o.length,n&&(f.directive=l),N-=f.option.indent}rt("}",h),w["(blockscope)"].unstack(),N=a}else if(!e)if(n){l={},t&&!i&&!f.option.inMoz(!0)&&G("W118",f.tokens.curr,"function closure expressions");if(!t)for(d in f.directive)r.has(f.directive,d)&&(l[d]=f.directive[d]);ot(10),f.option.strict&&w["(context)"]["(global)"]&&!l["use strict"]&&!f.directive["use strict"]&&K("E007")}else G("E021",f.tokens.next,"{",f.tokens.next.value);else w["(nolet)"]=!0,(!t||f.option.curly)&&K("W116",f.tokens.next,"{",f.tokens.next.value),O=!0,N+=f.option.indent,o=[Ht()],N-=f.option.indent,O=!1,delete w["(nolet)"];switch(w["(verb)"]){case"break":case"continue":case"return":case"throw":if(s)break;default:w["(verb)"]=null}if(!e||!f.option.funcscope)D=c;return T=u,e&&f.option.noempty&&(!o||o.length===0)&&K("W035"),v.nestedBlockDepth-=1,o}function It(e){A&&typeof A[e]!="boolean"&&K("W036",f.tokens.curr,e),typeof L[e]=="number"?L[e]+=1:L[e]=1}function qt(e){var t=e.value,n=Object.getOwnPropertyDescriptor(x,t);n?n.value.push(e.line):x[t]=[e.line]}function Ut(){var e={};e.exps=!0,w["(comparray)"].stack();var t=!1;return f.tokens.next.value!=="for"&&(t=!0,f.option.inMoz(!0)||K("W116",f.tokens.next,"for",f.tokens.next.value),w["(comparray)"].setState("use"),e.right=ot(10)),rt("for"),f.tokens.next.value==="each"&&(rt("each"),f.option.inMoz(!0)||K("W118",f.tokens.curr,"for each")),rt("("),w["(comparray)"].setState("define"),e.left=ot(130),r.contains(["in","of"],f.tokens.next.value)?rt():G("E045",f.tokens.curr),w["(comparray)"].setState("generate"),ot(10),rt(")"),f.tokens.next.value==="if"&&(rt("if"),rt("("),w["(comparray)"].setState("filter"),e.filter=ot(10),rt(")")),t||(w["(comparray)"].setState("use"),e.right=ot(10)),rt("]"),w["(comparray)"].unstack(),e}function zt(){var e=Mt(!1,!0);return e||(f.tokens.next.id==="(string)"?(e=f.tokens.next.value,rt()):f.tokens.next.id==="(number)"&&(e=f.tokens.next.value.toString(),rt())),e==="hasOwnProperty"&&K("W001"),e}function Wt(e){var t,n,i=[],s,o=[],u,a=!1;if(e){if(Array.isArray(e)){for(var l in e){t=e[l];if(t.value==="..."){f.option.inESNext()||K("W104",t,"spread/rest operator");continue}t.value!==","&&(i.push(t.value),et(t.value,{type:"unused",token:t}))}return i}if(e.identifier===!0)return et(e.value,{type:"unused",token:e}),[e]}n=f.tokens.next,rt("(");if(f.tokens.next.id===")"){rt(")");return}for(;;){if(r.contains(["{","["],f.tokens.next.id)){o=Yt();for(u in o)u=o[u],u.id&&(i.push(u.id),et(u.id,{type:"unused",token:u.token}))}else f.tokens.next.value==="..."?(f.option.inESNext()||K("W104",f.tokens.next,"spread/rest operator"),rt("..."),s=_t(!0),i.push(s),et(s,{type:"unused",token:f.tokens.curr})):(s=_t(!0),i.push(s),et(s,{type:"unused",token:f.tokens.curr}));a&&f.tokens.next.id!=="="&&G("E051",f.tokens.current),f.tokens.next.id==="="&&(f.option.inESNext()||K("W119",f.tokens.next,"default parameters"),rt("="),a=!0,ot(10));if(f.tokens.next.id!==",")return rt(")",n),i;lt()}}function Xt(e,t,n){e["(properties)"][t]||(e["(properties)"][t]={unused:!1}),r.extend(e["(properties)"][t],n)}function Vt(e,t,n){return e["(properties)"][t]?e["(properties)"][t][n]||null:null}function $t(e,t,n,i){var s={"(name)":e,"(breakage)":0,"(loopage)":0,"(scope)":n,"(tokens)":{},"(properties)":{},"(catch)":!1,"(global)":!1,"(line)":null,"(character)":null,"(metrics)":null,"(statement)":null,"(context)":null,"(blockscope)":null,"(comparray)":null,"(generator)":null,"(params)":null};return t&&r.extend(s,{"(line)":t.line,"(character)":t.character,"(metrics)":Kt(t)}),r.extend(s,i),s["(context)"]&&(s["(blockscope)"]=s["(context)"]["(blockscope)"],s["(comparray)"]=s["(context)"]["(comparray)"]),s}function Jt(t,n,i,s){var o,u=f.option,a=f.ignored,l=D;return f.option=Object.create(f.option),f.ignored=Object.create(f.ignored),D=Object.create(D),w=$t(t||'"'+e+'"',f.tokens.next,D,{"(statement)":n,"(context)":w,"(generator)":i?!0:null}),o=w,f.tokens.curr.funct=w,E.push(w),t&&et(t,{type:"function"}),w["(params)"]=Wt(s),w["(metrics)"].verifyMaxParametersPerFunction(w["(params)"]),c.undefs=r.filter(c.undefs,function(e){return!r.contains(r.union(s),e[2])}),Ft(!1,!0,!0,s?!0:!1),!f.option.noyield&&i&&w["(generator)"]!=="yielded"&&K("W124",f.tokens.curr),w["(metrics)"].verifyMaxStatementsPerFunction(),w["(metrics)"].verifyMaxComplexityPerFunction(),w["(unusedOption)"]=f.option.unused,D=l,f.option=u,f.ignored=a,w["(last)"]=f.tokens.curr.line,w["(lastcharacter)"]=f.tokens.curr.character,r.map(Object.keys(w),function(e){if(e[0]==="(")return;w["(blockscope)"].unshadow(e)}),w=w["(context)"],o}function Kt(e){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,verifyMaxStatementsPerFunction:function(){f.option.maxstatements&&this.statementCount>f.option.maxstatements&&K("W071",e,this.statementCount)},verifyMaxParametersPerFunction:function(t){t=t||[],f.option.maxparams&&t.length>f.option.maxparams&&K("W072",e,t.length)},verifyMaxNestedBlockDepthPerFunction:function(){f.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===f.option.maxdepth+1&&K("W073",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var t=f.option.maxcomplexity,n=this.ComplexityCount;t&&n>t&&K("W074",e,n)}}}function Qt(){w["(metrics)"].ComplexityCount+=1}function Gt(e){var t,n;e&&(t=e.id,n=e.paren,t===","&&(e=e.exprs[e.exprs.length-1])&&(t=e.id,n=n||e.paren));switch(t){case"=":case"+=":case"-=":case"*=":case"%=":case"&=":case"|=":case"^=":case"/=":!n&&!f.option.boss&&K("W084")}}function Yt(){var e,t,n=[];f.option.inESNext()||K("W104",f.tokens.curr,"destructuring expression");var i=function(){var e;if(r.contains(["[","{"],f.tokens.next.value)){t=Yt();for(var s in t)s=t[s],n.push({id:s.id,token:s.token})}else f.tokens.next.value===","?n.push({id:null,token:f.tokens.curr}):f.tokens.next.value==="("?(rt("("),i(),rt(")")):(e=_t(),e&&n.push({id:e,token:f.tokens.curr}))};if(f.tokens.next.value==="["){rt("["),i();while(f.tokens.next.value!=="]")rt(","),i();rt("]")}else if(f.tokens.next.value==="{"){rt("{"),e=_t(),f.tokens.next.value===":"?(rt(":"),i()):n.push({id:e,token:f.tokens.curr});while(f.tokens.next.value!=="}")rt(","),e=_t(),f.tokens.next.value===":"?(rt(":"),i()):n.push({id:e,token:f.tokens.curr});rt("}")}return n}function Zt(e,t){var n=t.first;if(!n)return;r.zip(e,Array.isArray(n)?n:[n]).forEach(function(e){var t=e[0],n=e[1];t&&n?t.first=n:t&&t.first&&!n&&K("W080",t.first,t.first.value)})}function rn(e){return f.option.inESNext()||K("W104",f.tokens.curr,"class"),e?(this.name=_t(),et(this.name,{type:"unused",token:f.tokens.curr})):f.tokens.next.identifier&&f.tokens.next.value!=="extends"&&(this.name=_t()),sn(this),this}function sn(e){var t=f.directive["use strict"];f.tokens.next.value==="extends"&&(rt("extends"),e.heritage=ot(10)),f.directive["use strict"]=!0,rt("{"),e.body=f.syntax["{"].nud(!0),f.directive["use strict"]=t}function un(){var e=on();e.notJson?(!f.option.inESNext()&&e.isDestAssign&&K("W104",f.tokens.curr,"destructuring assignment"),Bt()):(f.option.laxbreak=!0,f.jsonMode=!0,fn())}function fn(){function e(){var e={},t=f.tokens.next;rt("{");if(f.tokens.next.id!=="}")for(;;){if(f.tokens.next.id==="(end)")G("E026",f.tokens.next,t.line);else{if(f.tokens.next.id==="}"){K("W094",f.tokens.curr);break}f.tokens.next.id===","?G("E028",f.tokens.next):f.tokens.next.id!=="(string)"&&K("W095",f.tokens.next,f.tokens.next.value)}e[f.tokens.next.value]===!0?K("W075",f.tokens.next,f.tokens.next.value):f.tokens.next.value==="__proto__"&&!f.option.proto||f.tokens.next.value==="__iterator__"&&!f.option.iterator?K("W096",f.tokens.next,f.tokens.next.value):e[f.tokens.next.value]=!0,rt(),rt(":"),fn();if(f.tokens.next.id!==",")break;rt(",")}rt("}")}function t(){var e=f.tokens.next;rt("[");if(f.tokens.next.id!=="]")for(;;){if(f.tokens.next.id==="(end)")G("E027",f.tokens.next,e.line);else{if(f.tokens.next.id==="]"){K("W094",f.tokens.curr);break}f.tokens.next.id===","&&G("E028",f.tokens.next)}fn();if(f.tokens.next.id!==",")break;rt(",")}rt("]")}switch(f.tokens.next.id){case"{":e();break;case"[":t();break;case"true":case"false":case"null":case"(number)":case"(string)":rt();break;case"-":rt("-"),rt("(number)");break;default:G("E003",f.tokens.next)}}var e,t,n={"<":!0,"<=":!0,"==":!0,"===":!0,"!==":!0,"!=":!0,">":!0,">=":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},h={asi:!0,bitwise:!0,boss:!0,browser:!0,camelcase:!0,couch:!0,curly:!0,debug:!0,devel:!0,dojo:!0,eqeqeq:!0,eqnull:!0,notypeof:!0,es3:!0,es5:!0,esnext:!0,moz:!0,evil:!0,expr:!0,forin:!0,funcscope:!0,globalstrict:!0,immed:!0,iterator:!0,jasmine:!0,jquery:!0,lastsemic:!0,laxbreak:!0,laxcomma:!0,loopfunc:!0,mootools:!0,multistr:!0,freeze:!0,newcap:!0,noarg:!0,node:!0,noempty:!0,nonbsp:!0,nonew:!0,nonstandard:!0,phantom:!0,plusplus:!0,proto:!0,prototypejs:!0,qunit:!0,rhino:!0,shelljs:!0,typed:!0,undef:!0,scripturl:!0,strict:!0,sub:!0,supernew:!0,validthis:!0,withstmt:!0,worker:!0,wsh:!0,yui:!0,mocha:!0,noyield:!0,onecase:!0,regexp:!0,regexdash:!0},p={maxlen:!1,indent:!1,maxerr:!1,predef:!1,globals:!1,quotmark:!1,scope:!1,maxstatements:!1,maxdepth:!1,maxparams:!1,maxcomplexity:!1,shadow:!1,unused:!0,latedef:!1,ignore:!1},d={bitwise:!0,forin:!0,newcap:!0,plusplus:!0,regexp:!0,undef:!0,eqeqeq:!0,strict:!0},v={eqeq:"eqeqeq",windows:"wsh",sloppy:"strict"},m={nomen:!0,onevar:!0,passfail:!0,white:!0,gcl:!0,smarttabs:!0,trailing:!0},g,y,b=["closure","exception","global","label","outer","unused","var"],w,E,S,x,T,N,C,k,L,A,O,M,D,P,H,B,j=[],F=new i.EventEmitter;gt("(number)",function(){return this}),gt("(string)",function(){return this}),gt("(template)",function(){return this}),f.syntax["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var t=this.value,n=D[t],r,i;typeof n=="function"?n=undefined:!w["(blockscope)"].current.has(t)&&typeof n=="boolean"&&(r=w,w=E[0],et(t,{type:"var"}),n=w,w=r),i=w["(blockscope)"].getlabel(t);if(w===n||i)switch(i?i[t]["(type)"]:w[t]){case"unused":i?i[t]["(type)"]="var":w[t]="var";break;case"unction":i?i[t]["(type)"]="function":w[t]="function",this["function"]=!0;break;case"const":Xt(w,t,{unused:!1});break;case"function":this["function"]=!0;break;case"label":K("W037",f.tokens.curr,t)}else if(w["(global)"])typeof M[t]!="boolean"&&(e!=="typeof"&&e!=="delete"||f.tokens.next&&(f.tokens.next.value==="."||f.tokens.next.value==="["))&&(w["(comparray)"].check(t)||$(w,"W117",f.tokens.curr,t)),qt(f.tokens.curr);else switch(w[t]){case"closure":case"function":case"var":case"unused":K("W038",f.tokens.curr,t);break;case"label":K("W037",f.tokens.curr,t);break;case"outer":case"global":break;default:if(n===!0)w[t]=!0;else if(n===null)K("W039",f.tokens.curr,t),qt(f.tokens.curr);else if(typeof n!="object")(e!=="typeof"&&e!=="delete"||f.tokens.next&&(f.tokens.next.value==="."||f.tokens.next.value==="["))&&$(w,"W117",f.tokens.curr,t),w[t]=!0,qt(f.tokens.curr);else switch(n[t]){case"function":case"unction":this["function"]=!0,n[t]="closure",w[t]=n["(global)"]?"global":"outer";break;case"var":case"unused":n[t]="closure",w[t]=n["(global)"]?"global":"outer";break;case"const":Xt(n,t,{unused:!1});break;case"closure":w[t]=n["(global)"]?"global":"outer";break;case"label":K("W037",f.tokens.curr,t)}}return this},led:function(){G("E033",f.tokens.next,f.tokens.next.value)}},gt("(regexp)",function(){return this}),ht("(endline)"),ht("(begin)"),ht("(end)").reach=!0,ht("(error)").reach=!0,ht("}").reach=!0,ht(")"),ht("]"),ht('"').reach=!0,ht("'").reach=!0,ht(";"),ht(":").reach=!0,ht("#"),yt("else"),yt("case").reach=!0,yt("catch"),yt("default").reach=!0,yt("finally"),wt("arguments",function(e){f.directive["use strict"]&&w["(global)"]&&K("E008",e)}),wt("eval"),wt("false"),wt("Infinity"),wt("null"),wt("this",function(e){f.directive["use strict"]&&!f.option.validthis&&(w["(statement)"]&&w["(name)"].charAt(0)>"Z"||w["(global)"])&&K("W040",e)}),wt("true"),wt("undefined"),kt("=","assign",20),kt("+=","assignadd",20),kt("-=","assignsub",20),kt("*=","assignmult",20),kt("/=","assigndiv",20).nud=function(){G("E014")},kt("%=","assignmod",20),At("&=","assignbitand",20),At("|=","assignbitor",20),At("^=","assignbitxor",20),At("<<=","assignshiftleft",20),At(">>=","assignshiftright",20),At(">>>=","assignshiftrightunsigned",20),Et(",",function(e,t){var n;t.exprs=[e];if(!lt({peek:!0}))return t;for(;;){if(!(n=ot(10)))break;t.exprs.push(n);if(f.tokens.next.value!==","||!lt())break}return t},10,!0),Et("?",function(e,t){return Qt(),t.left=e,t.right=ot(10),rt(":"),t["else"]=ot(10),t},30);var Rt=40;Et("||",function(e,t){return Qt(),t.left=e,t.right=ot(Rt),t},Rt),Et("&&","and",50),Lt("|","bitor",70),Lt("^","bitxor",80),Lt("&","bitand",90),xt("==",function(e,t){var n=f.option.eqnull&&(e.value==="null"||t.value==="null");switch(!0){case!n&&f.option.eqeqeq:this.from=this.character,K("W116",this,"===","==");break;case Tt(e):K("W041",this,"===",e.value);break;case Tt(t):K("W041",this,"===",t.value);break;case Nt(t,e):K("W122",this,t.value);break;case Nt(e,t):K("W122",this,e.value)}return this}),xt("===",function(e,t){return Nt(t,e)?K("W122",this,t.value):Nt(e,t)&&K("W122",this,e.value),this}),xt("!=",function(e,t){var n=f.option.eqnull&&(e.value==="null"||t.value==="null");return!n&&f.option.eqeqeq?(this.from=this.character,K("W116",this,"!==","!=")):Tt(e)?K("W041",this,"!==",e.value):Tt(t)?K("W041",this,"!==",t.value):Nt(t,e)?K("W122",this,t.value):Nt(e,t)&&K("W122",this,e.value),this}),xt("!==",function(e,t){return Nt(t,e)?K("W122",this,t.value):Nt(e,t)&&K("W122",this,e.value),this}),xt("<"),xt(">"),xt("<="),xt(">="),Lt("<<","shiftleft",120),Lt(">>","shiftright",120),Lt(">>>","shiftrightunsigned",120),Et("in","in",120),Et("instanceof","instanceof",120),Et("+",function(e,t){var n=ot(130);return e&&n&&e.id==="(string)"&&n.id==="(string)"?(e.value+=n.value,e.character=n.character,!f.option.scripturl&&a.javascriptURL.test(e.value)&&K("W050",e),e):(t.left=e,t.right=n,t)},130),mt("+","num"),mt("+++",function(){return K("W007"),this.right=ot(150),this.arity="unary",this}),Et("+++",function(e){return K("W007"),this.left=e,this.right=ot(130),this},130),Et("-","sub",130),mt("-","neg"),mt("---",function(){return K("W006"),this.right=ot(150),this.arity="unary",this}),Et("---",function(e){return K("W006"),this.left=e,this.right=ot(130),this},130),Et("*","mult",140),Et("/","div",140),Et("%","mod",140),Ot("++","postinc"),mt("++","preinc"),f.syntax["++"].exps=!0,Ot("--","postdec"),mt("--","predec"),f.syntax["--"].exps=!0,mt("delete",function(){var e=ot(10);return(!e||e.id!=="."&&e.id!=="[")&&K("W051"),this.first=e,this}).exps=!0,mt("~",function(){return f.option.bitwise&&K("W052",this,"~"),ot(150),this}),mt("...",function(){return f.option.inESNext()||K("W104",this,"spread/rest operator"),f.tokens.next.identifier||G("E030",f.tokens.next,f.tokens.next.value),ot(150),this}),mt("!",function(){return this.right=ot(150),this.arity="unary",this.right||V("E041",this.line||0),n[this.right.id]===!0&&K("W018",this,"!"),this}),mt("typeof","typeof"),mt("new",function(){var e=ot(155),t;if(e&&e.id!=="function")if(e.identifier){e["new"]=!0;switch(e.value){case"Number":case"String":case"Boolean":case"Math":case"JSON":K("W053",f.tokens.prev,e.value);break;case"Function":f.option.evil||K("W054");break;case"Date":case"RegExp":case"this":break;default:e.id!=="function"&&(t=e.value.substr(0,1),f.option.newcap&&(t<"A"||t>"Z")&&!r.has(S,e.value)&&K("W055",f.tokens.curr))}}else e.id!=="."&&e.id!=="["&&e.id!=="("&&K("W056",f.tokens.curr);else f.option.supernew||K("W057",this);return f.tokens.next.id!=="("&&!f.option.supernew&&K("W058",f.tokens.curr,f.tokens.curr.value),this.first=e,this}),f.syntax["new"].exps=!0,mt("void").exps=!0,Et(".",function(e,t){var n=_t(!1,!0);return typeof n=="string"&&It(n),t.left=e,t.right=n,n&&n==="hasOwnProperty"&&f.tokens.next.value==="="&&K("W001"),!e||e.value!=="arguments"||n!=="callee"&&n!=="caller"?!f.option.evil&&e&&e.value==="document"&&(n==="write"||n==="writeln")&&K("W060",e):f.option.noarg?K("W059",e,n):f.directive["use strict"]&&G("E008"),!f.option.evil&&(n==="eval"||n==="execScript")&&K("W061"),t},160,!0),Et("(",function(e,t){f.option.immed&&e&&!e.immed&&e.id==="function"&&K("W062");var n=0,r=[];e&&e.type==="(identifier)"&&e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&"Number String Boolean Date Object Error".indexOf(e.value)===-1&&(e.value==="Math"?K("W063",e):f.option.newcap&&K("W064",e));if(f.tokens.next.id!==")")for(;;){r[r.length]=ot(10),n+=1;if(f.tokens.next.id!==",")break;lt()}return rt(")"),typeof e=="object"&&(f.option.inES3()&&e.value==="parseInt"&&n===1&&K("W065",f.tokens.curr),f.option.evil||(e.value==="eval"||e.value==="Function"||e.value==="execScript"?(K("W061",e),r[0]&&[0].id==="(string)"&&Z(e,r[0].value)):!r[0]||r[0].id!=="(string)"||e.value!=="setTimeout"&&e.value!=="setInterval"?r[0]&&r[0].id==="(string)"&&e.value==="."&&e.left.value==="window"&&(e.right==="setTimeout"||e.right==="setInterval")&&(K("W066",e),Z(e,r[0].value)):(K("W066",e),Z(e,r[0].value))),!e.identifier&&e.id!=="."&&e.id!=="["&&e.id!=="("&&e.id!=="&&"&&e.id!=="||"&&e.id!=="?"&&K("W067",e)),t.left=e,t},155,!0).exps=!0,mt("(",function(){var e,t=[],n,i,s=0,o,u=1;do n=nt(s),n.value==="("?u+=1:n.value===")"&&(u-=1),s+=1,i=nt(s);while((u!==0||n.value!==")")&&i.value!=="=>"&&i.value!==";"&&i.type!=="(end)");f.tokens.next.id==="function"&&(f.tokens.next.immed=!0);var a=[];if(f.tokens.next.id!==")")for(;;){if(i.value==="=>"&&r.contains(["{","["],f.tokens.next.value)){e=f.tokens.next,e.left=Yt(),t.push(e);for(var l in e.left)a.push(e.left[l].token)}else a.push(ot(10));if(f.tokens.next.id!==",")break;lt()}rt(")",this),f.option.immed&&a[0]&&a[0].id==="function"&&f.tokens.next.id!=="("&&(f.tokens.next.id!=="."||nt().value!=="call"&&nt().value!=="apply")&&K("W068",this);if(f.tokens.next.value==="=>")return a;if(!a.length)return;return a.length>1?(o=Object.create(f.syntax[","]),o.exprs=a):o=a[0],o&&(o.paren=!0),o}),St("=>"),Et("[",function(e,t){var n=ot(10),r;return n&&n.type==="(string)"&&(!f.option.evil&&(n.value==="eval"||n.value==="execScript")&&K("W061",t),It(n.value),!f.option.sub&&a.identifier.test(n.value)&&(r=f.syntax[n.value],(!r||!U(r))&&K("W069",f.tokens.prev,n.value))),rt("]",t),n&&n.value==="hasOwnProperty"&&f.tokens.next.value==="="&&K("W001"),t.left=e,t.right=n,t},160,!0),mt("[",function(){var e=on(!0);if(e.isCompArray)return f.option.inESNext()||K("W119",f.tokens.curr,"array comprehension"),Ut();e.isDestAssign&&!f.option.inESNext()&&K("W104",f.tokens.curr,"destructuring assignment");var t=f.tokens.curr.line!==f.tokens.next.line;this.first=[],t&&(N+=f.option.indent,f.tokens.next.from===N+f.option.indent&&(N+=f.option.indent));while(f.tokens.next.id!=="(end)"){while(f.tokens.next.id===",")f.option.inES5()||K("W070"),rt(",");if(f.tokens.next.id==="]")break;this.first.push(ot(10));if(f.tokens.next.id!==",")break;lt({allowTrailing:!0});if(f.tokens.next.id==="]"&&!f.option.inES5(!0)){K("W070",f.tokens.curr);break}}return t&&(N-=f.option.indent),rt("]",this),this},160),function(e){e.nud=function(e){function c(e,t){a[e]&&r.has(a,e)?K("W075",f.tokens.next,i):a[e]={},a[e].basic=!0,a[e].basictkn=t}function h(e,t){a[e]&&r.has(a,e)?(a[e].basic||a[e].setter)&&K("W075",f.tokens.next,i):a[e]={},a[e].setter=!0,a[e].setterToken=t}function p(e){a[e]&&r.has(a,e)?(a[e].basic||a[e].getter)&&K("W075",f.tokens.next,i):a[e]={},a[e].getter=!0,a[e].getterToken=f.tokens.curr}var t,n,i,s,o,u,a={},l="";t=f.tokens.curr.line!==f.tokens.next.line,t&&(N+=f.option.indent,f.tokens.next.from===N+f.option.indent&&(N+=f.option.indent));for(;;){if(f.tokens.next.id==="}")break;e&&f.tokens.next.value==="static"&&(rt("static"),l="static ");if(f.tokens.next.value==="get"&&nt().id!==":")rt("get"),f.option.inES5(!e)||G("E034"),i=zt(),!i&&!f.option.inESNext()&&G("E035"),e&&i==="constructor"&&G("E049",f.tokens.next,"class getter method",i),i&&p(l+i),o=f.tokens.next,n=Jt(),s=n["(params)"],i&&s&&K("W076",o,s[0],i);else if(f.tokens.next.value==="set"&&nt().id!==":")rt("set"),f.option.inES5(!e)||G("E034"),i=zt(),!i&&!f.option.inESNext()&&G("E035"),e&&i==="constructor"&&G("E049",f.tokens.next,"class setter method",i),i&&h(l+i,f.tokens.next),o=f.tokens.next,n=Jt(),s=n["(params)"],i&&(!s||s.length!==1)&&K("W077",o,i);else{u=!1,f.tokens.next.value==="*"&&f.tokens.next.type==="(punctuator)"&&(f.option.inESNext()||K("W104",f.tokens.next,"generator functions"),rt("*"),u=!0),i=zt(),c(l+i,f.tokens.next);if(typeof i!="string")break;f.tokens.next.value==="("?(f.option.inESNext()||K("W104",f.tokens.curr,"concise methods"),Jt(i,undefined,u)):e||(rt(":"),ot(10))}e&&i==="prototype"&&G("E049",f.tokens.next,"class method",i),It(i);if(e){l="";continue}if(f.tokens.next.id!==",")break;lt({allowTrailing:!0,property:!0}),f.tokens.next.id===","?K("W070",f.tokens.curr):f.tokens.next.id==="}"&&!f.option.inES5(!0)&&K("W070",f.tokens.curr)}t&&(N-=f.option.indent),rt("}",this);if(f.option.inES5())for(var d in a)r.has(a,d)&&a[d].setter&&!a[d].getter&&K("W078",a[d].setterToken);return this},e.fud=function(){G("E036",f.tokens.curr)}}(ht("{"));var en=pt("const",function(e){var t,n,i;f.option.inESNext()||K("W104",f.tokens.curr,"const"),this.first=[];for(;;){var s=[];r.contains(["{","["],f.tokens.next.value)?(t=Yt(),i=!1):(t=[{id:_t(),token:f.tokens.curr}],i=!0);for(var o in t)t.hasOwnProperty(o)&&(o=t[o],w[o.id]==="const"&&K("E011",null,o.id),w["(global)"]&&M[o.id]===!1&&K("W079",o.token,o.id),o.id&&(et(o.id,{token:o.token,type:"const",unused:!0}),s.push(o.token)));if(e)break;this.first=this.first.concat(s),f.tokens.next.id!=="="&&K("E012",f.tokens.curr,f.tokens.curr.value),f.tokens.next.id==="="&&(rt("="),f.tokens.next.id==="undefined"&&K("W080",f.tokens.prev,f.tokens.prev.value),nt(0).id==="="&&f.tokens.next.identifier&&K("W120",f.tokens.next,f.tokens.next.value),n=ot(10),i?t[0].first=n:Zt(s,n));if(f.tokens.next.id!==",")break;lt()}return this});en.exps=!0;var tn=pt("var",function(e){var t,n,i;this.first=[];for(;;){var s=[];r.contains(["{","["],f.tokens.next.value)?(t=Yt(),n=!1):(t=[{id:_t(),token:f.tokens.curr}],n=!0);for(var o in t)t.hasOwnProperty(o)&&(o=t[o],f.option.inESNext()&&w[o.id]==="const"&&K("E011",null,o.id),w["(global)"]&&M[o.id]===!1&&K("W079",o.token,o.id),o.id&&(et(o.id,{type:"unused",token:o.token}),s.push(o.token)));if(e)break;this.first=this.first.concat(s),f.tokens.next.id==="="&&(rt("="),f.tokens.next.id==="undefined"&&K("W080",f.tokens.prev,f.tokens.prev.value),nt(0).id==="="&&f.tokens.next.identifier&&K("W120",f.tokens.next,f.tokens.next.value),i=ot(10),n?t[0].first=i:Zt(s,i));if(f.tokens.next.id!==",")break;lt()}return this});tn.exps=!0;var nn=pt("let",function(e){var t,n,i,s;f.option.inESNext()||K("W104",f.tokens.curr,"let"),f.tokens.next.value==="("?(f.option.inMoz(!0)||K("W118",f.tokens.next,"let block"),rt("("),w["(blockscope)"].stack(),s=!0):w["(nolet)"]&&G("E048",f.tokens.curr),this.first=[];for(;;){var o=[];r.contains(["{","["],f.tokens.next.value)?(t=Yt(),n=!1):(t=[{id:_t(),token:f.tokens.curr.value}],n=!0);for(var u in t)t.hasOwnProperty(u)&&(u=t[u],f.option.inESNext()&&w[u.id]==="const"&&K("E011",null,u.id),w["(global)"]&&M[u.id]===!1&&K("W079",u.token,u.id),u.id&&!w["(nolet)"]&&(et(u.id,{type:"unused",token:u.token,islet:!0}),o.push(u.token)));if(e)break;this.first=this.first.concat(o),f.tokens.next.id==="="&&(rt("="),f.tokens.next.id==="undefined"&&K("W080",f.tokens.prev,f.tokens.prev.value),nt(0).id==="="&&f.tokens.next.identifier&&K("W120",f.tokens.next,f.tokens.next.value),i=ot(10),n?t[0].first=i:Zt(o,i));if(f.tokens.next.id!==",")break;lt()}return s&&(rt(")"),Ft(!0,!0),this.block=!0,w["(blockscope)"].unstack()),this});nn.exps=!0,dt("class",function(){return rn.call(this,!0)}),dt("function",function(){var e=!1;f.tokens.next.value==="*"&&(rt("*"),f.option.inESNext(!0)?e=!0:K("W119",f.tokens.curr,"function*")),T&&K("W082",f.tokens.curr);var t=_t();return w[t]==="const"&&K("E011",null,t),et(t,{type:"unction",token:f.tokens.curr}),Jt(t,{statement:!0},e),f.tokens.next.id==="("&&f.tokens.next.line===f.tokens.curr.line&&G("E039"),this}),mt("function",function(){var e=!1;f.tokens.next.value==="*"&&(f.option.inESNext()||K("W119",f.tokens.curr,"function*"),rt("*"),e=!0);var t=Mt();return Jt(t,undefined,e),!f.option.loopfunc&&w["(loopage)"]&&K("W083"),this}),dt("if",function(){var e=f.tokens.next;return Qt(),f.condition=!0,rt("("),Gt(ot(0)),rt(")",e),f.condition=!1,Ft(!0,!0),f.tokens.next.id==="else"&&(rt("else"),f.tokens.next.id==="if"||f.tokens.next.id==="switch"?Ht(!0):Ft(!0,!0)),this}),dt("try",function(){function t(){var e=D,t;rt("catch"),rt("("),D=Object.create(e),t=f.tokens.next.value,f.tokens.next.type!=="(identifier)"&&(t=null,K("E030",f.tokens.next,t)),rt(),w=$t("(catch)",f.tokens.next,D,{"(context)":w,"(breakage)":w["(breakage)"],"(loopage)":w["(loopage)"],"(statement)":!1,"(catch)":!0}),t&&et(t,{type:"exception"}),f.tokens.next.value==="if"&&(f.option.inMoz(!0)||K("W118",f.tokens.curr,"catch filter"),rt("if"),ot(0)),rt(")"),f.tokens.curr.funct=w,E.push(w),Ft(!1),D=e,w["(last)"]=f.tokens.curr.line,w["(lastcharacter)"]=f.tokens.curr.character,w=w["(context)"]}var e;Ft(!0);while(f.tokens.next.id==="catch")Qt(),e&&!f.option.inMoz(!0)&&K("W118",f.tokens.next,"multiple catch blocks"),t(),e=!0;if(f.tokens.next.id==="finally"){rt("finally"),Ft(!0);return}return e||G("E021",f.tokens.next,"catch",f.tokens.next.value),this}),dt("while",function(){var e=f.tokens.next;return w["(breakage)"]+=1,w["(loopage)"]+=1,Qt(),rt("("),Gt(ot(0)),rt(")",e),Ft(!0,!0),w["(breakage)"]-=1,w["(loopage)"]-=1,this}).labelled=!0,dt("with",function(){var e=f.tokens.next;return f.directive["use strict"]?G("E010",f.tokens.curr):f.option.withstmt||K("W085",f.tokens.curr),rt("("),ot(0),rt(")",e),Ft(!0,!0),this}),dt("switch",function(){var e=f.tokens.next,t=!1,n=!1;w["(breakage)"]+=1,rt("("),Gt(ot(0)),rt(")",e),e=f.tokens.next,rt("{"),f.tokens.next.from===N&&(n=!0),n||(N+=f.option.indent),this.cases=[];for(;;)switch(f.tokens.next.id){case"case":switch(w["(verb)"]){case"yield":case"break":case"case":case"continue":case"return":case"switch":case"throw":break;default:a.fallsThrough.test(f.lines[f.tokens.next.line-2])||K("W086",f.tokens.curr,"case")}rt("case"),this.cases.push(ot(0)),Qt(),t=!0,rt(":"),w["(verb)"]="case";break;case"default":switch(w["(verb)"]){case"yield":case"break":case"continue":case"return":case"throw":break;default:this.cases.length&&(a.fallsThrough.test(f.lines[f.tokens.next.line-2])||K("W086",f.tokens.curr,"default"))}rt("default"),t=!0,rt(":");break;case"}":n||(N-=f.option.indent),rt("}",e),w["(breakage)"]-=1,w["(verb)"]=undefined;return;case"(end)":G("E023",f.tokens.next,"}");return;default:N+=f.option.indent;if(t)switch(f.tokens.curr.id){case",":G("E040");return;case":":t=!1,Bt();break;default:G("E025",f.tokens.curr);return}else{if(f.tokens.curr.id!==":"){G("E021",f.tokens.next,"case",f.tokens.next.value);return}rt(":"),G("E024",f.tokens.curr,":"),Bt()}N-=f.option.indent}}).labelled=!0,pt("debugger",function(){return f.option.debug||K("W087",this),this}).exps=!0,function(){var e=pt("do",function(){w["(breakage)"]+=1,w["(loopage)"]+=1,Qt(),this.first=Ft(!0,!0),rt("while");var e=f.tokens.next;return rt("("),Gt(ot(0)),rt(")",e),w["(breakage)"]-=1,w["(loopage)"]-=1,this});e.labelled=!0,e.exps=!0}(),dt("for",function(){var e,t=f.tokens.next,n=!1,i=null;t.value==="each"&&(i=t,rt("each"),f.option.inMoz(!0)||K("W118",f.tokens.curr,"for each")),w["(breakage)"]+=1,w["(loopage)"]+=1,Qt(),rt("(");var s,o=0,u=["in","of"];do s=nt(o),++o;while(!r.contains(u,s.value)&&s.value!==";"&&s.type!=="(end)");if(r.contains(u,s.value)){!f.option.inESNext()&&s.value==="of"&&G("W104",s,"for of");if(f.tokens.next.id==="var")rt("var"),f.syntax["var"].fud.call(f.syntax["var"].fud,!0);else if(f.tokens.next.id==="let")rt("let"),n=!0,w["(blockscope)"].stack(),f.syntax.let.fud.call(f.syntax.let.fud,!0);else if(!f.tokens.next.identifier)G("E030",f.tokens.next,f.tokens.next.type),rt();else{switch(w[f.tokens.next.value]){case"unused":w[f.tokens.next.value]="var";break;case"var":break;default:w["(blockscope)"].getlabel(f.tokens.next.value)||K("W088",f.tokens.next,f.tokens.next.value)}rt()}rt(s.value),ot(20),rt(")",t),e=Ft(!0,!0),f.option.forin&&e&&(e.length>1||typeof e[0]!="object"||e[0].value!=="if")&&K("W089",this),w["(breakage)"]-=1,w["(loopage)"]-=1}else{i&&G("E045",i);if(f.tokens.next.id!==";")if(f.tokens.next.id==="var")rt("var"),f.syntax["var"].fud.call(f.syntax["var"].fud);else if(f.tokens.next.id==="let")rt("let"),n=!0,w["(blockscope)"].stack(),f.syntax.let.fud.call(f.syntax.let.fud);else for(;;){ot(0,"for");if(f.tokens.next.id!==",")break;lt()}at(f.tokens.curr),rt(";"),f.tokens.next.id!==";"&&Gt(ot(0)),at(f.tokens.curr),rt(";"),f.tokens.next.id===";"&&G("E021",f.tokens.next,")",";");if(f.tokens.next.id!==")")for(;;){ot(0,"for");if(f.tokens.next.id!==",")break;lt()}rt(")",t),Ft(!0,!0),w["(breakage)"]-=1,w["(loopage)"]-=1}return n&&w["(blockscope)"].unstack(),this}).labelled=!0,pt("break",function(){var e=f.tokens.next.value;return w["(breakage)"]===0&&K("W052",f.tokens.next,this.value),f.option.asi||at(this),f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.curr.line===f.tokens.next.line&&(w[e]!=="label"?K("W090",f.tokens.next,e):D[e]!==w&&K("W091",f.tokens.next,e),this.first=f.tokens.next,rt()),Dt("break"),this}).exps=!0,pt("continue",function(){var e=f.tokens.next.value;return w["(breakage)"]===0&&K("W052",f.tokens.next,this.value),f.option.asi||at(this),f.tokens.next.id!==";"&&!f.tokens.next.reach?f.tokens.curr.line===f.tokens.next.line&&(w[e]!=="label"?K("W090",f.tokens.next,e):D[e]!==w&&K("W091",f.tokens.next,e),this.first=f.tokens.next,rt()):w["(loopage)"]||K("W052",f.tokens.next,this.value),Dt("continue"),this}).exps=!0,pt("return",function(){return this.line===f.tokens.next.line?f.tokens.next.id!==";"&&!f.tokens.next.reach&&(this.first=ot(0),this.first&&this.first.type==="(punctuator)"&&this.first.value==="="&&!this.first.paren&&!f.option.boss&&Q("W093",this.first.line,this.first.character)):f.tokens.next.type==="(punctuator)"&&["[","{","+","-"].indexOf(f.tokens.next.value)>-1&&at(this),Dt("return"),this}).exps=!0,function(e){e.exps=!0,e.lbp=25}(mt("yield",function(){var e=f.tokens.prev;return f.option.inESNext(!0)&&!w["(generator)"]?("(catch)"!==w["(name)"]||!w["(context)"]["(generator)"])&&G("E046",f.tokens.curr,"yield"):f.option.inESNext()||K("W104",f.tokens.curr,"yield"),w["(generator)"]="yielded",this.line===f.tokens.next.line||!f.option.inMoz(!0)?(f.tokens.next.id!==";"&&!f.tokens.next.reach&&f.tokens.next.nud&&(ut(f.tokens.curr,f.tokens.next),this.first=ot(10),this.first.type==="(punctuator)"&&this.first.value==="="&&!this.first.paren&&!f.option.boss&&Q("W093",this.first.line,this.first.character)),f.option.inMoz(!0)&&f.tokens.next.id!==")"&&(e.lbp>30||!e.assign&&!st()||e.id==="yield")&&G("E050",this)):f.option.asi||at(this),this})),pt("throw",function(){return at(this),this.first=ot(20),Dt("throw"),this}).exps=!0,pt("import",function(){f.option.inESNext()||K("W119",f.tokens.curr,"import");if(f.tokens.next.type==="(string)")return rt("(string)"),this;if(f.tokens.next.identifier)this.name=_t(),et(this.name,{type:"unused",token:f.tokens.curr});else{rt("{");for(;;){if(f.tokens.next.value==="}"){rt("}");break}var e;f.tokens.next.type==="default"?(e="default",rt("default")):e=_t(),f.tokens.next.value==="as"&&(rt("as"),e=_t()),et(e,{type:"unused",token:f.tokens.curr});if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){rt("}");break}G("E024",f.tokens.next,f.tokens.next.value);break}rt(",")}}return rt("from"),rt("(string)"),this}).exps=!0,pt("export",function(){f.option.inESNext()||K("W119",f.tokens.curr,"export");if(f.tokens.next.type==="default"){rt("default");if(f.tokens.next.id==="function"||f.tokens.next.id==="class")this.block=!0;return this.exportee=ot(10),this}if(f.tokens.next.value==="{"){rt("{");for(;;){y[_t()]=!0;if(f.tokens.next.value!==","){if(f.tokens.next.value==="}"){rt("}");break}G("E024",f.tokens.next,f.tokens.next.value);break}rt(",")}return this}return f.tokens.next.id==="var"?(rt("var"),y[f.tokens.next.value]=!0,f.syntax["var"].fud.call(f.syntax["var"].fud)):f.tokens.next.id==="let"?(rt("let"),y[f.tokens.next.value]=!0,f.syntax.let.fud.call(f.syntax.let.fud)):f.tokens.next.id==="const"?(rt("const"),y[f.tokens.next.value]=!0,f.syntax["const"].fud.call(f.syntax["const"].fud)):f.tokens.next.id==="function"?(this.block=!0,rt("function"),y[f.tokens.next.value]=!0,f.syntax["function"].fud()):f.tokens.next.id==="class"?(this.block=!0,rt("class"),y[f.tokens.next.value]=!0,f.syntax["class"].fud()):G("E024",f.tokens.next,f.tokens.next.value),this}).exps=!0,bt("abstract"),bt("boolean"),bt("byte"),bt("char"),bt("class",{es5:!0,nud:rn}),bt("double"),bt("enum",{es5:!0}),bt("export",{es5:!0}),bt("extends",{es5:!0}),bt("final"),bt("float"),bt("goto"),bt("implements",{es5:!0,strictOnly:!0}),bt("import",{es5:!0}),bt("int"),bt("interface",{es5:!0,strictOnly:!0}),bt("long"),bt("native"),bt("package",{es5:!0,strictOnly:!0}),bt("private",{es5:!0,strictOnly:!0}),bt("protected",{es5:!0,strictOnly:!0}),bt("public",{es5:!0,strictOnly:!0}),bt("short"),bt("static",{es5:!0,strictOnly:!0}),bt("super",{es5:!0}),bt("synchronized"),bt("transient"),bt("volatile");var on=function(){var e,t,n=-1,i=0,s={};r.contains(["[","{"],f.tokens.curr.value)&&(i+=1);do{e=n===-1?f.tokens.next:nt(n),t=nt(n+1),n+=1,r.contains(["[","{"],e.value)?i+=1:r.contains(["]","}"],e.value)&&(i-=1);if(e.identifier&&e.value==="for"&&i===1){s.isCompArray=!0,s.notJson=!0;break}if(r.contains(["}","]"],e.value)&&t.value==="="&&i===0){s.isDestAssign=!0,s.notJson=!0;break}e.value===";"&&(s.isBlock=!0,s.notJson=!0)}while(i>0&&e.id!=="(end)"&&n<15);return s},an=function(){function i(e){var t=n.variables.filter(function(t){if(t.value===e)return t.undef=!1,e}).length;return t!==0}function s(e){var t=n.variables.filter(function(t){if(t.value===e&&!t.undef)return t.unused===!0&&(t.unused=!1),e}).length;return t===0}var e=function(){this.mode="use",this.variables=[]},t=[],n;return{stack:function(){n=new e,t.push(n)},unstack:function(){n.variables.filter(function(e){e.unused&&K("W098",e.token,e.value),e.undef&&$(e.funct,"W117",e.token,e.value)}),t.splice(-1,1),n=t[t.length-1]},setState:function(e){r.contains(["use","define","generate","filter"],e)&&(n.mode=e)},check:function(e){if(!n)return;return n&&n.mode==="use"?(s(e)&&n.variables.push({funct:w,token:f.tokens.curr,value:e,undef:!0,unused:!1}),!0):n&&n.mode==="define"?(i(e)||n.variables.push({funct:w,token:f.tokens.curr,value:e,undef:!1,unused:!0}),!0):n&&n.mode==="generate"?($(w,"W117",f.tokens.curr,e),!0):n&&n.mode==="filter"?(s(e)&&$(w,"W117",f.tokens.curr,e),!0):!1}}},ln=function(){function n(){for(var t in e)if(e[t]["(type)"]==="unused"&&f.option.unused){var n=e[t]["(token)"],r=n.line,i=n.character;Q("W098",r,i,t)}}var e={},t=[e];return{stack:function(){e={},t.push(e)},unstack:function(){n(),t.splice(t.length-1,1),e=r.last(t)},getlabel:function(e){for(var n=t.length-1;n>=0;--n)if(r.has(t[n],e)&&!t[n][e]["(shadowed)"])return t[n]},shadow:function(e){for(var n=t.length-1;n>=0;n--)r.has(t[n],e)&&(t[n][e]["(shadowed)"]=!0)},unshadow:function(e){for(var n=t.length-1;n>=0;n--)r.has(t[n],e)&&(t[n][e]["(shadowed)"]=!1)},current:{has:function(t){return r.has(e,t)},add:function(t,n,r){e[t]={"(type)":n,"(token)":r,"(shadowed)":!1}}}}},cn=function(e,n,i){function v(e,t){if(!e)return;!Array.isArray(e)&&typeof e=="object"&&(e=Object.keys(e)),e.forEach(t)}var o,a,l,h,p={},d={};n=r.clone(n),f.reset(),n&&n.scope?c.scope=n.scope:(c.errors=[],c.undefs=[],c.internals=[],c.blacklist={},c.scope="(main)"),M=Object.create(null),W(M,s.ecmaIdentifiers),W(M,s.reservedVars),W(M,i||{}),g=Object.create(null),y=Object.create(null);if(n){v(n.predef||null,function(e){var t,r;e[0]==="-"?(t=e.slice(1),c.blacklist[t]=t):(r=Object.getOwnPropertyDescriptor(n.predef,e),M[e]=r?r.value:!1)}),v(n.exported||null,function(e){y[e]=!0}),delete n.predef,delete n.exported,h=Object.keys(n);for(l=0;l<h.length;l++)/^-W\d{3}$/g.test(h[l])?d[h[l].slice(1)]=!0:(p[h[l]]=n[h[l]],h[l]==="newcap"&&n[h[l]]===!1&&(p["(explicitNewcap)"]=!0))}f.option=p,f.ignored=d,f.option.indent=f.option.indent||4,f.option.maxerr=f.option.maxerr||50,N=1,S=Object.create(M),D=S,w=$t("(global)",null,D,{"(global)":!0,"(blockscope)":ln(),"(comparray)":an(),"(metrics)":Kt(f.tokens.next)}),E=[w],B=[],P=null,L={},A=null,x={},T=!1,C=[],H=[];if(!q(e)&&!Array.isArray(e))return Y("E004",0),!1;t={get isJSON(){return f.jsonMode},getOption:function(e){return f.option[e]||null},getCache:function(e){return f.cache[e]},setCache:function(e,t){f.cache[e]=t},warn:function(e,t){Q.apply(null,[e,t.line,t.char].concat(t.data))},on:function(e,t){e.split(" ").forEach(function(e){F.on(e,t)}.bind(this))}},F.removeAllListeners(),(j||[]).forEach(function(e){e(t)}),f.tokens.prev=f.tokens.curr=f.tokens.next=f.syntax["(begin)"],k=new u(e),k.on("warning",function(e){Q.apply(null,[e.code,e.line,e.character].concat(e.data))}),k.on("error",function(e){Y.apply(null,[e.code,e.line,e.character].concat(e.data))}),k.on("fatal",function(e){V("E041",e.line,e.from)}),k.on("Identifier",function(e){F.emit("Identifier",e)}),k.on("String",function(e){F.emit("String",e)}),k.on("Number",function(e){F.emit("Number",e)}),k.start();for(var m in n)r.has(n,m)&&I(m,f.tokens.curr);X(),W(M,i||{}),lt.first=!0;try{rt();switch(f.tokens.next.id){case"{":case"[":un();break;default:jt(),f.directive["use strict"]&&!f.option.globalstrict&&!f.option.node&&!f.option.phantom&&K("W097",f.tokens.prev),Bt()}rt(f.tokens.next&&f.tokens.next.value!=="."?"(end)":undefined),w["(blockscope)"].unstack();var b=function(e,t){do{if(typeof t[e]=="string")return t[e]==="unused"?t[e]="var":t[e]==="unction"&&(t[e]="closure"),!0;t=t["(context)"]}while(t);return!1},O=function(e,t){if(!x[e])return;var n=[];for(var r=0;r<x[e].length;r+=1)x[e][r]!==t&&n.push(x[e][r]);n.length===0?delete x[e]:x[e]=n},R=function(e,t,n,r){var i=t.line,s=t.character;r===undefined&&(r=f.option.unused),r===!0&&(r="last-param");var o={vars:["var"],"last-param":["var","param"],strict:["var","param","last-param"]};r&&o[r]&&o[r].indexOf(n)!==-1&&Q("W098",i,s,e),H.push({name:e,line:i,character:s})},U=function(e,t){var n=e[t],i=e["(tokens)"][t];if(t.charAt(0)==="(")return;if(n!=="unused"&&n!=="unction"&&n!=="const")return;if(e["(params)"]&&e["(params)"].indexOf(t)!==-1)return;if(e["(global)"]&&r.has(y,t))return;if(n==="const"&&!Vt(e,t,"unused"))return;R(t,i,"var")};for(o=0;o<c.undefs.length;o+=1)a=c.undefs[o].slice(0),b(a[2].value,a[0])?O(a[2].value,a[2].line):f.option.undef&&K.apply(K,a.slice(1));E.forEach(function(e){if(e["(unusedOption)"]===!1)return;for(var t in e)r.has(e,t)&&U(e,t);if(!e["(params)"])return;var n=e["(params)"].slice(),i=n.pop(),s,o;while(i){s=e[i],o=e["(unusedOption)"]||f.option.unused,o=o===!0?"last-param":o;if(i==="undefined")return;if(s==="unused"||s==="unction")R(i,e["(tokens)"][i],"param",e["(unusedOption)"]);else if(o==="last-param")return;i=n.pop()}});for(var z in g)r.has(g,z)&&!r.has(S,z)&&!r.has(y,z)&&R(z,g[z],"var")}catch($){if(!$||$.name!=="JSHintError")throw $;var J=f.tokens.next||{};c.errors.push({scope:"(main)",raw:$.raw,code:$.code,reason:$.message,line:$.line||J.line,character:$.character||J.from},null)}if(c.scope==="(main)"){n=n||{};for(o=0;o<c.internals.length;o+=1)a=c.internals[o],n.scope=a.elem,cn(a.value,n,i)}return c.errors.length===0};return cn.addModule=function(e){j.push(e)},cn.addModule(l.register),cn.data=function(){var e={functions:[],options:f.option},t=[],n=[],i,s,o,u,a,l;cn.errors.length&&(e.errors=cn.errors),f.jsonMode&&(e.json=!0);for(a in x)r.has(x,a)&&t.push({name:a,line:x[a]});t.length>0&&(e.implieds=t),B.length>0&&(e.urls=B),l=Object.keys(D),l.length>0&&(e.globals=l);for(o=1;o<E.length;o+=1){s=E[o],i={};for(u=0;u<b.length;u+=1)i[b[u]]=[];for(u=0;u<b.length;u+=1)i[b[u]].length===0&&delete i[b[u]];i.name=s["(name)"],i.param=s["(params)"],i.line=s["(line)"],i.character=s["(character)"],i.last=s["(last)"],i.lastcharacter=s["(lastcharacter)"],i.metrics={complexity:s["(metrics)"].ComplexityCount,parameters:(s["(params)"]||[]).length,statements:s["(metrics)"].statementCount},e.functions.push(i)}H.length>0&&(e.unused=H),n=[];for(a in L)if(typeof L[a]=="number"){e.member=L;break}return e},cn.jshint=cn,cn}();typeof n=="object"&&n&&(n.JSHINT=c)},{"./lex.js":4,"./messages.js":5,"./reg.js":6,"./state.js":7,"./style.js":8,"./vars.js":9,events:10,underscore:2}],4:[function(e,t,n){"use strict";function c(){var e=[];return{push:function(t){e.push(t)},check:function(){for(var t=0;t<e.length;++t)e[t]();e.splice(0,e.length)}}}function h(e){var t=e;typeof t=="string"&&(t=t.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n")),t[0]&&t[0].substr(0,2)==="#!"&&(t[0].indexOf("node")!==-1&&(o.option.node=!0),t[0]=""),this.emitter=new i.EventEmitter,this.source=e,this.setLines(t),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input="",this.inComment=!1;for(var n=0;n<o.option.indent;n+=1)o.tab+=" "}var r=e("underscore"),i=e("events"),s=e("./reg.js"),o=e("./state.js").state,u=e("../data/ascii-identifier-data.js"),a=u.asciiIdentifierStartTable,f=u.asciiIdentifierPartTable,l={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateLiteral:10};h.prototype={_lines:[],getLines:function(){return this._lines=o.lines,this._lines},setLines:function(e){this._lines=e,o.lines=this._lines},peek:function(e){return this.input.charAt(e||0)},skip:function(e){e=e||1,this.char+=e,this.input=this.input.slice(e)},on:function(e,t){e.split(" ").forEach(function(e){this.emitter.on(e,t)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(e,t,n,r){n.push(function(){r()&&this.trigger(e,t)}.bind(this))},scanPunctuator:function(){var e=this.peek(),t,n,r;switch(e){case".":if(/^[0-9]$/.test(this.peek(1)))return null;if(this.peek(1)==="."&&this.peek(2)===".")return{type:l.Punctuator,value:"..."};case"(":case")":case";":case",":case"{":case"}":case"[":case"]":case":":case"~":case"?":return{type:l.Punctuator,value:e};case"#":return{type:l.Punctuator,value:e};case"":return null}return t=this.peek(1),n=this.peek(2),r=this.peek(3),e===">"&&t===">"&&n===">"&&r==="="?{type:l.Punctuator,value:">>>="}:e==="="&&t==="="&&n==="="?{type:l.Punctuator,value:"==="}:e==="!"&&t==="="&&n==="="?{type:l.Punctuator,value:"!=="}:e===">"&&t===">"&&n===">"?{type:l.Punctuator,value:">>>"}:e==="<"&&t==="<"&&n==="="?{type:l.Punctuator,value:"<<="}:e===">"&&t===">"&&n==="="?{type:l.Punctuator,value:">>="}:e==="="&&t===">"?{type:l.Punctuator,value:e+t}:e===t&&"+-<>&|".indexOf(e)>=0?{type:l.Punctuator,value:e+t}:"<>=!+-*%&|^".indexOf(e)>=0?t==="="?{type:l.Punctuator,value:e+t}:{type:l.Punctuator,value:e}:e==="/"?t==="="&&/\/=(?!(\S*\/[gim]?))/.test(this.input)?{type:l.Punctuator,value:"/="}:{type:l.Punctuator,value:"/"}:null},scanComments:function(){function s(e,t,n){var r=["jshint","jslint","members","member","globals","global","exported"],i=!1,s=e+t,o="plain";return n=n||{},n.isMultiline&&(s+="*/"),r.forEach(function(n){if(i)return;if(e==="//"&&n!=="jshint")return;t.substr(0,n.length)===n&&(i=!0,e+=n,t=t.substr(n.length)),!i&&t.charAt(0)===" "&&t.substr(1,n.length)===n&&(i=!0,e=e+" "+n,t=t.substr(n.length+1));if(!i)return;switch(n){case"member":o="members";break;case"global":o="globals";break;default:o=n}}),{type:l.Comment,commentType:o,value:s,body:t,isSpecial:i,isMultiline:n.isMultiline||!1,isMalformed:n.isMalformed||!1}}var e=this.peek(),t=this.peek(1),n=this.input.substr(2),r=this.line,i=this.char;if(e==="*"&&t==="/")return this.trigger("error",{code:"E018",line:r,character:i}),this.skip(2),null;if(e!=="/"||t!=="*"&&t!=="/")return null;if(t==="/")return this.skip(this.input.length),s("//",n);var o="";if(t==="*"){this.inComment=!0,this.skip(2);while(this.peek()!=="*"||this.peek(1)!=="/")if(this.peek()===""){o+="\n";if(!this.nextLine())return this.trigger("error",{code:"E017",line:r,character:i}),this.inComment=!1,s("/*",o,{isMultiline:!0,isMalformed:!0})}else o+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,s("/*",o,{isMultiline:!0})}},scanKeyword:function(){var e=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),t=["if","in","do","var","for","new","try","let","this","else","case","void","with","enum","while","break","catch","throw","const","yield","class","super","return","typeof","delete","switch","export","import","default","finally","extends","function","continue","debugger","instanceof"];return e&&t.indexOf(e[0])>=0?{type:l.Keyword,value:e[0]}:null},scanIdentifier:function(){function i(e){return e>256}function s(e){return e>256}function o(e){return/^[0-9a-fA-F]$/.test(e)}var e="",t=0,n,r,u=function(){t+=1;if(this.peek(t)!=="u")return null;var e=this.peek(t+1),n=this.peek(t+2),r=this.peek(t+3),i=this.peek(t+4),u;return o(e)&&o(n)&&o(r)&&o(i)?(u=parseInt(e+n+r+i,16),f[u]||s(u)?(t+=5,"\\u"+e+n+r+i):null):null}.bind(this),c=function(){var e=this.peek(t),n=e.charCodeAt(0);return n===92?u():n<128?a[n]?(t+=1,e):null:i(n)?(t+=1,e):null}.bind(this),h=function(){var e=this.peek(t),n=e.charCodeAt(0);return n===92?u():n<128?f[n]?(t+=1,e):null:s(n)?(t+=1,e):null}.bind(this);r=c();if(r===null)return null;e=r;for(;;){r=h();if(r===null)break;e+=r}switch(e){case"true":case"false":n=l.BooleanLiteral;break;case"null":n=l.NullLiteral;break;default:n=l.Identifier}return{type:n,value:e}},scanNumericLiteral:function(){function s(e){return/^[0-9]$/.test(e)}function o(e){return/^[0-7]$/.test(e)}function u(e){return/^[0-9a-fA-F]$/.test(e)}function a(e){return e==="$"||e==="_"||e==="\\"||e>="a"&&e<="z"||e>="A"&&e<="Z"}var e=0,t="",n=this.input.length,r=this.peek(e),i;if(r!=="."&&!s(r))return null;if(r!=="."){t=this.peek(e),e+=1,r=this.peek(e);if(t==="0"){if(r==="x"||r==="X"){e+=1,t+=r;while(e<n){r=this.peek(e);if(!u(r))break;t+=r,e+=1}if(t.length<=2)return{type:l.NumericLiteral,value:t,isMalformed:!0};if(e<n){r=this.peek(e);if(a(r))return null}return{type:l.NumericLiteral,value:t,base:16,isMalformed:!1}}if(o(r)){e+=1,t+=r,i=!1;while(e<n){r=this.peek(e);if(s(r))i=!0;else if(!o(r))break;t+=r,e+=1}if(e<n){r=this.peek(e);if(a(r))return null}return{type:l.NumericLiteral,value:t,base:8,isMalformed:!1}}s(r)&&(e+=1,t+=r)}while(e<n){r=this.peek(e);if(!s(r))break;t+=r,e+=1}}if(r==="."){t+=r,e+=1;while(e<n){r=this.peek(e);if(!s(r))break;t+=r,e+=1}}if(r==="e"||r==="E"){t+=r,e+=1,r=this.peek(e);if(r==="+"||r==="-")t+=this.peek(e),e+=1;r=this.peek(e);if(!s(r))return null;t+=r,e+=1;while(e<n){r=this.peek(e);if(!s(r))break;t+=r,e+=1}}if(e<n){r=this.peek(e);if(a(r))return null}return{type:l.NumericLiteral,value:t,base:10,isMalformed:!isFinite(t)}},scanTemplateLiteral:function(){if(!o.option.esnext||this.peek()!=="`")return null;var e=this.line,t=this.char,n=1,r="";this.skip();while(this.peek()!=="`"){while(this.peek()===""){if(!this.nextLine())return this.trigger("error",{code:"E052",line:e,character:t}),{type:l.TemplateLiteral,value:r,isUnclosed:!0};r+="\n"}var i=this.peek();this.skip(n),r+=i}return this.skip(),{type:l.TemplateLiteral,value:r,isUnclosed:!1}},scanStringLiteral:function(e){var t=this.peek();if(t!=='"'&&t!=="'")return null;this.triggerAsync("warning",{code:"W108",line:this.line,character:this.char},e,function(){return o.jsonMode&&t!=='"'});var n="",r=this.line,i=this.char,s=!1;this.skip();e:while(this.peek()!==t){while(this.peek()===""){s?(s=!1,this.triggerAsync("warning",{code:"W043",line:this.line,character:this.char},e,function(){return!o.option.multistr}),this.triggerAsync("warning",{code:"W042",line:this.line,character:this.char},e,function(){return o.jsonMode&&o.option.multistr})):this.trigger("warning",{code:"W112",line:this.line,character:this.char});if(!this.nextLine())return this.trigger("error",{code:"E029",line:r,character:i}),{type:l.StringLiteral,value:n,isUnclosed:!0,quote:t};if(this.peek()==t)break e}s=!1;var u=this.peek(),a=1;u<" "&&this.trigger("warning",{code:"W113",line:this.line,character:this.char,data:["<non-printable>"]});if(u==="\\"){this.skip(),u=this.peek();switch(u){case"'":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\'"]},e,function(){return o.jsonMode});break;case"b":u="\\b";break;case"f":u="\\f";break;case"n":u="\\n";break;case"r":u="\\r";break;case"t":u="\\t";break;case"0":u="\\0";var f=parseInt(this.peek(1),10);this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return f>=0&&f<=7&&o.directive["use strict"]});break;case"u":u=String.fromCharCode(parseInt(this.input.substr(1,4),16)),a=5;break;case"v":this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\v"]},e,function(){return o.jsonMode}),u=" ";break;case"x":var c=parseInt(this.input.substr(1,2),16);this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["\\x-"]},e,function(){return o.jsonMode}),u=String.fromCharCode(c),a=3;break;case"\\":u="\\\\";break;case'"':u='\\"';break;case"/":break;case"":s=!0,u="";break;case"!":if(n.slice(n.length-2)==="<")break;default:this.trigger("warning",{code:"W044",line:this.line,character:this.char})}}n+=u,this.skip(a)}return this.skip(),{type:l.StringLiteral,value:n,isUnclosed:!1,quote:t}},scanRegExp:function(){var e=0,t=this.input.length,n=this.peek(),r=n,i="",s=[],o=!1,u=!1,a,f=function(){n<" "&&(o=!0,this.trigger("warning",{code:"W048",line:this.line,character:this.char})),n==="<"&&(o=!0,this.trigger("warning",{code:"W049",line:this.line,character:this.char,data:[n]}))}.bind(this);if(!this.prereg||n!=="/")return null;e+=1,a=!1;while(e<t){n=this.peek(e),r+=n,i+=n;if(u){n==="]"&&(this.peek(e-1)!=="\\"||this.peek(e-2)==="\\")&&(u=!1),n==="\\"&&(e+=1,n=this.peek(e),i+=n,r+=n,f()),e+=1;continue}if(n==="\\"){e+=1,n=this.peek(e),i+=n,r+=n,f();if(n==="/"){e+=1;continue}if(n==="["){e+=1;continue}}if(n==="["){u=!0,e+=1;continue}if(n==="/"){i=i.substr(0,i.length-1),a=!0,e+=1;break}e+=1}if(!a)return this.trigger("error",{code:"E015",line:this.line,character:this.from}),void this.trigger("fatal",{line:this.line,from:this.from});while(e<t){n=this.peek(e);if(!/[gim]/.test(n))break;s.push(n),r+=n,e+=1}try{new RegExp(i,s.join(""))}catch(c){o=!0,this.trigger("error",{code:"E016",line:this.line,character:this.char,data:[c.message]})}return{type:l.RegExp,value:r,flags:s,isMalformed:o}},scanNonBreakingSpaces:function(){return o.option.nonbsp?this.input.search(/(\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(s.unsafeChars)},next:function(e){this.from=this.char;var t;if(/\s/.test(this.peek())){t=this.char;while(/\s/.test(this.peek()))this.from+=1,this.skip()}var n=this.scanComments()||this.scanStringLiteral(e)||this.scanTemplateLiteral();return n?n:(n=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),n?(this.skip(n.value.length),n):null)},nextLine:function(){var e;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var t=this.input.trim(),n=function(){return r.some(arguments,function(e){return t.indexOf(e)===0})},i=function(){return r.some(arguments,function(e){return t.indexOf(e,t.length-e.length)!==-1})};o.ignoreLinterErrors===!0&&!n("/*","//")&&!i("*/")&&(this.input=""),e=this.scanNonBreakingSpaces(),e>=0&&this.trigger("warning",{code:"W125",line:this.line,character:e+1}),this.input=this.input.replace(/\t/g,o.tab),e=this.scanUnsafeChars(),e>=0&&this.trigger("warning",{code:"W100",line:this.line,character:e});if(o.option.maxlen&&o.option.maxlen<this.input.length){var u=this.inComment||n.call(t,"//")||n.call(t,"/*"),a=!u||!s.maxlenException.test(t);a&&this.trigger("warning",{code:"W101",line:this.line,character:this.input.length})}return!0},start:function(){this.nextLine()},token:function(){function n(e,t){if(!e.reserved)return!1;var n=e.meta;if(n&&n.isFutureReservedWord&&o.option.inES5()){if(!n.es5)return!1;if(n.strictOnly&&!o.option.strict&&!o.directive["use strict"])return!1;if(t)return!1}return!0}var e=c(),t,i=function(t,i,s){var u;t!=="(endline)"&&t!=="(end)"&&(this.prereg=!1);if(t==="(punctuator)"){switch(i){case".":case")":case"~":case"#":case"]":this.prereg=!1;break;default:this.prereg=!0}u=Object.create(o.syntax[i]||o.syntax["(error)"])}if(t==="(identifier)"){if(i==="return"||i==="case"||i==="typeof")this.prereg=!0;r.has(o.syntax,i)&&(u=Object.create(o.syntax[i]||o.syntax["(error)"]),n(u,s&&t==="(identifier)")||(u=null))}return u||(u=Object.create(o.syntax[t])),u.identifier=t==="(identifier)",u.type=u.type||t,u.value=i,u.line=this.line,u.character=this.char,u.from=this.from,s&&u.identifier&&(u.isProperty=s),u.check=e.check,u}.bind(this);for(;;){if(!this.input.length)return i(this.nextLine()?"(endline)":"(end)","");t=this.next(e);if(!t){this.input.length&&(this.trigger("error",{code:"E024",line:this.line,character:this.char,data:[this.peek()]}),this.input="");continue}switch(t.type){case l.StringLiteral:return this.triggerAsync("String",{line:this.line,"char":this.char,from:this.from,value:t.value,quote:t.quote},e,function(){return!0}),i("(string)",t.value);case l.TemplateLiteral:return this.trigger("Template",{line:this.line,"char":this.char,from:this.from,value:t.value}),i("(template)",t.value);case l.Identifier:this.trigger("Identifier",{line:this.line,"char":this.char,from:this.form,name:t.value,isProperty:o.tokens.curr.id==="."});case l.Keyword:case l.NullLiteral:case l.BooleanLiteral:return i("(identifier)",t.value,o.tokens.curr.id===".");case l.NumericLiteral:return t.isMalformed&&this.trigger("warning",{code:"W045",line:this.line,character:this.char,data:[t.value]}),this.triggerAsync("warning",{code:"W114",line:this.line,character:this.char,data:["0x-"]},e,function(){return t.base===16&&o.jsonMode}),this.triggerAsync("warning",{code:"W115",line:this.line,character:this.char},e,function(){return o.directive["use strict"]&&t.base===8}),this.trigger("Number",{line:this.line,"char":this.char,from:this.from,value:t.value,base:t.base,isMalformed:t.malformed}),i("(number)",t.value);case l.RegExp:return i("(regexp)",t.value);case l.Comment:o.tokens.curr.comment=!0;if(t.isSpecial)return{id:"(comment)",value:t.value,body:t.body,type:t.commentType,isSpecial:t.isSpecial,line:this.line,character:this.char,from:this.from};break;case"":break;default:return i("(punctuator)",t.value)}}}},n.Lexer=h},{"../data/ascii-identifier-data.js":1,"./reg.js":6,"./state.js":7,events:10,underscore:2}],5:[function(e,t,n){"use strict";var r=e("underscore"),i={E001:"Bad option: '{a}'.",E002:"Bad option value.",E003:"Expected a JSON value.",E004:"Input is neither a string nor an array of strings.",E005:"Input is empty.",E006:"Unexpected early end of program.",E007:'Missing "use strict" statement.',E008:"Strict violation.",E009:"Option 'validthis' can't be used in a global scope.",E010:"'with' is not allowed in strict mode.",E011:"const '{a}' has already been declared.",E012:"const '{a}' is initialized to 'undefined'.",E013:"Attempting to override '{a}' which is a constant.",E014:"A regular expression literal can be confused with '/='.",E015:"Unclosed regular expression.",E016:"Invalid regular expression.",E017:"Unclosed comment.",E018:"Unbegun comment.",E019:"Unmatched '{a}'.",E020:"Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",E021:"Expected '{a}' and instead saw '{b}'.",E022:"Line breaking error '{a}'.",E023:"Missing '{a}'.",E024:"Unexpected '{a}'.",E025:"Missing ':' on a case clause.",E026:"Missing '}' to match '{' from line {a}.",E027:"Missing ']' to match '[' from line {a}.",E028:"Illegal comma.",E029:"Unclosed string.",E030:"Expected an identifier and instead saw '{a}'.",E031:"Bad assignment.",E032:"Expected a small integer or 'false' and instead saw '{a}'.",E033:"Expected an operator and instead saw '{a}'.",E034:"get/set are ES5 features.",E035:"Missing property name.",E036:"Expected to see a statement and instead saw a block.",E037:null,E038:null,E039:"Function declarations are not invocable. Wrap the whole function invocation in parens.",E040:"Each value should have its own case label.",E041:"Unrecoverable syntax error.",E042:"Stopping.",E043:"Too many errors.",E044:null,E045:"Invalid for each loop.",E046:"A yield statement shall be within a generator function (with syntax: `function*`)",E047:null,E048:"Let declaration not directly within block.",E049:"A {a} cannot be named '{b}'.",E050:"Mozilla requires the yield expression to be parenthesized here.",E051:"Regular parameters cannot come after default parameters.",E052:"Unclosed template literal."},s={W001:"'hasOwnProperty' is a really bad name.",W002:"Value of '{a}' may be overwritten in IE 8 and earlier.",W003:"'{a}' was used before it was defined.",W004:"'{a}' is already defined.",W005:"A dot following a number can be confused with a decimal point.",W006:"Confusing minuses.",W007:"Confusing plusses.",W008:"A leading decimal point can be confused with a dot: '{a}'.",W009:"The array literal notation [] is preferable.",W010:"The object literal notation {} is preferable.",W011:null,W012:null,W013:null,W014:"Bad line breaking before '{a}'.",W015:null,W016:"Unexpected use of '{a}'.",W017:"Bad operand.",W018:"Confusing use of '{a}'.",W019:"Use the isNaN function to compare with NaN.",W020:"Read only.",W021:"'{a}' is a function.",W022:"Do not assign to the exception parameter.",W023:"Expected an identifier in an assignment and instead saw a function invocation.",W024:"Expected an identifier and instead saw '{a}' (a reserved word).",W025:"Missing name in function declaration.",W026:"Inner functions should be listed at the top of the outer function.",W027:"Unreachable '{a}' after '{b}'.",W028:"Label '{a}' on {b} statement.",W030:"Expected an assignment or function call and instead saw an expression.",W031:"Do not use 'new' for side effects.",W032:"Unnecessary semicolon.",W033:"Missing semicolon.",W034:'Unnecessary directive "{a}".',W035:"Empty block.",W036:"Unexpected /*member '{a}'.",W037:"'{a}' is a statement label.",W038:"'{a}' used out of scope.",W039:"'{a}' is not allowed.",W040:"Possible strict violation.",W041:"Use '{a}' to compare with '{b}'.",W042:"Avoid EOL escaping.",W043:"Bad escaping of EOL. Use option multistr if needed.",W044:"Bad or unnecessary escaping.",W045:"Bad number '{a}'.",W046:"Don't use extra leading zeros '{a}'.",W047:"A trailing decimal point can be confused with a dot: '{a}'.",W048:"Unexpected control character in regular expression.",W049:"Unexpected escaped character '{a}' in regular expression.",W050:"JavaScript URL.",W051:"Variables should not be deleted.",W052:"Unexpected '{a}'.",W053:"Do not use {a} as a constructor.",W054:"The Function constructor is a form of eval.",W055:"A constructor name should start with an uppercase letter.",W056:"Bad constructor.",W057:"Weird construction. Is 'new' necessary?",W058:"Missing '()' invoking a constructor.",W059:"Avoid arguments.{a}.",W060:"document.write can be a form of eval.",W061:"eval can be harmful.",W062:"Wrap an immediate function invocation in parens to assist the reader in understanding that the expression is the result of a function, and not the function itself.",W063:"Math is not a function.",W064:"Missing 'new' prefix when invoking a constructor.",W065:"Missing radix parameter.",W066:"Implied eval. Consider passing a function instead of a string.",W067:"Bad invocation.",W068:"Wrapping non-IIFE function literals in parens is unnecessary.",W069:"['{a}'] is better written in dot notation.",W070:"Extra comma. (it breaks older versions of IE)",W071:"This function has too many statements. ({a})",W072:"This function has too many parameters. ({a})",W073:"Blocks are nested too deeply. ({a})",W074:"This function's cyclomatic complexity is too high. ({a})",W075:"Duplicate key '{a}'.",W076:"Unexpected parameter '{a}' in get {b} function.",W077:"Expected a single parameter in set {a} function.",W078:"Setter is defined without getter.",W079:"Redefinition of '{a}'.",W080:"It's not necessary to initialize '{a}' to 'undefined'.",W081:null,W082:"Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.",W083:"Don't make functions within a loop.",W084:"Assignment in conditional expression",W085:"Don't use 'with'.",W086:"Expected a 'break' statement before '{a}'.",W087:"Forgotten 'debugger' statement?",W088:"Creating global 'for' variable. Should be 'for (var {a} ...'.",W089:"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",W090:"'{a}' is not a statement label.",W091:"'{a}' is out of scope.",W093:"Did you mean to return a conditional instead of an assignment?",W094:"Unexpected comma.",W095:"Expected a string and instead saw {a}.",W096:"The '{a}' key may produce unexpected results.",W097:'Use the function form of "use strict".',W098:"'{a}' is defined but never used.",W099:null,W100:"This character may get silently deleted by one or more browsers.",W101:"Line is too long.",W102:null,W103:"The '{a}' property is deprecated.",W104:"'{a}' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).",W105:"Unexpected {a} in '{b}'.",W106:"Identifier '{a}' is not in camel case.",W107:"Script URL.",W108:"Strings must use doublequote.",W109:"Strings must use singlequote.",W110:"Mixed double and single quotes.",W112:"Unclosed string.",W113:"Control character in string: {a}.",W114:"Avoid {a}.",W115:"Octal literals are not allowed in strict mode.",W116:"Expected '{a}' and instead saw '{b}'.",W117:"'{a}' is not defined.",W118:"'{a}' is only available in Mozilla JavaScript extensions (use moz option).",W119:"'{a}' is only available in ES6 (use esnext option).",W120:"You might be leaking a variable ({a}) here.",W121:"Extending prototype of native object: '{a}'.",W122:"Invalid typeof value '{a}'",W123:"'{a}' is already defined in outer scope.",W124:"A generator function shall contain a yield statement.",W125:"This line contains non-breaking spaces: http://jshint.com/doc/options/#nonbsp"},o={I001:"Comma warnings can be turned off with 'laxcomma'.",I002:null,I003:"ES5 option is now set per default"};n.errors={},n.warnings={},n.info={},r.each(i,function(e,t){n.errors[t]={code:t,desc:e}}),r.each(s,function(e,t){n.warnings[t]={code:t,desc:e}}),r.each(o,function(e,t){n.info[t]={code:t,desc:e}})},{underscore:2}],6:[function(e,t,n){"use string";n.unsafeString=/@cc|<\/?|script|\]\s*\]|<\s*!|&lt/i,n.unsafeChars=/[\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEsc=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,n.needEscGlobal=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n.starSlash=/\*\//,n.identifier=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,n.javascriptURL=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i,n.fallsThrough=/^\s*\/\*\s*falls?\sthrough\s*\*\/\s*$/,n.maxlenException=/^(?:(?:\/\/|\/\*|\*) ?)?[^ ]+$/},{}],7:[function(e,t,n){"use strict";var r={syntax:{},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab="",this.cache={},this.ignoredLines={},this.ignoreLinterErrors=!1}};n.state=r},{}],8:[function(e,t,n){"use strict";n.register=function(e){e.on("Identifier",function(n){if(e.getOption("proto"))return;n.name==="__proto__"&&e.warn("W103",{line:n.line,"char":n.char,data:[n.name]})}),e.on("Identifier",function(n){if(e.getOption("iterator"))return;n.name==="__iterator__"&&e.warn("W104",{line:n.line,"char":n.char,data:[n.name]})}),e.on("Identifier",function(n){if(!e.getOption("camelcase"))return;n.name.replace(/^_+|_+$/g,"").indexOf("_")>-1&&!n.name.match(/^[A-Z0-9_]*$/)&&e.warn("W106",{line:n.line,"char":n.from,data:[n.name]})}),e.on("String",function(n){var r=e.getOption("quotmark"),i;if(!r)return;r==="single"&&n.quote!=="'"&&(i="W109"),r==="double"&&n.quote!=='"'&&(i="W108"),r===!0&&(e.getCache("quotmark")||e.setCache("quotmark",n.quote),e.getCache("quotmark")!==n.quote&&(i="W110")),i&&e.warn(i,{line:n.line,"char":n.char})}),e.on("Number",function(n){n.value.charAt(0)==="."&&e.warn("W008",{line:n.line,"char":n.char,data:[n.value]}),n.value.substr(n.value.length-1)==="."&&e.warn("W047",{line:n.line,"char":n.char,data:[n.value]}),/^00+/.test(n.value)&&e.warn("W046",{line:n.line,"char":n.char,data:[n.value]})}),e.on("String",function(n){var r=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\s*:/i;if(e.getOption("scripturl"))return;r.test(n.value)&&e.warn("W107",{line:n.line,"char":n.char})})}},{}],9:[function(e,t,n){"use strict";n.reservedVars={arguments:!1,NaN:!1},n.ecmaIdentifiers={Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,JSON:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},n.newEcmaIdentifiers={Set:!1,Map:!1,WeakMap:!1,WeakSet:!1,Proxy:!1,Promise:!1},n.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,document:!1,Element:!1,ElementTimeControl:!1,event:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,print:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,TimeEvent:!1,top:!1,URL:!1,WebSocket:!1,window:!1,Worker:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},n.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},n.worker={importScripts:!0,postMessage:!0,self:!0},n.nonstandard={escape:!1,unescape:!1},n.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},n.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,require:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},n.phantom={phantom:!0,require:!0,WebPage:!0,console:!0,exports:!0},n.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,"throws":!1},n.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},n.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},n.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},n.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},n.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},n.jquery={$:!1,jQuery:!1},n.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},n.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},n.yui={YUI:!1,Y:!1,YUI_config:!1},n.mocha={describe:!1,it:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1},n.jasmine={jasmine:!1,describe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1}},{}],10:[function(e,t,n){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||undefined}function i(e){return typeof e=="function"}function s(e){return typeof e=="number"}function o(e){return typeof e=="object"&&e!==null}function u(e){return e===void 0}t.exports=r,r.EventEmitter=r,r.prototype._events=undefined,r.prototype._maxListeners=undefined,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},r.prototype.emit=function(e){var t,n,r,s,a,f;this._events||(this._events={});if(e==="error")if(!this._events.error||o(this._events.error)&&!this._events.error.length)throw t=arguments[1],t instanceof Error?t:TypeError('Uncaught, unspecified "error" event.');n=this._events[e];if(u(n))return!1;if(i(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];n.apply(this,s)}else if(o(n)){r=arguments.length,s=new Array(r-1);for(a=1;a<r;a++)s[a-1]=arguments[a];f=n.slice(),r=f.length;for(a=0;a<r;a++)f[a].apply(this,s)}return!0},r.prototype.addListener=function(e,t){var n;if(!i(t))throw TypeError("listener must be a function");this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?o(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t;if(o(this._events[e])&&!this._events[e].warned){var n;u(this._maxListeners)?n=r.defaultMaxListeners:n=this._maxListeners,n&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},r.prototype.removeListener=function(e,t){var n,r,s,u;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;n=this._events[e],s=n.length,r=-1;if(n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(u=s;u-->0;)if(n[u]===t||n[u].listener&&n[u].listener===t){r=u;break}if(r<0)return this;n.length===1?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[e]&&delete this._events[e],this;if(arguments.length===0){for(t in this._events){if(t==="removeListener")continue;this.removeAllListeners(t)}return this.removeAllListeners("removeListener"),this._events={},this}n=this._events[e];if(i(n))this.removeListener(e,n);else while(n.length)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){var t;return!this._events||!this._events[e]?t=[]:i(this._events[e])?t=[this._events[e]]:t=this._events[e].slice(),t},r.listenerCount=function(e,t){var n;return!e._events||!e._events[t]?n=0:i(e._events[t])?n=1:n=e._events[t].length,n}},{}]},{},[3])(3)}),define("ace/mode/javascript_worker",["require","exports","module","ace/lib/oop","ace/worker/mirror","ace/mode/javascript/jshint"],function(require,exports,module){"use strict";function startRegex(e){return RegExp("^("+e.join("|")+")")}var oop=require("../lib/oop"),Mirror=require("../worker/mirror").Mirror,lint=require("./javascript/jshint").JSHINT,disabledWarningsRe=startRegex(["Bad for in variable '(.+)'.",'Missing "use strict"']),errorsRe=startRegex(["Unexpected","Expected ","Confusing (plus|minus)","\\{a\\} unterminated regular expression","Unclosed ","Unmatched ","Unbegun comment","Bad invocation","Missing space after","Missing operator at"]),infoRe=startRegex(["Expected an assignment","Bad escapement of EOL","Unexpected comma","Unexpected space","Missing radix parameter.","A leading decimal point can","\\['{a}'\\] is better written in dot notation.","'{a}' used out of scope"]),JavaScriptWorker=exports.JavaScriptWorker=function(e){Mirror.call(this,e),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(e){this.options=e||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(e){oop.mixin(this.options,e),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval("throw 0;"+str)}catch(e){if(e===0)return!0}return!1},this.onUpdate=function(){var e=this.doc.getValue();e=e.replace(/^#!.*\n/,"\n");if(!e){this.sender.emit("jslint",[]);return}var t=[],n=this.isValidJS(e)?"warning":"error";lint(e,this.options);var r=lint.errors,i=!1;for(var s=0;s<r.length;s++){var o=r[s];if(!o)continue;var u=o.raw,a="warning";if(u=="Missing semicolon."){var f=o.evidence.substr(o.character);f=f.charAt(f.search(/\S/)),n=="error"&&f&&/[\w\d{(['"]/.test(f)?(o.reason='Missing ";" before statement',a="error"):a="info"}else{if(disabledWarningsRe.test(u))continue;infoRe.test(u)?a="info":errorsRe.test(u)?(i=!0,a=n):u=="'{a}' is not defined."?a="warning":u=="'{a}' is defined but never used."&&(a="info")}t.push({row:o.line-1,column:o.character-1,text:o.reason,type:a,raw:u}),i}this.sender.emit("jslint",t)}}.call(JavaScriptWorker.prototype)}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n \f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}) \ No newline at end of file
diff --git a/priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js b/priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js
deleted file mode 100644
index a123f92..0000000
--- a/priv/static/metrics-graphics-3.0-alpha3/examples/js/main.js
+++ /dev/null
@@ -1,125 +0,0 @@
-var theme = 'light';
-
-(function() {
- 'use strict';
-
- //set the active pill and section on first load
- var section = (document.location.hash) ? document.location.hash.slice(1) : 'lines';
-
- $('#trunk').load('charts/' + section + '.htm', function() {
- $('pre code').each(function(i, block) {
- hljs.highlightBlock(block);
- });
- });
-
- $('.examples li a#goto-' + section).addClass('active');
-
- //handle mouse clicks and so on
- assignEventListeners();
-
- function assignEventListeners() {
- $('ul.examples li a.pill').on('click', function(event) {
- event.preventDefault();
- $('ul.examples li a.pill').removeClass('active');
- $(this).addClass('active');
-
- var section = $(this).attr('id').slice(5);
- $('#trunk').load('charts/' + section + '.htm', function() {
- $('pre code').each(function(i, block) {
- hljs.highlightBlock(block);
- });
- });
-
- document.location.hash = section;
-
- return false;
- })
-
- $('#dark-css').on('click', function () {
- theme = 'dark';
-
- $('.missing')
- .css('background-image', 'url(images/missing-data-dark.png)');
-
- $('.wip')
- .css('background-color', '#3b3b3b');
-
- $('.trunk-section')
- .css('border-top-color', '#5e5e5e');
-
- $('.mg-missing-background')
- .css('stroke', '#ccc');
-
- $('.head ul li a.pill').removeClass('active');
- $(this).toggleClass('active');
- $('#dark').attr({href : 'css/metricsgraphics-demo-dark.css'});
- $('#dark-code').attr({href : 'css/railscasts.css'});
- $('#accessible').attr({href : ''});
-
- return false;
- });
-
- $('#light-css').on('click', function () {
- theme = 'light';
-
- $('.missing')
- .css('background-image', 'url(images/missing-data.png)');
-
- $('.wip')
- .css('background-color', '#f1f1f1');
-
- $('.trunk-section')
- .css('border-top-color', '#ccc');
-
- $('.mg-missing-background')
- .css('stroke', 'blue');
-
- $('.head ul li a.pill').removeClass('active');
- $(this).toggleClass('active');
- $('#dark').attr({href : ''});
- $('#dark-code').attr({href : ''});
- $('#accessible').attr({href : ''});
-
- return false;
- });
-
- $('#accessible-css').on('click', function () {
- $('.head ul li a.pill').removeClass('active');
- $(this).toggleClass('active');
- $('#accessible').attr({href : 'css/metricsgraphics-demo-accessible.css'});
-
- return false;
- });
- }
-
- // replace all SVG images with inline SVG
- // http://stackoverflow.com/questions/11978995/how-to-change-color-of-svg
- // -image-using-css-jquery-svg-image-replacement
- $('img.svg').each(function() {
- var $img = jQuery(this);
- var imgID = $img.attr('id');
- var imgClass = $img.attr('class');
- var imgURL = $img.attr('src');
-
- $.get(imgURL, function(data) {
- // Get the SVG tag, ignore the rest
- var $svg = jQuery(data).find('svg');
-
- // Add replaced image's ID to the new SVG
- if (typeof imgID !== 'undefined') {
- $svg = $svg.attr('id', imgID);
- }
- // Add replaced image's classes to the new SVG
- if (typeof imgClass !== 'undefined') {
- $svg = $svg.attr('class', imgClass + ' replaced-svg');
- }
-
- // Remove any invalid XML tags as per http://validator.w3.org
- $svg = $svg.removeAttr('xmlns:a');
-
- // Replace image with new SVG
- $img.replaceWith($svg);
-
- }, 'xml');
- });
-})();