Showing preview only (4,775K chars total). Download the full file or copy to clipboard to get everything.
Repository: leeoniya/uPlot
Branch: master
Commit: 976b207e0132
Files: 154
Total size: 4.5 MB
Directory structure:
gitextract_i61lb1k0/
├── .editorconfig
├── .github/
│ └── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
├── bench/
│ ├── ApexCharts.html
│ ├── CanvasJS.html
│ ├── Chart.js4-sine-stream.html
│ ├── Chart.js4.html
│ ├── ECharts5-sine-stream.html
│ ├── ECharts5.html
│ ├── Flot.html
│ ├── Highcharts.html
│ ├── LightningChart.html
│ ├── Plotly.js.html
│ ├── ZingChart.html
│ ├── amCharts5.html
│ ├── data.json
│ ├── dvxCharts.html
│ ├── dygraphs.html
│ ├── fmtDate.js
│ ├── lightweight-charts.html
│ ├── results.json
│ ├── table.js
│ ├── table.md
│ ├── uPlot-10M.html
│ ├── uPlot-600-series.html
│ └── uPlot.html
├── demos/
│ ├── add-del-series.html
│ ├── align-data.html
│ ├── annotations.html
│ ├── arcsinh-scales.html
│ ├── area-fill.html
│ ├── axis-autosize.html
│ ├── axis-control.html
│ ├── axis-indicators.html
│ ├── bars-grouped-stacked.html
│ ├── bars-values-autosize.html
│ ├── box-whisker.html
│ ├── candlestick-ohlc.html
│ ├── cursor-bind.html
│ ├── cursor-snap.html
│ ├── cursor-tooltip.html
│ ├── custom-scales.html
│ ├── data/
│ │ ├── AAPL.csv
│ │ ├── AMD.csv
│ │ ├── AMZN.csv
│ │ ├── CSCO.csv
│ │ ├── FB.csv
│ │ ├── MSFT.csv
│ │ ├── QCOM.csv
│ │ ├── SBUX.csv
│ │ ├── TSLA.csv
│ │ ├── ZNGA.csv
│ │ ├── ms_spectrum.csv
│ │ ├── results.json
│ │ ├── rustc-perf.json
│ │ ├── sparse.json
│ │ ├── taxi-trips.json
│ │ └── traffic.json
│ ├── data-smoothing.html
│ ├── dependent-scale.html
│ ├── draw-hooks.html
│ ├── focus-cursor.html
│ ├── gradients.html
│ ├── grid-over-series.html
│ ├── grouped-bars.js
│ ├── high-low-bands.html
│ ├── index.html
│ ├── latency-heatmap.html
│ ├── lib/
│ │ ├── ASAP-optimized.js
│ │ ├── ASAP-simple.js
│ │ ├── distr.js
│ │ ├── quadtree.js
│ │ ├── rand.js
│ │ ├── randomWalk.js
│ │ ├── sgg.js
│ │ └── stats.js
│ ├── line-paths.html
│ ├── log-scales.html
│ ├── log-scales2.html
│ ├── mass-spectrum.html
│ ├── measure-datums.html
│ ├── missing-data.html
│ ├── months-ru.html
│ ├── months.html
│ ├── multi-bars.html
│ ├── nearest-non-null.html
│ ├── nice-scale.html
│ ├── no-data.html
│ ├── path-gap-clip.html
│ ├── pixel-align.html
│ ├── points.html
│ ├── resize.html
│ ├── scale-padding.html
│ ├── scales-dir-ori.html
│ ├── scatter.html
│ ├── scroll-sync.html
│ ├── sine-stream.html
│ ├── soft-minmax.html
│ ├── sparklines-bars.html
│ ├── sparklines.html
│ ├── sparse.html
│ ├── stack.js
│ ├── stacked-series.html
│ ├── stream-data.html
│ ├── svg-image.html
│ ├── sync-cursor.html
│ ├── sync-y-zero.html
│ ├── thin-bars-stroke-fill.html
│ ├── time-periods.html
│ ├── timeline-discrete.html
│ ├── timeseries-discrete.html
│ ├── timezones-dst.html
│ ├── tooltips-closest.html
│ ├── tooltips.html
│ ├── trendlines.html
│ ├── update-cursor-select-resize.html
│ ├── wind-direction.html
│ ├── y-scale-drag.html
│ ├── y-shifted-series.html
│ ├── zoom-fetch.html
│ ├── zoom-ranger-grips.html
│ ├── zoom-ranger-xy.html
│ ├── zoom-ranger.html
│ ├── zoom-touch.html
│ ├── zoom-variations.html
│ └── zoom-wheel.html
├── dist/
│ ├── uPlot.cjs.js
│ ├── uPlot.d.ts
│ ├── uPlot.esm.js
│ └── uPlot.iife.js
├── docs/
│ └── README.md
├── jsconfig.json
├── package.json
├── rollup.config.js
└── src/
├── dom.js
├── domClasses.js
├── feats.js
├── fmtDate.js
├── opts.js
├── paths/
│ ├── bars.js
│ ├── catmullRomCentrip.js
│ ├── linear.js
│ ├── monotoneCubic.js
│ ├── points.js
│ ├── spline.js
│ ├── stepped.js
│ └── utils.js
├── strings.js
├── sync.js
├── uPlot.css
├── uPlot.js
└── utils.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
root = true
[*]
indent_style = tab
indent_size = 4
end_of_line = lf
charset = utf-8
insert_final_newline = true
================================================
FILE: .github/FUNDING.yml
================================================
github: leeoniya
================================================
FILE: .gitignore
================================================
node_modules
================================================
FILE: LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2022 Leon Sorokin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: README.md
================================================
<h2><img src="uPlot.svg" alt="uPlot logo" height="36" align="top"> μPlot</h2>
A small ([~50 KB min](https://github.com/leeoniya/uPlot/tree/master/dist/uPlot.iife.min.js)), [fast](#performance) chart for time series, lines, areas, ohlc & bars _(MIT Licensed)_
---
### Introduction
uPlot is a [fast, memory-efficient](#performance) [Canvas 2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D)-based chart for plotting [time series](https://en.wikipedia.org/wiki/Time_series), lines, areas, ohlc & bars. From a cold start it can create an [interactive chart containing 166,650 data points](https://leeoniya.github.io/uPlot/bench/uPlot.html) in 25ms, scaling linearly at [~100,000 pts/ms](https://leeoniya.github.io/uPlot/bench/uPlot-10M.html) afterwards. In addition to fast initial render, the zooming and cursor performance is by far the best of any similar charting lib; at ~50 KB, it's likely the smallest and fastest time series plotter that doesn't make use of [context-limited](https://bugs.chromium.org/p/chromium/issues/detail?id=771792) WebGL shaders or WASM, both of which have much higher startup cost and code size.
In most sane cases, you can live-stream data with uPlot at 60fps, though it may begin to struggle beyond 100k in-view points.
When [updating 3,600 points at 60fps](https://leeoniya.github.io/uPlot/demos/sine-stream.html), uPlot uses 10% CPU and 12.3MB RAM.
The next fastest Canvas-based libs (Chart.js and ECharts) use [40% / 77MB](https://leeoniya.github.io/uPlot/bench/Chart.js4-sine-stream.html) and [70% / 85MB](https://leeoniya.github.io/uPlot/bench/ECharts5-sine-stream.html), respectively.
If you need to stream, give [unclog your rendering pipeline](#unclog-your-rendering-pipeline) a try.
If that does not help, consider reducing the update frequency or switch to a WebGL/WebGPU solution, like [danchitnis/webgl-plot](https://github.com/danchitnis/webgl-plot), [huww98/TimeChart](https://github.com/huww98/TimeChart), [epezent/implot](https://github.com/epezent/implot).
---

---
### Features
- Multiple series w/toggle
- Multiple y-axes, scales & grids
- Temporal or numeric x-axis
- Linear, uniform or [logarithmic](https://leeoniya.github.io/uPlot/demos/log-scales.html) scales
- Line & Area styles (stroke, fill, width, dash)
- Pluggable path renderers [linear, spline, stepped, bars](https://leeoniya.github.io/uPlot/demos/line-paths.html)
- Zoom with auto-rescale
- Legend with live values
- Support for [IANA Time Zone Names](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) & DST
- [Support for missing data](https://leeoniya.github.io/uPlot/demos/missing-data.html)
- [Cursor sync for multiple charts](https://leeoniya.github.io/uPlot/demos/sync-cursor.html)
- [Focus closest series](https://leeoniya.github.io/uPlot/demos/focus-cursor.html)
- [Data streaming (live update)](https://leeoniya.github.io/uPlot/demos/stream-data.html)
- [High / Low bands](https://leeoniya.github.io/uPlot/demos/high-low-bands.html)
- A lean, consistent, and powerful API with hooks & plugins
---
### Non-Features
In order to stay lean, fast and focused the following features will not be added:
- No data parsing, aggregation, summation or statistical processing - just do it in advance. e.g. [simples-statistics](https://simple-statistics.github.io/), https://github.com/leeoniya/uDSV
- No transitions or animations - they're always pure distractions.
- No collision avoidance for axis tick labels, so may require manual tweaking of spacing metrics if label customization significiantly increases default label widths.
- No stacked series: see ["Stacked Area Graphs Are Not Your Friend"](https://web.archive.org/web/20221208193656/https://everydayanalytics.ca/2014/08/stacked-area-graphs-are-not-your-friend.html) and a [horrific demo](https://leeoniya.github.io/uPlot/demos/stacked-series.html). While smooth spline interpolation is available, its use is strongly discouraged: [Your data is misrepresented!](http://www.vizwiz.com/2011/12/when-you-use-smoothed-line-chart-your.html). Both visualizations are terrible at accurately communicating information.
- No built-in drag scrolling/panning due to ambiguous native zoom/selection behavior. However, this can be added externally via the plugin/hooks API: [zoom-wheel](https://leeoniya.github.io/uPlot/demos/zoom-wheel.html), [zoom-touch](https://leeoniya.github.io/uPlot/demos/zoom-touch.html).
---
### Documentation (WIP)
The docs are a perpetual work in progress, it seems.
Start with [/docs/README.md](https://github.com/leeoniya/uPlot/tree/master/docs) for a conceptual overview.
The full API is further documented via comments in [/dist/uPlot.d.ts](https://github.com/leeoniya/uPlot/blob/master/dist/uPlot.d.ts).
Additionally, an ever-expanding collection of runnable [/demos](https://leeoniya.github.io/uPlot/demos/index.html) covers the vast majority of uPlot's API.
---
### Third-party Integrations
- [React, Vue.js and Svelte](https://github.com/skalinichev/uplot-wrappers) (Sergey Kalinichev)
- [Python](https://github.com/stephane-caron/uplot-python) (Stéphane Caron)
---
### Performance
Benchmarks done on this hardware:
- Date: 2023-03-11
- AMD Ryzen 7 PRO 5850U @ 1.9GHz, 32GB RAM
- EndeavourOS/Arch (KDE/Plasma), Chrome 113.0.5638.0 (64-bit)
- 4K display scaled to 1440p (1.5 devicePixelRatio)

Full size: https://leeoniya.github.io/uPlot/demos/multi-bars.html
Raw data: https://github.com/leeoniya/uPlot/blob/master/bench/results.json
<pre>
| lib | size | done | js,rend,paint,sys | heap peak,final | mousemove (10s) |
| ---------------------- | ------- | ------- | ----------------- | --------------- | ------------------- |
| <a href="https://leeoniya.github.io/uPlot/bench/uPlot.html">uPlot v1.6.24</a> | 47.9 KB | 34 ms | 51 2 1 34 | 21 MB 3 MB | 218 360 146 196 |
| <a href="https://leeoniya.github.io/uPlot/bench/Chart.js4.html">Chart.js v4.2.1</a> | 254 KB | 38 ms | 90 2 1 40 | 29 MB 10 MB | 1154 46 165 235 |
| <a href="https://leeoniya.github.io/uPlot/bench/Flot.html">Flot v3.0.0</a> | 494 KB | 60 ms | 105 5 1 52 | 41 MB 21 MB | --- |
| <a href="https://leeoniya.github.io/uPlot/bench/ECharts5.html">ECharts v5.4.1</a> | 1000 KB | 55 ms | 148 3 1 35 | 17 MB 3 MB | 1943 444 203 208 |
| <a href="https://leeoniya.github.io/uPlot/bench/dygraphs.html">dygraphs v2.2.1</a> | 132 KB | 90 ms | 163 2 1 33 | 88 MB 42 MB | 1438 371 174 268 |
| <a href="https://leeoniya.github.io/uPlot/bench/LightningChart.html">LightningChart® v4.0.2</a> | 1300 KB | --- ms | 250 2 1 33 | 33 MB 13 MB | 5390 120 128 325 |
| <a href="https://leeoniya.github.io/uPlot/bench/CanvasJS.html">CanvasJS v3.7.5</a> | 489 KB | 130 ms | 266 4 1 35 | 98 MB 69 MB | 1030 445 90 246 |
| <a href="https://leeoniya.github.io/uPlot/bench/dvxCharts.html">dvxCharts v5.1.0</a> | 373 KB | 160 ms | 264 23 1 62 | 100 MB 61 MB | 687 779 206 197 |
| <a href="https://leeoniya.github.io/uPlot/bench/Highcharts.html">Highcharts v10.3.3</a> | 413 KB | --- ms | 416 7 1 38 | 97 MB 55 MB | 1286 824 205 242 |
| <a href="https://leeoniya.github.io/uPlot/bench/Plotly.js.html">Plotly.js v2.18.2</a> | 3600 KB | 310 ms | 655 14 1 40 | 104 MB 70 MB | 1814 163 25 208 |
| <a href="https://leeoniya.github.io/uPlot/bench/ApexCharts.html">ApexCharts v3.37.1</a> | 503 KB | 685 ms | 694 9 1 33 | 175 MB 46 MB | 1708 421 106 207 |
| <a href="https://leeoniya.github.io/uPlot/bench/ZingChart.html">ZingChart v2.9.10</a> | 871 KB | 681 ms | 717 7 1 105 | 290 MB 195 MB | 9021 305 41 71 |
| <a href="https://leeoniya.github.io/uPlot/bench/amCharts5.html">amCharts v5.3.7</a> | 625 KB | --- ms | 1601 3 3 46 | 147 MB 121 MB | 9171 71 460 167 |
</pre>
- libs are sorted by their initial, cold-start, render performance (excluding network transfer time to download the lib)
- `size` includes the lib itself plus any dependencies required to render the benchmark, e.g. Moment, jQuery, etc.
- Flot does not make available any minified assets and all their examples use the uncompressed sources; they also use an uncompressed version of jQuery :/
Some libraries provide their own performance demos:
- https://echarts.apache.org/next/examples/en/index.html
- https://github.com/sveinn-steinarsson/flot-downsample/
- https://dygraphs.com/tests/dygraph-many-points-benchmark.html
- https://www.chartjs.org/docs/latest/general/performance.html
- https://dash.plotly.com/performance
- https://www.highcharts.com/docs/advanced-chart-features/boost-module
- https://danchitnis.github.io/webgl-plot-examples/vanilla/
- https://huww98.github.io/TimeChart/docs/performance
- https://www.arction.com/lightningchart-js-performance/
TODO (all of these use SVG, so performance should be similar to Highcharts):
- Chartist.js
- d3-based
- C3.js
- dc.js
- MetricsGraphics
- rickshaw
---
### Unclog your rendering pipeline
Your browser's performance is highly dependent on your hardware, operating system, and GPU drivers.
If you're using a Chromium-based browser, there are some hidden settings that can unlock significant performance improvements for Canvas2D rendering.
Most of these have to do with where and how the rasterization is performed.
Head over to https://leeoniya.github.io/uPlot/demos/sine-stream.html and open up Chrome's DevTools (F12), then toggle the Performance Monitor.

For me:
- On Windows 10 Desktop, Core i7-8700, 16GB RAM, AMD RX480 GPU, 2048 x 1080 resolution = 57% CPU usage
- On Manjaro Laptop (Arch Linux), AMD Ryzen 7 PRO 5850U, 48GB RAM, AMD Radeon RX Vega 8 (integrated GPU), 4K resolution = **99% CPU usage**
If your CPU is close to 100%, it may be rasterizing everything in the same CPU process.
Pop open `chrome://gpu` and see what's orange or red.

Then open `chrome://flags` and search for "raster" to see what can be force-enabled.

- On my Manjaro/Ryzen/Integrated GPU setup, force-enabling `Canvas out-of-process rasterization` resulted in a dramatic framerate improvement.
- On my Windows/i7/Dedicated GPU setup, toggling the same flags moved the work to another process (still good), but did not have a significant framerate impact.
YMMV!
---
### Acknowledgements
- Dan Vanderkam's [dygraphs](https://github.com/danvk/dygraphs) was a big inspiration; in fact, my stale [pull request #948](https://github.com/danvk/dygraphs/pull/948) was a primary motivator for μPlot's inception.
- Adam Pearce for [#15 - remove redundant lineTo commands](https://github.com/leeoniya/uPlot/issues/15).
================================================
FILE: bench/ApexCharts.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ApexCharts Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<h2 id="wait">Loading lib....</h2>
<div id="chart"></div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
// 55,550 data points x 3 series = 166,650
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
cpu[j] = [date, round3(100 - packed[i+1])];
ram[j] = [date, round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))];
tcp[j] = [date, packed[i+3]];
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
var options = {
chart: {
animations: {
enabled: false,
},
type: 'line',
stacked: false,
width: 1920,
height: 600,
zoom: {
type: 'x',
enabled: true,
autoScaleYaxis: true
},
},
dataLabels: {
enabled: false
},
stroke: {
curve: 'straight',
width: 1,
},
series: [
{
name: 'CPU',
data: data[0],
},
{
name: 'RAM',
data: data[1],
},
{
name: 'TCP Out',
data: data[2],
},
],
markers: {
size: 0,
},
yaxis: {
labels: {
formatter: val => val,
},
},
xaxis: {
type: 'datetime',
tooltip: {
enabled: false,
}
},
tooltip: {
shared: true,
y: {
formatter: val => val,
}
},
legend: {
onItemHover: {
highlightDataSeries: false
},
},
}
var chart = new ApexCharts(
document.querySelector("#chart"),
options
);
chart.render();
wait.textContent = "Done!";
console.timeEnd('chart');
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
</body>
</html>
================================================
FILE: bench/CanvasJS.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CanvasJS Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<div id="chartContainer" style="height: 600px; max-width: 1920px; margin: 0px auto;"></div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
cpu[j] = {x: date, y: round3(100 - packed[i+1])};
ram[j] = {x: date, y: round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))};
tcp[j] = {x: date, y: packed[i+3]};
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
var chart = new CanvasJS.Chart("chartContainer", {
zoomEnabled: true,
animationEnabled: false,
title: {
text: 'CanvasJS (' + data[0].length * 3 + ' points)'
},
axisY: {
includeZero: false,
lineThickness: 1
},
data: [
{
type: "line",
xValueType: "dateTime",
dataPoints: data[0],
},
{
type: "line",
xValueType: "dateTime",
dataPoints: data[1],
},
{
type: "line",
xValueType: "dateTime",
dataPoints: data[2],
},
],
});
chart.render();
wait.textContent = "Done!";
console.timeEnd('chart');
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
<p>
Code based on<br>
<a href="https://canvasjs.com/docs/charts/intro/high-performance-javascript-charts/">https://canvasjs.com/docs/charts/intro/high-performance-javascript-charts/</a><br>
<a href="https://canvasjs.com/javascript-charts/performance-demo-chart/">https://canvasjs.com/javascript-charts/performance-demo-chart/</a>
</p>
</body>
</html>
================================================
FILE: bench/Chart.js4-sine-stream.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Sine Stream (Chart.js)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.chart-container {
position: relative;
height: 600px;
width: 1920px;
}
</style>
<script src="https://cdn.jsdelivr.net/npm/chart.js@4"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns"></script>
</head>
<body>
<div class="chart-container">
<canvas id="chart1"></canvas>
</div>
<script>
const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
/*
// https://newbedev.com/javascript-math-random-normal-distribution-gaussian-bell-curve
function randn_bm(min, max, skew) {
let u = 0, v = 0;
while(u === 0) u = Math.random(); //Converting [0,1) to (0,1)
while(v === 0) v = Math.random();
let num = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v );
num = num / 10.0 + 0.5; // Translate to 0 -> 1
if (num > 1 || num < 0) num = randn_bm(min, max, skew); // resample between 0 and 1 if out of range
num = Math.pow(num, skew); // Skew
num *= max - min; // Stretch to fill range
num += min; // offset to min
return num;
}
*/
// adapted from http://jsfiddle.net/Xotic750/3rfT6/
const boxMullerRandom = (function() {
let phase = 0,
random = Math.random,
x1, x2, w, z;
return () => {
if (!phase) {
do {
x1 = 2.0 * random() - 1.0;
x2 = 2.0 * random() - 1.0;
w = x1 * x1 + x2 * x2;
} while (w >= 1.0);
w = Math.sqrt((-2.0 * Math.log(w)) / w);
z = x1 * w;
} else {
z = x2 * w;
}
phase ^= 1;
return z;
}
}());
function randomWalk(steps, value = 0, min = -100, max = 100) {
steps = steps >>> 0 || 100;
let randFunc = boxMullerRandom;
let points = [], t;
for (t = 0; t < steps; t += 1) {
let extra = randFunc();
let newVal = value + extra;
if (newVal > max || newVal < min)
value = clamp(value - extra, min, max);
else
value = newVal;
points.push(value);
}
return points;
}
</script>
<script>
let now = Math.floor(Date.now()/1e3);
let length = 600;
let shift = length - 1;
function addRandData(data, howMany, min, max) {
let last = data[length - 1];
return data.slice(1).concat(randomWalk(howMany, last, min, max));
}
let xs = Array.from({length}, (v, i) => now + i * 60 * 5);
let sin = Array.from({length}, (v, i) => Math.sin(i / 16) * 5);
let _1 = randomWalk(600, -4, -6, 1);
let _2 = randomWalk(600, -2, -6, 1);
let _3 = randomWalk(600, 0, -2, 2);
let _4 = randomWalk(600, 2, -1, 6);
let _5 = randomWalk(600, 4, -1, 6);
let data = getData(shift);
function getData(shift) {
return [
xs = xs.slice(1).concat(now + shift * 60 * 5),
sin = sin.slice(1).concat(Math.sin(shift / 16) * 5),
_1 = addRandData(_1, 1, -6, -1),
_2 = addRandData(_2, 1, -6, -1),
_3 = addRandData(_3, 1, -2, 2),
_4 = addRandData(_4, 1, -1, 6),
_5 = addRandData(_5, 1, -1, 6),
];
}
function toObjs(xs, ys) {
let out = Array(xs.length);
for (let i = 0; i < xs.length; i++)
out[i] = {x: xs[i], y: ys[i]};
return out;
}
let ctx = document.getElementById('chart1').getContext('2d');
let cfg = {
data: {
datasets: [
{
borderColor: 'red',
backgroundColor: 'rgba(255,0,0,0.1)',
fill: true,
data: toObjs(data[0], data[1]),
type: 'line',
radius: 0,
borderWidth: 1
},
{
borderColor: 'green',
backgroundColor: '#4caf505e',
fill: true,
data: toObjs(data[0], data[2]),
type: 'line',
radius: 0,
borderWidth: 1
},
{
borderColor: 'blue',
backgroundColor: '#0000ff20',
fill: true,
data: toObjs(data[0], data[3]),
type: 'line',
radius: 0,
borderWidth: 1
},
{
borderColor: 'orange',
backgroundColor: '#ffa5004f',
fill: true,
data: toObjs(data[0], data[4]),
type: 'line',
radius: 0,
borderWidth: 1
},
{
borderColor: 'magenta',
backgroundColor: '#ff00ff20',
fill: true,
data: toObjs(data[0], data[5]),
type: 'line',
radius: 0,
borderWidth: 1
},
{
borderColor: 'purple',
backgroundColor: '#80008020',
fill: true,
data: toObjs(data[0], data[6]),
type: 'line',
radius: 0,
borderWidth: 1
}
]
},
options: {
layout: {
padding: {
left: 20,
right: 40,
}
},
animation: false,
maintainAspectRatio: false,
parsing: false,
spanGaps: true,
normalized: true,
interaction: {
mode: 'nearest',
axis: 'x',
intersect: false
},
scales: {
x: {
type: 'time',
time: {
unit: 'minute',
},
stacked: false,
ticks: {
source: 'auto',
maxRotation: 0,
autoSkip: true,
autoSkipPadding: 75,
sampleSize: 1
}
},
y: {
type: 'linear',
stacked: false,
min: -6,
max: 6,
scaleLabel: {
display: true,
}
},
},
}
};
let chart = new Chart(ctx, cfg);
/*
setInterval(() => {
shift += 1;
data = getData(shift);
chart.data.datasets.forEach((dataset, i) => {
dataset.data = toObjs(data[0], data[i+1]);
});
chart.update();
}, 500);
*/
function update() {
shift += 1;
data = getData(shift);
chart.data.datasets.forEach((dataset, i) => {
dataset.data = toObjs(data[0], data[i+1]);
});
chart.update();
requestAnimationFrame(update);
}
update();
</script>
</body>
</html>
================================================
FILE: bench/Chart.js4.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Chart.js v4.2.1 Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.chart-container {
position: relative;
margin: auto;
height: 600px;
width: 1920px;
}
</style>
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://cdn.jsdelivr.net/npm/chart.js@4"></script>
<script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns"></script>
<div class="chart-container">
<canvas id="chart1"></canvas>
</div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
cpu[j] = {x: date, y: round3(100 - packed[i+1])};
ram[j] = {x: date, y: round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))};
tcp[j] = {x: date, y: packed[i+3]};
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
var ctx = document.getElementById('chart1').getContext('2d');
var cfg = {
data: {
datasets: [
{
label: 'CPU',
borderColor: 'rgb(255, 99, 132)',
data: data[0],
type: 'line',
radius: 0,
fill: false,
borderWidth: 1
},
{
label: 'RAM',
borderColor: 'rgb(54, 162, 235)',
data: data[1],
type: 'line',
radius: 0,
fill: false,
borderWidth: 1
},
{
label: 'TCP Out',
borderColor: 'rgb(75, 192, 192)',
data: data[2],
type: 'line',
radius: 0,
fill: false,
borderWidth: 1
}
]
},
options: {
animation: false,
maintainAspectRatio: false,
parsing: false,
spanGaps: true,
normalized: true,
interaction: {
mode: 'nearest',
axis: 'x',
intersect: false
},
scales: {
x: {
type: 'time',
stacked: false,
ticks: {
source: 'auto',
maxRotation: 0,
autoSkip: true,
autoSkipPadding: 75,
sampleSize: 1
}
},
y: {
type: 'linear',
stacked: false,
scaleLabel: {
display: true,
labelString: '%'
}
},
y2: {
type: 'linear',
stacked: false,
position: 'right',
scaleLabel: {
display: true,
labelString: 'MB'
}
}
},
plugins: {
decimation: {
enabled: true
}
}
}
};
var chart = new Chart(ctx, cfg);
wait.textContent = "Done!";
console.timeEnd('chart');
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
<p>
Code based on<br>
<a href="https://www.chartjs.org/samples/latest/scales/time/financial.html">https://www.chartjs.org/samples/latest/scales/time/financial.html</a><br>
</p>
</body>
</html>
================================================
FILE: bench/ECharts5-sine-stream.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Sine Stream (ECharts)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<p>This is an adaptation of <a href="../demos/sine-stream.html">/demos/sine-stream.html</a> using ECharts5 (currently the next-fastest lib after uPlot).</p>
<script src="https://fastly.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<div id="chart" style="width: 2540px; height: 600px;"></div>
<script>
const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
/*
// https://newbedev.com/javascript-math-random-normal-distribution-gaussian-bell-curve
function randn_bm(min, max, skew) {
let u = 0, v = 0;
while(u === 0) u = Math.random(); //Converting [0,1) to (0,1)
while(v === 0) v = Math.random();
let num = Math.sqrt( -2.0 * Math.log( u ) ) * Math.cos( 2.0 * Math.PI * v );
num = num / 10.0 + 0.5; // Translate to 0 -> 1
if (num > 1 || num < 0) num = randn_bm(min, max, skew); // resample between 0 and 1 if out of range
num = Math.pow(num, skew); // Skew
num *= max - min; // Stretch to fill range
num += min; // offset to min
return num;
}
*/
// adapted from http://jsfiddle.net/Xotic750/3rfT6/
const boxMullerRandom = (function() {
let phase = 0,
random = Math.random,
x1, x2, w, z;
return () => {
if (!phase) {
do {
x1 = 2.0 * random() - 1.0;
x2 = 2.0 * random() - 1.0;
w = x1 * x1 + x2 * x2;
} while (w >= 1.0);
w = Math.sqrt((-2.0 * Math.log(w)) / w);
z = x1 * w;
} else {
z = x2 * w;
}
phase ^= 1;
return z;
}
}());
function randomWalk(steps, value = 0, min = -100, max = 100) {
steps = steps >>> 0 || 100;
let randFunc = boxMullerRandom;
let points = [], t;
for (t = 0; t < steps; t += 1) {
let extra = randFunc();
let newVal = value + extra;
if (newVal > max || newVal < min)
value = clamp(value - extra, min, max);
else
value = newVal;
points.push(value);
}
return points;
}
</script>
<script>
let now = Math.floor(Date.now()/1e3);
let length = 600;
let shift = length - 1;
function addRandData(data, howMany, min, max) {
let last = data[length - 1];
return data.slice(1).concat(randomWalk(howMany, last, min, max));
}
let xs = Array.from({length}, (v, i) => now + i * 60 * 5);
let sin = Array.from({length}, (v, i) => Math.sin(i / 16) * 5);
let _1 = randomWalk(600, -4, -6, 1);
let _2 = randomWalk(600, -2, -6, 1);
let _3 = randomWalk(600, 0, -2, 2);
let _4 = randomWalk(600, 2, -1, 6);
let _5 = randomWalk(600, 4, -1, 6);
let data = getData(shift);
let packed = new Float64Array(7 * length);
function packData() {
for (let i = 0; i < length; i++) {
let o = i * 7;
packed[o + 0] = xs[i] * 1e3;
packed[o + 1] = sin[i];
packed[o + 2] = _1[i];
packed[o + 3] = _2[i];
packed[o + 4] = _3[i];
packed[o + 5] = _4[i];
packed[o + 6] = _5[i];
}
return packed;
}
function getData(shift) {
return [
xs = xs.slice(1).concat(now + shift * 60 * 5),
sin = sin.slice(1).concat(Math.sin(shift / 16) * 5),
_1 = addRandData(_1, 1, -6, -1),
_2 = addRandData(_2, 1, -6, -1),
_3 = addRandData(_3, 1, -2, 2),
_4 = addRandData(_4, 1, -1, 6),
_5 = addRandData(_5, 1, -1, 6),
];
}
let dom = document.getElementById("chart");
let myChart = echarts.init(dom, null, {
width: 1920,
height: 600
});
let opts = {
animation: false,
dataset: {
source: packData(),
dimensions: ["date", "value1", "value2", "value3", "value4", "value5", "value6"]
},
tooltip: {
trigger: "axis"
},
legend: {},
grid: {
containLabel: true,
left: 0,
top: 50,
right: 0,
bottom: 30
},
xAxis: {
type: "time"
},
yAxis: [
{
type: "value",
min: -6,
max: 6,
},
],
series: [
{
name: "sin",
z: 0,
type: "line",
showSymbol: false,
// sampling: "lttb",
lineStyle: { width: 1, color: "red" },
areaStyle: {
color: "rgba(255,0,0,0.1)"
},
emphasis: { lineStyle: { width: 1 } },
encode: {
x: "date",
y: "value1"
}
},
{
name: "_1",
z: 1,
type: "line",
showSymbol: false,
// sampling: "lttb",
lineStyle: { width: 1, color: "green" },
areaStyle: {
color: "#4caf505e"
},
emphasis: { lineStyle: { width: 1 } },
encode: {
x: "date",
y: "value2"
}
},
{
name: "_2",
z: 2,
type: "line",
showSymbol: false,
// sampling: "lttb",
lineStyle: { width: 1, color: "blue" },
areaStyle: {
color: "#0000ff20"
},
emphasis: { lineStyle: { width: 1 } },
encode: {
x: "date",
y: "value3"
}
},
{
name: "_3",
z: 3,
type: "line",
showSymbol: false,
// sampling: "lttb",
lineStyle: { width: 1, color: "orange" },
areaStyle: {
color: "#ffa5004f"
},
emphasis: { lineStyle: { width: 1 } },
encode: {
x: "date",
y: "value4"
}
},
{
name: "_4",
z: 4,
type: "line",
showSymbol: false,
// sampling: "lttb",
lineStyle: { width: 1, color: "magenta" },
areaStyle: {
color: "#ff00ff20"
},
emphasis: { lineStyle: { width: 1 } },
encode: {
x: "date",
y: "value5"
}
},
{
name: "_5",
z: 5,
type: "line",
showSymbol: false,
// sampling: "lttb",
lineStyle: { width: 1, color: "purple" },
areaStyle: {
color: "#80008020"
},
emphasis: { lineStyle: { width: 1 } },
encode: {
x: "date",
y: "value6"
}
}
]
};
myChart.setOption(opts, {
notMerge: true
});
function update() {
shift += 1;
data = getData(shift);
myChart.setOption({
dataset: {
source: packData(),
},
});
requestAnimationFrame(update);
}
update();
</script>
</body>
</html>
================================================
FILE: bench/ECharts5.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts v5.1.0 Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://fastly.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<div id="chart" style="width: 1920px; height: 600px;"></div>
<script>
// based https://github.com/apache/incubator-echarts/blob/d4bf86c963feaa12d83e0d3bd9f9b2b6249233d7/test/sample-compare.html
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time("prep");
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
let data = new Float64Array(packed.length / numFields * 4);
let off = 0;
let date = packed[0];
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
date += 1;
data[off++] = date * 60 * 1000;
data[off++] = round3(100 - packed[i + 1]);
data[off++] = round2(100 * packed[i + 5] / (packed[i + 5] + packed[i + 6]));
data[off++] = packed[i + 3];
}
console.timeEnd("prep");
return data;
}
function makeChart(data) {
console.time("chart");
let dom = document.getElementById("chart");
let myChart = echarts.init(dom, null, {
width: 1920,
height: 600
});
let opts = {
animation: false,
dataset: {
source: data,
dimensions: ["date", "cpu", "ram", "tcpout"]
},
tooltip: {
trigger: "axis",
transitionDuration: 0,
},
legend: {},
grid: {
containLabel: true,
left: 0,
top: 50,
right: 0,
bottom: 30
},
xAxis: {
type: "time"
},
yAxis: [
{
type: "value",
axisLabel: {
formatter: "{value} %"
}
},
{
type: "value",
axisLabel: {
formatter: "{value} MB"
}
}
],
series: [
{
name: "CPU",
z: 0,
type: "line",
showSymbol: false,
sampling: "lttb",
lineStyle: { width: 1 },
emphasis: {
disabled: true,
},
silent: true,
encode: {
x: "date",
y: "cpu"
}
},
{
name: "RAM",
z: 1,
type: "line",
yAxisIndex: 1,
showSymbol: false,
sampling: "lttb",
lineStyle: { width: 1 },
emphasis: {
disabled: true,
},
encode: {
x: "date",
y: "ram"
}
},
{
name: "TCP Out",
z: 2,
type: "line",
yAxisIndex: 1,
showSymbol: false,
sampling: "lttb",
lineStyle: { width: 1 },
emphasis: {
disabled: true,
},
encode: {
x: "date",
y: "tcpout"
}
}
]
};
myChart.setOption(opts, {
notMerge: true
});
wait.textContent = "Done!";
console.timeEnd("chart");
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
</body>
</html>
================================================
FILE: bench/Flot.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Flot Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.demo-container {
width: 1920px;
height: 600px;
}
.demo-placeholder {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://www.flotcharts.org/flot/lib/globalize.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.canvaswrapper.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.colorhelpers.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.flot.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.flot.saturated.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.flot.browser.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.flot.drawSeries.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.flot.uiConstants.js"></script>
<script src="https://www.flotcharts.org/flot/source/jquery.flot.time.js"></script>
<div class="demo-container">
<div id="placeholder" class="demo-placeholder"></div>
</div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
cpu[j] = [date, round3(100 - packed[i+1])];
ram[j] = [date, round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))];
tcp[j] = [date, packed[i+3]];
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
$.plot("#placeholder", data, {
xaxis: { mode: "time", timeBase: "milliseconds"},
hooks: {
drawOverlay: [
() => {
wait.textContent = "Done!";
console.timeEnd('chart');
}
]
}
});
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
</body>
</html>
================================================
FILE: bench/Highcharts.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Highcharts Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/boost.js"></script>
<div id="container" style="height: 600px; max-width: 1920px; margin: 0 auto"></div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
cpu[j] = [date, round3(100 - packed[i+1])];
ram[j] = [date, round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))];
tcp[j] = [date, packed[i+3]];
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
Highcharts.chart('container', {
boost: {
useGPUTranslations: true,
seriesThreshold: 1,
},
chart: {
zoomType: 'x',
animation: false,
events: {
render: () => {
wait.textContent = "Done!";
console.timeEnd('chart');
}
},
},
title: {
text: 'Highcharts (' + data[0].length * 3 + ' points)'
},
subtitle: {
text: 'Using the Boost module'
},
tooltip: {
valueDecimals: 2,
animation: false,
},
xAxis: {
type: 'datetime'
},
plotOptions: {
line: {
marker: {
enabled: false
}
}
},
series: [
{
data: data[0],
lineWidth: 1,
name: 'CPU',
boostThreshold: 1,
turboThreshold: 1,
},
{
data: data[1],
lineWidth: 1,
name: 'RAM',
boostThreshold: 1,
turboThreshold: 1,
},
{
data: data[2],
lineWidth: 1,
name: 'TCP Out',
boostThreshold: 1,
turboThreshold: 1,
}
]
});
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
</body>
</html>
================================================
FILE: bench/LightningChart.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>LightningChart® JS Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://cdn.jsdelivr.net/npm/@arction/lcjs@4.0.2/dist/lcjs.iife.js"></script>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
// var ts = Array(packed.length/numFields);
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
const dateOrigin = packed[0] * 60 * 1000;
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000 - dateOrigin;
cpu[j] = {x: date, y: round3(100 - packed[i+1])};
ram[j] = {x: date, y: round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))};
tcp[j] = {x: date, y: packed[i+3]};
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
const {
lightningChart,
SolidLine,
SolidFill,
ColorRGBA,
AxisTickStrategies,
UIOrigins,
Themes,
disableThemeEffects
} = lcjs;
const dateOrigin = new Date(1566453600000);
const chart = lightningChart().ChartXY({
// Glow and shadow effects are visual candy that are not used for best performance benchmarks. Effect may be some tens of milliseconds slower initial loading and increased GPU use in real-time tests
theme: disableThemeEffects(Themes.darkGold)
});
chart.getDefaultAxisX().setTickStrategy(AxisTickStrategies.DateTime, tickStrategy => tickStrategy.setDateOrigin(dateOrigin));
chart.getDefaultAxisX().setAnimationScroll(undefined);
chart.getDefaultAxisX().setAnimationZoom(undefined);
chart.getDefaultAxisY().setAnimationScroll(undefined);
chart.getDefaultAxisY().setAnimationZoom(undefined);
const customStrokeStyle0 = new SolidLine({ fillStyle: new SolidFill({ color: ColorRGBA(255, 0, 0) }), thickness: 1 });
const customStrokeStyle1 = new SolidLine({ fillStyle: new SolidFill({ color: ColorRGBA(0, 0, 255) }), thickness: 1 });
const customStrokeStyle2 = new SolidLine({ fillStyle: new SolidFill({ color: ColorRGBA(0, 255, 0) }), thickness: 1 });
chart.addLineSeries({
dataPattern: {pattern: 'ProgressiveX'}
})
.setName('CPU')
.setStrokeStyle(customStrokeStyle0)
.add(data[0]);
chart.addLineSeries({
dataPattern: {pattern: 'ProgressiveX'}
})
.setName('RAM')
.setStrokeStyle(customStrokeStyle1)
.add(data[1]);
chart.addLineSeries({
dataPattern: {pattern: 'ProgressiveX'}
})
.setName('TCP')
.setStrokeStyle(customStrokeStyle2)
.add(data[2]);
chart.setAutoCursor(cursor =>
cursor
.setResultTableAutoTextStyle(true)
// .disposeTickMarkerX()
.setTickMarkerYAutoTextStyle(true)
);
const legend = chart.addLegendBox()
.setOrigin(UIOrigins.RightTop)
.setPosition({ x: 90, y: 90 })
.setMargin({ left: 10, right: 10, top: 10, bottom: 10 });
legend.add(chart);
wait.textContent = "Done!";
console.timeEnd('chart');
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
<p>
Code based on<br>
<a href="https://www.arction.com/lightningchart-js-interactive-examples/#edit/lcjs_example_0000_lineSeries">https://www.arction.com/lightningchart-js-interactive-examples/#edit/lcjs_example_0000_lineSeries</a>
</p>
</body>
</html>
================================================
FILE: bench/Plotly.js.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Plotly.js Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<script src='https://cdn.plot.ly/plotly-2.18.2.min.js'></script>
<h2 id="wait">Loading lib....</h2>
<div id='chart'></div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time("prep");
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
// 55,550 data points x 3 series = 166,650
let data = [
Array(packed.length/numFields),
Array(packed.length/numFields),
Array(packed.length/numFields),
Array(packed.length/numFields),
];
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
data[0][j] = new Date(packed[i] * 60 * 1000);
data[1][j] = round3(100 - packed[i+1]);
data[2][j] = round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]));
data[3][j] = packed[i+3];
}
/*
function filter(d) {
return d.filter((d, i) => Math.round(i/1000) % 5 != 2);
}
data[0] = filter(data[0]);
data[1] = filter(data[1]);
data[2] = filter(data[2]);
data[3] = filter(data[3]);
*/
/*
data[0] = data[0].slice(0, 1000);
data[1] = data[1].slice(0, 1000);
data[2] = data[2].slice(0, 1000);
data[3] = data[3].slice(0, 1000);
data[1][35] = null;
data[1][36] = null;
data[2][730] = null;
*/
console.timeEnd("prep");
return data;
}
function makeChart(data) {
console.time("chart");
let data2 = [
{
name: "CPU",
type: "scattergl",
mode: "line",
x: data[0],
y: data[1],
line: {width: 1/devicePixelRatio, color: "red"},
},
{
name: "RAM",
type: "scattergl",
mode: "line",
x: data[0],
y: data[2],
line: {width: 1/devicePixelRatio, color: "blue"},
},
{
name: "TCP Out",
type: "scattergl",
mode: "line",
x: data[0],
y: data[3],
line: {width: 1/devicePixelRatio, color: "green"},
yaxis: 'y2'
}
];
let layout = {
width: 1920,
height: 600,
margin: {
l: 20,
r: 0,
b: 30,
t: 40,
pad: 0
},
};
Plotly.newPlot('chart', data2, layout);
wait.textContent = "Done!";
console.timeEnd("chart");
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
</body>
</html>
================================================
FILE: bench/ZingChart.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ZingChart Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://cdn.zingchart.com/zingchart.min.js"></script>
<style>
zing-grid[loading] {
height: 400px;
}
</style>
<div id='myChart'></div>
<script>
// https://www.zingchart.com/docs/tutorials/features/performance
// defined ABOVE the render and sets flags
// globally for ALL charts on a page
zingchart.DEV.CACHECANVASTEXT = true;
zingchart.DEV.CHECKDECIMALS = false;
zingchart.DEV.CACHESELECTION = true;
zingchart.DEV.MEDIARULES = false;
zingchart.DEV.SKIPTRACKERS = true;
// skips the intro loading screen (most likely invisible to human eye anyway)
zingchart.DEV.SKIPPROGRESS = true;
// indicates to the lib that there are no external resources to load (images)
zingchart.DEV.RESOURCES = false;
// prevents lib from storing the original data package
zingchart.DEV.KEEPSOURCE = false;
// prevents lib from creating a copy of the data package instead of working with the provided one (which can be altered)
zingchart.DEV.COPYDATA = false;
// forces the library to accept only long tokes (e.g., %node-value instead of %v) saving some parsing time
zingchart.DEV.SORTTOKENS = false;
// skips calculations of several plot relates statistics (min, max, sum, avg values)
zingchart.DEV.PLOTSTATS = false;
// tells library dashed syntax only is used so there is no conversion (saves time for large JSON's)
zingchart.SYNTAX = 'dashed';
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
var cpu = Array(packed.length/numFields);
var ram = Array(packed.length/numFields);
var tcp = Array(packed.length/numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
cpu[j] = [date, round3(100 - packed[i+1])];
ram[j] = [date, round2(100 * packed[i+5] / (packed[i+5] + packed[i+6]))];
tcp[j] = [date, packed[i+3]];
}
console.timeEnd('prep');
return [cpu, ram, tcp];
}
function makeChart(data) {
console.time('chart');
ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"];
var myConfig = {
graphset: [
{
type: "line",
flat: true,
plot: {
mode: "fast",
},
'crosshair-x': {},
'scale-x': {
zooming: true,
transform: {
type: 'date',
all: '%m/%d/%y<br>%h:%i %A'
}
},
series: [
{
values: data[0],
},
{
values: data[1],
},
{
values: data[2],
}
]
}
]
};
zingchart.render({
id: 'myChart',
data: myConfig,
output: 'svg', // 'canvas'
width: 1920,
height: 600,
});
wait.textContent = "Done!";
console.timeEnd('chart');
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => makeChart(data), 0);
});
</script>
</body>
</html>
================================================
FILE: bench/amCharts5.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>amCharts5 Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#chartdiv {
width: 1920px;
height: 600px;
}
</style>
</head>
<body>
<h2 id="wait">Loading lib....</h2>
<script src="https://cdn.amcharts.com/lib/5/index.js"></script>
<script src="https://cdn.amcharts.com/lib/5/xy.js"></script>
<div id="chartdiv"></div>
<script>
function round2(val) {
return Math.round(val * 100) / 100;
}
function round3(val) {
return Math.round(val * 1000) / 1000;
}
function prepData(packed) {
console.time('prep');
// epoch,idl,recv,send,read,writ,used,free
const numFields = packed[0];
packed = packed.slice(numFields + 1);
let data = Array(packed.length / numFields);
for (let i = 0, j = 0; i < packed.length; i += numFields, j++) {
let date = packed[i] * 60 * 1000;
data[j] = {
date: date,
cpu: round3(100 - packed[i + 1]),
ram: round2(100 * packed[i + 5] / (packed[i + 5] + packed[i + 6])),
tcp: packed[i + 3],
};
}
console.timeEnd('prep');
return data;
}
function makeChart(data) {
// console.time('chart');
let root = am5.Root.new("chartdiv");
// root.fps = 30;
root.autoResize = false;
let chart = root.container.children.push(am5xy.XYChart.new(root, {
layout: root.verticalLayout,
maxTooltipDistance: -1
}));
let xAxis = chart.xAxes.push(am5xy.DateAxis.new(root, {
maxDeviation: 0,
baseInterval: {
timeUnit: "second",
count: 1
},
renderer: am5xy.AxisRendererX.new(root, {}),
// tooltip: am5.Tooltip.new(root, {})
}));
let yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {
renderer: am5xy.AxisRendererY.new(root, {})
}));
let cpu = chart.series.push(am5xy.LineSeries.new(root, {
name: "CPU",
xAxis: xAxis,
yAxis: yAxis,
valueYField: "cpu",
valueXField: "date",
tooltip: am5.Tooltip.new(root, {
labelText: "{valueY}"
}),
}));
cpu.data.setAll(data);
let ram = chart.series.push(am5xy.LineSeries.new(root, {
name: "RAM",
xAxis: xAxis,
yAxis: yAxis,
valueYField: "ram",
valueXField: "date",
tooltip: am5.Tooltip.new(root, {
labelText: "{valueY}"
}),
}));
ram.data.setAll(data);
let tcp = chart.series.push(am5xy.LineSeries.new(root, {
name: "TCP",
xAxis: xAxis,
yAxis: yAxis,
valueYField: "tcp",
valueXField: "date",
tooltip: am5.Tooltip.new(root, {
labelText: "{valueY}"
}),
}));
tcp.data.setAll(data);
let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {
behavior: "zoomX"
}));
let legend = chart.children.push(am5.Legend.new(root, {}));
legend.data.setAll(chart.series.values);
root.events.on("frameended", () => {
wait.textContent = "Done!";
// console.timeEnd('chart');
});
}
let wait = document.getElementById("wait");
wait.textContent = "Fetching data.json (2.07MB)....";
fetch("data.json").then(r => r.json()).then(packed => {
wait.textContent = "Rendering...";
let data = prepData(packed);
setTimeout(() => {
am5.ready(() => {
makeChart(data);
});
}, 0);
});
</script>
<p>
Code based on<br>
<a
href="https://www.amcharts.com/docs/v4/concepts/performance/">https://www.amcharts.com/docs/v4/concepts/performance/</a><br>
<a href="https://codepen.io/team/amcharts/pen/KYRvNd/">https://codepen.io/team/amcharts/pen/KYRvNd/</a>
</p>
</body>
</html>
================================================
FILE: bench/data.json
================================================
[7,"epoch","idl","recv","send","writ","used","free",26107560,99.46,0,0,0.63,614.52,3767.67,26107561,99.85,0,0,0.41,614.04,3768.14,26107562,99.84,0,0,0.18,614.01,3768.18,26107563,99.85,0,0,0.16,613.98,3768.2,26107564,99.81,0,0,0.18,613.95,3768.22,26107565,99.74,0,0,0.32,614.99,3767.2,26107566,99.68,0,0,0.63,614.99,3767.19,26107567,99.85,0,0,0.17,614.54,3767.63,26107568,99.85,0,0,0.18,614.52,3767.66,26107569,99.72,0,0,0.34,614.73,3767.44,26107570,99.71,0,0,0.31,614.96,3767.22,26107571,99.67,0,0,0.59,615.39,3766.79,26107572,99.82,0,0,0.14,614.81,3767.36,26107573,99.83,0,0,0.15,614.8,3767.37,26107574,99.83,0,0,0.14,614.77,3767.41,26107575,99.67,0,0,0.29,614.53,3767.67,26107576,99.68,0.01,0.01,0.51,615.16,3767.04,26107577,99.77,0,0,0.29,614.7,3767.49,26107578,99.85,0,0,0.15,614.75,3767.44,26107579,99.85,0,0,0.15,614.82,3767.37,26107580,99.76,0,0,0.3,614.71,3767.5,26107581,99.71,0,0,0.42,614.9,3767.3,26107582,99.84,0,0,0.31,614.98,3767.21,26107583,99.83,0,0,0.14,614.95,3767.24,26107584,99.83,0,0,0.16,614.92,3767.26,26107585,99.55,0,0,0.32,615.03,3767.17,26107586,99.72,0,0,0.43,615.46,3766.74,26107587,99.84,0,0,0.28,615.07,3767.12,26107588,99.83,0,0,0.16,615.03,3767.15,26107589,99.83,0,0,0.14,615.01,3767.17,26107590,99.76,0,0,0.28,614.76,3767.44,26107591,99.7,0,0,0.43,615.47,3766.72,26107592,99.81,0,0,0.3,615.03,3767.16,26107593,99.81,0,0,0.18,615.09,3767.1,26107594,99.83,0,0,0.18,615.06,3767.12,26107595,99.76,0,0,0.34,615.29,3766.91,26107596,99.71,0,0,0.34,615.86,3766.33,26107597,99.78,0,0,0.45,614.99,3767.2,26107598,99.82,0,0,0.16,614.95,3767.23,26107599,99.72,0,0,0.3,615,3767.14,26107600,99.74,0,0,0.28,615.32,3766.84,26107601,99.83,0,0,0.16,615.3,3766.86,26107602,99.7,0,0,0.62,615.53,3766.62,26107603,99.84,0,0,0.2,614.99,3767.16,26107604,99.79,0,0,0.2,614.96,3767.18,26107605,99.76,0,0,0.36,614.96,3767.2,26107606,99.84,0,0,0.18,615.01,3767.14,26107607,99.71,0,0,0.62,615.58,3766.56,26107608,99.83,0,0,0.16,615.28,3766.86,26107609,99.82,0,0,0.17,615.25,3766.88,26107610,99.73,0,0,0.35,615.07,3767.09,26107611,99.84,0,0,0.2,614.97,3767.18,26107612,99.67,0,0,0.61,615.3,3766.87,26107613,99.84,0,0,0.2,614.91,3767.25,26107614,99.81,0,0,0.21,615.06,3767.1,26107615,99.76,0,0,0.32,615.07,3767.1,26107616,99.82,0,0,0.15,615.03,3767.14,26107617,98.3,0,0,0.46,615.35,3766.81,26107618,99.82,0,0,0.29,614.95,3767.2,26107619,99.84,0,0,0.16,614.91,3767.24,26107620,99.66,0,0,0.28,614.99,3767.19,26107621,99.82,0,0,0.16,614.69,3767.48,26107622,99.72,0,0,0.51,614.48,3767.68,26107623,99.82,0,0,0.29,614.26,3767.9,26107624,99.83,0,0,0.18,614.22,3767.93,26107625,99.66,0,0,0.34,613.98,3768.19,26107626,99.83,0,0,0.18,613.94,3768.22,26107627,99.72,0,0,0.47,614.37,3767.79,26107628,99.83,0,0,0.36,614.54,3767.59,26107629,99.78,0,0,0.32,614.5,3767.6,26107630,99.77,0,0,0.3,614.25,3767.87,26107631,99.86,0,0,0.16,614.21,3767.91,26107632,99.71,0,0,0.31,614.53,3767.58,26107633,99.8,0,0,0.42,613.91,3768.2,26107634,99.84,0,0,0.14,613.98,3768.14,26107635,99.76,0,0,0.33,614.32,3767.82,26107636,99.84,0.01,0.01,0.15,614.29,3767.85,26107637,99.83,0,0,0.18,614.5,3767.63,26107638,99.71,0,0,0.57,614.83,3767.3,26107639,99.83,0,0,0.14,614.43,3767.69,26107640,99.62,0,0,0.3,613.43,3768.71,26107641,99.8,0,0,0.19,614.32,3767.81,26107642,99.84,0,0,0.18,614.3,3767.83,26107643,99.7,0,0,0.63,615.25,3766.87,26107644,99.82,0,0,0.15,614.71,3767.4,26107645,99.69,0,0,0.28,614.46,3767.67,26107646,99.84,0,0,0.16,614.43,3767.69,26107647,99.84,0,0,0.18,614.4,3767.72,26107648,99.71,0,0,0.59,614.85,3767.27,26107649,99.85,0,0,0.15,614.52,3767.6,26107650,99.69,0,0,0.32,614.76,3767.37,26107651,99.83,0,0,0.16,614.73,3767.4,26107652,99.83,0,0,0.18,614.69,3767.43,26107653,99.7,0,0,0.61,614.89,3767.23,26107654,99.8,0,0,0.18,614.39,3767.73,26107655,99.73,0,0,0.29,614.42,3767.71,26107656,99.84,0,0,0.16,614.28,3767.85,26107657,99.85,0,0,0.14,614.25,3767.88,26107658,99.7,0,0,0.42,614.57,3767.54,26107659,99.59,0,0,0.43,614.42,3767.67,26107660,99.72,0,0,0.29,614.4,3767.7,26107661,99.84,0,0,0.13,614.38,3767.72,26107662,99.85,0,0,0.16,614.52,3767.57,26107663,99.72,0,0,0.44,614.89,3767.21,26107664,99.85,0,0,0.31,614.71,3767.38,26107665,99.67,0,0.01,0.32,614.46,3767.64,26107666,99.82,0,0,0.16,614.39,3767.7,26107667,99.82,0,0,0.16,614.36,3767.73,26107668,99.83,0,0,0.14,614.45,3767.63,26107669,94.8,0.39,0.01,265.68,629.49,3752.89,26107670,99.77,0,0,0.43,616.92,3765.12,26107671,99.83,0,0,0.18,616.89,3765.14,26107672,99.84,0,0,0.18,617.03,3765,26107673,99.84,0,0,0.18,617,3765.03,26107674,99.67,0,0,0.69,615.44,3766.62,26107675,99.7,0,0,0.3,614.78,3767.31,26107676,99.81,0,0,0.16,614.75,3767.34,26107677,99.84,0,0,0.14,614.72,3767.36,26107678,99.08,0,0,0.15,614.78,3767.3,26107679,99.72,0,0,0.6,614.89,3767.22,26107680,99.67,0,0,0.28,614.83,3767.31,26107681,99.83,0,0,0.14,614.81,3767.32,26107682,99.79,0.01,0,0.16,614.78,3767.36,26107683,99.85,0,0,0.14,614.73,3767.4,26107684,99.68,0,0,0.52,614.95,3767.17,26107685,99.39,0,0,0.35,613.6,3768.54,26107686,98.52,0,0,0.14,613.65,3768.49,26107687,99.85,0,0,0.14,613.62,3768.52,26107688,99.83,0,0,0.15,613.59,3768.55,26107689,99.56,0,0,0.57,614.73,3767.38,26107690,99.77,0,0,0.41,614.79,3767.35,26107691,99.81,0,0.01,0.17,614.82,3767.32,26107692,99.83,0,0,0.14,614.88,3767.25,26107693,99.76,0,0,0.15,614.85,3767.28,26107694,99.67,0,0,0.46,615,3767.13,26107695,99.74,0,0,0.44,614.79,3767.35,26107696,99.83,0.01,0.01,0.14,614.76,3767.37,26107697,99.83,0,0,0.2,614.96,3767.16,26107698,99.83,0,0,0.14,615.12,3767,26107699,99.73,0,0,0.43,615.33,3766.79,26107700,99.75,0,0,0.45,614.61,3767.54,26107701,99.89,0,0,0.19,614.07,3768.07,26107702,99.9,0,0,0.14,614.05,3768.09,26107703,99.93,0,0,0.15,614.01,3768.12,26107704,99.91,0,0,0.15,613.98,3768.15,26107705,99.63,0,0,0.74,614.61,3767.53,26107706,99.92,0,0,0.14,614.13,3768,26107707,99.91,0,0,0.16,614.1,3768.04,26107708,99.92,0,0,0.15,614.08,3768.05,26107709,99.93,0,0,0.15,614.04,3768.09,26107710,99.66,0,0,0.75,615.29,3766.85,26107711,99.93,0,0,0.13,614.97,3767.16,26107712,99.92,0,0,0.14,615.06,3767.07,26107713,99.93,0,0,0.16,615.1,3767.02,26107714,99.93,0,0,0.14,615.07,3767.05,26107715,99.63,0,0,0.74,614.38,3767.75,26107716,99.93,0,0,0.16,614.04,3768.09,26107717,99.93,0.01,0,0.17,614.05,3768.07,26107718,99.93,0,0,0.14,614.12,3767.99,26107719,99.75,0,0.01,0.32,614.78,3767.31,26107720,99.74,0,0,0.76,615.37,3766.73,26107721,99.94,0,0,0.16,614.97,3767.12,26107722,99.9,0,0,0.16,614.93,3767.15,26107723,99.93,0,0,0.14,615.01,3767.06,26107724,99.91,0,0,0.16,615.06,3767.01,26107725,99.69,0,0,0.56,615.39,3766.71,26107726,99.92,0,0,0.3,614.99,3767.09,26107727,99.89,0,0,0.16,614.95,3767.12,26107728,99.89,0,0,0.14,614.98,3767.09,26107729,99.88,0,0,0.15,615.09,3766.98,26107730,99.74,0,0,0.68,615.73,3766.35,26107731,99.92,0,0,0.21,615.04,3767.04,26107732,99.91,0,0,0.14,615,3767.07,26107733,99.93,0,0,0.16,614.97,3767.1,26107734,99.9,0,0,0.14,614.94,3767.12,26107735,99.75,0,0,0.53,614.96,3767.12,26107736,99.94,0,0,0.38,615.09,3767,26107737,99.94,0,0,0.14,615.06,3767.02,26107738,99.93,0,0,0.15,615.03,3767.04,26107739,99.93,0,0,0.16,615,3767.07,26107740,99.64,0,0,0.29,614.99,3767.09,26107741,99.74,0,0,0.57,615.32,3766.77,26107742,99.92,0,0,0.17,614.99,3767.09,26107743,99.92,0,0,0.14,615.08,3767,26107744,99.91,0,0,0.15,615.04,3767.03,26107745,99.84,0,0,0.29,615.03,3767.05,26107746,99.77,0,0,0.58,615.36,3766.73,26107747,99.93,0,0,0.14,614.97,3767.11,26107748,99.91,0,0,0.17,614.94,3767.14,26107749,99.79,0,0,0.36,615.03,3767.04,26107750,99.78,0,0,0.3,615.13,3766.94,26107751,99.79,0,0,0.58,615.59,3766.48,26107752,99.91,0,0,0.14,615.25,3766.81,26107753,99.93,0,0,0.14,615.22,3766.84,26107754,99.91,0,0,0.19,615.18,3766.89,26107755,99.78,0,0,0.29,614.24,3767.86,26107756,99.7,0.01,0.01,0.57,615.49,3766.6,26107757,99.88,0,0,0.21,615.05,3767.04,26107758,99.93,0,0,0.14,615.01,3767.08,26107759,99.89,0.01,0.03,0.21,614.94,3767.14,26107760,99.78,0,0,0.32,615.14,3766.96,26107761,99.8,0,0,0.47,615.51,3766.58,26107762,99.9,0,0,0.27,615.04,3767.04,26107763,99.94,0,0,0.17,615.01,3767.07,26107764,99.91,0,0,0.14,614.99,3767.09,26107765,99.85,0,0,0.29,614.98,3767.12,26107766,99.73,0,0,0.56,615.37,3766.72,26107767,99.87,0,0,0.19,615.16,3766.93,26107768,99.89,0,0,0.16,615.27,3766.82,26107769,99.87,0,0,0.16,615.31,3766.77,26107770,99.83,0,0,0.31,615.06,3767.03,26107771,99.78,0,0,0.6,614.87,3767.22,26107772,99.91,0,0,0.14,613.27,3768.81,26107773,99.91,0,0,0.15,613.24,3768.84,26107774,99.91,0,0,0.14,613.2,3768.87,26107775,99.8,0,0,0.29,614.29,3767.8,26107776,99.78,0,0,0.44,614.71,3767.38,26107777,99.88,0,0,0.31,614.55,3767.54,26107778,99.94,0,0,0.18,614.51,3767.57,26107779,99.82,0,0,0.31,614.25,3767.79,26107780,99.85,0,0,0.29,614.23,3767.83,26107781,99.91,0,0,0.14,614.2,3767.86,26107782,99.8,0,0,0.64,615.24,3766.81,26107783,99.95,0,0,0.15,614.57,3767.48,26107784,99.93,0,0,0.15,614.54,3767.52,26107785,99.87,0,0,0.3,614.3,3767.78,26107786,99.9,0,0,0.38,614.24,3767.84,26107787,99.74,0,0,0.62,614.37,3767.7,26107788,99.93,0,0,0.17,613.93,3768.13,26107789,99.94,0,0,0.16,614,3768.06,26107790,99.86,0,0,0.29,614.33,3767.75,26107791,99.92,0,0,0.16,614.3,3767.79,26107792,99.78,0,0,0.63,614.82,3767.27,26107793,99.9,0,0,0.15,614.49,3767.6,26107794,99.9,0,0,0.14,614.45,3767.63,26107795,99.78,0,0,0.37,614.48,3767.61,26107796,99.93,0,0,0.19,614.5,3767.59,26107797,99.78,0,0,0.61,614.76,3767.32,26107798,99.94,0,0,0.18,614.27,3767.81,26107799,96.75,0,0,0.14,614.25,3767.83,26107800,99.71,0,0,0.29,613.28,3768.81,26107801,99.92,0,0,0.16,613.21,3768.88,26107802,99.76,0,0,0.58,613.83,3768.25,26107803,99.91,0,0,0.14,614.07,3768.01,26107804,99.92,0.01,0.01,0.17,613.97,3768.1,26107805,99.82,0,0,0.3,613.7,3768.38,26107806,99.93,0,0,0.14,613.72,3768.36,26107807,98.68,0,0,0.6,614.17,3767.91,26107808,99.94,0,0,0.14,613.78,3768.29,26107809,99.78,0.01,0.02,0.3,614.43,3767.61,26107810,99.83,0.01,0.02,0.29,614.79,3767.27,26107811,99.88,0.01,0.02,0.16,614.74,3767.3,26107812,99.75,0.01,0.03,0.34,615.09,3766.95,26107813,99.83,0.01,0.03,0.39,615,3767.04,26107814,99.81,0.01,0.02,0.14,614.97,3767.06,26107815,99.8,0.01,0.02,0.29,614.71,3767.34,26107816,99.8,0.01,0.03,0.16,614.75,3767.29,26107817,99.84,0.01,0.02,0.18,614.72,3767.32,26107818,99.67,0.01,0.03,0.63,615.17,3766.87,26107819,99.82,0.01,0.02,0.15,614.73,3767.3,26107820,99.73,0.01,0.02,0.32,614.72,3767.33,26107821,99.71,0.01,0.02,0.16,614.5,3767.55,26107822,99.71,0.01,0.03,0.18,614.5,3767.54,26107823,99.64,0.01,0.02,0.57,614.83,3767.2,26107824,99.82,0.01,0.02,0.15,614.48,3767.55,26107825,99.66,0.01,0.02,0.3,614.99,3767.05,26107826,99.8,0.01,0.03,0.16,614.96,3767.08,26107827,99.82,0,0.02,0.17,614.96,3767.08,26107828,99.71,0.01,0.02,0.6,615.05,3766.99,26107829,99.91,0.01,0.03,0.2,614.46,3767.57,26107830,99.77,0.01,0.02,0.32,614.72,3767.33,26107831,99.91,0.01,0.02,0.18,614.75,3767.29,26107832,99.88,0.01,0.03,0.18,614.73,3767.31,26107833,99.77,0.01,0.02,0.64,615.08,3766.96,26107834,99.89,0.01,0.02,0.14,614.74,3767.29,26107835,99.8,0.01,0.02,0.3,614.48,3767.57,26107836,99.88,0.01,0.02,0.14,614.49,3767.56,26107837,99.88,0.01,0.03,0.16,614.48,3767.56,26107838,99.76,0.01,0.02,0.57,614.87,3767.17,26107839,99.81,0,0.02,0.33,614.75,3767.26,26107840,99.76,0.01,0.02,0.32,614.8,3767.23,26107841,99.9,0.01,0.02,0.15,614.7,3767.32,26107842,99.87,0.01,0.02,0.16,614.77,3767.25,26107843,99.75,0.01,0.02,0.42,615.48,3766.53,26107844,99.81,0.01,0.03,0.29,614.72,3767.3,26107845,99.78,0.01,0.02,0.29,614.77,3767.28,26107846,99.87,0.01,0.02,0.16,614.75,3767.29,26107847,99.84,0.01,0.02,0.14,614.71,3767.33,26107848,99.85,0.01,0.03,0.15,614.74,3767.29,26107849,99.74,0.01,0.03,0.56,615.51,3766.51,26107850,99.73,0.01,0.02,0.28,614.03,3768.01,26107851,99.9,0,0.02,0.16,613.99,3768.05,26107852,99.9,0,0.02,0.14,614,3768.03,26107853,99.88,0.01,0.02,0.14,613.98,3768.05,26107854,99.77,0.01,0.02,0.61,615,3767.02,26107855,99.81,0.01,0.02,0.3,614.99,3767.05,26107856,99.87,0.01,0.02,0.13,614.98,3767.05,26107857,99.83,0.01,0.03,0.17,614.99,3767.04,26107858,99.88,0.01,0.02,0.14,614.98,3767.05,26107859,99.59,0.01,0.02,0.53,615.3,3766.73,26107860,99.66,0.01,0.02,0.38,615,3767.04,26107861,99.89,0.01,0.03,0.16,614.97,3767.06,26107862,82.09,94.15,0.14,328.66,654.79,3661.71,26107863,80.94,0.01,0.02,486.87,657.63,3667.58,26107864,99.72,0.01,0.02,33.35,617.72,3851.77,26107865,99.79,0.01,0.02,0.34,616.79,3852.15,26107866,99.83,0.01,0.02,0.17,616.69,3852.16,26107867,95.97,0.01,0.02,0.14,616.65,3852.13,26107868,99.87,0.01,0.03,0.17,615.93,3852.8,26107869,99.64,0.01,0.03,0.66,615.36,3853.02,26107870,99.76,0.01,0.03,0.38,614.61,3853.68,26107871,99.88,0.01,0.02,0.15,614.42,3853.66,26107872,99.86,0.01,0.02,0.16,614.52,3853.48,26107873,99.87,0.01,0.02,0.15,614.49,3853.43,26107874,99.68,0.01,0.03,0.46,615.3,3852.56,26107875,99.79,0.01,0.02,0.45,614.6,3853.2,26107876,99.87,0.01,0.03,0.16,614.48,3853.24,26107877,99.87,0.01,0.03,0.19,614.67,3852.97,26107878,99.91,0.01,0.02,0.16,614.57,3852.98,26107879,99.73,0.01,0.02,0.36,615.08,3852.39,26107880,99.81,0.01,0.02,0.49,615.18,3852.23,26107881,99.84,0.01,0.02,0.18,614.85,3852.47,26107882,99.87,0.01,0.04,0.15,614.81,3852.43,26107883,99.87,0.01,0.03,0.15,614.68,3852.47,26107884,99.88,0.01,0.02,0.14,614.59,3852.49,26107885,98.44,0.01,0.02,16.37,617.6,3848.16,26107886,99.87,0.01,0.02,0.19,614.85,3850.28,26107887,99.84,0.01,0.03,0.16,614.75,3850.29,26107888,99.88,0.01,0.02,0.14,614.72,3850.24,26107889,99.88,0.01,0.03,0.15,614.6,3850.28,26107890,99.63,0.01,0.03,0.69,615.61,3849.2,26107891,99.88,0.01,0.02,0.16,615.2,3849.53,26107892,99.86,0.01,0.02,0.14,615.15,3849.49,26107893,99.88,0.01,0.03,0.15,615.04,3849.52,26107894,99.89,0.01,0.03,0.14,614.94,3849.54,26107895,99.67,0.01,0.02,0.7,615.59,3848.83,26107896,99.85,0.01,0.02,0.14,615.06,3849.28,26107897,99.87,0.01,0.02,0.17,614.94,3849.31,26107898,99.87,0.01,0.03,0.14,614.9,3849.27,26107899,99.84,0.01,0.02,0.3,615.05,3849.02,26107900,99.63,0.01,0.03,0.68,615.47,3848.54,26107901,99.87,0.01,0.02,0.18,615.17,3848.76,26107902,99.89,0.01,0.03,0.16,615.08,3848.76,26107903,99.85,0.01,0.03,0.14,615,3848.76,26107904,99.85,0.01,0.02,0.15,614.89,3848.8,26107905,99.62,0.01,0.03,0.75,615.71,3847.76,26107906,99.9,0.01,0.03,0.21,615.24,3848.06,26107907,99.87,0.01,0.02,0.14,615.13,3848.09,26107908,99.83,0.01,0.02,0.15,615.08,3848.05,26107909,99.83,0.01,0.02,0.15,615,3848.05,26107910,99.64,0.01,0.02,0.54,615.33,3847.66,26107911,99.87,0.01,0.02,0.29,615.11,3847.8,26107912,99.86,0.01,0.02,0.16,615.03,3847.8,26107913,99.88,0.01,0.02,0.14,614.93,3847.82,26107914,99.86,0.01,0.02,0.15,614.87,3847.8,26107915,99.6,0.01,0.02,0.5,614.03,3848.57,26107916,99.87,0.01,0.02,0.4,615.19,3847.32,26107917,99.88,0.01,0.02,0.14,615.12,3847.31,26107918,99.85,0.01,0.02,0.15,615.03,3847.32,26107919,99.88,0.01,0.03,0.14,614.93,3847.33,26107920,99.62,0.01,0.03,0.28,615.59,3846.62,26107921,99.69,0.01,0.03,0.56,615.71,3846.41,26107922,99.81,0.01,0.02,0.14,615.23,3846.81,26107923,99.85,0.01,0.03,0.15,614.38,3847.58,26107924,99.85,0.01,0.02,0.16,614.1,3847.78,26107925,99.76,0.01,0.03,0.32,614.02,3847.8,26107926,99.68,0.01,0.03,0.53,614.9,3846.84,26107927,99.83,0,0.02,0.16,614.57,3847.08,26107928,99.88,0.01,0.02,0.15,614.49,3847.08,26107929,99.69,0.01,0.02,0.31,614.37,3847.09,26107930,99.68,0.01,0.02,0.32,614.56,3846.83,26107931,99.61,0.01,0.02,0.39,614.99,3846.32,26107932,99.75,0.01,0.03,0.29,614.67,3846.55,26107933,99.59,0.01,0.02,0.14,614.55,3846.59,26107934,99.69,0.01,0.03,0.14,614.52,3846.54,26107935,99.74,0.01,0.02,0.3,614.2,3846.8,26107936,99.65,0.01,0.03,0.51,614.43,3846.48,26107937,99.82,0.01,0.02,0.23,614.05,3846.78,26107938,99.81,0.01,0.02,0.15,613.94,3846.81,26107939,99.77,0.01,0.03,0.16,613.82,3846.84,26107940,99.73,0.01,0.02,0.3,614.05,3846.56,26107941,99.71,0.01,0.02,0.42,614.33,3846.19,26107942,99.75,0.01,0.02,0.31,614.36,3846.08,26107943,99.8,0.01,0.03,0.14,614.32,3846.03,26107944,99.81,0.01,0.03,0.15,614.21,3846.07,26107945,99.72,0.01,0.02,0.33,614.6,3845.61,26107946,99.7,0.01,0.02,0.56,614.99,3845.13,26107947,99.87,0.01,0.02,0.19,614.93,3845.09,26107948,99.83,0.01,0.02,0.15,614.81,3845.12,26107949,99.82,0.01,0.02,0.14,614.78,3845.07,26107950,99.61,0.01,0.03,0.34,614.02,3845.67,26107951,99.79,0.01,0.03,0.17,614.28,3845.33,26107952,99.79,0.01,0.03,0.56,615.02,3844.5,26107953,99.81,0.01,0.02,0.15,614.63,3844.81,26107954,99.85,0.01,0.02,0.15,614.51,3844.85,26107955,99.73,0.01,0.02,0.3,614.46,3844.86,26107956,99.84,0.01,0.02,0.14,614.41,3844.84,26107957,99.68,0.01,0.03,0.56,615.2,3843.97,26107958,99.87,0.01,0.02,0.13,614.72,3844.37,26107959,99.79,0.01,0.03,0.31,614.67,3844.32,26107960,99.73,0.01,0.03,0.29,613.88,3845.06,26107961,99.84,0.01,0.02,0.16,613.84,3845.04,26107962,99.66,0.01,0.02,0.55,614.91,3843.93,26107963,99.86,0.01,0.02,0.15,614.73,3844.08,26107964,99.83,0.01,0.03,0.15,614.68,3844.09,26107965,99.7,0.01,0.03,0.3,614.38,3844.34,26107966,99.85,0.01,0.02,0.14,614.34,3844.32,26107967,99.61,0.01,0.02,0.57,615.09,3843.51,26107968,99.85,0.01,0.02,0.14,614.93,3843.64,26107969,99.84,0.01,0.02,0.16,614.95,3843.59,26107970,99.74,0.01,0.02,0.31,614.67,3843.85,26107971,99.84,0.01,0.03,0.14,614.56,3843.88,26107972,99.72,0.01,0.02,0.51,615.35,3843.02,26107973,99.84,0.01,0.03,0.2,614.5,3843.83,26107974,99.85,0.01,0.03,0.14,614.46,3843.85,26107975,99.74,0.01,0.02,0.29,615.13,3843.15,26107976,99.84,0.01,0.03,0.17,615.15,3843.09,26107977,99.75,0.01,0.02,0.43,615.58,3842.59,26107978,99.83,0.01,0.03,0.3,615.23,3842.89,26107979,99.85,0.01,0.02,0.16,615.21,3842.88,26107980,99.55,0.01,0.02,0.3,614.96,3843.11,26107981,99.54,0.01,0.02,0.14,614.89,3843.14,26107982,99.69,0.01,0.03,0.49,615.22,3842.73,26107983,99.84,0.01,0.02,0.26,615.03,3842.83,26107984,99.8,0.01,0.03,0.15,614.98,3842.8,26107985,99.73,0.01,0.02,0.31,614.64,3843.1,26107986,99.84,0.01,0.02,0.16,614.62,3843.09,26107987,99.73,0,0.02,0.42,614.93,3842.76,26107988,99.88,0,0.01,0.29,614.8,3842.83,26107989,99.8,0,0.01,0.3,614.66,3842.91,26107990,99.72,0.01,0.02,0.32,614.98,3842.56,26107991,99.89,0,0,0.16,614.89,3842.63,26107992,99.91,0,0,0.14,614.83,3842.66,26107993,99.77,0,0,0.54,615.36,3842.09,26107994,99.9,0,0,0.15,614.94,3842.47,26107995,99.78,0,0,0.32,614.99,3842.39,26107996,99.87,0.01,0.01,0.13,614.99,3842.35,26107997,99.9,0,0,0.21,615.15,3842.15,26107998,99.76,0,0,0.56,615.23,3842.02,26107999,99.9,0,0,0.14,614.76,3842.45,26108000,99.79,0,0,0.31,615.15,3842.02,26108001,99.85,0,0,0.18,614.96,3842.17,26108002,99.91,0,0,0.17,615.04,3842.06,26108003,99.77,0,0,0.54,615.63,3841.43,26108004,99.86,0,0,0.14,615.39,3841.61,26108005,99.86,0,0,0.3,615.07,3841.89,26108006,99.92,0,0,0.2,614.99,3841.93,26108007,99.9,0,0,0.14,614.93,3841.96,26108008,99.78,0,0,0.56,615.34,3841.52,26108009,99.92,0,0,0.15,615.17,3841.64,26108010,99.85,0,0,0.3,614.69,3842.08,26108011,99.94,0,0,0.14,614.6,3842.12,26108012,99.92,0,0,0.15,614.7,3842,26108013,99.79,0,0,0.56,615.1,3841.57,26108014,99.92,0,0,0.16,614.69,3841.95,26108015,99.86,0,0,0.36,614.86,3841.74,26108016,99.91,0,0,0.12,615.04,3841.5,26108017,99.93,0,0,0.16,615.14,3841.36,26108018,99.8,0,0,0.55,615.48,3840.97,26108019,99.87,0,0,0.29,614.4,3841.86,26108020,99.76,0,0,0.29,614.54,3841.67,26108021,99.86,0,0,0.14,614.46,3841.69,26108022,99.92,0,0,0.16,614.38,3841.73,26108023,99.78,0,0,0.4,614.95,3841.12,26108024,99.93,0,0,0.31,615.15,3840.85,26108025,99.77,0.03,0.85,0.34,615.04,3840.87,26108026,99.93,0,0,0.21,614.74,3840.92,26108027,99.92,0,0,0.14,614.9,3840.72,26108028,99.9,0,0,0.16,615,3840.58,26108029,99.75,0,0,0.59,615.49,3840.02,26108030,99.79,0,0,0.31,615.12,3840.36,26108031,99.92,0,0,0.14,615.02,3840.4,26108032,99.9,0,0,0.14,614.94,3840.43,26108033,99.9,0,0,0.16,614.87,3840.45,26108034,94.64,0.37,0.01,264.83,625.65,3829.51,26108035,99.79,0,0,0.37,617.03,3837.56,26108036,99.93,0,0,0.16,616.89,3837.65,26108037,99.93,0,0,0.14,616.81,3837.68,26108038,99.91,0,0,0.15,616.72,3837.7,26108039,99.78,0,0,0.55,616.3,3838.12,26108040,99.71,0,0,0.39,615.14,3839.29,26108041,99.87,0,0,0.15,615.06,3839.32,26108042,99.92,0,0,0.16,614.98,3839.35,26108043,99.92,0,0,0.14,614.88,3839.38,26108044,99.77,0,0,0.55,615.5,3838.73,26108045,99.82,0,0,0.35,614.78,3839.44,26108046,99.89,0,0,0.17,614.78,3839.38,26108047,99.91,0,0,0.16,614.88,3839.24,26108048,99.88,0,0,0.18,614.96,3839.09,26108049,99.72,0,0,0.75,615.69,3838.28,26108050,99.81,0,0,0.29,614.81,3839.14,26108051,99.9,0,0,0.16,614.73,3839.18,26108052,99.92,0,0,0.14,614.66,3839.2,26108053,99.8,0,0,0.15,614.75,3839.05,26108054,99.75,0,0,0.5,615.31,3838.46,26108055,99.81,0,0,0.35,614.64,3839.11,26108056,99.88,0.01,0.01,0.16,614.55,3839.16,26108057,99.9,0,0,0.18,614.5,3839.19,26108058,99.89,0,0,0.17,614.44,3839.22,26108059,99.77,0,0,0.4,615.04,3838.59,26108060,99.77,0,0,0.42,615.25,3838.37,26108061,99.87,0,0,0.21,614.74,3838.87,26108062,99.88,0,0,0.14,614.68,3838.93,26108063,99.89,0,0,0.14,614.62,3838.96,26108064,99.89,0,0,0.16,614.56,3838.99,26108065,99.58,0,0,0.72,615.16,3838.39,26108066,99.83,0,0,0.14,614.68,3838.85,26108067,99.88,0,0,0.17,614.6,3838.9,26108068,99.87,0,0,0.15,614.53,3838.93,26108069,99.89,0,0,0.15,614.48,3838.97,26108070,99.72,0,0,0.71,615.28,3838.17,26108071,99.88,0,0,0.16,614.83,3838.61,26108072,99.88,0,0,0.15,614.77,3838.65,26108073,99.86,0,0,0.17,614.71,3838.68,26108074,99.89,0,0.01,0.18,614.6,3838.66,26108075,99.65,0,0,0.73,614.95,3838.27,26108076,99.83,0.01,0.01,0.16,614.29,3838.9,26108077,99.78,0.01,0.03,0.16,614.26,3838.9,26108078,99.85,0.01,0.02,0.16,614.3,3838.81,26108079,99.77,0.01,0.02,0.41,614.44,3838.43,26108080,99.57,0.01,0.02,0.72,614.88,3837.97,26108081,99.83,0.01,0.02,0.18,614.67,3838.15,26108082,99.79,0.03,0.88,0.16,614.63,3838.17,26108083,99.83,0.01,0.02,0.2,614.63,3838.15,26108084,99.82,0.01,0.02,0.19,614.61,3838.16,26108085,99.61,0.01,0.02,0.71,614.76,3838.01,26108086,99.84,0.01,0.02,0.18,614.12,3838.63,26108087,99.83,0.01,0.02,0.15,614.07,3838.66,26108088,99.86,0.01,0.02,0.16,614.05,3838.65,26108089,99.76,0.03,0.87,0.23,614.02,3838.64,26108090,99.51,0.01,0.02,0.74,615.31,3837.33,26108091,99.83,0.01,0.03,0.16,614.47,3838.15,26108092,99.83,0.01,0.02,0.17,614.43,3838.15,26108093,99.82,0.01,0.02,0.14,614.39,3838.16,26108094,99.75,0.01,0.03,0.16,614.4,3838.12,26108095,99.61,0.01,0.02,0.51,614.93,3837.59,26108096,99.77,0.01,0.02,0.38,614.35,3838.16,26108097,99.73,0.03,0.58,0.3,614.16,3838.16,26108098,99.81,0,0.02,0.15,614,3838.19,26108099,99.8,0.01,0.02,0.14,614.01,3838.14,26108100,99.38,0.01,0.02,0.65,615.07,3837.07,26108101,99.75,0.01,0.03,0.23,614.69,3837.43,26108102,99.8,0.01,0.07,0.16,614.56,3837.42,26108103,99.78,0.01,0.03,0.14,614.55,3837.39,26108104,99.8,0.01,0.02,0.14,614.51,3837.4,26108105,99.71,0.01,0.03,0.41,611.4,3840.73,26108106,99.67,0.01,0.02,0.56,609.85,3842.41,26108107,99.77,0.01,0.03,0.15,609.5,3842.73,26108108,99.75,0.01,0.02,0.16,605.36,3846.95,26108109,99.71,0.01,0.02,0.3,598.7,3853.75,26108110,99.7,0.01,0.03,0.31,598.51,3853.96,26108111,99.69,0,0.02,0.56,599.03,3853.43,26108112,99.79,0.01,0.02,0.15,598.68,3853.74,26108113,99.76,0,0.02,0.14,598.72,3853.69,26108114,99.78,0.01,0.02,0.16,598.66,3853.75,26108115,99.67,0,0.02,0.32,598.44,3853.98,26108116,99.65,0,0.02,0.59,598.54,3853.86,26108117,99.79,0.01,0.02,0.19,597.85,3854.52,26108118,99.78,0.01,0.02,0.14,597.87,3854.46,26108119,99.8,0.01,0.05,0.14,597.95,3854.34,26108120,99.55,0.01,0.19,0.43,597.84,3854.46,26108121,99.63,0,0.02,0.7,598.04,3854.23,26108122,99.79,0,0.02,0.16,598.29,3853.95,26108123,99.81,0,0.02,0.14,598.26,3853.97,26108124,99.84,0,0,0.15,598.3,3853.92,26108125,99.71,0.01,0.13,0.3,598.52,3853.71,26108126,99.74,0,0,0.63,598.76,3853.33,26108127,99.84,0,0,0.16,598.71,3853.35,26108128,99.86,0,0,0.14,598.8,3853.2,26108129,99.84,0,0,0.14,598.74,3853.2,26108130,99.73,0,0,0.3,598.72,3853.21,26108131,99.68,0,0.02,0.58,598.97,3852.93,26108132,99.76,0.03,1.04,0.2,598.32,3853.54,26108133,99.81,0.01,0.03,0.15,598.1,3853.74,26108134,95.44,7.24,0.05,151.08,606.85,3839.1,26108135,99.72,0,0.02,0.32,599.54,3843.11,26108136,99.63,0,0.02,0.32,599.96,3842.67,26108137,99.78,0,0.02,0.39,600.47,3842.13,26108138,99.78,0.01,0.03,0.15,600.49,3842.1,26108139,99.71,0,0.02,0.32,599.04,3843.56,26108140,99.66,0,0.02,0.31,598.08,3844.55,26108141,99.8,0.01,0.02,0.14,598.01,3844.59,26108142,99.67,0,0.02,0.61,598.14,3844.43,26108143,99.8,0,0.02,0.14,597.27,3845.29,26108144,99.8,0.01,0.02,0.16,597.01,3845.57,26108145,99.7,0,0.02,0.29,597.78,3844.81,26108146,99.8,0,0.02,0.16,597.7,3844.87,26108147,99.62,0.01,0.02,0.59,598.52,3844.02,26108148,99.78,0,0.02,0.16,598.18,3844.36,26108149,99.78,0,0.02,0.16,598.16,3844.36,26108150,99.63,0,0.02,0.3,598.19,3844.34,26108151,99.78,0.01,0.03,0.14,598.12,3844.4,26108152,99.64,0,0.02,0.55,598.51,3843.99,26108153,99.8,0.01,0.03,0.15,598.11,3844.35,26108154,99.73,0.01,0.02,0.14,598.08,3844.36,26108155,99.64,0.01,0.03,0.34,598.13,3844.32,26108156,99.77,0.01,0.03,0.14,598.1,3844.35,26108157,99.65,0,0.03,0.57,598.4,3844.03,26108158,99.81,0.01,0.02,0.17,598.09,3844.31,26108159,99.85,0,0,0.18,598.01,3844.39,26108160,99.68,0,0,0.3,598.08,3844.32,26108161,99.81,0,0,0.16,597.96,3844.42,26108162,99.71,0,0,0.55,598.29,3844.06,26108163,99.84,0,0,0.14,598.05,3844.28,26108164,99.86,0,0,0.14,598.01,3844.29,26108165,99.73,0,0,0.3,598.24,3844.05,26108166,99.81,0,0,0.16,598.21,3844.08,26108167,99.64,0,0.02,0.55,598.56,3843.72,26108168,99.82,0,0.02,0.16,598.43,3843.83,26108169,99.63,0,0.02,0.29,597.42,3844.82,26108170,99.64,0.01,0.03,0.3,597.19,3845.05,26108171,99.79,0,0.02,0.16,597.11,3845.09,26108172,99.66,0.01,0.03,0.32,597.73,3844.44,26108173,99.77,0,0.02,0.38,597.61,3844.52,26108174,99.75,0,0.02,0.14,597.5,3844.61,26108175,99.69,0,0.02,0.36,598.03,3844.09,26108176,99.78,0.01,0.03,0.16,597.98,3844.12,26108177,99.77,0.01,0.03,0.2,597.97,3844.12,26108178,99.66,0,0.02,0.55,598.74,3843.33,26108179,99.81,0.01,0.02,0.17,598.42,3843.62,26108180,99.68,0.01,0.03,0.35,598.15,3843.9,26108181,99.77,0,0.02,0.18,597.99,3844.03,26108182,99.78,0.01,0.02,0.14,597.86,3844.14,26108183,99.66,0.03,1,0.65,598.75,3843.23,26108184,99.8,0.01,0.03,0.16,598.59,3843.37,26108185,99.75,0,0.02,0.33,598.85,3843.12,26108186,99.73,0.02,0.11,0.23,598.73,3843.06,26108187,99.75,0.13,0.04,0.38,597.93,3842.88,26108188,99.65,0.01,0.02,0.55,598.55,3842.16,26108189,99.75,0.06,1.72,0.25,598.58,3842.1,26108190,99.64,0.01,0.02,0.36,599.12,3841.43,26108191,99.8,0,0.02,0.14,599.17,3841.37,26108192,99.77,0.01,0.02,0.15,599.11,3841.4,26108193,99.62,0.03,1.16,0.67,599.29,3841.12,26108194,99.8,0.01,0.02,0.21,598.67,3841.67,26108195,99.7,0.01,0.02,0.32,598.85,3841.38,26108196,99.78,0,0.02,0.15,598.81,3841.4,26108197,99.8,0,0.02,0.17,598.78,3841.4,26108198,99.67,0,0.02,0.55,599.22,3840.95,26108199,99.62,0,0.02,0.39,598.94,3841.18,26108200,99.7,0,0.02,0.34,599.04,3841.08,26108201,99.76,0.05,0.7,0.23,598.95,3841.13,26108202,94.41,35.83,1.96,99.79,608.92,3828.22,26108203,84.38,0.01,0.05,636.5,514.24,3693.5,26108204,99.8,0.01,0.02,0.5,503.79,3675.66,26108205,99.66,0,0.02,0.38,503.3,3676.15,26108206,99.78,0.01,0.02,0.17,503.3,3676.15,26108207,99.77,0.01,0.02,0.14,503.27,3676.15,26108208,99.68,0,0.02,0.33,502.71,3676.79,26108209,99.8,0,0.02,0.43,501.09,3678.48,26108210,99.77,0.01,0.02,0.29,501.13,3678.45,26108211,99.81,0,0.02,0.14,501.07,3678.5,26108212,99.83,0.01,0.02,0.16,501.1,3678.44,26108213,99.69,0,0.02,0.29,501.37,3678.18,26108214,99.73,0.01,0.03,0.39,501.07,3678.5,26108215,99.66,0,0.02,0.28,501.29,3678.29,26108216,99.81,0,0.02,0.16,501.29,3678.29,26108217,99.8,0,0.02,0.14,501.29,3678.27,26108218,99.75,0.01,0.02,0.15,501.23,3678.32,26108219,99.64,0,0.02,0.56,501.43,3678.11,26108220,99.58,0.01,0.02,0.28,501.02,3678.54,26108221,86.27,0.02,0.03,1.08,570.47,3609.02,26108222,94.49,0.03,0.89,3.05,905.76,3273.34,26108223,99.79,0.02,0.02,0.22,553.09,3626.01,26108224,98.56,0.03,0.03,0.67,539.48,3639.61,26108225,99.72,0.01,0.03,0.4,506.34,3672.77,26108226,99.75,0.01,0.03,0.17,506.34,3672.77,26108227,84.43,0.03,0.89,3.51,864.7,3314.37,26108228,98.78,0.01,0.03,0.23,556.45,3622.63,26108229,84.5,0.04,0.89,4.03,788.44,3390.58,26108230,98.1,0.04,1.71,0.39,698.38,3480.65,26108231,99.74,0.01,0.02,0.24,535.21,3643.8,26108232,99.77,0,0.02,0.16,507.09,3671.9,26108233,99.77,0.01,0.03,0.15,507.11,3671.87,26108234,87.61,0.58,0.08,7.23,568.94,3608.29,26108235,90.59,0.05,1.75,7.19,784.93,3389.52,26108236,99.53,0.21,1.11,0.49,506.77,3667.1,26108237,99.64,0.05,0.22,0.31,507.58,3665.52,26108238,99.73,0.01,0.03,0.2,508.05,3665.01,26108239,90.82,0.01,0.03,1.06,560.87,3612.16,26108240,80.68,0.05,0.9,3.75,659.8,3513.21,26108241,92.99,0.74,1.81,4.6,645.73,3526.88,26108242,91.98,0.62,0.1,54.8,526.67,3626.78,26108243,96.33,0.04,0.03,1.14,520.07,3629.42,26108244,87.78,0.06,1.75,3.8,887.41,3262.06,26108245,82.52,0.1,1.96,12.18,794.21,3355.31,26108246,84.52,0.04,0.05,3.36,835.31,3314.21,26108247,95.79,0.01,0.03,0.65,524.18,3625.33,26108248,99.73,0.03,0.08,0.28,510.76,3638.64,26108249,99.78,0.01,0.03,0.29,510.99,3638.19,26108250,97.08,0.01,0.02,0.92,513.9,3635.28,26108251,97.59,0.02,0.03,0.48,513.4,3635.78,26108252,96.38,0.03,0.02,0.53,518.69,3630.48,26108253,99.78,0,0.02,0.19,510.57,3638.6,26108254,99.83,0,0.02,0.16,510.54,3638.62,26108255,99.6,0,0.02,0.74,511.22,3637.93,26108256,99.86,0,0.02,0.17,510.78,3638.36,26108257,99.86,0,0.02,0.17,510.77,3638.36,26108258,99.87,0,0.02,0.14,510.77,3638.35,26108259,99.72,0,0.02,0.28,510.74,3638.35,26108260,99.63,0,0.02,0.71,511.14,3637.95,26108261,99.88,0,0.02,0.14,510.76,3638.33,26108262,97.83,0.01,0.02,0.41,514.42,3634.66,26108263,87.45,0.02,0.03,0.78,584.92,3564.14,26108264,84.49,0.02,0.05,3.35,916.05,3233.01,26108265,81.7,0.1,2.63,6.84,906.69,3242.37,26108266,99.63,0,0.02,0.23,837.62,3311.44,26108267,81.21,0.22,4.35,9.77,698.11,3450.86,26108268,82.62,0.17,4.01,8.47,835.62,3313.19,26108269,99.72,0.01,0.02,0.33,724.2,3424.6,26108270,97.2,0.02,0.03,0.93,548.1,3600.72,26108271,84.63,0.11,2.78,3.55,757.04,3391.76,26108272,84.79,0.12,4.3,3.46,904.08,3244.66,26108273,99.68,0.13,4.55,0.26,628.66,3520.06,26108274,99.81,0.04,1.22,0.35,556.59,3592.07,26108275,99.61,0.02,0.72,0.79,558.82,3589.85,26108276,99.85,0.02,0.66,0.23,558.47,3590.19,26108277,99.79,0.01,0.03,0.14,558.43,3590.22,26108278,99.79,0.01,0.03,0.15,558.42,3590.23,26108279,99.84,0.01,0.03,0.15,558.46,3590.18,26108280,99.39,0.01,0.02,0.57,559.93,3588.72,26108281,99.75,0.01,0.03,0.3,559.18,3589.47,26108282,99.83,0,0.02,0.14,559.2,3589.44,26108283,99.79,0.01,0.02,0.15,558.49,3590.15,26108284,99.86,0,0.02,0.16,558.15,3590.47,26108285,99.56,0.01,0.03,0.55,559,3589.64,26108286,99.83,0.01,0.02,0.27,558.42,3590.22,26108287,99.8,0,0.02,0.17,558.4,3590.21,26108288,84.78,0.04,0.62,3.53,820.75,3327.83,26108289,92.73,0.01,0.03,0.74,753.48,3395.09,26108290,88.54,0.08,1.18,3.5,930.73,3217.83,26108291,99.55,0.01,0.03,0.61,786.38,3362.18,26108292,99.76,0.02,0.03,0.21,556.12,3592.41,26108293,84.74,0.1,3.5,3.62,825.79,3322.71,26108294,99.64,0,0.02,0.2,730.52,3417.94,26108295,99.71,0,0.02,0.35,557.54,3590.93,26108296,99.61,0.02,0.02,0.62,558.87,3589.58,26108297,84.97,0.07,1.2,3.57,854.35,3294.08,26108298,99.6,0.13,4.6,0.37,635.43,3512.97,26108299,99.84,0,0.02,0.23,555.21,3593.15,26108300,99.73,0.01,0.03,0.32,556.97,3591.4,26108301,99.71,0,0.02,0.57,557.88,3590.47,26108302,99.88,0,0.02,0.18,557.68,3590.67,26108303,99.83,0.01,0.02,0.16,557.69,3590.65,26108304,99.85,0.01,0.03,0.21,557.64,3590.69,26108305,99.72,0,0.02,0.39,557.96,3590.39,26108306,99.71,0,0.02,0.57,558.71,3589.64,26108307,99.86,0,0.02,0.16,558.42,3589.93,26108308,99.85,0,0.02,0.16,557.82,3590.51,26108309,99.85,0,0.02,0.17,557.4,3590.92,26108310,99.71,0,0.02,0.32,557.99,3590.36,26108311,99.62,0,0.02,0.51,558.17,3590.17,26108312,99.75,0,0.02,0.19,557.74,3590.59,26108313,99.84,0.01,0.03,0.15,557.68,3590.65,26108314,99.83,0.01,0.03,0.16,557.67,3590.65,26108315,99.75,0,0.03,0.32,557.96,3590.38,26108316,99.73,0,0.02,0.57,558.58,3589.75,26108317,99.84,0.01,0.03,0.15,558.67,3589.66,26108318,99.83,0,0.02,0.14,558.51,3589.81,26108319,99.65,0.01,0.02,0.29,557.63,3590.67,26108320,99.68,0.02,0.03,0.34,557.92,3590.39,26108321,83.78,0.05,0.68,3.59,669.85,3478.45,26108322,99.81,0.04,1.3,0.61,892.83,3255.44,26108323,83.89,0.08,0.09,4.14,794.26,3353.94,26108324,99.84,0,0.02,0.16,509.5,3638.7,26108325,99.76,0,0.02,0.33,511.49,3636.72,26108326,99.68,0,0.02,0.43,512.09,3636.12,26108327,99.79,0.04,1.27,0.31,511.52,3636.68,26108328,99.83,0.01,0.05,0.23,511.47,3636.72,26108329,99.8,0.01,0.03,0.16,511.48,3636.72,26108330,99.7,0,0.02,0.29,511.98,3636.24,26108331,99.88,0,0.02,0.16,511.95,3636.26,26108332,99.69,0.01,0.03,0.54,511.89,3636.31,26108333,99.87,0,0.02,0.16,511.47,3636.73,26108334,99.88,0,0.02,0.15,511.5,3636.69,26108335,99.7,0,0.02,0.29,511.74,3636.47,26108336,99.86,0.01,0.03,0.16,511.7,3636.5,26108337,99.74,0.01,0.02,0.55,510.98,3637.2,26108338,99.88,0,0.02,0.15,510.46,3637.71,26108339,99.89,0,0.02,0.16,510.47,3637.7,26108340,99.5,0.01,0.02,0.28,510.96,3637.22,26108341,99.82,0.01,0.02,0.2,510.93,3637.25,26108342,99.66,0,0.02,0.55,511.54,3636.63,26108343,99.89,0,0.02,0.14,511.19,3636.98,26108344,99.89,0,0.02,0.16,511.22,3636.94,26108345,99.8,0.01,0.02,0.3,511.93,3636.25,26108346,99.84,0.01,0.02,0.13,511.97,3636.2,26108347,99.65,0.01,0.02,0.59,512.12,3636.05,26108348,99.83,0.01,0.03,0.14,510.92,3637.24,26108349,99.73,0,0.02,0.28,512.19,3635.94,26108350,99.78,0.01,0.02,0.29,511.93,3636.21,26108351,98.89,0,0.02,0.16,511.96,3636.18,26108352,99.75,0.02,0.02,0.5,512.25,3635.89,26108353,85.1,0.01,0.06,1.74,853.43,3294.85,26108354,99.65,0,0.02,0.16,722.21,3426.16,26108355,99.75,0.01,0.03,0.33,560.48,3587.91,26108356,99.86,0.01,0.03,0.16,560.52,3587.86,26108357,99.69,0.01,0.02,0.6,560.88,3587.5,26108358,99.86,0,0.02,0.14,561.5,3586.87,26108359,97.43,0.02,0.04,0.27,541.67,3606.69,26108360,91.79,0.04,0.03,0.75,548.86,3599.5,26108361,97.4,0.01,0.04,0.31,520.25,3628.1,26108362,97.62,0.03,0.03,0.59,517.14,3631.2,26108363,84.36,0.01,0.06,2.44,701.61,3446.71,26108364,84.35,0.03,0.06,2.55,889.95,3258.35,26108365,83.78,0.04,0.63,3.63,901.92,3246.25,26108366,84.27,0.04,0.63,3.4,791.26,3356.76,26108367,99.47,0.02,0.06,0.45,814.53,3333.49,26108368,99.82,0.01,0.02,0.43,555.71,3592.3,26108369,99.84,0,0.02,0.17,555.65,3592.35,26108370,99.67,0.01,0.02,0.31,555.43,3592.58,26108371,99.87,0.02,0.03,0.21,555.45,3592.55,26108372,95.59,0.02,0.03,0.48,555.68,3592.28,26108373,99.62,0.01,0.02,0.7,512.12,3635.74,26108374,98.94,0.04,0.02,0.24,513.75,3634.1,26108375,82.26,0.05,0.64,3.56,668,3479.8,26108376,99.66,0,0.02,0.46,840.03,3307.57,26108377,87.75,0.03,0.03,0.75,620.9,3526.69,26108378,95.88,0.03,0.71,3.46,903.38,3244.2,26108379,97.16,0.02,0.02,0.51,663.75,3483.77,26108380,83.65,0.03,0.62,3.54,916.84,3230.68,26108381,99.54,0,0.04,0.24,575.38,3572.15,26108382,99.78,0.1,3.42,0.35,558.52,3588.98,26108383,99.68,0.02,0.59,0.59,559.61,3587.85,26108384,99.83,0.05,1.78,0.25,558.94,3588.49,26108385,99.71,0,0.02,0.34,558.65,3588.8,26108386,99.88,0,0.02,0.16,558.66,3588.79,26108387,99.86,0,0.02,0.15,558.65,3588.79,26108388,99.67,0.01,0.02,0.76,559.41,3586.96,26108389,99.83,0.01,0.03,0.21,559.17,3586.29,26108390,99.79,0,0.02,0.3,558.89,3586.58,26108391,99.83,0.01,0.02,0.14,558.05,3587.42,26108392,99.86,0.01,0.05,0.2,557.9,3587.56,26108393,99.66,0.01,0.05,0.68,558.4,3587,26108394,99.82,0.04,1.84,0.3,558.21,3587.07,26108395,99.67,0.02,0.65,0.3,558.25,3587.05,26108396,99.78,0.14,5.29,0.41,558.22,3586.96,26108397,95.81,0.3,4.07,5.86,551.35,3590.16,26108398,96.11,0.66,14.65,14.87,518.19,3624.42,26108399,99.34,1.02,27.97,66.31,514.87,3625.05,26108400,98.69,1.8,59.93,0.74,515.01,3624.88,26108401,99.81,0.04,0.08,0.25,515.04,3624.85,26108402,99.83,0.04,0.1,0.25,514.97,3624.93,26108403,99.63,0.02,0.05,0.52,513.22,3626.71,26108404,99.87,0.02,0.03,0.41,512.38,3627.6,26108405,99.61,0.03,0.06,0.39,511.22,3628.77,26108406,99.78,0.04,0.41,0.3,511.15,3628.83,26108407,99.76,0.78,0.79,1.03,510.99,3628.6,26108408,83.03,0.01,0.05,4.05,741.01,3398.26,26108409,99.51,0.06,2.35,0.75,852.35,3286.84,26108410,99.68,0.03,0.95,0.43,560.16,3579.03,26108411,99.8,0.05,2.02,0.24,560.21,3578.96,26108412,99.84,0.01,0.03,0.19,524.87,3614.29,26108413,99.8,0,0.03,0.16,513.14,3626.02,26108414,99.6,0.01,0.02,0.61,514.17,3624.98,26108415,99.6,0,0.02,0.34,513.35,3625.81,26108416,99.85,0,0.02,0.17,513.34,3625.81,26108417,99.82,0.01,0.03,0.21,513.3,3625.84,26108418,99.82,0,0.02,0.17,513.33,3625.8,26108419,99.71,0,0.02,0.59,513.76,3625.37,26108420,99.64,0.01,0.02,0.36,513.31,3625.82,26108421,99.67,0.08,3.04,0.41,513.14,3625.97,26108422,99.77,0.01,0.02,0.18,513.03,3626.06,26108423,99.8,0,0.02,0.14,513.08,3626.01,26108424,99.52,0.01,0.03,0.5,513.5,3625.58,26108425,99.73,0.01,0.03,0.36,513.54,3625.55,26108426,99.79,0.01,0.02,0.14,513.57,3625.52,26108427,99.81,0.01,0.03,0.14,513.53,3625.55,26108428,99.83,0.01,0.02,0.15,513.55,3625.52,26108429,99.71,0.01,0.03,0.63,513.76,3625.3,26108430,99.76,0.01,0.03,0.36,513.28,3625.8,26108431,99.83,0.01,0.02,0.16,513.29,3625.78,26108432,99.83,0.01,0.02,0.14,513.27,3625.8,26108433,99.88,0,0.02,0.17,513.23,3625.84,26108434,99.69,0.01,0.04,0.42,513.72,3625.34,26108435,99.69,0.01,0.02,0.48,513.52,3625.55,26108436,99.85,0.03,1.07,0.19,513.52,3625.55,26108437,99.85,0.03,0.72,0.21,513.54,3625.51,26108438,99.84,0.04,1.8,0.28,513.7,3625.32,26108439,99.47,0.01,0.03,0.59,514.28,3624.71,26108440,99.71,0.01,0.02,0.45,513.81,3625.2,26108441,99.85,0,0.02,0.14,513.69,3625.3,26108442,99.83,0.01,0.03,0.16,513.69,3625.3,26108443,99.86,0,0.02,0.14,513.64,3625.35,26108444,99.83,0,0.02,0.16,513.9,3625.08,26108445,99.62,0,0.02,0.72,513.28,3625.72,26108446,99.83,0,0.02,0.16,512.95,3626.04,26108447,99.85,0,0.02,0.14,512.94,3626.05,26108448,99.83,0,0.02,0.16,512.9,3626.09,26108449,99.87,0.01,0.02,0.15,512.97,3626.01,26108450,99.56,0,0.02,0.75,513.46,3625.53,26108451,99.88,0.01,0.02,0.18,513.2,3625.79,26108452,99.88,0,0.02,0.18,513.23,3625.76,26108453,99.89,0,0.02,0.18,513.15,3625.83,26108454,99.89,0.01,0.02,0.19,513.21,3625.77,26108455,99.66,0.01,0.02,0.76,513.95,3625.06,26108456,99.85,0.01,0.03,0.14,513.67,3625.34,26108457,99.89,0.01,0.03,0.19,513.7,3625.3,26108458,99.88,0.01,0.02,0.15,513.66,3625.34,26108459,99.87,0.01,0.03,0.15,513.66,3625.34,26108460,99.38,0.01,0.03,0.78,513.81,3625.19,26108461,99.73,0.05,1.71,0.28,513.37,3625.61,26108462,99.8,0,0.02,0.16,513.41,3625.56,26108463,99.86,0,0.02,0.14,513.37,3625.61,26108464,99.83,0.01,0.02,0.14,513.39,3625.57,26108465,99.47,0.04,1.21,0.62,513.87,3625.11,26108466,99.78,0.18,7.54,0.55,513.66,3625.29,26108467,99.83,0.09,3.62,0.44,513.74,3625.12,26108468,99.88,0.01,0.05,0.16,513.74,3625.1,26108469,99.68,0.02,0.03,0.32,513.76,3625.06,26108470,83.01,0.08,2.61,4.41,876.19,3262.61,26108471,99.68,0.03,0.94,0.32,729.11,3409.67,26108472,99.87,0,0.02,0.16,560.3,3578.47,26108473,99.84,0.01,0.03,0.14,560.42,3578.35,26108474,99.86,0.01,0.03,0.16,560.52,3578.24,26108475,99.52,0.01,0.02,0.62,561.8,3576.98,26108476,99.85,0,0.02,0.27,562.02,3576.76,26108477,99.8,0.01,0.02,0.2,561.96,3576.81,26108478,99.88,0,0.02,0.15,562,3576.76,26108479,99.84,0,0.02,0.15,561.97,3576.78,26108480,99.55,0.01,0.03,0.56,562.28,3576.49,26108481,99.78,0,0.02,0.37,562.19,3576.58,26108482,99.84,0,0.02,0.14,561.48,3577.29,26108483,99.86,0.01,0.03,0.18,561.51,3577.25,26108484,99.79,0,0.02,0.19,561.56,3577.2,26108485,99.61,0,0.02,0.32,560.99,3577.78,26108486,99.54,0.19,0.11,0.65,562.63,3576.06,26108487,99.83,0.01,0.05,0.35,562.31,3576.28,26108488,99.8,0.01,0.02,0.16,562.29,3576.3,26108489,99.84,0.01,0.02,0.16,562.58,3576,26108490,99.61,0,0.02,0.29,562.81,3575.79,26108491,99.68,0.01,0.03,0.57,564.12,3574.48,26108492,99.79,0,0.02,0.14,562.62,3575.97,26108493,99.85,0.01,0.03,0.15,562.57,3576.02,26108494,99.86,0.01,0.02,0.14,562.55,3576.03,26108495,99.7,0.01,0.03,0.31,563.08,3575.52,26108496,99.67,0.15,0.11,0.74,563.67,3574.85,26108497,99.83,0.01,0.03,0.22,563.44,3575.02,26108498,99.84,0,0.02,0.14,563.38,3575.07,26108499,99.66,0,0.02,0.3,563.42,3575,26108500,99.74,0.04,1.05,0.38,563.89,3574.54,26108501,99.74,0.1,0.09,0.59,564.03,3574.34,26108502,99.84,0.01,0.02,0.33,563.45,3574.88,26108503,99.8,0.03,0.86,0.16,562.75,3575.57,26108504,99.81,0.07,2.54,0.27,562.77,3575.53,26108505,99.72,0.01,0.03,0.36,563,3575.3,26108506,99.63,0.09,3.27,0.63,563.48,3574.81,26108507,99.81,0.03,1.21,0.34,563.19,3575.05,26108508,99.79,0.04,1.24,0.2,563.27,3574.95,26108509,99.76,0.07,2.44,0.27,563.42,3574.77,26108510,99.59,0.05,1.81,0.39,563.19,3575,26108511,99.64,0.07,2.62,0.66,563.59,3574.55,26108512,99.83,0.06,2.13,0.28,563.56,3574.58,26108513,99.75,0.14,5.08,0.29,563.46,3574.63,26108514,99.85,0,0.02,0.28,562.78,3575.26,26108515,99.68,0.02,0.71,0.32,563.26,3574.8,26108516,99.67,0,0.02,0.59,563.95,3574.1,26108517,99.83,0.01,0.02,0.21,563.27,3574.78,26108518,99.84,0,0.02,0.14,563.21,3574.83,26108519,99.86,0.01,0.02,0.14,563.29,3574.74,26108520,99.67,0,0.02,0.33,563.51,3574.54,26108521,99.81,0.01,0.02,0.16,563.51,3574.53,26108522,99.68,0,0.02,0.56,564.11,3573.92,26108523,99.81,0.01,0.02,0.17,563.71,3574.31,26108524,99.71,0.01,0.03,0.14,563.75,3574.27,26108525,99.75,0,0.02,0.33,563.01,3575.03,26108526,99.68,0.01,0.02,0.14,562.73,3575.3,26108527,99.68,0,0.02,0.57,563.34,3574.69,26108528,99.85,0.01,0.02,0.15,562.97,3575.05,26108529,99.6,0.01,0.02,0.28,563.24,3574.76,26108530,99.75,0.01,0.03,0.31,563.49,3574.53,26108531,99.86,0.01,0.03,0.16,563.47,3574.53,26108532,99.75,0,0.02,0.62,563.51,3574.49,26108533,99.75,0,0.02,0.14,562.96,3575.03,26108534,99.75,0,0.02,0.14,563,3574.98,26108535,99.67,0.01,0.02,0.33,563.47,3574.54,26108536,99.84,0,0.02,0.14,563.11,3574.88,26108537,99.68,0.01,0.02,0.65,563.12,3574.88,26108538,99.79,0.02,0.68,0.2,562.71,3575.27,26108539,99.82,0.01,0.02,0.18,562.12,3575.86,26108540,99.7,0,0.02,0.31,562.46,3575.54,26108541,99.83,0.01,0.02,0.2,562.35,3575.64,26108542,99.71,0.01,0.05,0.61,563.1,3574.88,26108543,99.88,0,0.02,0.15,562.45,3575.52,26108544,99.88,0,0.02,0.15,562.49,3575.48,26108545,99.75,0.01,0.02,0.33,562.97,3575.01,26108546,99.83,0.02,0.41,0.25,562.95,3575.03,26108547,99.68,0.01,0.26,0.45,563.63,3574.34,26108548,99.83,0,0.02,0.29,562.22,3575.74,26108549,99.85,0,0.02,0.16,562.21,3575.76,26108550,99.72,0.01,0.03,0.34,562.23,3575.75,26108551,99.79,0.01,0.02,0.14,562.2,3575.78,26108552,99.68,0,0.02,0.42,562.66,3575.31,26108553,99.85,0,0.02,0.29,562.69,3575.27,26108554,99.87,0,0.02,0.14,562.69,3575.26,26108555,99.67,0.01,0.02,0.32,562,3575.97,26108556,99.83,0,0.02,0.17,561.95,3576.02,26108557,99.71,0,0.02,0.4,562.41,3575.56,26108558,99.88,0.01,0.02,0.3,562.65,3575.31,26108559,99.69,0.01,0.02,0.29,562.37,3575.56,26108560,99.73,0,0.02,0.35,561.93,3576.01,26108561,99.86,0,0.02,0.16,561.95,3575.99,26108562,99.83,0.01,0.02,0.14,561.95,3575.98,26108563,99.68,0.01,0.02,0.55,562.97,3574.96,26108564,99.83,0.01,0.03,0.14,562.71,3575.23,26108565,99.71,0,0.02,0.33,562.69,3575.27,26108566,99.79,0,0.02,0.14,562.68,3575.27,26108567,99.81,0.01,0.03,0.15,562.71,3575.24,26108568,99.68,0.01,0.02,0.56,563.74,3574.2,26108569,99.84,0.01,0.02,0.15,563.41,3574.53,26108570,99.71,0.01,0.03,0.32,562.23,3575.72,26108571,99.89,0.01,0.03,0.17,562.16,3575.8,26108572,99.8,0.05,0.18,0.16,561.84,3576.11,26108573,99.67,0.01,0.02,0.65,559.45,3578.54,26108574,99.84,0.01,0.03,0.15,559.21,3578.78,26108575,99.65,0.03,0.07,0.38,559.22,3578.78,26108576,99.84,0,0.02,0.15,559.21,3578.78,26108577,99.87,0.01,0.02,0.15,559.17,3578.82,26108578,99.72,0.01,0.02,0.41,559.79,3578.19,26108579,99.89,0,0.02,0.3,559.69,3578.28,26108580,99.61,0,0.02,0.32,559.92,3578.07,26108581,99.84,0.01,0.02,0.16,559.96,3578.03,26108582,99.85,0.01,0.02,0.14,559.58,3578.4,26108583,99.73,0,0.02,0.5,559.16,3578.82,26108584,99.84,0.01,0.02,0.21,558.7,3579.27,26108585,99.67,0.01,0.02,0.34,559.46,3578.54,26108586,99.83,0.01,0.03,0.13,559.42,3578.57,26108587,99.87,0,0.02,0.16,559.44,3578.55,26108588,99.73,0.01,0.03,0.4,560.01,3577.97,26108589,99.69,0,0.02,0.48,559.41,3578.54,26108590,99.63,0.11,0.29,0.48,560.41,3577.46,26108591,99.86,0.02,0.05,0.3,560.71,3577.07,26108592,99.87,0.03,0.05,0.25,560.72,3577.06,26108593,83.26,0.01,0.05,7,619.52,3517.49,26108594,99.86,0,0.02,0.41,505.08,3632,26108595,99.68,0,0.02,0.34,504.81,3632.3,26108596,99.82,0,0.02,0.14,504.86,3632.24,26108597,99.82,0.01,0.02,0.2,504.82,3632.28,26108598,99.73,0,0.02,0.32,505.18,3631.94,26108599,99.88,0,0.02,0.38,505.05,3632.08,26108600,99.8,0.01,0.02,0.31,504.81,3632.36,26108601,99.83,0,0.02,0.18,504.75,3632.41,26108602,99.88,0.01,0.03,0.16,504.6,3632.56,26108603,99.87,0,0.02,0.15,504.58,3632.58,26108604,99.73,0,0.02,0.58,505.15,3632,26108605,99.72,0.01,0.03,0.36,504.33,3632.84,26108606,99.9,0.01,0.03,0.16,504.36,3632.82,26108607,99.9,0,0.02,0.14,504.35,3632.83,26108608,99.88,0,0.02,0.15,504.11,3633.06,26108609,99.74,0,0.02,0.54,504.65,3632.51,26108610,99.74,0.01,0.02,0.32,504.56,3632.62,26108611,99.9,0.01,0.02,0.19,504.58,3632.59,26108612,99.85,0,0.02,0.14,504.56,3632.61,26108613,99.81,0,0.02,0.14,504.57,3632.59,26108614,99.72,0,0.02,0.54,505.37,3631.78,26108615,99.76,0.01,0.02,0.32,505.05,3632.12,26108616,99.86,0.01,0.03,0.16,505.1,3632.07,26108617,99.84,0,0.02,0.14,505.07,3632.09,26108618,99.85,0,0.02,0.16,505.06,3632.1,26108619,99.57,0,0.02,0.63,505.47,3631.67,26108620,99.66,0,0.02,0.37,504.79,3632.36,26108621,99.85,0.01,0.02,0.15,504.82,3632.32,26108622,99.86,0,0.02,0.16,504.75,3632.39,26108623,99.8,0,0.02,0.14,504.82,3632.32,26108624,99.66,0,0.02,0.57,504.95,3632.18,26108625,99.62,0.01,0.02,0.33,503.45,3633.7,26108626,99.88,0,0.02,0.13,503.35,3633.8,26108627,99.85,0,0.02,0.16,503.3,3633.84,26108628,99.86,0.01,0.02,0.14,503.36,3633.78,26108629,99.69,0,0.02,0.44,503.86,3633.28,26108630,99.73,0,0.02,0.46,504.35,3632.79,26108631,99.87,0.01,0.03,0.18,504.31,3632.83,26108632,99.87,0,0.02,0.14,504.29,3632.84,26108633,99.81,0,0.02,0.14,504.31,3632.83,26108634,99.68,0.01,0.03,0.36,504.64,3632.49,26108635,99.74,0,0.02,0.52,505.32,3631.83,26108636,99.84,0.01,0.03,0.18,505.3,3631.84,26108637,99.83,0,0.02,0.15,505.3,3631.83,26108638,99.83,0,0.02,0.15,505.31,3631.83,26108639,99.86,0,0.02,0.16,505.28,3631.85,26108640,99.5,0,0.02,0.75,505.74,3631.4,26108641,99.82,0.01,0.02,0.16,505.02,3632.12,26108642,99.83,0.01,0.03,0.15,505.06,3632.07,26108643,99.86,0,0.02,0.16,505.03,3632.1,26108644,99.8,0,0.02,0.14,505.03,3632.09,26108645,99.59,0,0.02,0.79,505.75,3631.39,26108646,99.81,0.01,0.02,0.19,505.29,3631.84,26108647,99.84,0.01,0.02,0.2,505.26,3631.87,26108648,99.81,0,0.02,0.2,505.23,3631.89,26108649,99.58,0,0.02,0.32,505.32,3631.77,26108650,99.52,0.01,0.02,0.73,505.26,3631.85,26108651,99.78,0,0.02,0.17,504.83,3632.28,26108652,99.83,0,0.02,0.14,504.79,3632.32,26108653,99.66,0,0.02,0.17,504.8,3632.3,26108654,99.69,0,0.02,0.15,504.76,3632.35,26108655,99.33,0,0.02,0.73,505.37,3631.76,26108656,99.75,0,0.02,0.16,504.55,3632.57,26108657,99.77,0.01,0.02,0.19,504.54,3632.58,26108658,99.8,0,0.02,0.14,504.54,3632.59,26108659,99.76,0,0.02,0.14,504.52,3632.6,26108660,99.6,0,0.02,0.66,505.37,3631.77,26108661,99.75,0,0.02,0.26,504.91,3632.23,26108662,99.78,0,0.02,0.14,504.79,3632.34,26108663,99.77,0,0.02,0.15,504.78,3632.34,26108664,99.73,0,0.02,0.16,504.78,3632.34,26108665,99.5,0,0.02,0.71,505.24,3631.9,26108666,99.77,0,0.02,0.15,504.55,3632.59,26108667,99.76,0,0.02,0.16,504.54,3632.6,26108668,99.8,0,0.02,0.16,504.56,3632.57,26108669,99.8,0,0.02,0.18,504.49,3632.63,26108670,99.58,0.01,0.02,0.45,504.94,3632.2,26108671,99.77,0,0.02,0.41,505.26,3631.87,26108672,99.77,0,0.01,0.14,505.3,3631.83,26108673,99.77,0,0.02,0.14,505.22,3631.9,26108674,99.78,0,0.01,0.14,505.25,3631.87,26108675,99.4,0,0.02,0.32,505.05,3632.09,26108676,99.62,0,0.01,0.62,505.58,3631.56,26108677,99.81,0,0.02,0.15,505.32,3631.81,26108678,99.76,0,0.02,0.16,505.23,3631.9,26108679,99.71,0,0.02,0.29,505.56,3631.54,26108680,99.68,0,0.02,0.32,505.49,3631.63,26108681,99.68,0,0.01,0.57,505.72,3631.39,26108682,99.8,0,0.01,0.16,505.24,3631.86,26108683,99.79,0,0.01,0.14,505.26,3631.84,26108684,99.78,0,0.02,0.15,505.26,3631.86,26108685,99.73,0,0.02,0.32,505.23,3631.91,26108686,99.68,0,0.02,0.57,505.64,3631.49,26108687,99.76,0,0.02,0.14,505.18,3631.94,26108688,99.78,0,0.02,0.14,505.27,3631.84,26108689,99.81,0,0.02,0.17,505.19,3631.92,26108690,99.71,0,0.01,0.32,505.07,3632.06,26108691,99.65,0,0.02,0.55,504.73,3632.39,26108692,99.81,0,0.02,0.16,504.25,3632.86,26108693,99.81,0,0.01,0.16,504.29,3632.82,26108694,99.81,0,0.01,0.16,504.2,3632.9,26108695,99.67,0,0.01,0.41,504.55,3632.57,26108696,99.66,0,0.01,0.57,505.15,3631.97,26108697,99.83,0,0.01,0.14,504.45,3632.65,26108698,99.81,0,0.02,0.14,504.53,3632.56,26108699,99.78,0,0.04,0.17,504.46,3632.63,26108700,99.51,0,0.02,0.34,504.77,3632.34,26108701,99.65,0.01,0.02,0.57,505.06,3632.05,26108702,99.79,0.01,0.02,0.14,504.76,3632.34,26108703,99.8,0,0.02,0.15,504.7,3632.39,26108704,99.73,0,0.02,0.14,504.74,3632.35,26108705,99.7,0,0.01,0.37,504.2,3632.91,26108706,99.65,0.01,0.02,0.43,504.67,3632.43,26108707,99.81,0,0.01,0.29,504.44,3632.66,26108708,99.82,0,0.02,0.14,504.49,3632.6,26108709,99.62,0,0.02,0.29,504.95,3632.12,26108710,99.54,0.01,0.02,0.34,503.12,3633.97,26108711,99.82,0,0.02,0.16,503,3634.08,26108712,99.69,0,0.02,0.55,505.12,3631.96,26108713,99.79,0,0.01,0.19,504.72,3632.36,26108714,99.77,0,0.02,0.22,504.72,3632.36,26108715,99.66,0,0.01,0.38,504.52,3632.58,26108716,99.78,0,0.01,0.18,504.43,3632.67,26108717,99.61,0.01,0.02,0.67,504.72,3632.38,26108718,99.77,0,0.02,0.15,503.94,3633.16,26108719,99.82,0,0.01,0.18,504.03,3633.06,26108720,99.71,0,0.02,0.32,504.45,3632.66,26108721,99.81,0,0.02,0.18,504.63,3632.47,26108722,99.66,0,0.01,0.56,504.93,3632.17,26108723,99.78,0,0.02,0.14,504.46,3632.64,26108724,99.82,0,0.01,0.17,504.52,3632.57,26108725,99.73,0,0.02,0.32,504.7,3632.4,26108726,99.83,0,0.01,0.17,504.79,3632.31,26108727,99.65,0,0.02,0.54,504.74,3632.35,26108728,99.78,0,0.02,0.16,504.26,3632.84,26108729,99.81,0,0.02,0.15,504.22,3632.87,26108730,99.68,0,0.01,0.33,503.74,3633.37,26108731,99.8,0,0.02,0.14,503.78,3633.32,26108732,99.66,0,0.01,0.52,504.63,3632.46,26108733,99.8,0,0.01,0.18,505.02,3632.06,26108734,99.82,0,0.01,0.15,504.95,3632.14,26108735,99.64,0,0.02,0.33,503.52,3633.59,26108736,99.79,0,0.02,0.16,503.5,3633.6,26108737,99.64,0,0.01,0.59,504.18,3632.91,26108738,99.8,0,0.02,0.14,504.75,3632.34,26108739,99.63,0,0.02,0.32,504.67,3632.39,26108740,99.69,0,0.02,0.33,504.79,3632.29,26108741,99.81,0,0.02,0.16,504.7,3632.36,26108742,99.66,0.01,0.02,0.52,505.15,3631.92,26108743,99.79,0,0.02,0.2,504.94,3632.12,26108744,99.81,0,0.02,0.15,504.97,3632.08,26108745,99.66,0,0.01,0.34,504.74,3632.33,26108746,99.79,0,0.01,0.16,504.7,3632.37,26108747,99.81,0,0.01,0.14,504.76,3632.31,26108748,99.6,0,0.02,0.56,504.68,3632.37,26108749,99.78,0,0.02,0.16,504.02,3633.04,26108750,99.67,0,0.02,0.32,503.25,3633.82,26108751,99.77,0,0.01,0.14,503.25,3633.82,26108752,99.82,0,0.02,0.15,503.23,3633.84,26108753,99.67,0,0.01,0.55,504.76,3632.3,26108754,99.42,0,0.01,0.3,504.68,3632.37,26108755,99.63,0,0.02,0.34,504.91,3632.16,26108756,99.71,0,0.02,0.16,505.04,3632.03,26108757,99.78,0,0.02,0.14,504.95,3632.11,26108758,99.61,0,0.01,0.55,505.65,3631.41,26108759,99.8,0,0.01,0.16,504.97,3632.08,26108760,99.56,0,0.01,0.32,505.19,3631.9,26108761,99.75,0,0.02,0.13,505.26,3631.82,26108762,99.73,0,0.02,0.16,505.18,3631.9,26108763,94.87,0.33,0.03,80.23,520.31,3617.09,26108764,99.63,0,0.02,185.11,507.44,3629.39,26108765,99.62,0,0.01,0.32,507.28,3629.56,26108766,99.72,0.01,0.02,0.14,507.19,3629.66,26108767,99.56,0,0.01,0.16,507.27,3629.57,26108768,99.63,0,0.01,0.6,506.55,3630.3,26108769,99.68,0,0.02,0.28,504.77,3632.08,26108770,99.71,0.01,0.02,0.34,505.33,3631.53,26108771,99.75,0,0.01,0.16,505.25,3631.61,26108772,99.79,0,0.02,0.14,505.34,3631.51,26108773,99.57,0.08,2.97,0.63,505.55,3631.29,26108774,99.72,0.03,1.1,0.37,505.06,3631.78,26108775,99.64,0,0.02,0.31,505.24,3631.62,26108776,99.78,0,0.01,0.16,505.28,3631.58,26108777,99.8,0.01,0.02,0.18,505.05,3631.8,26108778,99.61,0.02,0.94,0.6,505.7,3631.14,26108779,99.76,0,0.02,0.28,505.3,3631.54,26108780,99.66,0,0.01,0.31,505,3631.86,26108781,99.77,0,0.01,0.18,504.85,3632.01,26108782,99.76,0,0.02,0.18,504.51,3632.34,26108783,99.75,0,0.01,0.15,504.53,3632.32,26108784,99.63,0,0.01,0.58,505.26,3631.57,26108785,99.7,0,0.01,0.33,505.01,3631.85,26108786,99.8,0,0.02,0.16,505.02,3631.83,26108787,99.77,0,0.02,0.14,505.01,3631.84,26108788,99.8,0,0.02,0.16,504.99,3631.86,26108789,99.63,0,0.02,0.54,505.36,3631.48,26108790,99.64,0,0.01,0.33,505.23,3631.63,26108791,99.78,0,0.02,0.14,505.29,3631.57,26108792,99.76,0,0.02,0.16,505.23,3631.62,26108793,99.79,0,0.02,0.14,505.3,3631.54,26108794,99.64,0,0.02,0.58,505,3631.84,26108795,99.51,0,0.02,0.34,504.11,3632.75,26108796,99.77,0,0.01,0.16,504.01,3632.85,26108797,99.8,0,0.01,0.14,504.04,3632.8,26108798,99.79,0,0.01,0.16,504.04,3632.8,26108799,99.47,0,0.02,0.7,505.02,3631.8,26108800,99.68,0,0.02,0.37,504.81,3632.02,26108801,99.77,0,0.02,0.14,504.72,3632.11,26108802,99.78,0,0.02,0.14,504.81,3632.02,26108803,99.79,0.02,0.16,0.18,504.74,3632.08,26108804,99.64,0,0.01,0.61,505.3,3631.5,26108805,99.68,0.01,0.02,0.32,505.27,3631.55,26108806,99.76,0,0.02,0.16,505.2,3631.62,26108807,99.78,0.01,0.04,0.18,505.27,3631.55,26108808,99.76,0,0.02,0.16,505.21,3631.6,26108809,99.63,0,0.02,0.55,505.56,3631.24,26108810,99.61,0,0.02,0.32,504.97,3631.85,26108811,99.83,0,0.02,0.15,505.06,3631.76,26108812,99.88,0,0.01,0.19,504.97,3631.84,26108813,99.87,0.01,0.03,0.17,504.98,3631.82,26108814,99.72,0.06,3.98,0.84,505.39,3631.39,26108815,99.76,0,0.02,0.4,504.06,3632.73,26108816,99.88,0,0.01,0.13,503.97,3632.82,26108817,99.88,0,0.01,0.17,504,3632.78,26108818,99.87,0,0.02,0.15,503.98,3632.78,26108819,99.73,0,0.02,0.43,504.73,3632.03,26108820,99.42,0,0.01,0.43,503.76,3633.01,26108821,99.8,0.01,0.02,0.16,503.68,3633.09,26108822,99.83,0,0.01,0.14,503.78,3632.99,26108823,99.81,0,0.01,0.15,503.71,3633.05,26108824,99.87,0,0.01,0.16,503.7,3633.06,26108825,99.53,0,0.01,0.73,505.99,3630.78,26108826,99.81,0.01,0.02,0.14,505.42,3631.34,26108827,99.83,0,0.01,0.15,505.51,3631.25,26108828,98.77,0,0.02,0.14,505.44,3631.32,26108829,99.64,0,0.02,0.29,505.22,3631.52,26108830,99.53,0.01,0.02,0.72,505.4,3631.35,26108831,99.86,0,0.01,0.17,505.19,3631.55,26108832,99.84,0,0.01,0.14,505.23,3631.52,26108833,99.88,0,0.02,0.16,505.15,3631.59,26108834,99.72,0,0.01,0.16,505.25,3631.49,26108835,99.57,0,0.01,0.72,505.78,3630.97,26108836,99.88,0,0.02,0.16,505.45,3631.29,26108837,99.82,0,0.02,0.18,505.69,3631.06,26108838,99.85,0,0.02,0.16,505.65,3631.09,26108839,99.85,0,0.02,0.15,505.7,3631.03,26108840,99.64,0,0.02,0.73,506.26,3630.49,26108841,99.89,0,0.02,0.2,505.55,3631.2,26108842,99.85,0,0.02,0.14,505.17,3631.57,26108843,99.88,0,0.02,0.14,505.25,3631.49,26108844,99.89,0.01,0.02,0.15,505.18,3631.55,26108845,99.66,0,0.02,0.76,505.82,3630.93,26108846,99.88,0,0.01,0.16,504.46,3632.29,26108847,99.89,0.01,0.02,0.14,504.46,3632.28,26108848,99.87,0,0.02,0.16,504.46,3632.28,26108849,99.88,0,0.01,0.14,504.43,3632.3,26108850,99.6,0,0.02,0.6,505.08,3631.66,26108851,99.86,0,0.02,0.29,504.68,3632.06,26108852,99.83,0,0.02,0.18,504.74,3632,26108853,99.88,0,0.02,0.14,504.65,3632.09,26108854,99.88,0,0.02,0.14,504.73,3632.02,26108855,99.6,0,0.02,0.75,504.8,3631.96,26108856,99.88,0,0.02,0.17,504.52,3632.24,26108857,99.8,0,0.02,0.16,504.45,3632.3,26108858,99.88,0,0.01,0.14,504.46,3632.28,26108859,99.59,0,0.01,0.29,504,3632.72,26108860,99.59,0,0.02,0.55,504.36,3632.37,26108861,99.86,0,0.01,0.39,504.74,3632,26108862,99.82,0,0.02,0.18,504.65,3632.07,26108863,99.88,0,0.01,0.16,504.74,3631.98,26108864,99.87,0,0.02,0.16,504.65,3632.07,26108865,99.65,0,0.01,0.32,504.28,3632.46,26108866,99.75,0,0.01,0.6,505.57,3631.17,26108867,99.86,0,0.02,0.17,504.92,3631.81,26108868,99.9,0,0.02,0.16,504.94,3631.78,26108869,99.87,0,0.01,0.17,504.88,3631.84,26108870,99.8,0,0.02,0.38,504.02,3632.72,26108871,99.76,0,0.02,0.58,505.02,3631.71,26108872,99.88,0,0.02,0.16,504.75,3631.97,26108873,99.89,0,0.02,0.17,504.66,3632.06,26108874,99.87,0,0.02,0.17,504.74,3631.98,26108875,99.75,0,0.02,0.36,504.68,3632.05,26108876,99.7,0,0.02,0.48,504.96,3631.77,26108877,99.9,0,0.01,0.28,504.45,3632.28,26108878,99.89,0,0.01,0.21,504.44,3632.28,26108879,99.86,0,0.02,0.21,504.46,3632.25,26108880,99.61,0,0.01,0.42,504.65,3632.08,26108881,99.71,0.01,0.02,0.43,505.1,3631.64,26108882,99.81,0,0.02,0.32,504.66,3632.07,26108883,99.85,0,0.01,0.16,504.71,3632.02,26108884,99.86,0,0.02,0.18,504.68,3632.06,26108885,99.8,0,0.01,0.34,504.92,3631.84,26108886,99.75,0,0.01,0.53,505.23,3631.52,26108887,99.9,0,0.01,0.21,504.65,3632.1,26108888,99.86,0,0.01,0.15,504.75,3631.99,26108889,99.79,0,0.02,0.32,504.69,3632.02,26108890,99.75,0.01,0.02,0.34,504.71,3632.02,26108891,99.72,0,0.01,0.4,505.43,3631.3,26108892,99.88,0,0.01,0.3,504.89,3631.83,26108893,99.81,0,0.02,0.14,504.99,3631.73,26108894,99.83,0,0.02,0.15,504.91,3631.82,26108895,99.63,0,0.02,0.33,504.74,3632.01,26108896,99.66,0,0.02,0.34,505.2,3631.55,26108897,99.84,0.01,0.02,0.4,504.95,3631.79,26108898,99.88,0,0.02,0.14,504.94,3631.8,26108899,99.85,0,0.02,0.14,504.91,3631.82,26108900,99.71,0,0.02,0.33,504.96,3631.79,26108901,99.79,0,0.01,0.18,504.7,3632.05,26108902,99.7,0,0.01,0.54,504.2,3632.55,26108903,99.85,0,0.02,0.16,503.67,3633.07,26108904,99.83,0,0.02,0.15,503.71,3633.02,26108905,99.78,0,0.01,0.36,504.95,3631.8,26108906,99.86,0,0.02,0.15,504.93,3631.82,26108907,99.75,0,0.01,0.56,505.33,3631.41,26108908,99.85,0,0.02,0.14,504.9,3631.84,26108909,99.85,0,0.02,0.17,504.98,3631.75,26108910,99.67,0,0.02,0.33,504.68,3632.07,26108911,99.86,0,0.01,0.14,504.73,3632.02,26108912,99.65,0,0.02,0.56,504.16,3632.58,26108913,99.81,0,0.02,0.15,503.45,3633.28,26108914,99.87,0,0.02,0.15,503.45,3633.28,26108915,99.69,0,0.02,0.32,504.88,3631.87,26108916,99.85,0,0.01,0.16,504.96,3631.78,26108917,99.78,0,0.02,0.51,504.86,3631.88,26108918,99.9,0,0.02,0.2,504.23,3632.51,26108919,99.71,0,0.01,0.29,504.86,3631.85,26108920,99.77,0.01,0.03,0.32,504.98,3631.75,26108921,99.87,0,0.02,0.19,504.93,3631.79,26108922,99.74,0,0.01,0.55,505.49,3631.23,26108923,99.88,0,0.01,0.14,505.18,3631.53,26108924,99.85,0,0.02,0.14,505.16,3631.55,26108925,99.7,0,0.01,0.34,504.98,3631.74,26108926,99.87,0,0.02,0.14,504.89,3631.83,26108927,99.69,0,0.02,0.42,505.27,3631.45,26108928,99.88,0,0.01,0.29,504.65,3632.06,26108929,99.87,0,0.02,0.14,504.7,3632,26108930,99.79,0,0.01,0.34,504.94,3631.79,26108931,99.88,0,0.02,0.15,504.9,3631.82,26108932,99.7,0,0.02,0.43,505.32,3631.4,26108933,99.86,0,0.01,0.3,504.87,3631.84,26108934,99.87,0,0.02,0.15,504.96,3631.74,26108935,99.73,0,0.02,0.34,504.9,3631.82,26108936,99.85,0,0.02,0.15,504.99,3631.74,26108937,99.75,0,0.02,0.16,505.22,3631.5,26108938,99.83,0,0.01,0.54,505.28,3631.43,26108939,99.85,0,0.02,0.2,504.95,3631.76,26108940,98.18,0,0.02,10.15,504.76,3631.07,26108941,99.83,0,0.02,0.16,504.71,3631.12,26108942,99.89,0,0.02,0.14,504.63,3631.21,26108943,99.72,0.01,0.03,0.62,505.25,3630.57,26108944,99.86,0,0.02,0.18,504.82,3630.97,26108945,99.64,0,0.01,0.34,503.99,3631.84,26108946,99.82,0.01,0.02,0.14,503.88,3631.95,26108947,99.85,0,0.02,0.16,503.92,3631.9,26108948,99.75,0,0.02,0.56,504.85,3630.97,26108949,99.68,0,0.02,0.3,505.14,3630.67,26108950,99.8,0.01,0.02,0.32,505.37,3630.46,26108951,99.88,0,0.02,0.14,505.4,3630.42,26108952,99.88,0,0.02,0.15,505.39,3630.42,26108953,99.74,0,0.02,0.57,505.58,3630.23,26108954,99.85,0,0.01,0.16,505.16,3630.66,26108955,99.65,0,0.01,0.32,505.12,3630.73,26108956,99.81,0,0.02,0.16,505.2,3630.64,26108957,99.85,0,0.02,0.19,505.11,3630.72,26108958,99.7,0,0.01,0.41,505.99,3629.84,26108959,99.89,0,0.02,0.29,505.4,3630.42,26108960,99.69,0,0.02,0.32,505.43,3630.41,26108961,99.83,0,0.02,0.22,505.43,3630.41,26108962,99.87,0,0.01,0.18,505.36,3630.47,26108963,99.74,0,0.02,0.43,505.99,3629.85,26108964,99.87,0,0.02,0.28,505.36,3630.5,26108965,99.72,0,0.02,0.37,505.45,3630.43,26108966,99.85,0,0.02,0.16,505.4,3630.48,26108967,99.88,0,0.01,0.14,505.42,3630.44,26108968,99.63,0,0.01,0.56,505.81,3630.05,26108969,99.87,0,0.01,0.18,505.37,3630.49,26108970,99.63,0,0.02,0.37,504.52,3631.36,26108971,99.8,0,0.01,0.14,504.42,3631.45,26108972,99.84,0,0.01,0.14,504.48,3631.39,26108973,99.73,0,0.02,0.57,504.96,3630.91,26108974,99.85,0,0.01,0.14,505.35,3630.51,26108975,99.69,0,0.02,0.33,504.29,3631.58,26108976,99.89,0,0.02,0.17,504.16,3631.71,26108977,99.83,0,0.01,0.14,504.21,3631.66,26108978,99.86,0,0.01,0.15,504.18,3631.69,26108979,99.28,0,0.02,0.71,505.93,3629.89,26108980,99.76,0,0.01,0.37,505.43,3630.4,26108981,99.88,0,0.02,0.16,505.39,3630.45,26108982,99.85,0,0.01,0.15,505.45,3630.38,26108983,99.88,0,0.02,0.14,505.36,3630.46,26108984,99.75,0,0.02,0.57,506.11,3629.7,26108985,99.75,0,0.01,0.39,505.67,3630.16,26108986,99.87,0,0.01,0.18,505.63,3630.19,26108987,99.83,0,0.02,0.14,505.7,3630.12,26108988,99.86,0,0.02,0.16,505.61,3630.21,26108989,99.73,0,0.02,0.56,506.13,3629.68,26108990,99.77,0,0.02,0.34,505.63,3630.2,26108991,99.88,0,0.02,0.16,505.69,3630.13,26108992,99.85,0,0.02,0.14,505.61,3630.21,26108993,99.85,0,0.01,0.15,505.68,3630.14,26108994,99.75,0,0.01,0.51,505.77,3630.04,26108995,99.77,0,0.01,0.4,505.16,3630.67,26108996,99.88,0,0.02,0.16,505.18,3630.64,26108997,99.83,0,0.01,0.14,505.1,3630.72,26108998,99.85,0,0.01,0.15,505.19,3630.63,26108999,99.73,0,0.02,0.5,505.61,3630.2,26109000,99.6,0,0.01,0.43,504.91,3630.91,26109001,99.8,0.01,0.02,0.15,504.94,3630.88,26109002,99.81,0,0.02,0.16,504.88,3630.93,26109003,99.78,0,0.02,0.15,504.96,3630.85,26109004,99.68,0,0.02,0.58,505.22,3630.59,26109005,99.73,0,0.02,0.3,503.75,3632.08,26109006,99.85,0.01,0.02,0.16,503.66,3632.16,26109007,99.85,0,0.02,0.14,503.71,3632.11,26109008,99.85,0,0.01,0.16,503.67,3632.14,26109009,99.52,0,0.01,0.7,504.97,3630.81,26109010,93.01,0.01,0.01,0.24,503.81,3631.99,26109011,99.83,0,0.01,0.14,503.63,3632.17,26109012,99.9,0,0.01,0.16,503.67,3632.12,26109013,99.82,0,0.01,0.14,503.68,3632.11,26109014,99.84,0,0.02,0.17,503.6,3632.19,26109015,99.52,0,0.02,0.72,504.56,3631.24,26109016,99.89,0,0.01,0.18,503.87,3631.93,26109017,99.85,0.01,0.02,0.23,503.96,3631.84,26109018,99.81,0,0.01,0.15,503.92,3631.87,26109019,99.88,0,0.02,0.16,503.91,3631.87,26109020,99.66,0,0.02,0.75,505.21,3630.59,26109021,99.88,0,0.01,0.21,504.65,3631.14,26109022,99.87,0,0.01,0.15,504.45,3631.34,26109023,99.88,0,0.02,0.15,504.37,3631.42,26109024,99.89,0,0.02,0.14,504.41,3631.37,26109025,99.45,0,0.02,0.72,504.82,3630.98,26109026,99.84,0,0.02,0.16,504.63,3631.17,26109027,99.88,0,0.02,0.17,504.66,3631.15,26109028,99.83,0,0.02,0.14,504.6,3631.2,26109029,99.8,0,0.02,0.16,504.67,3631.13,26109030,99.49,0,0.01,0.72,504.64,3631.17,26109031,99.87,0,0.01,0.16,504.4,3631.4,26109032,99.81,0,0.01,0.15,504.39,3631.41,26109033,99.86,0,0.02,0.16,504.36,3631.44,26109034,99.88,0,0.01,0.15,504.43,3631.37,26109035,99.6,0,0,0.77,505.27,3630.54,26109036,99.88,0,0,0.15,504.62,3631.19,26109037,99.89,0,0,0.14,504.61,3631.2,26109038,99.94,0,0,0.14,504.57,3631.23,26109039,99.75,0,0,0.31,505.06,3630.71,26109040,99.59,0,0,0.75,505.15,3630.65,26109041,99.87,0,0,0.19,504.97,3630.82,26109042,99.88,0,0,0.15,504.95,3630.84,26109043,99.91,0,0,0.14,504.93,3630.85,26109044,99.93,0,0,0.15,504.91,3630.87,26109045,99.67,0,0,0.54,505.62,3630.17,26109046,99.88,0,0,0.32,504.15,3631.64,26109047,99.88,0,0,0.18,504.14,3631.64,26109048,99.88,0,0.01,0.18,504.1,3631.68,26109049,99.88,0,0,0.17,504.07,3631.7,26109050,99.75,0,0,0.25,505.07,3630.72,26109051,99.73,0,0,0.6,505.65,3630.13,26109052,99.91,0,0,0.16,504.95,3630.84,26109053,99.93,0,0,0.16,504.94,3630.85,26109054,99.91,0,0,0.14,504.91,3630.87,26109055,99.77,0,0,0.27,503.96,3631.83,26109056,99.69,0,0,0.62,505.39,3630.41,26109057,99.9,0,0,0.15,505.1,3630.68,26109058,99.91,0,0,0.14,505.1,3630.69,26109059,99.86,0,0,0.16,505.08,3630.7,26109060,99.77,0,0,0.28,505.32,3630.48,26109061,99.76,0,0,0.58,505.37,3630.42,26109062,99.88,0,0,0.13,504.94,3630.84,26109063,99.89,0,0,0.16,504.95,3630.82,26109064,99.86,0,0,0.16,504.93,3630.84,26109065,99.83,0,0,0.29,505.17,3630.61,26109066,99.74,0,0,0.54,504.94,3630.85,26109067,99.92,0,0,0.19,504.14,3631.64,26109068,99.91,0,0,0.14,504.13,3631.64,26109069,99.7,0,0,0.31,503.63,3632.12,26109070,99.69,0,0,0.26,504.58,3631.18,26109071,99.74,0,0,0.43,505.16,3630.6,26109072,99.88,0,0,0.3,505.05,3630.7,26109073,99.92,0,0,0.14,505.04,3630.71,26109074,99.85,0,0,0.14,505.07,3630.68,26109075,99.76,0,0,0.3,505.21,3630.56,26109076,99.77,0,0,0.44,505.88,3629.9,26109077,99.17,0,0,0.32,504.9,3630.87,26109078,99.89,0,0,0.15,504.9,3630.87,26109079,99.84,0,0,0.19,504.87,3630.9,26109080,99.64,0,0,0.26,505.11,3630.67,26109081,99.68,0,0,0.43,505.4,3630.38,26109082,99.85,0,0,0.3,504.82,3630.96,26109083,99.85,0,0,0.14,504.8,3630.97,26109084,99.9,0,0,0.15,504.79,3630.97,26109085,99.74,0,0,0.26,504.32,3631.46,26109086,99.91,0,0,0.16,504.2,3631.58,26109087,99.77,0,0,0.55,505.21,3630.56,26109088,99.9,0,0,0.15,504.9,3630.88,26109089,99.9,0,0,0.15,504.87,3630.91,26109090,99.7,0,0,0.24,504.41,3631.4,26109091,99.94,0,0,0.16,504.36,3631.44,26109092,99.71,0,0,0.56,505.39,3630.41,26109093,99.9,0,0,0.14,505.06,3630.73,26109094,99.91,0,0,0.15,505.05,3630.73,26109095,99.76,0,0,0.25,505.28,3630.52,26109096,99.87,0,0,0.14,505.37,3630.43,26109097,99.73,0,0,0.59,505.61,3630.18,26109098,99.88,0,0,0.16,505.18,3630.61,26109099,99.69,0,0,0.28,505.39,3630.38,26109100,99.76,0,0,0.26,505.39,3630.39,26109101,99.9,0,0,0.16,505.37,3630.41,26109102,99.72,0,0,0.55,505.85,3629.91,26109103,99.88,0,0,0.16,505.56,3630.2,26109104,99.89,0,0,0.16,505.55,3630.22,26109105,99.77,0,0,0.26,505.06,3630.72,26109106,99.9,0,0,0.16,505.02,3630.76,26109107,99.76,0,0,0.55,505.26,3630.52,26109108,99.85,0,0,0.14,504.92,3630.85,26109109,99.9,0.01,0,0.14,504.94,3630.83,26109110,99.69,0.02,0.02,0.28,504.19,3631.59,26109111,99.86,0,0,0.14,504.18,3631.59,26109112,99.72,0,0,0.41,505.2,3630.57,26109113,99.86,0,0,0.29,505.62,3630.15,26109114,99.89,0,0,0.14,505.58,3630.18,26109115,99.81,0,0,0.28,504.14,3631.63,26109116,99.92,0,0,0.18,504.08,3631.69,26109117,99.75,0,0,0.33,504.71,3631.06,26109118,99.88,0,0,0.45,505.28,3630.49,26109119,99.88,0,0,0.18,505.27,3630.49,26109120,99.56,0,0,0.25,505.31,3630.47,26109121,99.84,0,0,0.14,505.44,3630.34,26109122,99.84,0,0,0.16,505.41,3630.36,26109123,99.73,0,0,0.57,505.97,3629.79,26109124,99.87,0,0,0.14,505.62,3630.14,26109125,99.8,0,0,0.27,505.39,3630.38,26109126,99.86,0,0,0.14,505.35,3630.42,26109127,99.83,0,0,0.13,505.32,3630.44,26109128,94.57,0.34,0.01,265.28,517,3618.7,26109129,99.76,0,0,0.36,507.89,3627.72,26109130,99.71,0,0,0.27,507.9,3627.72,26109131,99.85,0,0,0.16,508.04,3627.57,26109132,99.92,0,0,0.14,508.06,3627.55,26109133,99.74,0,0,0.62,506.44,3629.19,26109134,99.82,0,0,0.15,505.36,3630.32,26109135,99.66,0,0,0.26,504.87,3630.84,26109136,99.8,0,0,0.15,504.86,3630.85,26109137,99.9,0,0,0.2,505.08,3630.62,26109138,98.96,0,0,0.55,505.97,3629.72,26109139,99.91,0,0,0.16,505.27,3630.42,26109140,99.74,0,0,0.33,505.53,3630.18,26109141,99.81,0,0,0.23,505.45,3630.26,26109142,99.83,0,0,0.15,505.25,3630.45,26109143,99.66,0,0,0.51,505.77,3629.92,26109144,99.9,0,0,0.2,505.64,3630.05,26109145,99.73,0,0,0.32,505.63,3630.07,26109146,99.9,0,0,0.15,505.62,3630.08,26109147,99.89,0,0,0.16,505.58,3630.11,26109148,99.68,0,0,0.55,505.93,3629.75,26109149,99.89,0,0,0.14,505.51,3630.17,26109150,99.66,0,0,0.31,504.29,3631.41,26109151,99.78,0.01,0.01,0.16,504.35,3631.34,26109152,99.83,0,0,0.15,504.33,3631.37,26109153,99.7,0,0,0.4,504.89,3630.8,26109154,99.78,0,0,0.3,505.26,3630.42,26109155,99.53,0,0,0.28,503.88,3631.81,26109156,99.82,0,0,0.14,503.77,3631.93,26109157,99.84,0,0,0.17,503.76,3631.93,26109158,99.7,0,0,0.42,504.13,3631.56,26109159,99.61,0,0,0.45,504.55,3631.11,26109160,99.75,0,0,0.36,504.17,3631.51,26109161,99.88,0,0,0.15,504.14,3631.54,26109162,99.82,0,0,0.14,504.1,3631.57,26109163,99.84,0,0,0.14,504.1,3631.57,26109164,99.7,0,0,0.55,504.78,3630.88,26109165,99.73,0,0,0.28,503.84,3631.84,26109166,99.86,0,0,0.14,503.8,3631.87,26109167,99.85,0,0,0.16,503.78,3631.89,26109168,99.85,0,0,0.16,503.76,3631.91,26109169,99.63,0,0,0.55,504.97,3630.69,26109170,99.78,0,0,0.28,504.83,3630.85,26109171,99.87,0,0,0.13,504.88,3630.8,26109172,99.88,0,0,0.16,504.86,3630.81,26109173,99.91,0,0,0.14,504.84,3630.83,26109174,99.72,0,0,0.56,505.49,3630.17,26109175,99.72,0,0,0.26,503.85,3631.83,26109176,99.81,0,0,0.16,503.8,3631.88,26109177,99.87,0,0,0.14,503.78,3631.89,26109178,99.88,0,0,0.15,503.76,3631.91,26109179,99.74,0,0,0.57,504.49,3631.18,26109180,99.44,0,0,0.26,503.76,3631.92,26109181,99.71,0,0,0.18,503.91,3631.77,26109182,99.78,0,0,0.14,503.92,3631.75,26109183,99.85,0,0,0.15,503.89,3631.78,26109184,99.71,0,0,0.56,504.54,3631.13,26109185,99.78,0,0,0.3,504.85,3630.83,26109186,99.83,0,0,0.13,504.84,3630.83,26109187,99.85,0,0,0.17,504.81,3630.86,26109188,99.85,0,0,0.14,504.8,3630.87,26109189,99.56,0,0,0.55,505.4,3630.24,26109190,99.69,0,0,0.52,504.98,3630.68,26109191,99.87,0,0,0.14,504.74,3630.91,26109192,99.84,0,0,0.15,504.79,3630.85,26109193,99.79,0,0,0.16,504.91,3630.73,26109194,99.89,0,0,0.14,504.92,3630.72,26109195,99.56,0,0,0.67,505.32,3630.34,26109196,99.88,0,0,0.16,504.9,3630.77,26109197,99.85,0,0,0.17,504.88,3630.79,26109198,99.85,0,0,0.16,504.85,3630.82,26109199,99.84,0,0,0.14,504.83,3630.83,26109200,99.56,0,0,0.66,505.42,3630.27,26109201,99.84,0,0,0.18,504.95,3630.73,26109202,99.82,0,0,0.14,504.54,3631.13,26109203,99.85,0,0,0.15,504.56,3631.11,26109204,99.82,0,0,0.16,504.69,3630.98,26109205,99.59,0,0,0.67,505.58,3630.1,26109206,99.82,0,0,0.14,505.16,3630.52,26109207,99.8,0,0,0.18,505.14,3630.53,26109208,99.73,0,0,0.17,505.12,3630.55,26109209,99.78,0,0,0.14,505.1,3630.56,26109210,99.42,0,0,0.71,505.32,3630.35,26109211,99.76,0,0,0.17,504.85,3630.82,26109212,99.78,0,0,0.14,504.81,3630.86,26109213,99.81,0,0,0.16,504.78,3630.88,26109214,99.77,0,0,0.16,504.77,3630.89,26109215,99.58,0,0,0.7,505.76,3629.92,26109216,99.78,0,0,0.15,505.19,3630.48,26109217,99.83,0,0,0.13,505.15,3630.52,26109218,99.83,0,0,0.16,505.15,3630.52,26109219,99.65,0,0,0.3,505.13,3630.52,26109220,99.52,0,0,0.66,505.84,3629.83,26109221,99.8,0,0,0.2,504.88,3630.78,26109222,99.82,0,0,0.15,504.86,3630.8,26109223,99.81,0,0,0.15,504.83,3630.83,26109224,99.8,0,0,0.14,504.81,3630.85,26109225,99.59,0,0,0.43,505.39,3630.28,26109226,99.76,0,0,0.59,504.56,3631.09,26109227,99.8,0,0,0.17,504.63,3631.02,26109228,99.81,0,0,0.14,504.69,3630.95,26109229,99.77,0,0,0.16,504.68,3630.95,26109230,99.69,0,0,0.29,505.19,3630.47,26109231,99.64,0,0,0.58,505.29,3630.36,26109232,99.77,0,0,0.15,504.88,3630.77,26109233,99.81,0,0,0.16,504.85,3630.79,26109234,99.82,0,0,0.15,504.84,3630.8,26109235,99.66,0,0,0.28,503.15,3632.5,26109236,99.69,0,0,0.6,504.9,3630.75,26109237,99.83,0,0,0.14,504.78,3630.86,26109238,99.83,0,0,0.15,504.93,3630.7,26109239,99.83,0,0,0.14,504.93,3630.7,26109240,99.53,0,0,0.26,504.95,3630.71,26109241,99.56,0,0,0.56,505.96,3629.69,26109242,99.79,0,0,0.15,505.39,3630.26,26109243,99.77,0,0,0.14,505.36,3630.28,26109244,99.76,0,0,0.16,505.33,3630.3,26109245,99.73,0,0,0.27,505.33,3630.32,26109246,99.68,0,0,0.46,505.85,3629.8,26109247,99.83,0,0,0.28,505.29,3630.35,26109248,99.8,0,0,0.14,505.28,3630.36,26109249,99.55,0,0,0.29,505.43,3630.19,26109250,99.7,0,0,0.29,505.44,3630.19,26109251,99.68,0,0,0.47,505.76,3629.87,26109252,99.82,0,0,0.3,505.39,3630.23,26109253,99.8,0,0,0.16,505.36,3630.25,26109254,99.78,0,0,0.16,505.36,3630.27,26109255,99.68,0,0,0.3,505.35,3630.3,26109256,99.67,0,0,0.59,505.78,3629.87,26109257,99.81,0,0,0.23,505.55,3630.09,26109258,99.79,0,0,0.16,505.55,3630.09,26109259,99.68,0,0.01,0.17,505.59,3630.04,26109260,99.58,0,0.02,0.29,505.16,3630.49,26109261,99.43,0,0.02,0.45,505.51,3630.14,26109262,99.71,0,0.02,0.32,505.12,3630.51,26109263,99.69,0.01,0.02,0.17,505.12,3630.5,26109264,99.72,0.01,0.03,0.18,505.09,3630.53,26109265,99.54,0,0.02,0.31,504.66,3630.97,26109266,99.62,0,0.02,0.17,504.63,3631.01,26109267,99.54,0.01,0.03,0.61,506.13,3629.5,26109268,99.69,0,0.02,0.16,505.39,3630.23,26109269,99.76,0.01,0.02,0.17,505.33,3630.29,26109270,99.63,0,0.02,0.35,505.44,3630.2,26109271,99.7,0,0.02,0.16,505.34,3630.31,26109272,99.6,0,0.02,0.57,505.95,3629.72,26109273,99.79,0,0.01,0.17,505.56,3630.1,26109274,99.78,0,0.01,0.21,505.67,3629.99,26109275,99.63,0,0.02,0.34,505.6,3630.07,26109276,99.8,0,0.02,0.2,505.64,3630.03,26109277,99.6,0,0.02,0.6,505.97,3629.7,26109278,99.76,0,0.01,0.17,505.6,3630.06,26109279,99.59,0,0.02,0.32,505.61,3630.03,26109280,99.6,0,0.01,0.29,504.65,3631,26109281,99.82,0,0.01,0.17,504.66,3630.99,26109282,99.63,0,0.01,0.58,505.27,3630.37,26109283,99.76,0,0.01,0.17,505.03,3630.6,26109284,99.72,0,0.01,0.2,505.14,3630.49,26109285,99.61,0,0.01,0.32,505.59,3630.06,26109286,99.75,0,0.01,0.16,505.54,3630.11,26109287,99.62,0,0.01,0.59,506.19,3629.46,26109288,99.77,0,0,0.16,505.65,3629.98,26109289,99.79,0,0,0.17,505.64,3629.99,26109290,99.7,0,0,0.29,505.88,3629.77,26109291,99.85,0,0,0.17,505.86,3629.78,26109292,99.63,0,0,0.48,506.2,3629.44,26109293,99.81,0,0,0.31,505.58,3630.06,26109294,99.8,0,0,0.18,505.55,3630.08,26109295,99.73,0,0,0.32,505.54,3630.11,26109296,99.79,0,0,0.17,505.54,3630.11,26109297,99.65,0,0,0.43,505.65,3629.99,26109298,99.81,0,0,0.3,503.77,3631.86,26109299,99.82,0,0,0.17,503.95,3631.68,26109300,99.53,0,0,0.29,505.67,3629.98,26109301,99.79,0,0,0.18,505.66,3629.98,26109302,99.64,0,0,0.43,505.92,3629.72,26109303,99.8,0,0,0.33,504.88,3630.75,26109304,99.8,0,0,0.17,504.88,3630.75,26109305,99.68,0,0,0.33,504.87,3630.78,26109306,99.81,0,0,0.19,504.43,3631.22,26109307,99.78,0,0,0.2,503.84,3631.8,26109308,99.62,0,0,0.57,505.18,3630.46,26109309,99.6,0,0.01,0.31,504.61,3631,26109310,99.59,0.01,0.03,0.3,504.17,3631.46,26109311,99.73,0,0.02,0.16,504.16,3631.47,26109312,99.74,0.01,0.02,0.16,504.1,3631.52,26109313,99.64,0,0.02,0.56,505.22,3630.39,26109314,99.72,0,0.02,0.15,504.83,3630.78,26109315,99.66,0,0.01,0.29,503.95,3631.69,26109316,99.8,0,0,0.15,503.91,3631.73,26109317,99.79,0,0,0.2,504.11,3631.52,26109318,99.66,0,0,0.56,504.77,3630.86,26109319,99.83,0,0,0.14,504.57,3631.05,26109320,99.71,0,0,0.3,505.07,3630.57,26109321,99.79,0,0,0.18,504.99,3630.65,26109322,99.79,0,0,0.16,504.54,3631.09,26109323,99.67,0,0,0.56,505.17,3630.46,26109324,99.81,0,0,0.14,505.09,3630.53,26109325,98.38,0,0,15.88,507.82,3628.49,26109326,99.82,0,0,0.14,504.37,3631.45,26109327,99.83,0,0,0.16,504.34,3631.48,26109328,99.66,0,0,0.51,504.91,3630.91,26109329,89.69,34,0.06,186.7,523.79,3600.69,26109330,99.64,0,0,32.96,507.65,3625.07,26109331,99.79,0,0,0.15,507.66,3625.07,26109332,99.78,0,0,0.15,507.63,3625.1,26109333,99.68,0,0,0.4,508.09,3624.63,26109334,99.83,0,0,0.36,507.39,3625.34,26109335,99.67,0,0,0.29,505.12,3627.73,26109336,99.78,0,0,0.16,505.09,3627.75,26109337,99.8,0,0,0.15,505.07,3627.79,26109338,99.69,0,0,0.42,505.63,3627.24,26109339,99.75,0,0,0.41,505.05,3627.8,26109340,99.67,0,0,0.28,505.28,3627.6,26109341,99.81,0,0,0.14,505.26,3627.61,26109342,99.85,0,0,0.16,505.24,3627.63,26109343,99.78,0,0,0.14,505.22,3627.65,26109344,99.67,0,0,0.59,505.32,3627.53,26109345,99.71,0,0,0.34,505.62,3627.25,26109346,99.8,0,0,0.16,505.64,3627.22,26109347,99.81,0,0,0.13,505.61,3627.25,26109348,99.78,0,0,0.16,505.6,3627.25,26109349,99.66,0,0,0.57,505.69,3627.16,26109350,99.67,0,0,0.27,504.85,3628.01,26109351,99.8,0,0,0.16,504.82,3628.04,26109352,99.8,0,0,0.15,504.8,3628.05,26109353,99.83,0,0,0.15,504.77,3628.09,26109354,99.66,0,0,0.54,505.3,3627.55,26109355,99.73,0,0,0.31,505.05,3627.81,26109356,99.8,0,0,0.14,504.99,3627.87,26109357,99.79,0,0,0.16,505.12,3627.74,26109358,99.8,0,0,0.14,505.13,3627.72,26109359,99.65,0,0,0.59,506.03,3626.81,26109360,99.48,0,0,0.27,504.42,3628.44,26109361,99.76,0,0,0.17,504.35,3628.51,26109362,99.81,0,0,0.14,504.33,3628.52,26109363,99.83,0,0,0.16,504.3,3628.55,26109364,99.69,0,0,0.57,504.36,3628.49,26109365,99.68,0,0,0.29,504.49,3628.36,26109366,99.86,0,0,0.16,504.51,3628.35,26109367,99.89,0,0,0.15,504.49,3628.36,26109368,99.85,0,0,0.15,504.54,3628.31,26109369,99.65,0,0,0.7,505.23,3627.61,26109370,99.71,0,0,0.26,504.85,3628.01,26109371,99.85,0,0,0.14,504.86,3628,26109372,99.88,0,0,0.16,504.83,3628.03,26109373,99.82,0,0,0.14,504.82,3628.03,26109374,99.66,0,0,0.55,505.41,3627.44,26109375,99.65,0,0,0.29,504.55,3628.31,26109376,99.86,0,0,0.13,504.52,3628.34,26109377,99.9,0,0,0.21,504.5,3628.36,26109378,99.9,0,0,0.14,504.47,3628.38,26109379,99.77,0,0,0.31,504.96,3627.89,26109380,99.69,0,0,0.5,504.64,3628.23,26109381,99.9,0,0.01,0.16,504.65,3628.21,26109382,99.9,0,0,0.18,505.29,3627.57,26109383,99.8,0,0,0.17,505.28,3627.57,26109384,99.75,0,0,0.3,505.53,3627.32,26109385,99.84,0,0,0.5,504.52,3628.34,26109386,99.88,0,0,0.17,504.49,3628.37,26109387,99.9,0,0,0.14,504.48,3628.37,26109388,99.91,0,0,0.14,504.5,3628.35,26109389,99.91,0,0,0.15,504.62,3628.22,26109390,99.51,0,0,0.76,505.43,3627.43,26109391,99.88,0,0,0.16,504.6,3628.26,26109392,99.86,0,0,0.16,504.58,3628.28,26109393,99.91,0,0,0.15,504.56,3628.29,26109394,99.9,0,0,0.14,504.54,3628.31,26109395,99.6,0,0,0.73,505.71,3627.15,26109396,99.93,0,0,0.15,505.25,3627.6,26109397,99.87,0,0,0.15,505.24,3627.61,26109398,99.89,0,0,0.14,505.21,3627.63,26109399,99.86,0,0,0.28,505.2,3627.62,26109400,99.55,0,0,0.7,505.78,3627.05,26109401,99.93,0,0,0.14,505.62,3627.21,26109402,99.89,0,0,0.14,505.58,3627.25,26109403,99.91,0,0,0.17,505.58,3627.25,26109404,99.92,0,0,0.15,505.54,3627.28,26109405,99.59,0,0,0.7,505.81,3627.04,26109406,99.89,0,0,0.14,505.53,3627.32,26109407,99.89,0,0,0.17,505.51,3627.34,26109408,99.88,0,0,0.17,505.49,3627.36,26109409,99.91,0,0,0.14,505.47,3627.36,26109410,99.65,0,0,0.73,505.92,3626.94,26109411,99.88,0,0,0.21,505.43,3627.41,26109412,99.91,0,0,0.14,505.57,3627.27,26109413,99.88,0,0,0.13,505.58,3627.26,26109414,99.93,0,0,0.16,505.56,3627.28,26109415,99.7,0,0,0.62,505.91,3626.94,26109416,99.9,0,0,0.21,505.52,3627.32,26109417,99.88,0,0,0.16,505.52,3627.32,26109418,99.93,0,0,0.16,505.49,3627.35,26109419,99.94,0,0,0.14,505.48,3627.36,26109420,99.58,0,0,0.7,505.67,3627.17,26109421,99.91,0,0,0.14,505.7,3627.14,26109422,99.92,0,0,0.13,505.67,3627.17,26109423,99.93,0,0,0.16,505.66,3627.17,26109424,99.91,0,0,0.14,505.85,3626.98,26109425,99.7,0,0,0.51,505.74,3627.1,26109426,99.89,0,0,0.39,505.58,3627.26,26109427,99.91,0,0,0.14,505.57,3627.26,26109428,99.9,0,0,0.15,505.54,3627.29,26109429,99.79,0,0,0.3,505.53,3627.28,26109430,99.76,0,0,0.36,504.55,3628.27,26109431,99.74,0,0,0.55,506.34,3626.48,26109432,99.89,0,0,0.16,505.73,3627.09,26109433,99.9,0,0,0.14,505.72,3627.09,26109434,99.86,0,0,0.15,505.69,3627.12,26109435,99.68,0,0,0.29,504.76,3628.06,26109436,99.72,0,0,0.54,506.25,3626.57,26109437,99.85,0,0,0.18,505.85,3626.96,26109438,99.93,0,0,0.16,505.82,3626.99,26109439,99.86,0,0,0.14,505.81,3626.99,26109440,99.79,0,0,0.36,506.04,3626.78,26109441,99.74,0,0,0.56,506.45,3626.37,26109442,99.92,0,0,0.21,505.51,3627.3,26109443,99.92,0,0,0.16,505.51,3627.3,26109444,99.92,0,0,0.14,505.47,3627.33,26109445,99.78,0,0,0.28,505.48,3627.34,26109446,99.76,0,0,0.41,505.8,3627.01,26109447,99.88,0,0,0.28,505.44,3627.36,26109448,99.85,0,0,0.15,505.47,3627.34,26109449,99.88,0,0,0.14,505.59,3627.21,26109450,99.77,0,0,0.27,505.82,3627,26109451,99.77,0,0,0.49,506.16,3626.65,26109452,99.87,0,0,0.21,505.78,3627.02,26109453,99.85,0,0,0.14,505.77,3627.03,26109454,99.86,0,0,0.14,505.74,3627.05,26109455,99.79,0,0,0.29,505.26,3627.55,26109456,99.75,0,0,0.39,505.83,3626.98,26109457,99.9,0.02,1.13,0.41,505.5,3627.31,26109458,99.83,0.01,0.89,0.29,505.47,3627.31,26109459,99.81,0.01,0.58,0.36,505.99,3626.77,26109460,99.81,0,0.01,0.35,506.05,3626.72,26109461,99.91,0,0.01,0.16,505.82,3626.95,26109462,99.75,0,0,0.55,505.14,3627.62,26109463,99.88,0,0,0.14,504.79,3627.96,26109464,99.89,0,0,0.14,504.56,3628.2,26109465,99.83,0,0,0.29,504.05,3628.73,26109466,99.93,0,0,0.17,504.01,3628.77,26109467,99.72,0,0,0.54,504.61,3628.17,26109468,99.91,0,0,0.14,504.22,3628.56,26109469,99.85,0,0,0.14,504.21,3628.56,26109470,99.84,0,0,0.27,504.44,3628.35,26109471,99.89,0,0,0.16,504.44,3628.35,26109472,99.8,0,0,0.54,503.85,3628.93,26109473,99.88,0,0,0.16,502.85,3629.92,26109474,99.89,0,0,0.18,502.83,3629.95,26109475,99.81,0,0,0.29,503.8,3628.99,26109476,99.9,0,0,0.16,503.79,3628.99,26109477,99.76,0,0,0.53,504.29,3628.49,26109478,99.9,0,0,0.16,504,3628.78,26109479,99.9,0,0,0.14,503.99,3628.78,26109480,99.66,0,0,0.28,503.99,3628.8,26109481,99.9,0,0,0.16,503.97,3628.83,26109482,99.76,0,0,0.56,504.46,3628.34,26109483,99.91,0,0,0.16,504.17,3628.62,26109484,99.88,0,0,0.16,504.3,3628.48,26109485,99.75,0,0,0.32,504.57,3628.22,26109486,99.9,0,0,0.16,504.55,3628.24,26109487,99.78,0,0,0.51,504.31,3628.48,26109488,99.93,0,0,0.19,503.28,3629.5,26109489,99.84,0,0,0.34,504.21,3628.55,26109490,99.76,0,0,0.27,503.52,3629.25,26109491,99.92,0,0,0.16,503.46,3629.3,26109492,94.96,0.35,0.86,80.02,515.98,3617.29,26109493,99.75,0,0,185.15,506.81,3625.43,26109494,99.9,0,0,0.14,506.79,3625.45,26109495,99.82,0,0,0.28,506.78,3625.47,26109496,99.9,0,0,0.16,506.77,3625.48,26109497,99.75,0,0,0.63,506.98,3625.27,26109498,99.88,0,0,0.16,504.56,3627.72,26109499,99.91,0,0,0.14,504.54,3627.74,26109500,99.83,0,0,0.26,504.9,3627.39,26109501,99.92,0,0,0.14,504.98,3627.3,26109502,99.74,0,0.02,0.46,504.86,3627.42,26109503,99.86,0,0.01,0.32,504.66,3627.61,26109504,99.87,0.05,1.76,0.35,504.7,3627.56,26109505,99.75,0.03,0.9,0.52,504.91,3627.38,26109506,99.85,0.01,0.2,0.27,504.86,3627.42,26109507,99.94,0,0,0.14,504.83,3627.45,26109508,99.7,0.01,0.01,0.54,505.27,3626.99,26109509,99.84,0,0,0.2,504.63,3627.62,26109510,99.83,0,0,0.29,504.88,3627.39,26109511,99.91,0,0,0.14,504.86,3627.41,26109512,99.83,0,0,0.16,504.83,3627.44,26109513,99.75,0,0,0.55,505.08,3627.19,26109514,99.88,0,0,0.16,504.54,3627.72,26109515,99.83,0,0,0.27,504.56,3627.72,26109516,99.9,0,0,0.17,504.61,3627.66,26109517,99.9,0,0,0.14,504.69,3627.57,26109518,99.8,0,0,0.54,505.17,3627.09,26109519,99.74,0,0,0.39,504.88,3627.36,26109520,99.77,0,0,0.31,504.89,3627.37,26109521,99.93,0,0,0.16,504.86,3627.39,26109522,99.9,0,0,0.14,504.85,3627.4,26109523,99.68,0,0,0.55,505.03,3627.21,26109524,99.89,0,0,0.14,504.56,3627.69,26109525,99.8,0,0,0.28,504.79,3627.48,26109526,99.92,0,0,0.14,504.79,3627.48,26109527,99.86,0,0,0.16,504.76,3627.5,26109528,99.76,0,0,0.55,505.58,3626.68,26109529,99.88,0,0,0.15,504.91,3627.34,26109530,99.74,0,0,0.29,504.22,3628.05,26109531,99.91,0,0,0.13,504.15,3628.12,26109532,99.9,0,0,0.16,504.14,3628.12,26109533,99.77,0,0,0.55,504.88,3627.38,26109534,99.9,0,0,0.14,504.84,3627.41,26109535,99.76,0,0,0.3,504.12,3628.15,26109536,99.86,0,0,0.14,504.07,3628.19,26109537,99.92,0,0,0.16,504.05,3628.21,26109538,99.72,0,0,0.35,504.59,3627.66,26109539,99.88,0,0,0.37,504.68,3627.58,26109540,99.61,0,0,0.28,504.19,3628.07,26109541,99.87,0,0,0.16,504.17,3628.1,26109542,99.84,0,0,0.16,504.14,3628.12,26109543,99.89,0,0,0.16,504.13,3628.12,26109544,99.73,0,0,0.59,505.15,3627.1,26109545,99.73,0,0,0.31,504.85,3627.41,26109546,99.88,0,0,0.18,504.82,3627.44,26109547,99.89,0,0,0.16,504.81,3627.45,26109548,99.88,0,0,0.17,504.78,3627.48,26109549,99.61,0,0,0.72,505.3,3626.93,26109550,99.78,0,0,0.32,504.86,3627.39,26109551,99.85,0,0,0.17,504.92,3627.32,26109552,99.93,0,0,0.16,504.91,3627.33,26109553,99.88,0,0,0.17,504.88,3627.36,26109554,99.68,0,0,0.61,505.35,3626.88,26109555,99.74,0,0,0.32,504.86,3627.39,26109556,99.88,0,0,0.16,504.82,3627.42,26109557,99.85,0,0,0.21,505.06,3627.18,26109558,99.88,0,0,0.16,505.04,3627.19,26109559,99.76,0,0,0.6,505.37,3626.85,26109560,99.79,0,0,0.34,504.54,3627.71,26109561,99.14,0,0,0.17,504.51,3627.73,26109562,99.9,0,0,0.19,504.22,3628.01,26109563,99.9,0,0,0.17,504.16,3628.07,26109564,99.71,0,0,0.59,504.69,3627.53,26109565,99.8,0,0,0.37,504.9,3627.34,26109566,99.9,0,0,0.15,504.85,3627.39,26109567,99.86,0,0,0.22,504.82,3627.42,26109568,99.9,0,0,0.2,504.8,3627.43,26109569,99.79,0,0,0.59,505.25,3626.98,26109570,99.7,0,0,0.31,504.09,3628.15,26109571,99.91,0,0.01,0.18,504.15,3628.09,26109572,99.87,0,0,0.16,504.2,3628.04,26109573,99.91,0,0,0.18,504.18,3628.05,26109574,99.77,0,0,0.42,504.97,3627.25,26109575,99.76,0,0.01,0.47,505.13,3627.11,26109576,99.89,0,0.01,0.2,505.04,3627.2,26109577,99.86,0,0,0.17,505.03,3627.21,26109578,99.91,0,0,0.17,505.09,3627.14,26109579,99.73,0,0,0.33,505.16,3627.04,26109580,99.63,0,0,0.71,505.69,3626.53,26109581,99.89,0,0.01,0.18,505.14,3627.08,26109582,99.88,0.01,0.13,0.19,505.03,3627.18,26109583,99.92,0,0,0.17,505.07,3627.14,26109584,99.91,0,0,0.16,505.16,3627.05,26109585,99.63,0,0,0.71,505.56,3626.66,26109586,99.88,0.04,1.13,0.21,505.12,3627.09,26109587,99.85,0,0,0.22,505.07,3627.13,26109588,99.85,0,0,0.16,505.06,3627.14,26109589,99.9,0,0,0.16,505.03,3627.16,26109590,99.69,0,0,0.69,505.4,3626.81,26109591,99.92,0,0,0.14,505.01,3627.19,26109592,99.9,0,0,0.14,505,3627.2,26109593,99.88,0,0,0.16,504.98,3627.21,26109594,99.88,0,0,0.16,504.96,3627.23,26109595,99.71,0,0,0.69,505.51,3626.69,26109596,99.9,0,0,0.14,505.16,3627.04,26109597,99.9,0,0,0.17,505.14,3627.06,26109598,99.89,0,0,0.14,505.12,3627.07,26109599,99.86,0,0,0.14,505.1,3627.09,26109600,99.51,0,0,0.64,504.65,3627.55,26109601,99.87,0,0,0.19,504.82,3627.38,26109602,99.85,0,0,0.14,504.81,3627.39,26109603,99.87,0,0,0.16,504.78,3627.41,26109604,99.91,0,0,0.14,504.77,3627.42,26109605,99.66,0,0,0.54,505.16,3627.04,26109606,99.63,0,0,0.32,505.08,3627.13,26109607,99.87,0,0,0.14,505.15,3627.04,26109608,99.88,0,0,0.14,505.13,3627.06,26109609,99.8,0,0,0.39,505.14,3627.02,26109610,99.59,0,0,0.45,505.49,3626.69,26109611,99.89,0,0,0.4,505.09,3627.09,26109612,99.87,0,0,0.14,505.06,3627.12,26109613,99.83,0,0,0.15,505.05,3627.12,26109614,94.16,0.47,0.01,263.98,515.91,3616.28,26109615,99.51,0,0,0.55,506.97,3625.89,26109616,99.9,0,0,0.39,506.79,3626.07,26109617,99.83,0,0,0.21,506.77,3626.08,26109618,99.89,0,0,0.16,506.75,3626.1,26109619,99.86,0,0,0.21,505.24,3627.63,26109620,99.81,0,0,0.3,504.61,3628.3,26109621,99.71,0,0,0.57,505.06,3627.84,26109622,99.88,0,0,0.21,503.93,3628.96,26109623,99.87,0,0,0.17,504,3628.89,26109624,99.85,0,0,0.17,503.98,3628.92,26109625,99.83,0,0,0.32,503.75,3629.2,26109626,99.7,0,0,0.56,504.26,3628.69,26109627,99.88,0.02,0.1,0.2,503.96,3628.98,26109628,99.89,0,0,0.2,503.94,3628.97,26109629,99.93,0,0,0.18,503.93,3628.98,26109630,99.78,0,0,0.32,504.4,3628.52,26109631,99.78,0,0,0.58,504.76,3628.17,26109632,99.9,0,0,0.16,504.38,3628.56,26109633,99.93,0,0,0.18,504.36,3628.57,26109634,99.92,0,0,0.16,504.34,3628.59,26109635,99.77,0,0,0.33,504.35,3628.59,26109636,99.77,0,0,0.43,504.77,3628.17,26109637,99.92,0,0,0.31,504.49,3628.44,26109638,99.92,0,0,0.16,504.47,3628.46,26109639,99.63,0,0,0.34,504.47,3628.44,26109640,99.8,0,0,0.34,503.96,3628.96,26109641,99.8,0,0,0.54,504.78,3628.13,26109642,99.91,0,0,0.21,504.4,3628.51,26109643,99.91,0,0,0.17,504.39,3628.52,26109644,99.93,0,0,0.17,504.36,3628.56,26109645,99.85,0,0,0.41,504.62,3628.32,26109646,99.77,0,0,0.62,505.08,3627.86,26109647,99.9,0,0,0.15,504.34,3628.6,26109648,99.9,0,0,0.18,504.38,3628.55,26109649,99.85,0,0,0.17,504.48,3628.44,26109650,99.67,0.03,0,0.43,504.51,3628.43,26109651,99.69,0.02,0.09,0.54,504.72,3628.21,26109652,99.89,0,0,0.36,504.81,3628.1,26109653,99.93,0,0,0.17,504.8,3628.11,26109654,99.89,0,0,0.19,504.89,3628.01,26109655,99.69,0,0,0.38,503.77,3629.15,26109656,99.74,0,0,0.36,504.07,3628.84,26109657,99.85,0,0,0.38,504.41,3628.5,26109658,99.83,0,0,0.17,504.39,3628.52,26109659,99.88,0,0,0.14,504.37,3628.53,26109660,99.7,0,0,0.3,504.62,3628.31,26109661,99.87,0,0,0.14,504.6,3628.31,26109662,99.67,0,0,0.55,505.34,3627.57,26109663,99.79,0,0,0.15,504.8,3628.11,26109664,99.85,0,0,0.14,504.77,3628.13,26109665,99.86,0,0,0.3,504.9,3628.02,26109666,99.86,0,0,0.14,504.94,3627.97,26109667,99.76,0,0,0.53,505.28,3627.63,26109668,99.9,0,0,0.15,504.9,3628,26109669,99.73,0,0,0.27,504.65,3628.23,26109670,99.79,0,0,0.3,504.89,3628.02,26109671,99.86,0,0,0.16,504.86,3628.04,26109672,99.7,0,0,0.56,505.2,3627.69,26109673,99.85,0,0,0.16,504.82,3628.07,26109674,99.89,0,0,0.14,504.81,3628.07,26109675,88.97,0,0,0.3,503.59,3629.31,26109676,99.88,0,0,0.14,503.56,3629.34,26109677,99.7,0,0,0.53,504.73,3628.16,26109678,99.9,0,0,0.22,504.71,3628.18,26109679,99.86,0,0,0.15,504.69,3628.2,26109680,99.74,0,0,0.28,504.69,3628.21,26109681,99.86,0,0,0.15,504.67,3628.23,26109682,99.53,0,0,0.57,504.76,3628.13,26109683,99.89,0,0,0.15,504.63,3628.26,26109684,99.93,0,0,0.14,504.61,3628.27,26109685,99.85,0,0,0.32,504.91,3627.99,26109686,99.93,0,0,0.14,504.82,3628.1,26109687,99.79,0,0,0.41,505.13,3627.79,26109688,99.86,0,0,0.29,504.7,3628.22,26109689,99.88,0,0,0.16,504.71,3628.2,26109690,99.61,0,0,0.29,503.99,3628.94,26109691,99.9,0,0,0.14,503.95,3628.98,26109692,99.76,0,0,0.3,504.29,3628.63,26109693,99.81,0,0,0.38,504.9,3628.02,26109694,99.83,0,0,0.14,504.87,3628.04,26109695,99.69,0,0,0.35,505.1,3627.83,26109696,99.91,0,0,0.18,505.09,3627.84,26109697,99.89,0,0,0.17,505.06,3627.86,26109698,99.71,0,0,0.59,505.33,3627.58,26109699,99.73,0,0,0.28,504.68,3628.22,26109700,99.71,0,0,0.29,504.21,3628.71,26109701,99.85,0,0,0.13,504.18,3628.74,26109702,99.84,0,0,0.16,504.15,3628.76,26109703,99.67,0,0,0.56,504.98,3627.93,26109704,99.87,0,0,0.17,504.86,3628.08,26109705,99.76,0,0,0.29,504.85,3628.11,26109706,99.9,0,0,0.16,504.83,3628.11,26109707,99.85,0,0,0.14,504.82,3628.12,26109708,99.73,0,0,0.56,505.15,3627.79,26109709,99.88,0,0,0.14,504.78,3628.15,26109710,99.78,0,0,0.29,505.18,3627.77,26109711,99.91,0,0,0.17,505.2,3627.75,26109712,99.91,0,0,0.14,505.17,3627.77,26109713,99.76,0,0,0.49,505.6,3627.34,26109714,99.89,0,0,0.2,504.88,3628.05,26109715,99.75,0,0,0.3,503.92,3629.03,26109716,99.91,0,0,0.16,503.88,3629.07,26109717,99.9,0,0,0.13,503.87,3629.07,26109718,99.77,0,0,0.51,504.11,3628.83,26109719,99.92,0,0,0.19,503.58,3629.35,26109720,99.59,0,0,0.3,503.66,3629.29,26109721,99.84,0,0,0.16,503.56,3629.38,26109722,99.86,0,0,0.14,503.6,3629.34,26109723,99.73,0,0,0.41,504.28,3628.66,26109724,99.87,0,0,0.29,505.16,3627.77,26109725,99.75,0,0,0.3,505.39,3627.56,26109726,99.85,0,0,0.16,505.39,3627.56,26109727,99.79,0,0,0.14,505.35,3627.59,26109728,99.75,0,0,0.41,505.7,3627.24,26109729,99.82,0,0,0.4,504.83,3628.08,26109730,99.79,0,0,0.37,504.83,3628.1,26109731,99.83,0,0,0.16,504.8,3628.12,26109732,99.88,0,0,0.14,504.8,3628.12,26109733,99.88,0,0,0.15,504.76,3628.15,26109734,99.72,0,0,0.54,505.82,3627.09,26109735,98.18,0,0,0.34,505.42,3627.5,26109736,99.77,0,0,0.18,505.41,3627.5,26109737,99.85,0,0.01,0.22,505.37,3627.55,26109738,99.78,0,0,0.18,505.32,3627.58,26109739,99.72,0,0,0.58,505.46,3627.44,26109740,99.79,0,0,0.34,505.05,3627.87,26109741,99.86,0,0,0.18,505.03,3627.88,26109742,99.47,0,0,0.21,504.8,3628.1,26109743,99.79,0,0,0.16,504.82,3628.08,26109744,99.68,0,0,0.54,504.86,3628.03,26109745,99.72,0,0,0.35,505.4,3627.52,26109746,99.86,0,0,0.16,505.38,3627.53,26109747,99.81,0,0,0.14,505.37,3627.54,26109748,99.82,0,0,0.17,505.33,3627.57,26109749,99.71,0,0,0.54,505.68,3627.22,26109750,99.65,0,0,0.3,504.84,3628.07,26109751,99.83,0,0,0.14,504.82,3628.09,26109752,99.86,0,0,0.14,504.79,3628.12,26109753,99.85,0,0,0.15,504.78,3628.12,26109754,99.71,0,0,0.55,504.44,3628.45,26109755,99.69,0,0,0.3,503.1,3629.81,26109756,99.82,0,0,0.14,503.22,3629.69,26109757,99.83,0,0,0.16,503.22,3629.69,26109758,99.86,0,0,0.15,503.19,3629.71,26109759,99.53,0,0,0.71,505.49,3627.39,26109760,99.71,0,0,0.31,504.66,3628.24,26109761,99.83,0,0,0.15,504.62,3628.27,26109762,99.84,0,0,0.16,504.59,3628.3,26109763,99.84,0,0,0.15,504.58,3628.3,26109764,99.67,0,0,0.41,504.99,3627.9,26109765,99.7,0,0,0.44,505.31,3627.6,26109766,99.85,0,0,0.15,505.28,3627.63,26109767,99.83,0,0,0.16,505.28,3627.63,26109768,99.82,0,0,0.15,505.42,3627.48,26109769,99.69,0,0,0.41,505.76,3627.14,26109770,99.71,0,0,0.42,504.71,3628.2,26109771,99.82,0,0,0.16,504.39,3628.51,26109772,99.84,0,0,0.15,504.37,3628.53,26109773,99.8,0,0,0.15,504.35,3628.55,26109774,99.83,0,0,0.14,504.33,3628.56,26109775,99.62,0,0,0.71,505.12,3627.78,26109776,99.83,0,0,0.2,504.56,3628.34,26109777,99.84,0,0,0.15,504.52,3628.37,26109778,99.79,0.02,0.06,0.19,504.54,3628.35,26109779,99.8,0.04,0.03,0.17,504.56,3628.31,26109780,99.51,0,0,0.75,505.21,3627.68,26109781,99.83,0,0,0.14,504.82,3628.07,26109782,99.82,0,0,0.15,504.79,3628.08,26109783,99.75,0.02,0.01,0.66,505.82,3626.98,26109784,88.96,25.5,0.19,102.73,528.85,3595.44,26109785,81.11,0.02,0.07,181.16,873.74,3231.25,26109786,99.52,0.02,0.03,0.35,586.99,3521,26109787,99.77,0.02,0.04,0.25,556.69,3551.29,26109788,99.83,0,0,0.2,556.78,3551.2,26109789,99.7,0,0,0.36,558.94,3549,26109790,99.58,0,0,0.77,556.58,3551.43,26109791,99.79,0,0,0.17,556.29,3551.73,26109792,99.79,0.02,0,0.23,556.26,3551.75,26109793,83.37,0.06,2.09,3.98,629.78,3478.21,26109794,83.22,0.07,2.02,3.88,765.75,3342.22,26109795,83.03,0.02,0.03,4.51,915.83,3192.12,26109796,99.72,0.04,1.09,0.31,898.99,3208.97,26109797,99.68,0,0,0.21,559.17,3548.78,26109798,99.82,0,0,0.14,557.41,3550.54,26109799,99.75,0.1,3.81,0.25,557.99,3549.93,26109800,99.51,0.01,0.02,0.56,558.82,3549.1,26109801,99.74,0,0.01,0.36,559.49,3548.42,26109802,99.79,0,0,0.18,558.97,3548.94,26109803,99.8,0,0.01,0.17,558.22,3549.68,26109804,99.81,0,0,0.15,558.19,3549.7,26109805,99.53,0,0,0.72,559.26,3548.65,26109806,85.66,0.11,0.87,1.03,640.04,3467.81,26109807,97.02,0.05,1.76,3.19,888.33,3219.5,26109808,99.83,0,0,0.16,554.61,3553.21,26109809,99.83,0,0,0.18,554.59,3553.23,26109810,99.56,0,0,0.57,555.58,3552.25,26109811,99.83,0,0,0.39,553.83,3554,26109812,99.78,0,0,0.18,553.92,3553.91,26109813,99.84,0,0,0.17,553.93,3553.89,26109814,99.8,0.01,0.06,0.22,553.84,3553.97,26109815,99.71,0.01,0.07,0.36,555.81,3552.01,26109816,99.68,0,0,0.57,556.42,3551.4,26109817,99.82,0.01,0.07,0.18,556.12,3551.69,26109818,99.79,0.02,0.78,0.23,556.15,3551.66,26109819,99.54,0,0.03,0.38,556.34,3551.44,26109820,99.61,0,0,0.31,555.36,3552.44,26109821,99.67,0,0,0.56,556.9,3550.89,26109822,99.8,0,0,0.18,556.52,3551.27,26109823,99.8,0,0,0.16,555.97,3551.81,26109824,99.78,0.02,0,0.21,555.6,3552.18,26109825,68.01,0.05,0.91,5.05,874.48,3233.3,26109826,98.18,0.02,0.89,3.36,911.84,3195.93,26109827,99.66,0,0,0.34,608.45,3499.32,26109828,99.78,0.01,0.64,0.22,554.84,3552.92,26109829,99.82,0.02,0.96,0.23,554.79,3552.97,26109830,99.69,0,0,0.37,555.78,3551.99,26109831,99.7,0.01,0.86,0.59,556.51,3551.26,26109832,99.83,0,0.02,0.49,556.23,3551.52,26109833,99.82,0.01,0.6,0.24,556.24,3551.51,26109834,99.83,0,0.01,0.19,556.24,3551.5,26109835,99.73,0,0.01,0.4,556.78,3550.97,26109836,99.69,0,0,0.7,556.95,3550.8,26109837,99.82,0,0,0.14,556.54,3551.21,26109838,99.8,0.03,0.89,0.24,556.49,3551.25,26109839,99.78,0,0,0.17,556.55,3551.18,26109840,99.45,0,0,0.35,556.16,3551.59,26109841,99.68,0.01,0.41,0.54,556.66,3551.08,26109842,99.82,0,0.03,0.34,556.09,3551.64,26109843,99.83,0,0,0.13,555.25,3552.48,26109844,99.81,0.03,0.62,0.29,555.3,3552.42,26109845,99.66,0.01,0.03,0.42,555.5,3552.23,26109846,99.66,0.01,0.05,0.38,555.97,3551.75,26109847,99.82,0,0,0.39,556.97,3550.75,26109848,99.83,0,0,0.15,556.96,3550.75,26109849,99.64,0,0,0.32,557.16,3550.52,26109850,99.71,0,0,0.32,557.46,3550.24,26109851,99.79,0,0,0.14,557.58,3550.11,26109852,99.65,0.01,0.05,0.58,557.66,3550.04,26109853,99.45,0.11,1.25,0.43,558.21,3549.39,26109854,99.35,0.43,12.02,0.59,558.93,3548.53,26109855,98.97,0.6,17.85,0.8,560.43,3547.05,26109856,99.39,0.38,10.44,0.64,560.42,3547.05,26109857,95.55,1.53,53.1,80.43,572.05,3536.82,26109858,99.25,0.64,19.14,0.74,563.42,3543.63,26109859,99.36,0.25,5.46,0.4,563.18,3543.88,26109860,99.65,0.01,0.66,0.51,562.4,3544.68,26109861,99.76,0,0,0.16,562.45,3544.63,26109862,99.63,0,0,0.66,560.69,3546.41,26109863,99.75,0.03,0.03,0.22,558.92,3548.19,26109864,98.5,0.03,0.04,0.29,558.8,3548.28,26109865,99.65,0.02,0.02,0.43,559.51,3547.57,26109866,99.77,0.05,0.05,0.34,559.52,3547.56,26109867,99.31,17.1,0.77,5.04,560.27,3544.24,26109868,99.4,13.18,28.19,23.96,560.14,3519.5,26109869,83.49,0.06,1.71,4.06,769.03,3309.45,26109870,99.46,0.02,0.87,0.47,814.47,3264.01,26109871,99.86,0,0,0.16,559.34,3519.13,26109872,99.69,0,0,0.54,560.44,3518.02,26109873,99.83,0,0,0.15,560.89,3517.56,26109874,99.83,0,0,0.15,560.93,3517.53,26109875,99.66,0,0,0.31,560.93,3517.54,26109876,99.79,0.03,0.88,0.22,560.89,3517.57,26109877,99.72,0,0,0.57,561.37,3517.08,26109878,99.85,0,0,0.15,561.3,3517.14,26109879,99.51,0,0,0.28,559.88,3518.53,26109880,99.68,0,0,0.3,560.3,3518.13,26109881,99.8,0.04,2.36,0.21,560.44,3517.98,26109882,99.63,0.01,0.08,0.59,560.92,3517.49,26109883,99.83,0,0.01,0.22,561.51,3516.89,26109884,99.79,0.01,0.19,0.18,561.61,3516.78,26109885,99.69,0,0.02,0.42,561.77,3516.63,26109886,99.84,0,0.01,0.17,561.38,3517.02,26109887,99.71,0,0,0.3,561.36,3517.03,26109888,99.79,0,0,0.41,560.92,3517.47,26109889,99.8,0,0,0.14,560.89,3517.5,26109890,99.64,0,0,0.3,561.14,3517.26,26109891,99.81,0,0,0.16,561.11,3517.29,26109892,99.72,0,0,0.3,561.43,3516.97,26109893,99.82,0,0,0.38,559.85,3518.54,26109894,99.8,0,0.01,0.16,559.82,3518.56,26109895,99.68,0,0,0.3,560.55,3517.86,26109896,99.8,0,0,0.14,560.62,3517.78,26109897,99.84,0,0,0.16,560.71,3517.69,26109898,99.68,0,0,0.57,561.03,3517.36,26109899,99.83,0,0,0.16,560.66,3517.73,26109900,99.42,0,0,0.37,561.63,3516.78,26109901,99.76,0,0,0.18,561.63,3516.77,26109902,99.73,0.01,0.64,0.29,561.6,3516.8,26109903,99.69,0,0.01,0.6,562.21,3516.17,26109904,99.83,0,0,0.15,561.13,3517.25,26109905,99.7,0,0,0.32,560.89,3517.5,26109906,99.84,0.01,0.1,0.18,560.85,3517.54,26109907,99.83,0.01,0.59,0.23,560.85,3517.53,26109908,99.68,0.01,0.9,0.73,561.51,3516.87,26109909,99.65,0.01,0.88,0.36,561.38,3516.97,26109910,99.74,0,0.01,0.35,561.23,3517.12,26109911,99.78,0,0,0.16,561.15,3517.2,26109912,99.8,0.04,1.3,0.23,561.14,3517.19,26109913,99.69,0,0,0.43,561.72,3516.62,26109914,99.83,0,0.01,0.3,561.84,3516.52,26109915,99.7,0,0,0.37,562.3,3516.07,26109916,99.84,0,0,0.16,562.31,3516.06,26109917,99.82,0.01,0.01,0.2,561.98,3516.39,26109918,99.67,0.01,0.18,0.44,561.86,3516.5,26109919,99.85,0,0,0.31,561.31,3517.04,26109920,99.72,0,0,0.3,561.54,3516.83,26109921,99.86,0,0.01,0.17,561.48,3516.89,26109922,99.85,0,0.02,0.22,559.97,3518.39,26109923,99.9,0.01,0.52,0.21,559.61,3518.75,26109924,99.75,0,0,0.55,560.15,3518.2,26109925,99.86,0.02,0.94,0.33,560.12,3518.26,26109926,99.93,0,0.01,0.21,560.18,3518.19,26109927,99.9,0,0.01,0.16,560.13,3518.22,26109928,99.9,0,0.01,0.2,560.1,3518.25,26109929,99.8,0,0,0.57,560.92,3517.43,26109930,99.81,0,0.02,0.41,560.06,3518.3,26109931,99.91,0.05,2.39,0.15,560.06,3518.29,26109932,99.89,0,0.02,0.25,560.03,3518.3,26109933,99.86,0.02,0.71,0.26,560.01,3518.32,26109934,99.77,0,0,0.57,560.92,3517.4,26109935,99.79,0,0,0.32,560.95,3517.4,26109936,99.89,0,0,0.14,561.11,3517.25,26109937,99.88,0,0,0.16,561.13,3517.23,26109938,99.91,0,0,0.15,561.1,3517.26,26109939,99.61,0,0,0.67,561.66,3516.67,26109940,99.82,0,0,0.31,561.13,3517.22,26109941,99.93,0,0.02,0.14,560.31,3518.04,26109942,99.87,0,0,0.18,560.26,3518.08,26109943,99.89,0,0,0.14,560.23,3518.11,26109944,99.77,0,0,0.55,560.25,3518.1,26109945,99.77,0,0,0.36,560.38,3517.98,26109946,99.9,0,0,0.13,560.37,3517.99,26109947,99.9,0,0,0.18,560.35,3518.01,26109948,99.86,0,0,0.15,560.32,3518.04,26109949,99.75,0,0,0.43,560.66,3517.69,26109950,99.72,0,0,0.43,560.79,3517.57,26109951,99.88,0,0,0.15,560.77,3517.59,26109952,99.9,0,0,0.16,560.75,3517.61,26109953,99.89,0,0,0.15,560.72,3517.64,26109954,99.77,0,0,0.55,560.99,3517.36,26109955,99.79,0,0,0.38,560.44,3517.93,26109956,99.85,0,0,0.14,560.38,3517.99,26109957,99.87,0.01,0.01,0.15,560.34,3518.02,26109958,99.91,0.01,0.05,0.21,560.27,3518.08,26109959,99.78,0,0,0.47,560.74,3517.6,26109960,99.68,0,0,0.45,560.36,3517.99,26109961,99.87,0,0,0.14,560.33,3518.02,26109962,99.87,0,0,0.16,560.31,3518.04,26109963,99.89,0,0,0.14,560.28,3518.06,26109964,99.88,0,0,0.18,560.26,3518.07,26109965,99.6,0,0,0.7,560.84,3517.51,26109966,99.91,0,0,0.16,560.47,3517.88,26109967,99.91,0,0,0.14,560.46,3517.88,26109968,99.91,0,0,0.15,560.43,3517.91,26109969,99.79,0.02,0.81,0.29,561.08,3517.24,26109970,99.69,0,0.05,0.75,561.71,3516.62,26109971,99.86,0,0,0.14,561,3517.33,26109972,99.88,0,0,0.14,560.97,3517.35,26109973,99.84,0,0,0.15,560.94,3517.38,26109974,99.83,0,0,0.14,560.92,3517.39,26109975,99.6,0,0,0.82,561.89,3516.44,26109976,99.9,0,0,0.14,561.35,3516.97,26109977,99.88,0,0,0.2,561.34,3516.97,26109978,99.87,0,0,0.14,561.31,3517,26109979,99.9,0,0,0.21,560.35,3517.96,26109980,99.64,0,0,0.73,560.85,3517.48,26109981,99.82,0,0,0.16,560.54,3517.77,26109982,99.78,0,0,0.17,560.36,3517.95,26109983,99.91,0,0,0.17,560.25,3518.06,26109984,99.88,0,0,0.15,560.22,3518.08,26109985,98.34,0,0,0.58,561.11,3517.21,26109986,99.9,0,0,0.28,561.07,3517.24,26109987,99.86,0,0,0.16,561.09,3517.22,26109988,99.88,0,0,0.14,561.06,3517.25,26109989,99.87,0,0,0.15,561.05,3517.25,26109990,99.51,0,0,0.63,560.65,3517.66,26109991,99.86,0,0,0.23,560.78,3517.53,26109992,99.88,0,0,0.18,560.75,3517.55,26109993,99.84,0,0,0.14,560.74,3517.56,26109994,99.9,0,0,0.14,560.71,3517.59,26109995,99.58,0,0,0.72,561.76,3516.56,26109996,99.84,0,0,0.16,561.19,3517.13,26109997,99.86,0,0,0.16,561.24,3517.07,26109998,99.88,0,0,0.14,561.33,3516.97,26109999,99.79,0,0,0.29,561.21,3517.07,26110000,99.74,0,0,0.35,559.63,3518.66,26110001,99.78,0,0,0.57,560.75,3517.53,26110002,99.86,0,0,0.18,560.29,3518,26110003,99.93,0,0,0.15,560.27,3518.01,26110004,99.91,0,0,0.15,560.25,3518.03,26110005,99.84,0,0,0.32,560.98,3517.31,26110006,99.79,0,0,0.54,561.33,3516.97,26110007,99.85,0.01,0.01,0.23,532.52,3546,26110008,99.92,0,0,0.24,506.53,3572.21,26110009,99.91,0,0,0.15,505.63,3573.12,26110010,99.81,0,0,0.29,505.66,3573.13,26110011,99.76,0,0,0.59,506.18,3572.6,26110012,99.91,0,0,0.17,505.87,3572.92,26110013,99.91,0,0,0.16,505.84,3572.95,26110014,99.89,0,0,0.15,505.82,3572.97,26110015,99.85,0,0,0.34,505.34,3573.47,26110016,99.76,0,0.02,0.46,506.26,3572.53,26110017,99.94,0,0,0.26,505.68,3573.11,26110018,99.91,0,0,0.15,505.67,3573.11,26110019,99.93,0,0,0.14,505.64,3573.14,26110020,99.72,0,0,0.3,504.69,3574.11,26110021,99.75,0,0,0.58,505.52,3573.27,26110022,99.87,0,0,0.16,505.36,3573.42,26110023,99.9,0,0,0.14,505.34,3573.45,26110024,99.91,0,0,0.16,505.31,3573.48,26110025,99.79,0,0,0.3,505.32,3573.48,26110026,99.79,0,0,0.49,505.75,3573.05,26110027,99.88,0,0,0.21,505.71,3573.08,26110028,99.93,0,0,0.14,505.68,3573.11,26110029,99.75,0,0,0.29,505.95,3572.81,26110030,99.77,0,0,0.29,505.91,3572.87,26110031,99.75,0,0,0.51,506.22,3572.55,26110032,99.92,0,0,0.19,505.85,3572.92,26110033,99.89,0,0.02,0.15,505.82,3572.94,26110034,99.9,0,0,0.17,505.8,3572.99,26110035,99.81,0,0,0.31,505.32,3573.5,26110036,99.78,0,0,0.39,505.74,3573.07,26110037,99.9,0,0,0.34,505.94,3572.89,26110038,99.18,0,0,0.16,505.92,3572.9,26110039,99.91,0,0,0.15,505.89,3572.95,26110040,99.78,0,0,0.3,505.9,3572.96,26110041,99.91,0,0,0.18,505.87,3572.98,26110042,99.76,0,0,0.59,506.25,3572.61,26110043,99.92,0,0,0.14,505.34,3573.51,26110044,99.91,0,0,0.16,505.32,3573.52,26110045,99.86,0,0,0.31,505.08,3573.78,26110046,99.92,0,0,0.16,505.06,3573.8,26110047,99.79,0,0,0.54,505.88,3572.98,26110048,99.89,0,0,0.15,505.47,3573.38,26110049,99.93,0,0,0.16,505.44,3573.41,26110050,99.77,0,0,0.29,505.93,3572.94,26110051,99.92,0,0,0.14,505.9,3572.95,26110052,99.74,0,0,0.57,506.25,3572.6,26110053,99.91,0,0,0.14,505.87,3572.98,26110054,99.9,0,0,0.14,505.86,3572.98,26110055,99.86,0,0,0.32,505.61,3573.25,26110056,99.94,0,0,0.18,505.6,3573.26,26110057,99.76,0,0,0.55,506.02,3572.84,26110058,99.89,0,0,0.14,505.84,3573.01,26110059,99.73,0,0,0.3,505.95,3572.88,26110060,99.79,0,0,0.38,506.19,3572.65,26110061,99.92,0,0,0.18,506.17,3572.67,26110062,99.78,0,0,0.54,506.35,3572.48,26110063,99.94,0,0,0.15,505.88,3572.95,26110064,99.93,0,0,0.14,505.84,3572.97,26110065,99.86,0,0,0.36,505.62,3573.21,26110066,99.93,0,0,0.12,505.58,3573.25,26110067,99.79,0,0,0.58,505.99,3572.84,26110068,99.9,0,0,0.14,505.78,3573.04,26110069,99.92,0,0,0.15,505.78,3573.04,26110070,99.84,0,0,0.28,505.93,3572.9,26110071,99.93,0,0,0.14,505.95,3572.88,26110072,99.76,0,0,0.43,506.41,3572.42,26110073,99.94,0,0,0.31,505.91,3572.91,26110074,99.9,0,0,0.14,505.88,3572.94,26110075,99.83,0,0,0.33,506.13,3572.7,26110076,99.93,0,0,0.17,506.1,3572.73,26110077,99.9,0,0,0.14,505.72,3573.11,26110078,99.76,0,0,0.56,505.45,3573.37,26110079,99.92,0,0,0.18,505.05,3573.77,26110080,99.72,0,0,0.34,504.39,3574.44,26110081,99.9,0,0,0.16,504.37,3574.46,26110082,99.9,0,0,0.14,504.46,3574.37,26110083,99.78,0,0,0.55,505.14,3573.68,26110084,99.89,0,0,0.14,504.92,3573.9,26110085,99.72,0,0,0.3,505.15,3573.68,26110086,99.94,0,0,0.14,505.13,3573.7,26110087,99.93,0,0,0.17,505.11,3573.71,26110088,99.8,0,0,0.54,505.64,3573.19,26110089,99.79,0,0,0.29,505.31,3573.48,26110090,99.86,0,0,0.31,505.08,3573.74,26110091,99.93,0,0,0.14,505.05,3573.76,26110092,99.93,0,0,0.16,505.01,3573.79,26110093,99.73,0,0,0.53,505.88,3572.92,26110094,99.87,0,0,0.18,505.4,3573.39,26110095,99.84,0,0,0.32,505.42,3573.39,26110096,99.86,0,0,0.16,505.38,3573.42,26110097,99.89,0,0,0.19,505.14,3573.66,26110098,99.8,0,0,0.51,505.45,3573.34,26110099,98.82,0,0,0.2,505.09,3573.7,26110100,99.83,0,0,0.3,505.32,3573.48,26110101,99.87,0,0,0.16,505.31,3573.49,26110102,99.86,0,0.01,0.19,505.01,3573.79,26110103,99.79,0,0,0.41,505.28,3573.51,26110104,99.9,0,0,0.28,504.9,3573.88,26110105,99.87,0,0,0.35,505.16,3573.64,26110106,99.76,0,0,0.15,505.13,3573.67,26110107,99.92,0,0.01,0.18,505.06,3573.73,26110108,99.8,0,0,0.5,505.47,3573.32,26110109,99.93,0,0,0.19,505.27,3573.51,26110110,99.79,0,0,0.32,505.28,3573.52,26110111,99.93,0,0,0.14,505.27,3573.53,26110112,99.91,0,0,0.17,505.24,3573.55,26110113,99.79,0,0,0.42,505.77,3573.02,26110114,99.9,0,0,0.31,505.39,3573.39,26110115,99.74,0,0,0.32,505.63,3573.17,26110116,99.91,0,0,0.14,505.62,3573.18,26110117,99.93,0,0,0.15,505.59,3573.2,26110118,99.93,0,0,0.15,505.58,3573.21,26110119,99.68,0,0,0.73,505.88,3572.88,26110120,99.76,0,0,0.31,505.32,3573.45,26110121,99.9,0,0,0.14,505.28,3573.49,26110122,99.91,0,0,0.14,505.28,3573.49,26110123,99.88,0,0,0.15,505.26,3573.51,26110124,99.8,0,0,0.55,505.64,3573.12,26110125,99.76,0,0,0.29,505.45,3573.33,26110126,99.93,0,0,0.16,505.43,3573.34,26110127,99.91,0,0,0.14,505.4,3573.37,26110128,99.93,0,0,0.14,505.38,3573.38,26110129,99.75,0,0,0.6,505.73,3573.03,26110130,99.73,0,0,0.3,505.61,3573.17,26110131,99.93,0,0,0.15,505.59,3573.18,26110132,99.93,0,0,0.16,505.56,3573.21,26110133,99.9,0,0,0.15,505.55,3573.21,26110134,99.78,0,0,0.55,505.77,3572.99,26110135,99.89,0,0,0.31,505.68,3573.1,26110136,99.93,0,0,0.16,505.65,3573.12,26110137,99.9,0,0,0.14,505.65,3573.12,26110138,99.93,0,0,0.14,505.62,3573.15,26110139,99.76,0,0,0.5,506.22,3572.54,26110140,99.69,0,0,0.38,505.61,3573.17,26110141,99.92,0,0,0.13,505.59,3573.18,26110142,99.93,0,0,0.19,505.58,3573.19,26110143,99.89,0,0,0.18,505.55,3573.21,26110144,99.78,0,0,0.43,505.89,3572.87,26110145,99.88,0,0,0.44,505.28,3573.49,26110146,99.9,0,0,0.15,505.26,3573.51,26110147,99.91,0,0,0.14,505.42,3573.35,26110148,99.91,0,0,0.19,505.41,3573.35,26110149,99.66,0,0,0.73,505.78,3572.95,26110150,99.75,0,0,0.37,505.39,3573.36,26110151,99.91,0,0,0.18,505.36,3573.38,26110152,99.93,0,0,0.18,505.33,3573.41,26110153,99.9,0,0,0.18,505.32,3573.41,26110154,99.78,0,0,0.33,505.65,3573.11,26110155,99.78,0,0,0.56,505.79,3572.98,26110156,99.9,0,0,0.16,505.61,3573.17,26110157,99.9,0,0,0.17,505.51,3573.26,26110158,99.92,0,0,0.16,505.52,3573.24,26110159,99,0,0,0.14,505.66,3573.11,26110160,99.73,0,0,0.7,505.91,3572.87,26110161,99.91,0,0,0.16,505.39,3573.38,26110162,99.91,0,0,0.17,505.11,3573.66,26110163,99.94,0,0,0.15,504.85,3573.92,26110164,99.93,0,0,0.15,504.83,3573.94,26110165,99.74,0,0,0.72,505.89,3572.88,26110166,99.93,0,0,0.13,505.54,3573.23,26110167,99.91,0,0,0.16,505.51,3573.25,26110168,99.94,0,0,0.14,505.5,3573.26,26110169,99.91,0,0,0.14,505.48,3573.28,26110170,99.58,0,0,0.7,505.9,3572.87,26110171,99.91,0,0,0.14,505.65,3573.12,26110172,99.91,0,0,0.18,505.63,3573.14,26110173,99.91,0,0,0.14,505.6,3573.17,26110174,99.92,0,0,0.18,505.58,3573.18,26110175,99.64,0,0,0.74,506.38,3572.39,26110176,99.9,0,0,0.16,505.8,3572.97,26110177,99.92,0,0,0.15,505.78,3572.98,26110178,99.92,0,0,0.14,505.75,3573.01,26110179,99.74,0,0,0.28,505.5,3573.24,26110180,99.58,0,0,0.59,506.07,3572.69,26110181,99.93,0,0,0.29,505.8,3572.95,26110182,99.92,0,0,0.14,505.87,3572.88,26110183,99.9,0,0,0.16,505.86,3572.88,26110184,99.91,0,0,0.15,505.84,3572.9,26110185,99.71,0,0,0.68,505.96,3572.8,26110186,99.92,0,0,0.21,505.57,3573.19,26110187,99.91,0,0,0.14,505.56,3573.19,26110188,99.91,0,0,0.15,505.52,3573.22,26110189,99.92,0,0,0.14,505.5,3573.24,26110190,99.69,0,0,0.57,505.89,3572.86,26110191,99.92,0,0,0.29,505.73,3573.02,26110192,99.9,0,0,0.16,505.76,3572.99,26110193,99.9,0,0,0.14,505.87,3572.88,26110194,99.93,0,0,0.15,505.86,3572.88,26110195,99.79,0,0.01,0.36,504.62,3574.13,26110196,99.76,0,0,0.6,506.13,3572.62,26110197,99.92,0,0,0.16,505.79,3572.95,26110198,99.9,0,0,0.14,505.76,3572.98,26110199,99.92,0,0,0.16,505.73,3573.01,26110200,99.67,0,0,0.32,505.98,3572.77,26110201,99.68,0,0,0.58,506.42,3572.32,26110202,99.85,0,0,0.14,505.87,3572.86,26110203,99.87,0,0,0.16,505.86,3572.87,26110204,99.84,0,0,0.14,505.84,3572.88,26110205,99.77,0,0,0.33,505.83,3572.91,26110206,99.71,0,0,0.57,506.17,3572.57,26110207,99.87,0,0,0.15,505.79,3572.95,26110208,99.9,0,0,0.14,505.75,3572.97,26110209,99.8,0,0,0.28,505.54,3573.16,26110210,99.75,0,0,0.36,505.78,3572.95,26110211,99.77,0,0,0.55,506.13,3572.59,26110212,99.83,0,0,0.14,505.89,3572.83,26110213,99.88,0,0,0.15,505.87,3572.84,26110214,99.85,0,0,0.17,505.85,3572.86,26110215,99.72,0,0,0.32,505.63,3573.09,26110216,99.78,0,0,0.57,506.06,3572.67,26110217,99.82,0,0,0.21,505.81,3572.9,26110218,99.9,0,0,0.14,505.79,3572.92,26110219,99.92,0,0,0.14,505.76,3572.95,26110220,99.8,0,0,0.33,505.78,3572.95,26110221,95,0.47,0.02,79.45,515.64,3563.75,26110222,99.74,0,0,185.53,508.19,3571.66,26110223,99.9,0,0,0.17,508.03,3571.82,26110224,99.91,0,0,0.14,508.02,3571.82,26110225,99.82,0,0,0.34,508.17,3571.69,26110226,99.79,0,0,0.41,508.36,3571.49,26110227,99.9,0,0,0.3,506,3573.89,26110228,99.93,0,0,0.15,505.99,3573.89,26110229,99.89,0,0,0.15,505.97,3573.91,26110230,99.81,0,0,0.36,506.21,3573.68,26110231,99.9,0,0,0.16,505.78,3574.11,26110232,99.7,0,0,0.55,505.54,3574.36,26110233,99.87,0,0,0.14,505.16,3574.74,26110234,99.9,0,0,0.14,505.15,3574.75,26110235,99.79,0,0,0.32,504.66,3575.25,26110236,99.88,0,0,0.14,504.64,3575.27,26110237,99.76,0,0,0.56,505.36,3574.55,26110238,99.9,0,0,0.14,505.04,3574.86,26110239,99.67,0,0,0.3,504.52,3575.37,26110240,99.8,0,0,0.34,505.49,3574.43,26110241,99.9,0,0,0.14,505.48,3574.44,26110242,99.74,0,0,0.55,505.76,3574.15,26110243,99.94,0,0,0.14,504.94,3574.96,26110244,99.93,0,0,0.15,504.91,3574.99,26110245,99.72,0,0,0.32,505.16,3574.76,26110246,99.9,0,0,0.14,505.14,3574.78,26110247,99.73,0,0,0.55,505.18,3574.72,26110248,99.9,0,0,0.16,504.2,3575.71,26110249,99.92,0,0,0.15,504.29,3575.61,26110250,99.77,0,0,0.37,505.29,3574.62,26110251,99.9,0,0,0.16,505.26,3574.65,26110252,99.68,0,0,0.61,505.75,3574.15,26110253,99.93,0,0,0.17,505.21,3574.68,26110254,99.88,0,0,0.18,505.18,3574.71,26110255,99.77,0,0,0.32,505.44,3574.47,26110256,99.88,0,0.01,0.18,505.39,3574.52,26110257,99.78,0,0,0.56,505.66,3574.24,26110258,99.92,0,0,0.19,505.11,3574.77,26110259,99.92,0,0,0.16,505.26,3574.62,26110260,99.52,0,0,0.34,505.48,3574.41,26110261,99.85,0,0,0.16,505.49,3574.41,26110262,99.72,0,0,0.4,505.78,3574.1,26110263,99.9,0,0,0.37,505.2,3574.69,26110264,99.92,0,0,0.17,505.16,3574.71,26110265,99.85,0,0,0.34,505.67,3574.23,26110266,99.9,0,0,0.17,505.64,3574.25,26110267,99.77,0,0,0.45,505.95,3573.94,26110268,99.92,0,0,0.31,505.35,3574.53,26110269,99.74,0,0,0.31,505.1,3574.76,26110270,99.82,0,0,0.39,504.89,3574.99,26110271,99.87,0,0,0.2,505,3574.88,26110272,99.9,0,0,0.19,504.99,3574.88,26110273,99.74,0,0,0.59,505.56,3574.31,26110274,98.72,0,0,0.19,505.2,3574.68,26110275,99.76,0,0,0.37,505.2,3574.69,26110276,99.89,0,0,0.17,505.17,3574.71,26110277,99.03,0,0,0.22,505.14,3574.74,26110278,99.74,0,0,0.55,505.49,3574.39,26110279,99.8,0,0,0.15,505.1,3574.78,26110280,99.75,0,0,0.3,505.11,3574.79,26110281,98.66,0,0,0.15,505.16,3574.73,26110282,99.81,0,0,0.17,505.13,3574.75,26110283,99.78,0,0,0.57,505.51,3574.37,26110284,99.91,0,0,0.16,504.96,3574.92,26110285,99.39,0,0,0.47,505.76,3574.13,26110286,99.93,0,0,0.18,505.68,3574.19,26110287,99.94,0,0,0.18,505.66,3574.21,26110288,99.52,0,0,0.59,505.69,3574.18,26110289,99.93,0,0,0.14,504.88,3574.98,26110290,99.6,0,0,0.34,504.88,3575,26110291,99.9,0,0,0.14,504.86,3575.02,26110292,98.61,0,0,0.16,504.83,3575.04,26110293,99.75,0,0,0.39,505.13,3574.74,26110294,99.9,0,0,0.29,504.52,3575.34,26110295,99.51,0,0,0.34,504.74,3575.14,26110296,99.94,0,0,0.18,504.56,3575.32,26110297,99.82,0,0,0.14,504.46,3575.41,26110298,99.75,0,0,0.57,505.09,3574.78,26110299,99.63,0,0,0.29,505.41,3574.44,26110300,99.7,0,0,0.36,505.4,3574.48,26110301,99.9,0,0,0.18,505.38,3574.49,26110302,99.65,0,0,0.14,505.35,3574.52,26110303,99.81,0,0,0.31,506.11,3573.75,26110304,99.93,0,0,0.41,504.76,3575.1,26110305,99.85,0,0,0.33,504.76,3575.11,26110306,99.74,0,0,0.15,504.74,3575.13,26110307,99.9,0,0,0.16,504.73,3575.14,26110308,99.79,0,0,0.15,504.7,3575.16,26110309,99.75,0,0,0.58,506.47,3573.38,26110310,99.8,0,0,0.32,505.67,3574.2,26110311,99.85,0,0,0.16,505.66,3574.21,26110312,99.9,0,0,0.18,505.63,3574.24,26110313,99.91,0,0,0.15,505.62,3574.24,26110314,99.72,0,0,0.59,505.66,3574.19,26110315,99.72,0,0,0.4,505.11,3574.76,26110316,99.88,0.01,0.02,0.21,505.19,3574.67,26110317,99.88,0,0,0.14,505.19,3574.67,26110318,99.86,0,0,0.16,505.16,3574.7,26110319,99.57,0,0,0.56,504.78,3575.08,26110320,99.48,0,0,0.31,505.37,3574.5,26110321,99.77,0,0,0.14,505.37,3574.5,26110322,99.83,0,0,0.16,505.35,3574.52,26110323,99.85,0,0,0.14,505.37,3574.49,26110324,99.69,0,0,0.5,505.27,3574.59,26110325,99.78,0,0,0.41,504.5,3575.37,26110326,99.83,0,0,0.17,504.46,3575.4,26110327,99.82,0,0,0.15,504.44,3575.41,26110328,99.85,0,0,0.14,504.42,3575.44,26110329,99.45,0,0,0.62,505.74,3574.09,26110330,99.73,0,0,0.37,504.64,3575.21,26110331,99.83,0,0,0.16,504.63,3575.21,26110332,99.83,0,0,0.16,504.6,3575.24,26110333,99.79,0,0,0.15,504.58,3575.25,26110334,99.71,0,0,0.55,505.02,3574.83,26110335,99.72,0,0,0.37,505.99,3573.89,26110336,99.84,0,0,0.14,505.96,3573.91,26110337,99.79,0,0,0.18,505.93,3573.94,26110338,97.78,0,0,0.16,505.92,3573.95,26110339,99.72,0,0,0.38,506.23,3573.63,26110340,99.49,0,0,0.53,504.69,3575.2,26110341,99.82,0,0,0.13,504.64,3575.25,26110342,99.65,0,0,0.2,504.89,3575,26110343,99.84,0,0,0.14,505.34,3574.55,26110344,99.82,0,0,0.15,505.32,3574.56,26110345,99.57,0,0,0.71,505.91,3573.99,26110346,99.48,0,0,0.16,505.74,3574.16,26110347,99.86,0,0,0.14,505.71,3574.18,26110348,99.83,0,0,0.16,505.71,3574.18,26110349,99.83,0,0,0.13,505.67,3574.21,26110350,99.38,0,0,0.79,506.07,3573.83,26110351,99.85,0,0,0.18,505.66,3574.23,26110352,99.82,0,0,0.18,505.65,3574.24,26110353,99.84,0,0,0.18,505.62,3574.27,26110354,99.85,0,0,0.14,505.6,3574.28,26110355,99.46,0,0,0.73,506.12,3573.77,26110356,99.85,0,0,0.14,505.82,3574.07,26110357,99.8,0,0,0.16,505.85,3574.04,26110358,99.86,0,0,0.14,505.96,3573.93,26110359,99.64,0,0,0.32,505.95,3573.92,26110360,99.6,0,0,0.72,506.11,3573.77,26110361,99.83,0,0,0.14,505.93,3573.95,26110362,99.83,0,0,0.16,505.91,3573.96,26110363,99.8,0,0,0.14,505.89,3573.98,26110364,99.84,0,0,0.15,505.86,3574.03,26110365,99.38,0,0,0.7,505.35,3574.55,26110366,99.83,0,0,0.21,505.1,3574.8,26110367,98.78,0,0,0.14,505.1,3574.8,26110368,99.82,0,0,0.15,505.07,3574.83,26110369,99.82,0,0,0.14,505.05,3574.83,26110370,99.54,0,0,0.73,506.29,3573.62,26110371,99.82,0,0,0.14,505.75,3574.15,26110372,99.82,0,0,0.17,505.72,3574.17,26110373,99.83,0,0,0.14,505.71,3574.18,26110374,99.43,0,0,0.13,505.7,3574.19,26110375,99.1,0,0,0.58,506.28,3573.62,26110376,99.84,0,0,0.36,504.92,3574.98,26110377,99.83,0,0,0.14,504.91,3574.98,26110378,99.67,0,0,0.18,504.9,3574.99,26110379,99.66,0,0,0.19,504.87,3575.01,26110380,98.49,0,0,10.84,505.8,3575.4,26110381,99.82,0,0,0.36,506.11,3575.19,26110382,99.85,0,0,0.17,506.11,3575.19,26110383,99.84,0,0,0.16,506.25,3575.04,26110384,99.7,0,0,0.14,506.24,3575.05,26110385,99.61,0,0,0.31,506.01,3575.35,26110386,99.53,0,0,0.57,505.12,3576.24,26110387,99.81,0,0,0.14,504.49,3576.87,26110388,99.69,0,0,0.15,504.47,3576.88,26110389,99.22,0,0,0.29,504.93,3576.41,26110390,99.76,0,0,0.37,504.95,3576.41,26110391,99.68,0,0,0.58,505.73,3575.63,26110392,99.85,0,0,0.15,505.4,3575.95,26110393,99.81,0,0,0.17,505.38,3575.97,26110394,99.85,0,0,0.14,505.36,3575.98,26110395,99.75,0,0,0.32,505.53,3575.82,26110396,99.66,0,0,0.54,505.37,3575.99,26110397,99.82,0,0,0.2,504.52,3576.83,26110398,99.83,0,0,0.14,504.52,3576.83,26110399,99.68,0,0,0.15,504.48,3576.86,26110400,99.69,0,0,0.34,504.73,3576.63,26110401,98.14,0,0,0.53,505.36,3575.99,26110402,99.81,0,0,0.2,505.11,3576.24,26110403,99.83,0,0,0.15,504.92,3576.43,26110404,99.83,0,0,0.15,504.9,3576.44,26110405,99.72,0,0,0.34,505.14,3576.22,26110406,99.66,0,0,0.56,505.8,3575.56,26110407,99.33,0,0,0.14,505.49,3575.86,26110408,99.81,0,0,0.14,505.52,3575.83,26110409,99.84,0,0,0.14,505.5,3575.84,26110410,99.71,0,0,0.33,505.27,3576.09,26110411,99.7,0,0,0.57,505.59,3575.76,26110412,99.82,0,0,0.14,505.22,3576.13,26110413,99.82,0,0,0.16,505.19,3576.15,26110414,99.83,0,0,0.14,505.18,3576.16,26110415,99.62,0,0,0.33,505,3576.36,26110416,99.85,0,0,0.18,504.91,3576.44,26110417,99.49,0,0,0.54,504.76,3576.59,26110418,99.83,0,0,0.15,504.37,3576.98,26110419,99.73,0,0,0.27,505.46,3575.86,26110420,99.76,0,0,0.35,505.51,3575.82,26110421,99.34,0,0,0.16,505.49,3575.84,26110422,99.71,0,0,0.54,505.82,3575.51,26110423,99.85,0,0,0.16,505.45,3575.88,26110424,99.84,0,0,0.15,505.42,3575.9,26110425,99.76,0,0,0.36,505.42,3575.91,26110426,99.86,0,0,0.14,505.4,3575.93,26110427,99.72,0,0,0.54,505.74,3575.6,26110428,99.66,0,0,0.15,505.36,3575.98,26110429,99.85,0,0,0.13,505.36,3575.98,26110430,99.52,0,0,0.32,505.1,3576.25,26110431,99.84,0,0,0.18,505.26,3576.08,26110432,99.7,0,0,0.55,505.42,3575.92,26110433,99.84,0,0,0.16,504.73,3576.6,26110434,99.84,0,0,0.17,504.71,3576.62,26110435,99.78,0,0,0.35,504.94,3576.4,26110436,99.85,0,0,0.17,504.94,3576.41,26110437,99.7,0,0,0.61,505.62,3575.74,26110438,99.84,0,0,0.16,505.64,3575.73,26110439,99.83,0,0.01,0.17,505.61,3575.75,26110440,99.55,0,0.02,0.36,505.45,3575.93,26110441,99.59,0.01,0.02,0.16,505.42,3575.96,26110442,99.63,0.01,0.03,0.53,505.22,3576.15,26110443,99.78,0,0.02,0.17,504.23,3577.13,26110444,99.76,0.01,0.02,0.17,504.18,3577.18,26110445,99.48,0,0.02,0.3,505.44,3575.94,26110446,99.79,0.01,0.02,0.16,505.43,3575.95,26110447,99.48,0,0.02,0.57,505.78,3575.59,26110448,99.8,0,0.02,0.14,505.45,3575.91,26110449,99.59,0.01,0.02,0.27,505.67,3575.67,26110450,99.68,0,0.02,0.29,504.72,3576.63,26110451,99.78,0,0.01,0.16,504.62,3576.73,26110452,99.59,0,0.02,0.49,505.51,3575.84,26110453,99.75,0.01,0.02,0.2,505.63,3575.7,26110454,99.43,0,0.02,0.15,505.68,3575.66,26110455,99.63,0.01,0.02,0.3,505.47,3575.88,26110456,99.73,0.01,0.03,0.19,505.41,3575.94,26110457,99.72,0.01,0.03,0.25,505.43,3575.91,26110458,99.57,0.01,0.02,0.57,505.84,3575.49,26110459,99.74,0,0.02,0.17,505.36,3575.97,26110460,99.69,0.01,0.03,0.28,505.45,3575.9,26110461,99.74,0.01,0.02,0.18,505.41,3575.93,26110462,99.75,0.01,0.02,0.21,505.3,3576.04,26110463,99.61,0.01,0.02,0.57,505.93,3575.41,26110464,99.73,0,0.02,0.17,505.64,3575.68,26110465,99.28,0,0.02,0.32,504.73,3576.61,26110466,99.77,0,0.02,0.17,504.7,3576.63,26110467,99.58,0,0.02,0.22,504.64,3576.69,26110468,99.62,0.01,0.03,0.59,505.82,3575.5,26110469,99.8,0,0.02,0.17,505.64,3575.68,26110470,99.64,0.01,0.02,0.29,505.4,3575.94,26110471,99.81,0.01,0.03,0.13,505.42,3575.92,26110472,99.81,0.01,0.03,0.16,505.38,3575.95,26110473,99.64,0,0.02,0.54,505.43,3575.89,26110474,99.78,0.01,0.02,0.14,504.9,3576.42,26110475,99.73,0,0.02,0.28,505.11,3576.23,26110476,99.8,0.01,0.02,0.16,505.2,3576.13,26110477,99.83,0,0.02,0.15,505.16,3576.17,26110478,99.68,0,0.02,0.49,505.74,3575.58,26110479,99.75,0,0.02,0.32,505.16,3576.14,26110480,99.76,0.01,0.02,0.27,504.89,3576.43,26110481,99.66,0.01,0.03,0.16,504.94,3576.37,26110482,99.81,0.01,0.02,0.14,504.9,3576.41,26110483,99.71,0,0.02,0.4,505.62,3575.68,26110484,99.6,0,0.02,0.3,505.67,3575.65,26110485,99.72,0.01,0.02,0.28,505.37,3575.97,26110486,99.68,0.01,0.02,0.15,505.42,3575.91,26110487,99.8,0,0.02,0.16,505.39,3575.93,26110488,99.73,0.01,0.02,0.4,505.79,3575.54,26110489,98.86,0,0.02,0.29,505.68,3575.64,26110490,99.72,0.01,0.02,0.28,505.88,3575.46,26110491,99.85,0,0.02,0.14,505.93,3575.41,26110492,99.87,0,0.02,0.14,505.9,3575.45,26110493,99.73,0,0.02,0.41,506.21,3575.13,26110494,99.88,0.01,0.03,0.29,505.66,3575.68,26110495,99.76,0.01,0.05,0.29,504.68,3576.68,26110496,99.86,0.01,0.02,0.19,504.64,3576.71,26110497,99.83,0.01,0.03,0.15,504.67,3576.67,26110498,99.82,0.01,0.03,0.14,504.67,3576.67,26110499,99.71,0,0.02,0.56,505.94,3575.4,26110500,99.54,0,0.02,0.32,505.7,3575.66,26110501,99.79,0.01,0.02,0.18,505.65,3575.7,26110502,99.8,0,0.02,0.18,505.66,3575.69,26110503,99.84,0,0.02,0.2,505.65,3575.69,26110504,98.76,0.01,0.03,0.56,506.29,3575.04,26110505,99.75,0,0.02,0.3,505.93,3575.42,26110506,99.86,0.01,0.03,0.16,505.89,3575.46,26110507,97.76,0,0.02,0.12,505.88,3575.47,26110508,99,0,0.02,0.17,505.9,3575.44,26110509,99.66,0.01,0.02,0.75,506.33,3574.98,26110510,99.74,0,0.02,0.3,505.68,3575.65,26110511,99.83,0.01,0.03,0.21,505.67,3575.65,26110512,99.88,0.01,0.02,0.16,505.67,3575.65,26110513,99.85,0.01,0.02,0.15,505.61,3575.7,26110514,99.7,0,0.02,0.56,506.11,3575.21,26110515,99.49,0,0.02,0.27,505.88,3575.46,26110516,99.85,0,0.02,0.14,505.89,3575.45,26110517,99.86,0.01,0.02,0.21,505.88,3575.46,26110518,99.85,0,0.02,0.14,505.86,3575.47,26110519,99.67,0,0.02,0.59,506.32,3575,26110520,99.68,0.01,0.03,0.28,505.9,3575.44,26110521,99.82,0,0.02,0.16,505.92,3575.42,26110522,98.54,0.01,0.02,0.17,505.82,3575.51,26110523,99.87,0,0.02,0.18,505.6,3575.73,26110524,99.68,0.01,0.02,0.55,506.08,3575.25,26110525,99.72,0,0.02,0.3,506.11,3575.23,26110526,99.88,0,0.02,0.13,506.14,3575.2,26110527,99.89,0.01,0.03,0.16,506.15,3575.19,26110528,99.86,0,0.02,0.16,506.08,3575.25,26110529,99.7,0.01,0.02,0.55,506.39,3574.93,26110530,99.67,0,0.02,0.27,505.18,3576.16,26110531,99.87,0,0.02,0.16,505.18,3576.16,26110532,99.84,0,0.02,0.14,505.16,3576.17,26110533,99.89,0.01,0.03,0.15,505.12,3576.2,26110534,99.88,0,0.02,0.14,505.18,3576.14,26110535,99.5,0.01,0.02,0.69,506.75,3574.58,26110536,99.88,0.01,0.02,0.18,506.13,3575.2,26110537,99.89,0.01,0.02,0.14,506.12,3575.21,26110538,99.87,0,0.02,0.16,505.51,3575.81,26110539,99.74,0,0.02,0.27,505.41,3575.89,26110540,99.11,0.01,0.02,0.66,505.5,3575.81,26110541,99.85,0.01,0.02,0.16,505.12,3576.19,26110542,99.86,0,0.02,0.14,505.16,3576.14,26110543,99.88,0.01,0.02,0.15,505.11,3576.19,26110544,99.87,0,0.02,0.14,505.18,3576.14,26110545,99.64,0.01,0.02,0.7,505.17,3576.18,26110546,99.8,0,0.02,0.18,504.9,3576.45,26110547,99.82,0.01,0.02,0.14,504.91,3576.42,26110548,99.86,0,0.02,0.16,504.85,3576.48,26110549,99.81,0.01,0.02,0.15,504.92,3576.41,26110550,99.56,0,0.02,0.67,505.29,3576.06,26110551,99.84,0,0.02,0.16,504.64,3576.7,26110552,99.87,0,0.02,0.14,504.66,3576.68,26110553,99.87,0,0.02,0.15,504.59,3576.74,26110554,99.87,0,0.02,0.16,504.7,3576.63,26110555,99.57,0.01,0.03,0.71,504.64,3576.7,26110556,99.82,0,0.02,0.22,505.37,3575.96,26110557,99.86,0.01,0.03,0.15,505.42,3575.91,26110558,98.05,0.01,0.02,0.15,505.38,3575.95,26110559,99.86,0,0.02,0.13,505.37,3575.95,26110560,99.37,0.01,0.02,0.82,505.7,3575.64,26110561,99.84,0.01,0.03,0.12,505.11,3576.23,26110562,98.9,0,0.02,0.16,505.16,3576.17,26110563,99.83,0.01,0.02,0.14,505.13,3576.2,26110564,99.85,0,0.02,0.14,505.09,3576.24,26110565,99.48,0.01,0.02,0.44,505.19,3576.15,26110566,99.85,0.01,0.03,0.37,505.38,3575.96,26110567,99.83,0,0.02,0.18,505.38,3575.96,26110568,99.82,0.01,0.03,0.14,505.4,3575.92,26110569,99.74,0.01,0.02,0.32,505.1,3576.2,26110570,99.75,0,0.02,0.3,505.38,3575.93,26110571,99.59,0.01,0.02,0.55,505.74,3575.57,26110572,99.8,0.01,0.02,0.14,505.35,3575.95,26110573,99.77,0.01,0.03,0.15,505.38,3575.92,26110574,99.83,0.01,0.02,0.16,505.34,3575.97,26110575,99.57,0.01,0.03,0.28,504.86,3576.47,26110576,98,0,0.02,0.56,505.73,3575.6,26110577,99.82,0.01,0.03,0.18,505.38,3575.95,26110578,99.85,0.01,0.02,0.16,505.36,3575.96,26110579,99.87,0,0.02,0.16,505.38,3575.93,26110580,99.64,0.01,0.03,0.3,505.13,3576.2,26110581,99.69,0,0.02,0.55,504.79,3576.54,26110582,99.83,0,0.02,0.16,504.36,3576.96,26110583,98.87,0.01,0.02,0.17,505.07,3576.25,26110584,99.87,0,0.02,0.14,505.14,3576.18,26110585,99.84,0,0.02,0.29,505.09,3576.24,26110586,94.84,0.34,0.04,197.05,515.9,3566.17,26110587,99.71,0.01,0.03,64.41,507.94,3574.15,26110588,99.85,0,0.02,0.18,507.9,3574.18,26110589,99.88,0,0.02,0.18,507.93,3574.15,26110590,99.63,0,0.02,0.34,507.19,3574.9,26110591,98.97,0,0.02,0.62,507.1,3575.02,26110592,99.81,0.01,0.02,0.18,505.76,3576.39,26110593,99.85,0.01,0.03,0.18,505.74,3576.41,26110594,99.8,0,0.02,0.17,505.75,3576.4,26110595,99.74,0.01,0.03,0.31,505.54,3576.62,26110596,99.65,0.01,0.02,0.61,505.86,3576.31,26110597,99.84,0.01,0.02,0.14,505.5,3576.69,26110598,99.84,0.01,0.03,0.15,505.52,3576.67,26110599,99.72,0.01,0.02,0.29,505.77,3576.4,26110600,99.73,0.01,0.03,0.32,505.58,3576.6,26110601,99.75,0,0.02,0.4,505.87,3576.3,26110602,99.88,0,0.02,0.32,505.47,3576.7,26110603,99.87,0.01,0.03,0.17,505.49,3576.67,26110604,99.88,0,0.02,0.19,505.47,3576.7,26110605,99.69,0,0.02,0.36,505.3,3576.88,26110606,99.74,0.01,0.02,0.3,505.65,3576.53,26110607,99.87,0,0.02,0.38,505.75,3576.43,26110608,99.89,0,0.02,0.14,505.76,3576.4,26110609,99.84,0.01,0.03,0.14,505.71,3576.45,26110610,99.76,0.01,0.02,0.27,505.3,3576.88,26110611,99.85,0,0.02,0.16,505.27,3576.91,26110612,98.8,0,0.02,0.57,506.23,3575.94,26110613,99.88,0.01,0.02,0.15,505.75,3576.41,26110614,99.85,0,0.02,0.14,505.71,3576.45,26110615,99.71,0,0.02,0.29,505.29,3576.89,26110616,99.86,0,0.02,0.16,505.25,3576.93,26110617,99.71,0,0.02,0.55,504.78,3577.4,26110618,99.87,0.01,0.03,0.15,504.05,3578.12,26110619,99.85,0,0.02,0.14,503.98,3578.19,26110620,99.46,0.01,0.03,0.29,505.5,3576.68,26110621,99.78,0.01,0.03,0.16,505.51,3576.67,26110622,99.72,0.01,0.02,0.56,505.66,3576.52,26110623,99.85,0,0.02,0.17,505.28,3576.89,26110624,99.88,0,0.02,0.15,505.22,3576.94,26110625,99.78,0.01,0.03,0.33,505.5,3576.68,26110626,99.93,0.01,0.02,0.14,505.53,3576.65,26110627,99.74,0.01,0.03,0.55,505.97,3576.21,26110628,99.86,0,0.02,0.14,505.78,3576.39,26110629,99.76,0,0.02,0.39,505.73,3576.41,26110630,99.66,0.01,0.03,0.32,505.5,3576.66,26110631,99.87,0.01,0.03,0.22,505.51,3576.66,26110632,99.73,0,0.02,0.61,505.89,3576.26,26110633,99.9,0,0.02,0.2,505.75,3576.4,26110634,99.79,0.01,0.02,0.18,505.7,3576.46,26110635,99.66,0,0.02,0.32,504.77,3577.41,26110636,99.85,0.01,0.02,0.18,504.76,3577.42,26110637,99.71,0.01,0.02,0.45,505.26,3576.91,26110638,99.88,0.01,0.03,0.29,505.23,3576.95,26110639,99.85,0,0.02,0.17,505.26,3576.91,26110640,99.73,0.01,0.03,0.28,505.47,3576.71,26110641,99.87,0,0.02,0.13,505.52,3576.66,26110642,99.7,0.01,0.02,0.33,505.79,3576.39,26110643,99.86,0,0.02,0.41,505.49,3576.69,26110644,99.86,0.01,0.02,0.19,505.48,3576.69,26110645,99.8,0.01,0.03,0.33,505.71,3576.47,26110646,99.86,0.01,0.03,0.14,505.72,3576.46,26110647,99.77,0,0.02,0.3,506.09,3576.09,26110648,99.82,0,0.02,0.42,504.93,3577.24,26110649,99.9,0,0,0.19,504.97,3577.2,26110650,99.67,0,0,0.29,504.82,3577.37,26110651,99.88,0,0,0.14,504.78,3577.4,26110652,99.91,0,0,0.16,504.78,3577.41,26110653,99.76,0,0,0.54,505.13,3577.05,26110654,99.93,0,0,0.15,504.74,3577.44,26110655,99.84,0,0,0.29,505.7,3576.5,26110656,99.93,0,0,0.14,505.68,3576.51,26110657,99.9,0,0,0.14,505.67,3576.52,26110658,99.76,0,0,0.55,506.51,3575.67,26110659,99.75,0,0,0.27,505.69,3576.47,26110660,99.84,0,0,0.27,506.09,3576.09,26110661,99.9,0,0,0.16,506.08,3576.09,26110662,99.89,0,0,0.14,506.05,3576.12,26110663,99.71,0,0,0.49,506.51,3575.65,26110664,99.9,0,0,0.2,506,3576.15,26110665,99.77,0,0,0.28,505.78,3576.4,26110666,99.94,0,0,0.33,505.74,3576.43,26110667,99.88,0,0,0.16,505.74,3576.43,26110668,99.77,0,0,0.57,506.05,3576.11,26110669,99.9,0,0,0.18,505.67,3576.49,26110670,99.77,0,0,0.31,505.93,3576.25,26110671,99.93,0,0,0.18,506.04,3576.15,26110672,99.94,0,0,0.18,506.08,3576.11,26110673,99.75,0.01,0.01,0.57,506.33,3575.85,26110674,99.92,0,0,0.14,505.95,3576.23,26110675,99.86,0,0,0.36,505.72,3576.47,26110676,99.88,0,0,0.18,505.68,3576.51,26110677,99.9,0,0,0.18,505.67,3576.51,26110678,99.76,0,0,0.43,506.13,3576.05,26110679,99.88,0,0,0.3,506.05,3576.12,26110680,99.53,0.03,0.02,0.32,505.85,3576.34,26110681,99.76,0.03,0.02,0.14,505.73,3576.46,26110682,99.81,0.04,0.02,0.16,505.75,3576.43,26110683,99.81,0.04,0.03,0.14,505.74,3576.43,26110684,99.6,0.04,0.05,0.55,506.45,3575.72,26110685,99.67,0.04,0.05,0.35,505.75,3576.44,26110686,99.88,0.03,0.04,0.14,505.74,3576.45,26110687,99.89,0.02,0.04,0.18,505.74,3576.44,26110688,99.87,0.05,0.05,0.16,505.74,3576.44,26110689,99.61,0.04,0.04,0.74,506.32,3575.83,26110690,99.69,0.02,0.04,0.33,505.99,3576.18,26110691,99.8,0.01,0.02,0.18,506.02,3576.15,26110692,99.79,0.01,0.03,0.18,506.01,3576.15,26110693,99.73,0.01,0.02,0.2,505.35,3576.81,26110694,99.63,0.01,0.02,0.61,505.52,3576.63,26110695,99.65,0,0.02,0.35,505.27,3576.9,26110696,99.78,0,0.02,0.18,505.24,3576.93,26110697,99.78,0.01,0.02,0.25,505.26,3576.9,26110698,99.73,0.01,0.02,0.21,505.2,3576.95,26110699,99.63,0.01,0.02,0.63,505.73,3576.42,26110700,99.71,0,0.02,0.36,505.23,3576.93,26110701,99.7,0.01,0.02,0.2,505.24,3576.93,26110702,99.68,0.01,0.03,0.24,505.24,3576.92,26110703,99.71,0.01,0.03,0.2,505,3577.16,26110704,99.69,0,0.02,0.59,505.47,3576.68,26110705,99.57,0.01,0.03,0.35,505.02,3577.14,26110706,99.68,0,0.02,0.18,504.98,3577.19,26110707,99.76,0.01,0.03,0.18,505.02,3577.14,26110708,99.79,0.01,0.02,0.19,504.99,3577.16,26110709,99.58,0,0.02,0.56,505.22,3576.93,26110710,99.65,0.01,0.03,0.32,505.52,3576.65,26110711,99.83,0.01,0.03,0.18,505.48,3576.68,26110712,99.78,0,0.02,0.18,505.45,3576.71,26110713,99.78,0.01,0.02,0.18,505.52,3576.63,26110714,99.73,0,0.02,0.55,506.07,3576.08,26110715,99.79,0,0.02,0.39,505.27,3576.9,26110716,99.77,0.01,0.03,0.18,505.27,3576.9,26110717,99.82,0,0.02,0.18,505.23,3576.93,26110718,99.9,0,0.02,0.18,505.26,3576.89,26110719,99.67,0.01,0.02,0.3,505.73,3576.39,26110720,99.46,0.01,0.03,0.68,505.35,3576.79,26110721,99.84,0.01,0.02,0.14,505.04,3577.1,26110722,99.84,0,0.02,0.17,504.97,3577.16,26110723,99.86,0,0.02,0.18,504.99,3577.14,26110724,99.86,0,0.02,0.21,504.98,3577.18,26110725,99.42,0,0.02,0.67,505.89,3576.29,26110726,99.89,0,0.02,0.16,505.53,3576.64,26110727,99.76,0.01,0.03,0.14,505.49,3576.67,26110728,99.78,0,0.02,0.16,505.49,3576.67,26110729,99.86,0.01,0.02,0.14,505.5,3576.66,26110730,99.54,0.01,0.02,0.65,504.94,3577.23,26110731,99.87,0.01,0.03,0.16,504.52,3577.65,26110732,99.85,0,0.03,0.15,504.51,3577.65,26110733,99.82,0.01,0.03,0.14,504.46,3577.7,26110734,99.83,0.01,0.02,0.16,504.51,3577.64,26110735,99.56,0.01,0.03,0.7,506.22,3575.95,26110736,99.82,0.01,0.02,0.13,505.47,3576.69,26110737,99.85,0.01,0.03,0.16,505.53,3576.63,26110738,99.79,0.01,0.03,0.14,505.49,3576.67,26110739,99.82,0,0.02,0.15,505.46,3576.69,26110740,99.46,0,0.02,0.65,506,3576.17,26110741,99.85,0.01,0.02,0.23,505.46,3576.7,26110742,99.85,0,0.02,0.17,505.53,3576.64,26110743,93.13,1.41,0.03,73.86,520.9,3555.01,26110744,99.83,0,0.02,0.2,508.22,3573.59,26110745,99.59,0.01,0.02,0.75,508.69,3573.13,26110746,99.86,0.01,0.03,0.14,508.49,3573.31,26110747,99.86,0,0.02,0.15,508.43,3573.37,26110748,99.84,0.01,0.02,0.18,506.72,3575.13,26110749,99.75,0,0.03,0.3,505.53,3576.33,26110750,99.55,0,0.02,0.54,505.88,3576,26110751,99.86,0.01,0.03,0.3,504.84,3577.04,26110752,99.87,0,0.02,0.14,504.81,3577.07,26110753,99.83,0.01,0.02,0.15,504.83,3577.06,26110754,99.89,0,0.02,0.16,504.83,3577.07,26110755,99.52,0,0.02,0.54,506.13,3575.79,26110756,99.88,0,0.02,0.32,506.09,3575.83,26110757,99.85,0.01,0.02,0.22,506.01,3575.9,26110758,99.88,0.01,0.03,0.18,506.05,3575.85,26110759,99.85,0.01,0.03,0.19,506.05,3575.86,26110760,99.7,0.01,0.02,0.3,505.83,3576.09,26110761,99.75,0.01,0.03,0.57,506.6,3575.32,26110762,99.85,0.01,0.03,0.17,505.78,3576.13,26110763,99.88,0.01,0.03,0.16,505.3,3576.61,26110764,99.88,0.01,0.03,0.14,505.31,3576.59,26110765,98.66,0,0.02,15.71,508.08,3574.44,26110766,99.72,0.01,0.03,0.57,506.29,3575.77,26110767,99.83,0.01,0.03,0.16,505.69,3576.36,26110768,99.84,0.01,0.02,0.14,505.71,3576.34,26110769,99.88,0.01,0.03,0.15,505.67,3576.37,26110770,99.74,0,0.02,0.3,505.7,3576.37,26110771,99.71,0.01,0.02,0.57,505.93,3576.13,26110772,99.82,0,0.02,0.14,505.42,3576.63,26110773,99.85,0,0.02,0.14,505.49,3576.56,26110774,99.85,0.01,0.02,0.14,505.43,3576.61,26110775,99.65,0.01,0.03,0.27,505.7,3576.37,26110776,99.67,0,0.02,0.57,506.1,3575.97,26110777,99.87,0.01,0.02,0.15,505.7,3576.36,26110778,99.86,0.01,0.02,0.14,505.67,3576.38,26110779,99.79,0,0.02,0.32,505.73,3576.31,26110780,99.78,0,0.01,0.26,505.73,3576.32,26110781,99.78,0,0,0.55,506.14,3575.91,26110782,99.89,0,0,0.15,505.88,3576.15,26110783,99.89,0,0,0.14,505.89,3576.14,26110784,99.89,0,0,0.15,505.98,3576.05,26110785,99.78,0,0,0.36,505.75,3576.3,26110786,99.74,0,0,0.57,506.13,3575.92,26110787,99.91,0,0,0.14,505.94,3576.09,26110788,99.9,0,0,0.15,505.91,3576.12,26110789,99.91,0,0,0.14,505.91,3576.14,26110790,99.81,0,0,0.26,505.9,3576.16,26110791,99.75,0,0,0.31,506.24,3575.82,26110792,99.88,0,0,0.4,505.86,3576.2,26110793,99.89,0,0,0.16,505.93,3576.12,26110794,99.92,0,0,0.14,506.04,3576.01,26110795,99.85,0,0,0.29,505.56,3576.5,26110796,99.91,0,0,0.17,505.53,3576.54,26110797,99.77,0,0,0.54,506.73,3575.33,26110798,97.02,0.02,0.01,0.52,511.48,3571.88,26110799,99.83,0.01,0,78.2,508.56,3573.14,26110800,99.67,0.01,0,0.26,508.36,3573.35,26110801,99.89,0.01,0,0.16,508.36,3573.35,26110802,99.73,0.01,0,0.56,508.84,3572.86,26110803,99.8,0.01,0,0.16,508.14,3573.57,26110804,99.85,0.01,0,0.18,506.2,3575.54,26110805,99.8,0.01,0,0.29,505.43,3576.32,26110806,99.85,0.01,0,0.15,505.43,3576.31,26110807,99.76,0.01,0,0.57,505.82,3575.93,26110808,99.88,0,0,0.15,505.43,3576.3,26110809,99.83,0,0,0.29,506.14,3575.59,26110810,99.74,0,0,0.27,505.67,3576.08,26110811,99.91,0,0,0.15,505.62,3576.12,26110812,99.64,0,0,0.53,506.65,3575.09,26110813,99.82,0,0,0.23,506.26,3575.47,26110814,99.87,0,0,0.15,506.26,3575.48,26110815,99.73,0,0,0.29,506.49,3575.28,26110816,99.85,0,0,0.18,506.49,3575.27,26110817,99.74,0,0,0.46,506.67,3575.08,26110818,99.92,0,0,0.31,505.46,3576.29,26110819,99.92,0,0,0.16,505.43,3576.32,26110820,99.81,0,0,0.27,505.44,3576.32,26110821,99.84,0,0,0.13,505.41,3576.35,26110822,99.77,0,0,0.63,506.14,3575.61,26110823,99.92,0,0,0.16,505.84,3575.9,26110824,99.86,0,0,0.14,506,3575.74,26110825,99.72,0,0,0.28,506.25,3575.5,26110826,99.88,0,0,0.14,506.23,3575.52,26110827,99.72,0.01,0,0.32,506.51,3575.24,26110828,99.88,0,0,0.39,506.21,3575.53,26110829,99.88,0,0,0.14,506.17,3575.56,26110830,98.56,0,0,0.31,505.46,3576.3,26110831,99.86,0,0,0.15,505.42,3576.33,26110832,99.9,0,0,0.16,505.4,3576.35,26110833,99.72,0,0,0.64,505.73,3576.02,26110834,99.92,0,0,0.14,505.36,3576.38,26110835,99.74,0,0,0.28,505.37,3576.39,26110836,99.87,0,0,0.15,505.48,3576.28,26110837,99.88,0,0,0.16,505.5,3576.26,26110838,99.79,0,0,0.59,506.71,3575.03,26110839,99.76,0,0,0.29,505.98,3575.74,26110840,99.75,0,0,0.26,506.18,3575.55,26110841,99.85,0,0,0.14,506.17,3575.57,26110842,99.85,0,0,0.16,506.15,3575.58,26110843,99.78,0,0,0.55,506.65,3575.07,26110844,99.9,0,0,0.16,506.34,3575.38,26110845,99.75,0,0,0.29,506.35,3575.38,26110846,99.23,0,0,0.14,506.33,3575.4,26110847,99.83,0,0,0.16,505.93,3575.8,26110848,99.75,0,0,0.57,506.31,3575.4,26110849,99.89,0,0,0.15,505.47,3576.24,26110850,99.71,0,0,0.29,504.74,3576.99,26110851,99.89,0,0,0.17,504.71,3577.01,26110852,99.91,0,0,0.14,504.7,3577.02,26110853,99.7,0,0,0.59,505.4,3576.32,26110854,99.9,0,0,0.16,505.14,3576.58,26110855,99.77,0,0,0.27,505.4,3576.33,26110856,99.89,0,0,0.14,505.36,3576.36,26110857,99.85,0,0,0.17,505.4,3576.32,26110858,99.74,0,0,0.56,505.74,3575.98,26110859,99.91,0,0,0.16,505.18,3576.53,26110860,99.67,0,0,0.28,504.93,3576.79,26110861,99.88,0,0,0.18,504.91,3576.81,26110862,99.84,0,0,0.16,504.88,3576.84,26110863,99.66,0,0,0.55,505.41,3576.3,26110864,99.8,0,0,0.15,505.8,3575.9,26110865,99.77,0,0,0.32,505.34,3576.38,26110866,99.82,0,0,0.16,505.48,3576.23,26110867,99.83,0,0,0.17,505.49,3576.22,26110868,99.66,0,0,0.4,505.83,3575.87,26110869,99.77,0,0,0.54,505.68,3576,26110870,99.72,0,0,0.33,505.44,3576.25,26110871,99.83,0,0,0.17,505.4,3576.29,26110872,99.81,0,0,0.16,505.39,3576.3,26110873,99.81,0,0,0.15,505.37,3576.31,26110874,99.56,0,0,0.6,506.31,3575.37,26110875,99.66,0,0,0.29,505.59,3576.11,26110876,99.83,0,0,0.14,505.58,3576.11,26110877,99.76,0,0,0.19,505.67,3576.02,26110878,99.79,0,0,0.15,505.72,3575.96,26110879,99.67,0,0,0.59,506.29,3575.38,26110880,99.71,0,0,0.29,505.92,3575.77,26110881,99.83,0,0,0.15,505.9,3575.78,26110882,99.76,0,0,0.18,505.86,3575.82,26110883,99.84,0,0,0.15,505.35,3576.32,26110884,99.68,0,0,0.59,505.95,3575.72,26110885,99.67,0,0,0.29,505.6,3576.09,26110886,99.82,0.01,0,0.16,505.66,3576.03,26110887,99.8,0.01,0,0.17,505.64,3576.04,26110888,99.8,0.01,0,0.16,505.62,3576.05,26110889,99.67,0,0,0.54,505.93,3575.73,26110890,99.71,0,0,0.28,505.57,3576.11,26110891,99.82,0,0,0.18,505.56,3576.12,26110892,99.82,0,0,0.15,505.53,3576.14,26110893,99.77,0,0,0.14,505.7,3575.97,26110894,99.68,0,0,0.4,506.12,3575.55,26110895,99.71,0,0,0.43,505.93,3575.77,26110896,99.84,0,0,0.14,505.91,3575.79,26110897,99.81,0,0,0.14,505.9,3575.8,26110898,99.83,0,0,0.16,505.87,3575.82,26110899,99.59,0,0,0.65,506.23,3575.44,26110900,99.7,0,0,0.34,505.87,3575.81,26110901,99.83,0,0,0.16,505.84,3575.84,26110902,99.79,0,0,0.15,505.82,3575.85,26110903,99.77,0,0,0.14,505.79,3575.88,26110904,99.71,0,0,0.3,506.36,3575.31,26110905,99.64,0,0,0.6,504.81,3576.87,26110906,99.83,0,0,0.16,504.72,3576.96,26110907,99.76,0,0,0.14,504.7,3576.97,26110908,99.81,0,0,0.15,504.68,3576.99,26110909,99.8,0,0,0.13,504.66,3577,26110910,99.58,0,0,0.71,506.03,3575.65,26110911,99.85,0,0,0.14,505.87,3575.8,26110912,99.84,0,0,0.16,505.85,3575.82,26110913,99.83,0,0,0.15,505.84,3575.83,26110914,99.82,0,0,0.15,505.81,3575.85,26110915,99.58,0,0,0.69,506.16,3575.52,26110916,99.81,0,0,0.14,505.79,3575.88,26110917,99.83,0,0,0.16,505.96,3575.71,26110918,99.84,0,0,0.14,505.97,3575.7,26110919,99.83,0,0,0.14,505.95,3575.71,26110920,99.51,0,0,0.7,506.31,3575.36,26110921,99.83,0,0,0.14,505.93,3575.74,26110922,99.83,0,0,0.16,505.91,3575.76,26110923,99.85,0,0,0.14,505.88,3575.78,26110924,99.84,0,0,0.16,505.87,3575.79,26110925,99.62,0,0,0.71,506.76,3574.91,26110926,99.83,0,0,0.18,506.09,3575.57,26110927,99.83,0,0,0.14,506.06,3575.6,26110928,99.78,0,0,0.14,506.09,3575.57,26110929,99.67,0,0,0.36,505.97,3575.67,26110930,99.61,0,0.02,0.74,506.56,3575.09,26110931,99.8,0,0,0.14,505.89,3575.76,26110932,99.79,0,0,0.14,505.87,3575.77,26110933,99.85,0,0,0.17,505.84,3575.79,26110934,99.8,0,0,0.15,505.84,3575.81,26110935,99.41,0,0,0.55,505.58,3576.08,26110936,99.8,0,0,0.3,505.81,3575.84,26110937,99.82,0,0,0.18,505.87,3575.79,26110938,99.83,0,0,0.16,505.96,3575.69,26110939,99.77,0,0,0.15,505.93,3575.72,26110940,99.55,0,0,0.7,505.68,3576,26110941,99.83,0,0,0.15,505.67,3576.01,26110942,99.82,0,0,0.16,505.64,3576.04,26110943,99.82,0,0,0.2,505.63,3576.04,26110944,99.78,0,0,0.15,505.59,3576.07,26110945,99.67,0,0,0.31,505.82,3575.86,26110946,99.67,0,0,0.57,504.96,3576.72,26110947,99.77,0,0,0.14,504.6,3577.08,26110948,99.83,0,0,0.17,504.73,3576.94,26110949,99.8,0,0,0.16,504.7,3576.96,26110950,99.66,0,0,0.32,505.67,3576.01,26110951,94.82,0.34,0.01,260.98,518.39,3563.6,26110952,99.73,0,0,0.16,508.93,3572.83,26110953,99.78,0,0,0.15,508.9,3572.86,26110954,99.78,0,0,0.15,508.88,3572.87,26110955,99.68,0,0,0.3,508.64,3573.13,26110956,99.66,0,0,0.64,507.77,3574.01,26110957,99.78,0,0,0.2,506.37,3575.43,26110958,99.82,0,0,0.17,506.12,3575.67,26110959,99.62,0,0,0.43,506.09,3575.68,26110960,99.71,0,0,0.31,506.58,3575.2,26110961,99.67,0,0,0.52,506.97,3574.82,26110962,99.8,0,0,0.25,506.3,3575.49,26110963,99.79,0,0,0.17,506.27,3575.51,26110964,99.84,0,0,0.17,506.27,3575.51,26110965,99.69,0,0,0.37,506.27,3575.53,26110966,99.68,0,0,0.57,506.6,3575.19,26110967,99.82,0,0,0.17,506.22,3575.57,26110968,99.85,0,0,0.17,506.21,3575.58,26110969,99.84,0,0,0.17,506.33,3575.46,26110970,99.74,0,0,0.32,506.14,3575.66,26110971,99.62,0,0,0.44,506.49,3575.3,26110972,99.8,0,0,0.3,506.34,3575.45,26110973,99.79,0,0,0.18,506.31,3575.48,26110974,99.81,0,0,0.18,506.3,3575.48,26110975,99.64,0,0,0.34,506.54,3575.27,26110976,99.66,0,0,0.57,506.87,3574.93,26110977,99.81,0,0,0.2,506.5,3575.3,26110978,99.84,0,0,0.2,506.49,3575.3,26110979,99.82,0,0,0.2,506.46,3575.33,26110980,99.51,0,0,0.36,506.53,3575.27,26110981,99.73,0,0,0.17,506.52,3575.28,26110982,99.58,0,0,0.59,506.96,3574.83,26110983,99.81,0,0,0.19,506.59,3575.22,26110984,99.83,0,0,0.21,506.58,3575.23,26110985,99.64,0,0,0.32,505.39,3576.44,26110986,99.81,0,0,0.18,505.33,3576.49,26110987,99.69,0,0,0.57,506.63,3575.19,26110988,99.84,0,0,0.17,506.27,3575.54,26110989,99.67,0,0,0.38,506.72,3575.07,26110990,99.73,0,0,0.32,506.72,3575.08,26110991,99.76,0,0,0.18,506.71,3575.09,26110992,99.7,0,0,0.57,506.72,3575.07,26110993,99.8,0,0,0.18,506.35,3575.43,26110994,99.82,0,0,0.16,506.33,3575.48,26110995,99.7,0,0,0.32,506.58,3575.25,26110996,99.84,0,0,0.17,506.56,3575.27,26110997,99.65,0,0,0.62,507.05,3574.77,26110998,99.83,0,0,0.16,506.76,3575.06,26110999,99.82,0,0,0.17,506.75,3575.07,26111000,99.75,0,0,0.32,506.5,3575.33,26111001,99.84,0,0,0.18,506.48,3575.34,26111002,99.63,0,0,0.58,506.15,3575.67,26111003,99.78,0,0,0.22,505.46,3576.36,26111004,99.83,0,0,0.16,505.52,3576.3,26111005,99.7,0,0,0.33,505.61,3576.22,26111006,99.83,0,0,0.21,505.6,3576.23,26111007,99.68,0,0,0.58,506.24,3575.59,26111008,99.01,0,0,0.17,505.55,3576.27,26111009,99.81,0,0,0.17,505.52,3576.29,26111010,98.56,0,0,0.3,504.8,3577.03,26111011,99.79,0,0,0.14,504.77,3577.06,26111012,99.69,0,0,0.39,505.17,3576.65,26111013,99.78,0,0,0.32,505.47,3576.35,26111014,99.81,0,0,0.14,505.45,3576.37,26111015,99.69,0,0,0.31,505.45,3576.38,26111016,99.84,0,0,0.16,505.61,3576.21,26111017,99.68,0,0,0.39,505.99,3575.83,26111018,99.81,0,0,0.3,505.84,3575.98,26111019,99.55,0,0,0.32,505.81,3575.98,26111020,99.71,0,0,0.32,505.82,3575.99,26111021,99.77,0,0,0.15,505.8,3576.01,26111022,99.83,0,0,0.18,505.78,3576.02,26111023,99.68,0,0,0.58,506.11,3575.69,26111024,99.83,0,0,0.1
gitextract_i61lb1k0/
├── .editorconfig
├── .github/
│ └── FUNDING.yml
├── .gitignore
├── LICENSE
├── README.md
├── bench/
│ ├── ApexCharts.html
│ ├── CanvasJS.html
│ ├── Chart.js4-sine-stream.html
│ ├── Chart.js4.html
│ ├── ECharts5-sine-stream.html
│ ├── ECharts5.html
│ ├── Flot.html
│ ├── Highcharts.html
│ ├── LightningChart.html
│ ├── Plotly.js.html
│ ├── ZingChart.html
│ ├── amCharts5.html
│ ├── data.json
│ ├── dvxCharts.html
│ ├── dygraphs.html
│ ├── fmtDate.js
│ ├── lightweight-charts.html
│ ├── results.json
│ ├── table.js
│ ├── table.md
│ ├── uPlot-10M.html
│ ├── uPlot-600-series.html
│ └── uPlot.html
├── demos/
│ ├── add-del-series.html
│ ├── align-data.html
│ ├── annotations.html
│ ├── arcsinh-scales.html
│ ├── area-fill.html
│ ├── axis-autosize.html
│ ├── axis-control.html
│ ├── axis-indicators.html
│ ├── bars-grouped-stacked.html
│ ├── bars-values-autosize.html
│ ├── box-whisker.html
│ ├── candlestick-ohlc.html
│ ├── cursor-bind.html
│ ├── cursor-snap.html
│ ├── cursor-tooltip.html
│ ├── custom-scales.html
│ ├── data/
│ │ ├── AAPL.csv
│ │ ├── AMD.csv
│ │ ├── AMZN.csv
│ │ ├── CSCO.csv
│ │ ├── FB.csv
│ │ ├── MSFT.csv
│ │ ├── QCOM.csv
│ │ ├── SBUX.csv
│ │ ├── TSLA.csv
│ │ ├── ZNGA.csv
│ │ ├── ms_spectrum.csv
│ │ ├── results.json
│ │ ├── rustc-perf.json
│ │ ├── sparse.json
│ │ ├── taxi-trips.json
│ │ └── traffic.json
│ ├── data-smoothing.html
│ ├── dependent-scale.html
│ ├── draw-hooks.html
│ ├── focus-cursor.html
│ ├── gradients.html
│ ├── grid-over-series.html
│ ├── grouped-bars.js
│ ├── high-low-bands.html
│ ├── index.html
│ ├── latency-heatmap.html
│ ├── lib/
│ │ ├── ASAP-optimized.js
│ │ ├── ASAP-simple.js
│ │ ├── distr.js
│ │ ├── quadtree.js
│ │ ├── rand.js
│ │ ├── randomWalk.js
│ │ ├── sgg.js
│ │ └── stats.js
│ ├── line-paths.html
│ ├── log-scales.html
│ ├── log-scales2.html
│ ├── mass-spectrum.html
│ ├── measure-datums.html
│ ├── missing-data.html
│ ├── months-ru.html
│ ├── months.html
│ ├── multi-bars.html
│ ├── nearest-non-null.html
│ ├── nice-scale.html
│ ├── no-data.html
│ ├── path-gap-clip.html
│ ├── pixel-align.html
│ ├── points.html
│ ├── resize.html
│ ├── scale-padding.html
│ ├── scales-dir-ori.html
│ ├── scatter.html
│ ├── scroll-sync.html
│ ├── sine-stream.html
│ ├── soft-minmax.html
│ ├── sparklines-bars.html
│ ├── sparklines.html
│ ├── sparse.html
│ ├── stack.js
│ ├── stacked-series.html
│ ├── stream-data.html
│ ├── svg-image.html
│ ├── sync-cursor.html
│ ├── sync-y-zero.html
│ ├── thin-bars-stroke-fill.html
│ ├── time-periods.html
│ ├── timeline-discrete.html
│ ├── timeseries-discrete.html
│ ├── timezones-dst.html
│ ├── tooltips-closest.html
│ ├── tooltips.html
│ ├── trendlines.html
│ ├── update-cursor-select-resize.html
│ ├── wind-direction.html
│ ├── y-scale-drag.html
│ ├── y-shifted-series.html
│ ├── zoom-fetch.html
│ ├── zoom-ranger-grips.html
│ ├── zoom-ranger-xy.html
│ ├── zoom-ranger.html
│ ├── zoom-touch.html
│ ├── zoom-variations.html
│ └── zoom-wheel.html
├── dist/
│ ├── uPlot.cjs.js
│ ├── uPlot.d.ts
│ ├── uPlot.esm.js
│ └── uPlot.iife.js
├── docs/
│ └── README.md
├── jsconfig.json
├── package.json
├── rollup.config.js
└── src/
├── dom.js
├── domClasses.js
├── feats.js
├── fmtDate.js
├── opts.js
├── paths/
│ ├── bars.js
│ ├── catmullRomCentrip.js
│ ├── linear.js
│ ├── monotoneCubic.js
│ ├── points.js
│ ├── spline.js
│ ├── stepped.js
│ └── utils.js
├── strings.js
├── sync.js
├── uPlot.css
├── uPlot.js
└── utils.js
SYMBOL INDEX (817 symbols across 34 files)
FILE: bench/fmtDate.js
function slice3 (line 29) | function slice3(str) {
function zeroPad2 (line 37) | function zeroPad2(int) {
function zeroPad3 (line 41) | function zeroPad3(int) {
FILE: bench/table.js
function padRight (line 21) | function padRight(str, padStr, len) {
function padLeft (line 26) | function padLeft(str, padStr, len) {
FILE: demos/grouped-bars.js
function seriesBarsPlugin (line 1) | function seriesBarsPlugin(opts) {
FILE: demos/lib/ASAP-optimized.js
function transform (line 32) | function transform(real, imag) {
function inverseTransform (line 50) | function inverseTransform(real, imag) {
function transformRadix2 (line 59) | function transformRadix2(real, imag) {
function transformBluestein (line 126) | function transformBluestein(real, imag) {
function convolveReal (line 180) | function convolveReal(x, y, out) {
function convolveComplex (line 193) | function convolveComplex(xreal, ximag, yreal, yimag, outreal, outimag) {
function binarySearch (line 219) | function binarySearch(head, tail, data, minObj, originalKurt, windowSize) {
function smooth (line 239) | function smooth(data, resolution) {
function SMA (line 287) | function SMA(data, range, slide) {
class ACF (line 313) | class ACF {
method constructor (line 314) | constructor(values, maxLag) {
method calculate (line 323) | calculate() {
method findPeaks (line 345) | findPeaks() {
class Metrics (line 378) | class Metrics {
method constructor (line 379) | constructor(values) {
method mean (line 385) | static mean(values) {
method std (line 393) | static std(values) {
method kurtosis (line 402) | kurtosis() {
method roughness (line 411) | roughness() {
method diffs (line 415) | diffs() {
FILE: demos/lib/ASAP-simple.js
function smooth (line 1) | function smooth(data, resolution) {
function SMA (line 26) | function SMA(data, range, slide) {
class Metrics (line 52) | class Metrics {
method constructor (line 53) | constructor(values) {
method mean (line 59) | static mean(values) {
method std (line 67) | static std(values) {
method kurtosis (line 76) | kurtosis() {
method roughness (line 85) | roughness() {
method diffs (line 89) | diffs() {
FILE: demos/lib/distr.js
function roundDec (line 1) | function roundDec(val, dec) {
constant SPACE_BETWEEN (line 5) | const SPACE_BETWEEN = 1;
constant SPACE_AROUND (line 6) | const SPACE_AROUND = 2;
constant SPACE_EVENLY (line 7) | const SPACE_EVENLY = 3;
function distr (line 11) | function distr(numItems, sizeFactor, justify, onlyIdx, each) {
FILE: demos/lib/quadtree.js
function pointWithin (line 1) | function pointWithin(px, py, rlft, rtop, rrgt, rbtm) {
function Quadtree (line 9) | function Quadtree(x, y, w, h, l) {
FILE: demos/lib/rand.js
function randInt (line 1) | function randInt(min, max) { // min and max included
FILE: demos/lib/randomWalk.js
function randomWalk (line 26) | function randomWalk(value, steps, min, max) {
FILE: demos/lib/sgg.js
function isAnyArray (line 14) | function isAnyArray(value) {
function sgg (line 24) | function sgg(ys, xs, options = {}) {
function getHs (line 95) | function getHs(h, center, half, derivative) {
function gramPoly (line 107) | function gramPoly(i, m, k, s) {
function genFact (line 127) | function genFact(a, b) {
function weight (line 137) | function weight(i, t, m, n, s) {
function fullWeights (line 155) | function fullWeights(m, n, s) {
FILE: demos/lib/stats.js
function percentile (line 2) | function percentile(arr, p) {
function geoMean (line 31) | function geoMean(arr) {
function stats (line 36) | function stats(arr) {
FILE: demos/stack.js
function stack (line 1) | function stack(data, omit) {
function getOpts (line 29) | function getOpts(title, series) {
function getStackedOpts (line 40) | function getStackedOpts(title, series, data, interp) {
function stack2 (line 94) | function stack2(series) {
FILE: dist/uPlot.cjs.js
constant FEAT_TIME (line 12) | const FEAT_TIME = true;
function closestIdx (line 15) | function closestIdx(num, arr, lo, hi) {
function makeIndexOfs (line 36) | function makeIndexOfs(predicate) {
function getMinMax (line 67) | function getMinMax(data, _i0, _i1, sorted = 0, log = false) {
function rangeLog (line 104) | function rangeLog(min, max, base, fullMags) {
function rangeAsinh (line 156) | function rangeAsinh(min, max, base, fullMags) {
function rangeNum (line 188) | function rangeNum(_min, _max, mult, extra) {
function ifNull (line 200) | function ifNull(lh, rh) {
function hasData (line 206) | function hasData(data, idx0, idx1) {
function _rangeNum (line 219) | function _rangeNum(_min, _max, cfg) {
function numIntDigits (line 309) | function numIntDigits(x) {
function clamp (line 313) | function clamp(num, _min, _max) {
function isFn (line 317) | function isFn(v) {
function fnOrSelf (line 321) | function fnOrSelf(v) {
function incrRound (line 364) | function incrRound(num, incr, _fixFloat = true) {
function incrRoundUp (line 368) | function incrRoundUp(num, incr, _fixFloat = true) {
function incrRoundDn (line 372) | function incrRoundDn(num, incr, _fixFloat = true) {
function roundDec (line 378) | function roundDec(val, dec = 0) {
function guessDec (line 391) | function guessDec(num) {
function genIncrs (line 395) | function genIncrs(base, minExp, maxExp, mults) {
constant EMPTY_OBJ (line 418) | const EMPTY_OBJ = {};
constant EMPTY_ARR (line 419) | const EMPTY_ARR = [];
function isStr (line 427) | function isStr(v) {
function isObj (line 431) | function isObj(v) {
function fastIsObj (line 442) | function fastIsObj(v) {
function copy (line 450) | function copy(o, _isObj = isObj) {
function assign (line 479) | function assign(targ) {
constant NULL_REMOVE (line 499) | const NULL_REMOVE = 0;
constant NULL_RETAIN (line 500) | const NULL_RETAIN = 1;
constant NULL_EXPAND (line 501) | const NULL_EXPAND = 2;
function nullExpand (line 504) | function nullExpand(yVals, nullIdxs, alignedLen) {
function join (line 522) | function join(tables, nullModes) {
function sortCols (line 598) | function sortCols(table) {
function allHeadersSame (line 623) | function allHeadersSame(tables) {
function isAsc (line 644) | function isAsc(vals, samples = 100) {
constant WIDTH (line 681) | const WIDTH = "width";
constant HEIGHT (line 682) | const HEIGHT = "height";
constant TOP (line 683) | const TOP = "top";
constant BOTTOM (line 684) | const BOTTOM = "bottom";
constant LEFT (line 685) | const LEFT = "left";
constant RIGHT (line 686) | const RIGHT = "right";
constant LEGEND_DISP (line 702) | const LEGEND_DISP = "--";
constant UPLOT (line 706) | const UPLOT = "uplot";
constant ORI_HZ (line 707) | const ORI_HZ = pre + "hz";
constant ORI_VT (line 708) | const ORI_VT = pre + "vt";
constant TITLE (line 709) | const TITLE = pre + "title";
constant WRAP (line 710) | const WRAP = pre + "wrap";
constant UNDER (line 711) | const UNDER = pre + "under";
constant OVER (line 712) | const OVER = pre + "over";
constant AXIS (line 713) | const AXIS = pre + "axis";
constant OFF (line 714) | const OFF = pre + "off";
constant SELECT (line 715) | const SELECT = pre + "select";
constant CURSOR_X (line 716) | const CURSOR_X = pre + "cursor-x";
constant CURSOR_Y (line 717) | const CURSOR_Y = pre + "cursor-y";
constant CURSOR_PT (line 718) | const CURSOR_PT = pre + "cursor-pt";
constant LEGEND (line 719) | const LEGEND = pre + "legend";
constant LEGEND_LIVE (line 720) | const LEGEND_LIVE = pre + "live";
constant LEGEND_INLINE (line 721) | const LEGEND_INLINE = pre + "inline";
constant LEGEND_SERIES (line 722) | const LEGEND_SERIES = pre + "series";
constant LEGEND_MARKER (line 723) | const LEGEND_MARKER = pre + "marker";
constant LEGEND_LABEL (line 724) | const LEGEND_LABEL = pre + "label";
constant LEGEND_VALUE (line 725) | const LEGEND_VALUE = pre + "value";
function setPxRatio (line 738) | function setPxRatio() {
function addClass (line 753) | function addClass(el, c) {
function remClass (line 760) | function remClass(el, c) {
function setStylePx (line 765) | function setStylePx(el, name, value) {
function placeTag (line 769) | function placeTag(tag, cls, targ, refEl) {
function placeDiv (line 781) | function placeDiv(cls, targ) {
function elTrans (line 787) | function elTrans(el, xPos, yPos, xMax, yMax) {
function elColor (line 804) | function elColor(el, background, borderColor) {
function elSize (line 817) | function elSize(el, newWid, newHgt, centered) {
function on (line 833) | function on(ev, el, cb, capt) {
function off (line 837) | function off(ev, el, cb, capt) {
function slice3 (line 868) | function slice3(str) {
function zeroPad2 (line 883) | function zeroPad2(int) {
function zeroPad3 (line 887) | function zeroPad3(int) {
function fmtDate (line 963) | function fmtDate(tpl, names) {
function tzDate (line 984) | function tzDate(dateOrTs, tz) {
function getFormatter (line 1028) | function getFormatter(tz) {
class DateZoned (line 1035) | class DateZoned extends Date {
method constructor (line 1041) | constructor(...args) {
method #get (line 1051) | #get(utcMeth, locMeth, fr, to, add = 0) {
method setTimeZone (line 1056) | setTimeZone(tz) {
method getFullYear (line 1072) | getFullYear() {
method getMonth (line 1076) | getMonth() {
method getDate (line 1080) | getDate() {
method getHours (line 1084) | getHours() {
method getMinutes (line 1088) | getMinutes() {
method getSeconds (line 1092) | getSeconds() {
method getMilliseconds (line 1096) | getMilliseconds() {
method getDay (line 1100) | getDay() {
method getTimezoneOffset (line 1114) | getTimezoneOffset() {
function getDayOfYear (line 1120) | function getDayOfYear(date) {
constant PERIOD_DAY (line 1138) | const PERIOD_DAY = 3;
constant PERIOD_MONTH (line 1139) | const PERIOD_MONTH = 4;
constant PERIOD_YEAR (line 1140) | const PERIOD_YEAR = 5;
function floorSOP (line 1144) | function floorSOP(dz, per) {
function genTimeStuffs (line 1268) | function genTimeStuffs(ms) {
function timeAxisStamps (line 1502) | function timeAxisStamps(stampCfg, fmtDate) {
function timeAxisVals (line 1510) | function timeAxisVals(tzDate, stamps) {
function timeAxisVal (line 1555) | function timeAxisVal(tzDate, dateTpl) {
function timeSeriesStamp (line 1560) | function timeSeriesStamp(stampCfg, fmtDate) {
function timeSeriesVal (line 1565) | function timeSeriesVal(tzDate, stamp) {
function legendStroke (line 1569) | function legendStroke(self, seriesIdx) {
function legendFill (line 1574) | function legendFill(self, seriesIdx) {
function cursorPointShow (line 1595) | function cursorPointShow(self, si) {
function cursorPointFill (line 1614) | function cursorPointFill(self, si) {
function cursorPointStroke (line 1619) | function cursorPointStroke(self, si) {
function cursorPointSize (line 1624) | function cursorPointSize(self, si) {
function cursorMove (line 1631) | function cursorMove(self, mouseLeft1, mouseTop1) {
function filtBtn0 (line 1637) | function filtBtn0(self, targ, handle, onlyTarg = true) {
function filtTarg (line 1643) | function filtTarg(self, targ, handle, onlyTarg = true) {
function numAxisVals (line 1775) | function numAxisVals(self, splits, axisIdx, foundSpace, foundIncr) {
function numAxisSplits (line 1779) | function numAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function logAxisSplits (line 1793) | function logAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function asinhAxisSplits (line 1836) | function asinhAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, f...
constant RE_ALL (line 1848) | const RE_ALL = /./;
constant RE_12357 (line 1849) | const RE_12357 = /[12357]/;
constant RE_125 (line 1850) | const RE_125 = /[125]/;
constant RE_1 (line 1851) | const RE_1 = /1/;
function log10AxisValsFilt (line 1855) | function log10AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function log2AxisValsFilt (line 1886) | function log2AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function numSeriesVal (line 1900) | function numSeriesVal(self, val, seriesIdx, dataIdx) {
function ptDia (line 1929) | function ptDia(width, mult) {
function seriesPointsShow (line 1934) | function seriesPointsShow(self, si) {
function clampScale (line 2001) | function clampScale(self, val, scaleMin, scaleMax, scaleKey) {
function _sync (line 2032) | function _sync(key, opts) {
constant BAND_CLIP_FILL (line 2058) | const BAND_CLIP_FILL = 1 << 0;
constant BAND_CLIP_STROKE (line 2059) | const BAND_CLIP_STROKE = 1 << 1;
function orient (line 2061) | function orient(u, seriesIdx, cb) {
function bandFillClipDirs (line 2119) | function bandFillClipDirs(self, seriesIdx) {
function seriesFillTo (line 2153) | function seriesFillTo(self, seriesIdx, dataMin, dataMax, bandFillDir) {
function clipBandLine (line 2172) | function clipBandLine(self, seriesIdx, idx0, idx1, strokePath, clipDir) {
function clipGaps (line 2208) | function clipGaps(gaps, ori, plotLft, plotTop, plotWid, plotHgt) {
function addGap (line 2242) | function addGap(gaps, fromX, toX) {
function findGaps (line 2251) | function findGaps(xs, ys, idx0, idx1, dir, pixelForX, align) {
function pxRoundGen (line 2297) | function pxRoundGen(pxAlign) {
function rect (line 2314) | function rect(ori) {
function points (line 2359) | function points(opts) {
function _drawAcc (line 2422) | function _drawAcc(lineTo) {
function linear (line 2438) | function linear(opts) {
function stepped (line 2591) | function stepped(opts) {
function findColWidth (line 2712) | function findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWi...
function bars (line 2738) | function bars(opts) {
function splineInterp (line 2962) | function splineInterp(interp, opts) {
function monotoneCubic (line 3063) | function monotoneCubic(opts) {
function _monotoneCubic (line 3069) | function _monotoneCubic(xs, ys, moveTo, lineTo, bezierCurveTo, pxRound) {
function invalidateRects (line 3132) | function invalidateRects() {
function setDefaults (line 3146) | function setDefaults(d, xo, yo, initY) {
function setDefaults2 (line 3151) | function setDefaults2(d, xyo) {
function setDefault (line 3155) | function setDefault(o, i, xo, yo) {
function snapNumX (line 3159) | function snapNumX(self, dataMin, dataMax) {
function snapNumY (line 3167) | function snapNumY(self, dataMin, dataMax) {
function snapLogY (line 3171) | function snapLogY(self, dataMin, dataMax, scale) {
function snapAsinhY (line 3177) | function snapAsinhY(self, dataMin, dataMax, scale) {
function findIncr (line 3184) | function findIncr(minVal, maxVal, incrs, dim, minSpace) {
function pxRatioFont (line 3202) | function pxRatioFont(font, pxRatio) {
function syncFontSize (line 3208) | function syncFontSize(axis, pxRatio) {
function uPlot (line 3218) | function uPlot(opts, data, then) {
FILE: dist/uPlot.d.ts
class uPlot (line 1) | class uPlot {
type OrientCallback (line 179) | type OrientCallback = (
type ValToPos (line 198) | type ValToPos = (val: number, scale: Scale, fullDim: number, offset: num...
type Drawable (line 200) | type Drawable = Path2D | CanvasRenderingContext2D;
type MoveToH (line 202) | type MoveToH = (p: Drawable, x: number, y: number) => void;
type MoveToV (line 203) | type MoveToV = (p: Drawable, y: number, x: number) => void;
type LineToH (line 204) | type LineToH = (p: Drawable, x: number, y: number) => void;
type LineToV (line 205) | type LineToV = (p: Drawable, y: number, x: number) => void;
type RectH (line 206) | type RectH = (p: Drawable, x: number, y: number, w: number, h: ...
type RectV (line 207) | type RectV = (p: Drawable, y: number, x: number, h: number, w: ...
type ArcH (line 208) | type ArcH = (p: Drawable, x: number, y: number, r: number, sta...
type ArcV (line 209) | type ArcV = (p: Drawable, y: number, x: number, r: number, sta...
type BezierCurveToH (line 210) | type BezierCurveToH = (p: Drawable, bp1x: number, bp1y: number, bp2x: nu...
type BezierCurveToV (line 211) | type BezierCurveToV = (p: Drawable, bp1y: number, bp1x: number, bp2y: nu...
type JoinNullMode (line 213) | const enum JoinNullMode {
type Orientation (line 222) | const enum Orientation {
type TypedArray (line 227) | type TypedArray = Int8Array | Uint8Array | Int16Array | Uint16Array | In...
type AlignedData (line 229) | type AlignedData = TypedArray[] | [
class DateZoned (line 234) | class DateZoned extends Date {
type DateNames (line 242) | interface DateNames {
type MinMax (line 257) | type MinMax = [min: number | null, max: number | null];
type Function (line 259) | type Function = (self: uPlot, initMin: number, initMax: number, scaleKey...
type SoftMode (line 261) | type SoftMode = 0 | 1 | 2 | 3;
type Limit (line 263) | interface Limit {
type Config (line 277) | interface Config {
type Scales (line 283) | interface Scales {
type SidesWithAxes (line 287) | type SidesWithAxes = [top: boolean, right: boolean, bottom: boolean, lef...
type PaddingSide (line 289) | type PaddingSide = number | null | ((self: uPlot, side: Axis.Side, sides...
type Padding (line 291) | type Padding = [top: PaddingSide, right: PaddingSide, bottom: PaddingSid...
type Legend (line 293) | interface Legend {
type Width (line 314) | type Width = number | ((self: uPlot, seriesIdx: number) => number);
type Stroke (line 316) | type Stroke = CSSStyleDeclaration['borderColor'] | ((self: uPlot, series...
type Dash (line 318) | type Dash = CSSStyleDeclaration['borderStyle'] | ((self: uPlot, series...
type Fill (line 320) | type Fill = CSSStyleDeclaration['background'] | ((self: uPlot, series...
type Value (line 322) | type Value = {
type Values (line 326) | type Values = Value[];
type Markers (line 328) | interface Markers {
type DateFormatterFactory (line 341) | type DateFormatterFactory = (tpl: string) => (date: Date) => string;
type LocalDateFromUnix (line 343) | type LocalDateFromUnix = (ts: number) => DateZoned;
type DrawOrderKey (line 345) | const enum DrawOrderKey {
type Mode (line 350) | const enum Mode {
type Options (line 355) | interface Options {
type Focus (line 422) | interface Focus {
type BBox (line 427) | interface BBox {
type Select (line 435) | interface Select extends BBox {
type SyncPubSub (line 440) | interface SyncPubSub {
type LeftTop (line 449) | type LeftTop = [left: number, top: number];
type MouseListener (line 451) | type MouseListener = (e: MouseEvent) => void;
type MouseListenerFactory (line 453) | type MouseListenerFactory = (self: uPlot, targ: HTMLElement, handler: Mo...
type DataIdxRefiner (line 455) | type DataIdxRefiner = (self: uPlot, seriesIdx: number, closestIdx:...
type MousePosRefiner (line 457) | type MousePosRefiner = (self: uPlot, mouseLeft: number, mouseTop: n...
type Bind (line 459) | interface Bind {
type Show (line 471) | type Show = boolean | ((self: uPlot, seriesIdx: number) => HTMLElement);
type Size (line 472) | type Size = number | ((self: uPlot, seriesIdx: number) => number);
type BBox (line 473) | type BBox = (self: uPlot, seriesIdx: number) => uPlot.BBox;
type Width (line 474) | type Width = number | ((self: uPlot, seriesIdx: number, size: number) ...
type Stroke (line 475) | type Stroke = CanvasRenderingContext2D['strokeStyle'] | ((self: uPlot, s...
type Fill (line 476) | type Fill = CanvasRenderingContext2D['fillStyle'] | ((self: uPlot, s...
type Points (line 479) | interface Points {
type Drag (line 495) | interface Drag {
type Scales (line 510) | type Scales = [xScaleKey: string | null, yScaleKey: string | null];
type Filter (line 512) | type Filter = (type: string, client: uPlot, x: number, y: number, w: num...
type Filters (line 514) | interface Filters {
type ScaleKeyMatcher (line 521) | type ScaleKeyMatcher = (subScaleKey: string | null, pubScaleKey: string ...
type SeriesIdxMatcher (line 523) | type SeriesIdxMatcher = (sub: uPlot, pub: uPlot, pubSeriesIdx: number) =...
type Match (line 525) | type Match = [matchX: ScaleKeyMatcher, matchY: ScaleKeyMatcher, matchSer...
type Values (line 527) | type Values = [xScaleValue: number, yScaleValue: number];
type Sync (line 530) | interface Sync {
type Hover (line 546) | interface Hover {
type Focus (line 555) | interface Focus {
type FocusBias (line 564) | const enum FocusBias {
type HoverBias (line 570) | const enum HoverBias {
type Cursor (line 577) | interface Cursor {
type Auto (line 631) | type Auto = boolean | ((self: uPlot, resetScales: boolean) => boolean);
type Range (line 633) | type Range = Range.MinMax | Range.Function | Range.Config;
type Distr (line 635) | const enum Distr {
type LogBase (line 643) | type LogBase = 10 | 2;
type Clamp (line 645) | type Clamp = number | ((self: uPlot, val: number, scaleMin: number, scal...
type Scale (line 648) | interface Scale {
type Paths (line 695) | interface Paths {
type SteppedPathBuilderOpts (line 724) | interface SteppedPathBuilderOpts {
type BarsPathBuilderFacetUnit (line 736) | const enum BarsPathBuilderFacetUnit {
type BarsPathBuilderFacetKind (line 742) | const enum BarsPathBuilderFacetKind {
type BarsPathBuilderFacetValue (line 748) | type BarsPathBuilderFacetValue = string | number | boolean | null | unde...
type BarsPathBuilderFacet (line 750) | interface BarsPathBuilderFacet {
type BarsPathBuilderDisplay (line 760) | interface BarsPathBuilderDisplay {
type BarsPathBuilderRadii (line 771) | type BarsPathBuilderRadii = [endRadius: number, baseRadius: number];
type BarsPathBuilderRadius (line 773) | type BarsPathBuilderRadius = number | BarsPathBuilderRadii | ((self: uPl...
type BarsPathBuilderOpts (line 775) | interface BarsPathBuilderOpts {
type LinearPathBuilderOpts (line 793) | interface LinearPathBuilderOpts {
type SplinePathBuilderOpts (line 797) | interface SplinePathBuilderOpts {
type PointsPathBuilderFactory (line 801) | type PointsPathBuilderFactory = () => Points.PathBuilder;
type LinearPathBuilderFactory (line 802) | type LinearPathBuilderFactory = (opts?: LinearPathBuilderOpts) => Serie...
type SplinePathBuilderFactory (line 803) | type SplinePathBuilderFactory = (opts?: SplinePathBuilderOpts) => Serie...
type SteppedPathBuilderFactory (line 804) | type SteppedPathBuilderFactory = (opts?: SteppedPathBuilderOpts) => Seri...
type BarsPathBuilderFactory (line 805) | type BarsPathBuilderFactory = (opts?: BarsPathBuilderOpts) => Series....
type PathBuilderFactories (line 807) | interface PathBuilderFactories {
type Stroke (line 815) | type Stroke = CanvasRenderingContext2D['strokeStyle'] | ((self: uPlot, s...
type Fill (line 817) | type Fill = CanvasRenderingContext2D['fillStyle'] | ((self: uPlot, serie...
type Cap (line 819) | type Cap = CanvasRenderingContext2D['lineCap'];
type Paths (line 822) | interface Paths {
type Show (line 836) | type Show = boolean | ((self: uPlot, seriesIdx: number, idx0: number, id...
type Filter (line 838) | type Filter = number[] | null | ((self: uPlot, seriesIdx: number, show: ...
type PathBuilder (line 840) | type PathBuilder = (self: uPlot, seriesIdx: number, idx0: number, idx1: ...
type Points (line 843) | interface Points {
type Facet (line 874) | interface Facet {
type Gap (line 882) | type Gap = [from: number, to: number];
type Gaps (line 884) | type Gaps = Gap[];
type GapsRefiner (line 886) | type GapsRefiner = Gaps | ((self: uPlot, seriesIdx: number, idx0: number...
type AddGap (line 888) | type AddGap = (gaps: Gaps, from: number, to: number) => void;
type ClipPathBuilder (line 890) | type ClipPathBuilder = (gaps: Gaps, ori: Orientation, left: number, top:...
type PathBuilder (line 892) | type PathBuilder = (self: uPlot, seriesIdx: number, idx0: number, idx1: ...
type MinMaxIdxs (line 894) | type MinMaxIdxs = [minIdx: number, maxIdx: number];
type Value (line 896) | type Value = string | ((self: uPlot, rawValue: number, seriesIdx: number...
type Values (line 898) | type Values = (self: uPlot, seriesIdx: number, idx: number | null) => ob...
type FillTo (line 900) | type FillTo = number | ((self: uPlot, seriesIdx: number, dataMin: number...
type Sorted (line 902) | const enum Sorted {
type Series (line 909) | interface Series {
type Fill (line 986) | type Fill = CanvasRenderingContext2D['fillStyle'] | ((self: uPlot, bandI...
type Bounds (line 988) | type Bounds = [fromSeriesIdx: number, toSeriesIdx: number];
type Band (line 991) | interface Band {
type Filter (line 1007) | type Filter = (self: uPlot, splits: number[], axisIdx: number, foundSpac...
type Size (line 1009) | type Size = number | ((self: uPlot, values: string[], axisIdx: number, c...
type Space (line 1011) | type Space = number | ((self: uPlot, axisIdx: number, scaleMin: number, ...
type Incrs (line 1013) | type Incrs = number[] | ((self: uPlot, axisIdx: number, scaleMin: number...
type Splits (line 1015) | type Splits = number[] | ((self: uPlot, axisIdx: number, scaleMin: numbe...
type StaticValues (line 1017) | type StaticValues = (string | number | null)[];
type DynamicValues (line 1019) | type DynamicValues = (self: uPlot, splits: number[], axisIdx: number, fo...
type TimeValuesConfig (line 1021) | type TimeValuesConfig = (string | number | null)[][];
type TimeValuesTpl (line 1023) | type TimeValuesTpl = string;
type Values (line 1025) | type Values = StaticValues | DynamicValues | TimeValuesTpl | TimeValuesC...
type Label (line 1027) | type Label = string | ((self: uPlot, axisIdx: number, foundIncr: number,...
type Stroke (line 1029) | type Stroke = CanvasRenderingContext2D['strokeStyle'] | ((self: uPlot, a...
type Side (line 1031) | const enum Side {
type Align (line 1038) | const enum Align {
type AlignTo (line 1043) | const enum AlignTo {
type Rotate (line 1050) | type Rotate = number | ((self: uPlot, values: (string | number)[], axisI...
type OrthoLines (line 1052) | interface OrthoLines {
type Border (line 1069) | interface Border extends OrthoLines {}
type FilterableOrthoLines (line 1071) | interface FilterableOrthoLines extends OrthoLines {
type Grid (line 1076) | interface Grid extends FilterableOrthoLines {}
type Ticks (line 1078) | interface Ticks extends FilterableOrthoLines {
type Axis (line 1084) | interface Axis {
type Defs (line 1156) | interface Defs {
type Arrays (line 1209) | type Arrays = {
type ArraysOrFuncs (line 1213) | type ArraysOrFuncs = {
type Plugin (line 1218) | interface Plugin {
FILE: dist/uPlot.esm.js
constant FEAT_TIME (line 10) | const FEAT_TIME = true;
function closestIdx (line 13) | function closestIdx(num, arr, lo, hi) {
function makeIndexOfs (line 34) | function makeIndexOfs(predicate) {
function getMinMax (line 65) | function getMinMax(data, _i0, _i1, sorted = 0, log = false) {
function rangeLog (line 102) | function rangeLog(min, max, base, fullMags) {
function rangeAsinh (line 154) | function rangeAsinh(min, max, base, fullMags) {
function rangeNum (line 186) | function rangeNum(_min, _max, mult, extra) {
function ifNull (line 198) | function ifNull(lh, rh) {
function hasData (line 204) | function hasData(data, idx0, idx1) {
function _rangeNum (line 217) | function _rangeNum(_min, _max, cfg) {
function numIntDigits (line 307) | function numIntDigits(x) {
function clamp (line 311) | function clamp(num, _min, _max) {
function isFn (line 315) | function isFn(v) {
function fnOrSelf (line 319) | function fnOrSelf(v) {
function incrRound (line 362) | function incrRound(num, incr, _fixFloat = true) {
function incrRoundUp (line 366) | function incrRoundUp(num, incr, _fixFloat = true) {
function incrRoundDn (line 370) | function incrRoundDn(num, incr, _fixFloat = true) {
function roundDec (line 376) | function roundDec(val, dec = 0) {
function guessDec (line 389) | function guessDec(num) {
function genIncrs (line 393) | function genIncrs(base, minExp, maxExp, mults) {
constant EMPTY_OBJ (line 416) | const EMPTY_OBJ = {};
constant EMPTY_ARR (line 417) | const EMPTY_ARR = [];
function isStr (line 425) | function isStr(v) {
function isObj (line 429) | function isObj(v) {
function fastIsObj (line 440) | function fastIsObj(v) {
function copy (line 448) | function copy(o, _isObj = isObj) {
function assign (line 477) | function assign(targ) {
constant NULL_REMOVE (line 497) | const NULL_REMOVE = 0;
constant NULL_RETAIN (line 498) | const NULL_RETAIN = 1;
constant NULL_EXPAND (line 499) | const NULL_EXPAND = 2;
function nullExpand (line 502) | function nullExpand(yVals, nullIdxs, alignedLen) {
function join (line 520) | function join(tables, nullModes) {
function sortCols (line 596) | function sortCols(table) {
function allHeadersSame (line 621) | function allHeadersSame(tables) {
function isAsc (line 642) | function isAsc(vals, samples = 100) {
constant WIDTH (line 679) | const WIDTH = "width";
constant HEIGHT (line 680) | const HEIGHT = "height";
constant TOP (line 681) | const TOP = "top";
constant BOTTOM (line 682) | const BOTTOM = "bottom";
constant LEFT (line 683) | const LEFT = "left";
constant RIGHT (line 684) | const RIGHT = "right";
constant LEGEND_DISP (line 700) | const LEGEND_DISP = "--";
constant UPLOT (line 704) | const UPLOT = "uplot";
constant ORI_HZ (line 705) | const ORI_HZ = pre + "hz";
constant ORI_VT (line 706) | const ORI_VT = pre + "vt";
constant TITLE (line 707) | const TITLE = pre + "title";
constant WRAP (line 708) | const WRAP = pre + "wrap";
constant UNDER (line 709) | const UNDER = pre + "under";
constant OVER (line 710) | const OVER = pre + "over";
constant AXIS (line 711) | const AXIS = pre + "axis";
constant OFF (line 712) | const OFF = pre + "off";
constant SELECT (line 713) | const SELECT = pre + "select";
constant CURSOR_X (line 714) | const CURSOR_X = pre + "cursor-x";
constant CURSOR_Y (line 715) | const CURSOR_Y = pre + "cursor-y";
constant CURSOR_PT (line 716) | const CURSOR_PT = pre + "cursor-pt";
constant LEGEND (line 717) | const LEGEND = pre + "legend";
constant LEGEND_LIVE (line 718) | const LEGEND_LIVE = pre + "live";
constant LEGEND_INLINE (line 719) | const LEGEND_INLINE = pre + "inline";
constant LEGEND_SERIES (line 720) | const LEGEND_SERIES = pre + "series";
constant LEGEND_MARKER (line 721) | const LEGEND_MARKER = pre + "marker";
constant LEGEND_LABEL (line 722) | const LEGEND_LABEL = pre + "label";
constant LEGEND_VALUE (line 723) | const LEGEND_VALUE = pre + "value";
function setPxRatio (line 736) | function setPxRatio() {
function addClass (line 751) | function addClass(el, c) {
function remClass (line 758) | function remClass(el, c) {
function setStylePx (line 763) | function setStylePx(el, name, value) {
function placeTag (line 767) | function placeTag(tag, cls, targ, refEl) {
function placeDiv (line 779) | function placeDiv(cls, targ) {
function elTrans (line 785) | function elTrans(el, xPos, yPos, xMax, yMax) {
function elColor (line 802) | function elColor(el, background, borderColor) {
function elSize (line 815) | function elSize(el, newWid, newHgt, centered) {
function on (line 831) | function on(ev, el, cb, capt) {
function off (line 835) | function off(ev, el, cb, capt) {
function slice3 (line 866) | function slice3(str) {
function zeroPad2 (line 881) | function zeroPad2(int) {
function zeroPad3 (line 885) | function zeroPad3(int) {
function fmtDate (line 961) | function fmtDate(tpl, names) {
function tzDate (line 982) | function tzDate(dateOrTs, tz) {
function getFormatter (line 1026) | function getFormatter(tz) {
class DateZoned (line 1033) | class DateZoned extends Date {
method constructor (line 1039) | constructor(...args) {
method #get (line 1049) | #get(utcMeth, locMeth, fr, to, add = 0) {
method setTimeZone (line 1054) | setTimeZone(tz) {
method getFullYear (line 1070) | getFullYear() {
method getMonth (line 1074) | getMonth() {
method getDate (line 1078) | getDate() {
method getHours (line 1082) | getHours() {
method getMinutes (line 1086) | getMinutes() {
method getSeconds (line 1090) | getSeconds() {
method getMilliseconds (line 1094) | getMilliseconds() {
method getDay (line 1098) | getDay() {
method getTimezoneOffset (line 1112) | getTimezoneOffset() {
function getDayOfYear (line 1118) | function getDayOfYear(date) {
constant PERIOD_DAY (line 1136) | const PERIOD_DAY = 3;
constant PERIOD_MONTH (line 1137) | const PERIOD_MONTH = 4;
constant PERIOD_YEAR (line 1138) | const PERIOD_YEAR = 5;
function floorSOP (line 1142) | function floorSOP(dz, per) {
function genTimeStuffs (line 1266) | function genTimeStuffs(ms) {
function timeAxisStamps (line 1500) | function timeAxisStamps(stampCfg, fmtDate) {
function timeAxisVals (line 1508) | function timeAxisVals(tzDate, stamps) {
function timeAxisVal (line 1553) | function timeAxisVal(tzDate, dateTpl) {
function timeSeriesStamp (line 1558) | function timeSeriesStamp(stampCfg, fmtDate) {
function timeSeriesVal (line 1563) | function timeSeriesVal(tzDate, stamp) {
function legendStroke (line 1567) | function legendStroke(self, seriesIdx) {
function legendFill (line 1572) | function legendFill(self, seriesIdx) {
function cursorPointShow (line 1593) | function cursorPointShow(self, si) {
function cursorPointFill (line 1612) | function cursorPointFill(self, si) {
function cursorPointStroke (line 1617) | function cursorPointStroke(self, si) {
function cursorPointSize (line 1622) | function cursorPointSize(self, si) {
function cursorMove (line 1629) | function cursorMove(self, mouseLeft1, mouseTop1) {
function filtBtn0 (line 1635) | function filtBtn0(self, targ, handle, onlyTarg = true) {
function filtTarg (line 1641) | function filtTarg(self, targ, handle, onlyTarg = true) {
function numAxisVals (line 1773) | function numAxisVals(self, splits, axisIdx, foundSpace, foundIncr) {
function numAxisSplits (line 1777) | function numAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function logAxisSplits (line 1791) | function logAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function asinhAxisSplits (line 1834) | function asinhAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, f...
constant RE_ALL (line 1846) | const RE_ALL = /./;
constant RE_12357 (line 1847) | const RE_12357 = /[12357]/;
constant RE_125 (line 1848) | const RE_125 = /[125]/;
constant RE_1 (line 1849) | const RE_1 = /1/;
function log10AxisValsFilt (line 1853) | function log10AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function log2AxisValsFilt (line 1884) | function log2AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function numSeriesVal (line 1898) | function numSeriesVal(self, val, seriesIdx, dataIdx) {
function ptDia (line 1927) | function ptDia(width, mult) {
function seriesPointsShow (line 1932) | function seriesPointsShow(self, si) {
function clampScale (line 1999) | function clampScale(self, val, scaleMin, scaleMax, scaleKey) {
function _sync (line 2030) | function _sync(key, opts) {
constant BAND_CLIP_FILL (line 2056) | const BAND_CLIP_FILL = 1 << 0;
constant BAND_CLIP_STROKE (line 2057) | const BAND_CLIP_STROKE = 1 << 1;
function orient (line 2059) | function orient(u, seriesIdx, cb) {
function bandFillClipDirs (line 2117) | function bandFillClipDirs(self, seriesIdx) {
function seriesFillTo (line 2151) | function seriesFillTo(self, seriesIdx, dataMin, dataMax, bandFillDir) {
function clipBandLine (line 2170) | function clipBandLine(self, seriesIdx, idx0, idx1, strokePath, clipDir) {
function clipGaps (line 2206) | function clipGaps(gaps, ori, plotLft, plotTop, plotWid, plotHgt) {
function addGap (line 2240) | function addGap(gaps, fromX, toX) {
function findGaps (line 2249) | function findGaps(xs, ys, idx0, idx1, dir, pixelForX, align) {
function pxRoundGen (line 2295) | function pxRoundGen(pxAlign) {
function rect (line 2312) | function rect(ori) {
function points (line 2357) | function points(opts) {
function _drawAcc (line 2420) | function _drawAcc(lineTo) {
function linear (line 2436) | function linear(opts) {
function stepped (line 2589) | function stepped(opts) {
function findColWidth (line 2710) | function findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWi...
function bars (line 2736) | function bars(opts) {
function splineInterp (line 2960) | function splineInterp(interp, opts) {
function monotoneCubic (line 3061) | function monotoneCubic(opts) {
function _monotoneCubic (line 3067) | function _monotoneCubic(xs, ys, moveTo, lineTo, bezierCurveTo, pxRound) {
function invalidateRects (line 3130) | function invalidateRects() {
function setDefaults (line 3144) | function setDefaults(d, xo, yo, initY) {
function setDefaults2 (line 3149) | function setDefaults2(d, xyo) {
function setDefault (line 3153) | function setDefault(o, i, xo, yo) {
function snapNumX (line 3157) | function snapNumX(self, dataMin, dataMax) {
function snapNumY (line 3165) | function snapNumY(self, dataMin, dataMax) {
function snapLogY (line 3169) | function snapLogY(self, dataMin, dataMax, scale) {
function snapAsinhY (line 3175) | function snapAsinhY(self, dataMin, dataMax, scale) {
function findIncr (line 3182) | function findIncr(minVal, maxVal, incrs, dim, minSpace) {
function pxRatioFont (line 3200) | function pxRatioFont(font, pxRatio) {
function syncFontSize (line 3206) | function syncFontSize(axis, pxRatio) {
function uPlot (line 3216) | function uPlot(opts, data, then) {
FILE: dist/uPlot.iife.js
function closestIdx (line 16) | function closestIdx(num, arr, lo, hi) {
function makeIndexOfs (line 37) | function makeIndexOfs(predicate) {
function getMinMax (line 68) | function getMinMax(data, _i0, _i1, sorted = 0, log = false) {
function rangeLog (line 105) | function rangeLog(min, max, base, fullMags) {
function rangeAsinh (line 157) | function rangeAsinh(min, max, base, fullMags) {
function rangeNum (line 189) | function rangeNum(_min, _max, mult, extra) {
function ifNull (line 201) | function ifNull(lh, rh) {
function hasData (line 207) | function hasData(data, idx0, idx1) {
function _rangeNum (line 220) | function _rangeNum(_min, _max, cfg) {
function numIntDigits (line 310) | function numIntDigits(x) {
function clamp (line 314) | function clamp(num, _min, _max) {
function isFn (line 318) | function isFn(v) {
function fnOrSelf (line 322) | function fnOrSelf(v) {
function incrRound (line 365) | function incrRound(num, incr, _fixFloat = true) {
function incrRoundUp (line 369) | function incrRoundUp(num, incr, _fixFloat = true) {
function incrRoundDn (line 373) | function incrRoundDn(num, incr, _fixFloat = true) {
function roundDec (line 379) | function roundDec(val, dec = 0) {
function guessDec (line 392) | function guessDec(num) {
function genIncrs (line 396) | function genIncrs(base, minExp, maxExp, mults) {
function isStr (line 428) | function isStr(v) {
function isObj (line 432) | function isObj(v) {
function fastIsObj (line 443) | function fastIsObj(v) {
function copy (line 451) | function copy(o, _isObj = isObj) {
function assign (line 480) | function assign(targ) {
function nullExpand (line 505) | function nullExpand(yVals, nullIdxs, alignedLen) {
function join (line 523) | function join(tables, nullModes) {
function sortCols (line 599) | function sortCols(table) {
function allHeadersSame (line 624) | function allHeadersSame(tables) {
function isAsc (line 645) | function isAsc(vals, samples = 100) {
function setPxRatio (line 739) | function setPxRatio() {
function addClass (line 754) | function addClass(el, c) {
function remClass (line 761) | function remClass(el, c) {
function setStylePx (line 766) | function setStylePx(el, name, value) {
function placeTag (line 770) | function placeTag(tag, cls, targ, refEl) {
function placeDiv (line 782) | function placeDiv(cls, targ) {
function elTrans (line 788) | function elTrans(el, xPos, yPos, xMax, yMax) {
function elColor (line 805) | function elColor(el, background, borderColor) {
function elSize (line 818) | function elSize(el, newWid, newHgt, centered) {
function on (line 834) | function on(ev, el, cb, capt) {
function off (line 838) | function off(ev, el, cb, capt) {
function slice3 (line 869) | function slice3(str) {
function zeroPad2 (line 884) | function zeroPad2(int) {
function zeroPad3 (line 888) | function zeroPad3(int) {
function fmtDate (line 964) | function fmtDate(tpl, names) {
function tzDate (line 985) | function tzDate(dateOrTs, tz) {
function getFormatter (line 1029) | function getFormatter(tz) {
class DateZoned (line 1036) | class DateZoned extends Date {
method constructor (line 1042) | constructor(...args) {
method #get (line 1052) | #get(utcMeth, locMeth, fr, to, add = 0) {
method setTimeZone (line 1057) | setTimeZone(tz) {
method getFullYear (line 1073) | getFullYear() {
method getMonth (line 1077) | getMonth() {
method getDate (line 1081) | getDate() {
method getHours (line 1085) | getHours() {
method getMinutes (line 1089) | getMinutes() {
method getSeconds (line 1093) | getSeconds() {
method getMilliseconds (line 1097) | getMilliseconds() {
method getDay (line 1101) | getDay() {
method getTimezoneOffset (line 1115) | getTimezoneOffset() {
function getDayOfYear (line 1121) | function getDayOfYear(date) {
function floorSOP (line 1145) | function floorSOP(dz, per) {
function genTimeStuffs (line 1269) | function genTimeStuffs(ms) {
function timeAxisStamps (line 1503) | function timeAxisStamps(stampCfg, fmtDate) {
function timeAxisVals (line 1511) | function timeAxisVals(tzDate, stamps) {
function timeAxisVal (line 1556) | function timeAxisVal(tzDate, dateTpl) {
function timeSeriesStamp (line 1561) | function timeSeriesStamp(stampCfg, fmtDate) {
function timeSeriesVal (line 1566) | function timeSeriesVal(tzDate, stamp) {
function legendStroke (line 1570) | function legendStroke(self, seriesIdx) {
function legendFill (line 1575) | function legendFill(self, seriesIdx) {
function cursorPointShow (line 1596) | function cursorPointShow(self, si) {
function cursorPointFill (line 1615) | function cursorPointFill(self, si) {
function cursorPointStroke (line 1620) | function cursorPointStroke(self, si) {
function cursorPointSize (line 1625) | function cursorPointSize(self, si) {
function cursorMove (line 1632) | function cursorMove(self, mouseLeft1, mouseTop1) {
function filtBtn0 (line 1638) | function filtBtn0(self, targ, handle, onlyTarg = true) {
function filtTarg (line 1644) | function filtTarg(self, targ, handle, onlyTarg = true) {
function numAxisVals (line 1776) | function numAxisVals(self, splits, axisIdx, foundSpace, foundIncr) {
function numAxisSplits (line 1780) | function numAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function logAxisSplits (line 1794) | function logAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function asinhAxisSplits (line 1837) | function asinhAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, f...
function log10AxisValsFilt (line 1856) | function log10AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function log2AxisValsFilt (line 1887) | function log2AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function numSeriesVal (line 1901) | function numSeriesVal(self, val, seriesIdx, dataIdx) {
function ptDia (line 1930) | function ptDia(width, mult) {
function seriesPointsShow (line 1935) | function seriesPointsShow(self, si) {
function clampScale (line 2002) | function clampScale(self, val, scaleMin, scaleMax, scaleKey) {
function _sync (line 2033) | function _sync(key, opts) {
function orient (line 2062) | function orient(u, seriesIdx, cb) {
function bandFillClipDirs (line 2120) | function bandFillClipDirs(self, seriesIdx) {
function seriesFillTo (line 2154) | function seriesFillTo(self, seriesIdx, dataMin, dataMax, bandFillDir) {
function clipBandLine (line 2173) | function clipBandLine(self, seriesIdx, idx0, idx1, strokePath, clipDir) {
function clipGaps (line 2209) | function clipGaps(gaps, ori, plotLft, plotTop, plotWid, plotHgt) {
function addGap (line 2243) | function addGap(gaps, fromX, toX) {
function findGaps (line 2252) | function findGaps(xs, ys, idx0, idx1, dir, pixelForX, align) {
function pxRoundGen (line 2298) | function pxRoundGen(pxAlign) {
function rect (line 2315) | function rect(ori) {
function points (line 2360) | function points(opts) {
function _drawAcc (line 2423) | function _drawAcc(lineTo) {
function linear (line 2439) | function linear(opts) {
function stepped (line 2592) | function stepped(opts) {
function findColWidth (line 2713) | function findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWi...
function bars (line 2739) | function bars(opts) {
function splineInterp (line 2963) | function splineInterp(interp, opts) {
function monotoneCubic (line 3064) | function monotoneCubic(opts) {
function _monotoneCubic (line 3070) | function _monotoneCubic(xs, ys, moveTo, lineTo, bezierCurveTo, pxRound) {
function invalidateRects (line 3133) | function invalidateRects() {
function setDefaults (line 3147) | function setDefaults(d, xo, yo, initY) {
function setDefaults2 (line 3152) | function setDefaults2(d, xyo) {
function setDefault (line 3156) | function setDefault(o, i, xo, yo) {
function snapNumX (line 3160) | function snapNumX(self, dataMin, dataMax) {
function snapNumY (line 3168) | function snapNumY(self, dataMin, dataMax) {
function snapLogY (line 3172) | function snapLogY(self, dataMin, dataMax, scale) {
function snapAsinhY (line 3178) | function snapAsinhY(self, dataMin, dataMax, scale) {
function findIncr (line 3185) | function findIncr(minVal, maxVal, incrs, dim, minSpace) {
function pxRatioFont (line 3203) | function pxRatioFont(font, pxRatio) {
function syncFontSize (line 3209) | function syncFontSize(axis, pxRatio) {
function uPlot (line 3219) | function uPlot(opts, data, then) {
FILE: rollup.config.js
function cssmin (line 3) | function cssmin(css) {
function bannerlessESM (line 33) | function bannerlessESM() {
FILE: src/dom.js
function setPxRatio (line 21) | function setPxRatio() {
function addClass (line 36) | function addClass(el, c) {
function remClass (line 43) | function remClass(el, c) {
function setStylePx (line 48) | function setStylePx(el, name, value) {
function placeTag (line 52) | function placeTag(tag, cls, targ, refEl) {
function placeDiv (line 64) | function placeDiv(cls, targ) {
function elTrans (line 70) | function elTrans(el, xPos, yPos, xMax, yMax) {
function elColor (line 87) | function elColor(el, background, borderColor) {
function elSize (line 100) | function elSize(el, newWid, newHgt, centered) {
function on (line 116) | function on(ev, el, cb, capt) {
function off (line 120) | function off(ev, el, cb, capt) {
FILE: src/domClasses.js
constant UPLOT (line 3) | const UPLOT = "uplot";
constant ORI_HZ (line 4) | const ORI_HZ = pre + "hz";
constant ORI_VT (line 5) | const ORI_VT = pre + "vt";
constant TITLE (line 6) | const TITLE = pre + "title";
constant WRAP (line 7) | const WRAP = pre + "wrap";
constant UNDER (line 8) | const UNDER = pre + "under";
constant OVER (line 9) | const OVER = pre + "over";
constant AXIS (line 10) | const AXIS = pre + "axis";
constant OFF (line 11) | const OFF = pre + "off";
constant SELECT (line 12) | const SELECT = pre + "select";
constant CURSOR_X (line 13) | const CURSOR_X = pre + "cursor-x";
constant CURSOR_Y (line 14) | const CURSOR_Y = pre + "cursor-y";
constant CURSOR_PT (line 15) | const CURSOR_PT = pre + "cursor-pt";
constant LEGEND (line 16) | const LEGEND = pre + "legend"
constant LEGEND_LIVE (line 17) | const LEGEND_LIVE = pre + "live";
constant LEGEND_INLINE (line 18) | const LEGEND_INLINE = pre + "inline";
constant LEGEND_SERIES (line 19) | const LEGEND_SERIES = pre + "series";
constant LEGEND_MARKER (line 20) | const LEGEND_MARKER = pre + "marker";
constant LEGEND_LABEL (line 21) | const LEGEND_LABEL = pre + "label";
constant LEGEND_VALUE (line 22) | const LEGEND_VALUE = pre + "value";
FILE: src/feats.js
constant FEAT_TIME (line 1) | const FEAT_TIME = true;
constant FEAT_LEGEND (line 2) | const FEAT_LEGEND = true;
constant FEAT_POINTS (line 4) | const FEAT_POINTS = true;
constant FEAT_PATHS (line 6) | const FEAT_PATHS = true;
constant FEAT_PATHS_LINEAR (line 7) | const FEAT_PATHS_LINEAR = true;
constant FEAT_PATHS_STEPPED (line 8) | const FEAT_PATHS_STEPPED = true;
constant FEAT_PATHS_BARS (line 9) | const FEAT_PATHS_BARS = true;
constant FEAT_PATHS_SPLINE (line 10) | const FEAT_PATHS_SPLINE = true;
constant FEAT_PATHS_SPLINE2 (line 11) | const FEAT_PATHS_SPLINE2 = false;
constant FEAT_JOIN (line 13) | const FEAT_JOIN = true;
FILE: src/fmtDate.js
function slice3 (line 31) | function slice3(str) {
function zeroPad2 (line 46) | function zeroPad2(int) {
function zeroPad3 (line 50) | function zeroPad3(int) {
function fmtDate (line 126) | function fmtDate(tpl, names) {
function tzDate (line 147) | function tzDate(dateOrTs, tz) {
function getFormatter (line 191) | function getFormatter(tz) {
class DateZoned (line 198) | class DateZoned extends Date {
method constructor (line 204) | constructor(...args) {
method #get (line 214) | #get(utcMeth, locMeth, fr, to, add = 0) {
method setTimeZone (line 219) | setTimeZone(tz) {
method getFullYear (line 235) | getFullYear() {
method getMonth (line 239) | getMonth() {
method getDate (line 243) | getDate() {
method getHours (line 247) | getHours() {
method getMinutes (line 251) | getMinutes() {
method getSeconds (line 255) | getSeconds() {
method getMilliseconds (line 259) | getMilliseconds() {
method getDay (line 263) | getDay() {
method getTimezoneOffset (line 277) | getTimezoneOffset() {
function getDayOfYear (line 283) | function getDayOfYear(date) {
function leapYear (line 292) | function leapYear(year) {
constant PERIOD_DAY (line 305) | const PERIOD_DAY = 3;
constant PERIOD_MONTH (line 306) | const PERIOD_MONTH = 4;
constant PERIOD_YEAR (line 307) | const PERIOD_YEAR = 5;
function floorSOP (line 311) | function floorSOP(dz, per) {
FILE: src/opts.js
function genTimeStuffs (line 79) | function genTimeStuffs(ms) {
function timeAxisStamps (line 313) | function timeAxisStamps(stampCfg, fmtDate) {
function timeAxisVals (line 321) | function timeAxisVals(tzDate, stamps) {
function timeAxisVal (line 366) | function timeAxisVal(tzDate, dateTpl) {
function mkDate (line 371) | function mkDate(y, m, d) {
function timeSeriesStamp (line 375) | function timeSeriesStamp(stampCfg, fmtDate) {
function timeSeriesVal (line 381) | function timeSeriesVal(tzDate, stamp) {
function legendStroke (line 385) | function legendStroke(self, seriesIdx) {
function legendFill (line 390) | function legendFill(self, seriesIdx) {
function cursorPointShow (line 411) | function cursorPointShow(self, si) {
function cursorPointFill (line 430) | function cursorPointFill(self, si) {
function cursorPointStroke (line 435) | function cursorPointStroke(self, si) {
function cursorPointSize (line 440) | function cursorPointSize(self, si) {
function cursorMove (line 447) | function cursorMove(self, mouseLeft1, mouseTop1) {
function filtBtn0 (line 453) | function filtBtn0(self, targ, handle, onlyTarg = true) {
function filtTarg (line 459) | function filtTarg(self, targ, handle, onlyTarg = true) {
function numAxisVals (line 591) | function numAxisVals(self, splits, axisIdx, foundSpace, foundIncr) {
function numAxisSplits (line 595) | function numAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function logAxisSplits (line 609) | function logAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, fou...
function asinhAxisSplits (line 652) | function asinhAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, f...
constant RE_ALL (line 664) | const RE_ALL = /./;
constant RE_12357 (line 665) | const RE_12357 = /[12357]/;
constant RE_125 (line 666) | const RE_125 = /[125]/;
constant RE_1 (line 667) | const RE_1 = /1/;
function log10AxisValsFilt (line 671) | function log10AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function log2AxisValsFilt (line 702) | function log2AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) {
function numSeriesVal (line 716) | function numSeriesVal(self, val, seriesIdx, dataIdx) {
function ptDia (line 745) | function ptDia(width, mult) {
function seriesPointsShow (line 750) | function seriesPointsShow(self, si) {
function clampScale (line 817) | function clampScale(self, val, scaleMin, scaleMax, scaleKey) {
FILE: src/paths/bars.js
function findColWidth (line 4) | function findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWi...
function bars (line 30) | function bars(opts) {
FILE: src/paths/catmullRomCentrip.js
function catmullRomCentrip (line 4) | function catmullRomCentrip(opts) {
function catmullRomFitting (line 17) | function catmullRomFitting(xCoords, yCoords, moveTo, lineTo, bezierCurve...
FILE: src/paths/linear.js
function _drawAcc (line 4) | function _drawAcc(lineTo) {
function linear (line 20) | function linear(opts) {
FILE: src/paths/monotoneCubic.js
function monotoneCubic (line 3) | function monotoneCubic(opts) {
function _monotoneCubic (line 9) | function _monotoneCubic(xs, ys, moveTo, lineTo, bezierCurveTo, pxRound) {
FILE: src/paths/points.js
function points (line 5) | function points(opts) {
FILE: src/paths/spline.js
function splineInterp (line 4) | function splineInterp(interp, opts) {
FILE: src/paths/stepped.js
function stepped (line 5) | function stepped(opts) {
FILE: src/paths/utils.js
constant BAND_CLIP_FILL (line 3) | const BAND_CLIP_FILL = 1 << 0;
constant BAND_CLIP_STROKE (line 4) | const BAND_CLIP_STROKE = 1 << 1;
function orient (line 6) | function orient(u, seriesIdx, cb) {
function bandFillClipDirs (line 64) | function bandFillClipDirs(self, seriesIdx) {
function seriesFillTo (line 98) | function seriesFillTo(self, seriesIdx, dataMin, dataMax, bandFillDir) {
function clipBandLine (line 117) | function clipBandLine(self, seriesIdx, idx0, idx1, strokePath, clipDir) {
function clipGaps (line 153) | function clipGaps(gaps, ori, plotLft, plotTop, plotWid, plotHgt) {
function addGap (line 187) | function addGap(gaps, fromX, toX) {
function findGaps (line 196) | function findGaps(xs, ys, idx0, idx1, dir, pixelForX, align) {
function pxRoundGen (line 242) | function pxRoundGen(pxAlign) {
function rect (line 259) | function rect(ori) {
FILE: src/strings.js
constant WIDTH (line 1) | const WIDTH = "width";
constant HEIGHT (line 2) | const HEIGHT = "height";
constant TOP (line 3) | const TOP = "top";
constant BOTTOM (line 4) | const BOTTOM = "bottom";
constant LEFT (line 5) | const LEFT = "left";
constant RIGHT (line 6) | const RIGHT = "right";
constant LEGEND_DISP (line 22) | const LEGEND_DISP = "--";
FILE: src/sync.js
function _sync (line 3) | function _sync(key, opts) {
FILE: src/uPlot.js
function log (line 199) | function log(name, args) {
function invalidateRects (line 205) | function invalidateRects() {
function setDefaults (line 219) | function setDefaults(d, xo, yo, initY) {
function setDefaults2 (line 224) | function setDefaults2(d, xyo) {
function setDefault (line 228) | function setDefault(o, i, xo, yo) {
function snapNumX (line 232) | function snapNumX(self, dataMin, dataMax) {
function snapNumY (line 240) | function snapNumY(self, dataMin, dataMax) {
function snapLogY (line 244) | function snapLogY(self, dataMin, dataMax, scale) {
function snapAsinhY (line 250) | function snapAsinhY(self, dataMin, dataMax, scale) {
function findIncr (line 257) | function findIncr(minVal, maxVal, incrs, dim, minSpace) {
function pxRatioFont (line 275) | function pxRatioFont(font, pxRatio) {
function syncFontSize (line 281) | function syncFontSize(axis, pxRatio) {
function uPlot (line 291) | function uPlot(opts, data, then) {
FILE: src/utils.js
function closestIdx (line 2) | function closestIdx(num, arr, lo, hi) {
function makeIndexOfs (line 23) | function makeIndexOfs(predicate) {
function getMinMax (line 54) | function getMinMax(data, _i0, _i1, sorted = 0, log = false) {
function rangeLog (line 91) | function rangeLog(min, max, base, fullMags) {
function rangeAsinh (line 143) | function rangeAsinh(min, max, base, fullMags) {
function rangeNum (line 175) | function rangeNum(_min, _max, mult, extra) {
function ifNull (line 187) | function ifNull(lh, rh) {
function hasData (line 193) | function hasData(data, idx0, idx1) {
function _rangeNum (line 206) | function _rangeNum(_min, _max, cfg) {
function numIntDigits (line 297) | function numIntDigits(x) {
function clamp (line 301) | function clamp(num, _min, _max) {
function isFn (line 305) | function isFn(v) {
function fnOrSelf (line 309) | function fnOrSelf(v) {
function incrRound (line 352) | function incrRound(num, incr, _fixFloat = true) {
function incrRoundUp (line 356) | function incrRoundUp(num, incr, _fixFloat = true) {
function incrRoundDn (line 360) | function incrRoundDn(num, incr, _fixFloat = true) {
function roundDec (line 366) | function roundDec(val, dec = 0) {
function numDigits (line 378) | function numDigits(x) {
function guessDec (line 384) | function guessDec(num) {
function genIncrs (line 388) | function genIncrs(base, minExp, maxExp, mults) {
constant EMPTY_OBJ (line 411) | const EMPTY_OBJ = {};
constant EMPTY_ARR (line 412) | const EMPTY_ARR = [];
function isStr (line 420) | function isStr(v) {
function cmpObj (line 424) | function cmpObj(a, b) {
function isObj (line 433) | function isObj(v) {
function fastIsObj (line 444) | function fastIsObj(v) {
function copy (line 452) | function copy(o, _isObj = isObj) {
function assign (line 481) | function assign(targ) {
constant NULL_REMOVE (line 501) | const NULL_REMOVE = 0;
constant NULL_RETAIN (line 502) | const NULL_RETAIN = 1;
constant NULL_EXPAND (line 503) | const NULL_EXPAND = 2;
function nullExpand (line 506) | function nullExpand(yVals, nullIdxs, alignedLen) {
function join (line 524) | function join(tables, nullModes) {
function sortCols (line 600) | function sortCols(table) {
function allHeadersSame (line 625) | function allHeadersSame(tables) {
function isAsc (line 646) | function isAsc(vals, samples = 100) {
Condensed preview — 154 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,031K chars).
[
{
"path": ".editorconfig",
"chars": 113,
"preview": "root = true\n\n[*]\nindent_style = tab\nindent_size = 4\nend_of_line = lf\ncharset = utf-8\ninsert_final_newline = true\n"
},
{
"path": ".github/FUNDING.yml",
"chars": 17,
"preview": "github: leeoniya\n"
},
{
"path": ".gitignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "LICENSE",
"chars": 1078,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2022 Leon Sorokin\n\nPermission is hereby granted, free of charge, to any person obta"
},
{
"path": "README.md",
"chars": 11062,
"preview": "<h2><img src=\"uPlot.svg\" alt=\"uPlot logo\" height=\"36\" align=\"top\"> μPlot</h2>\n\nA small ([~50 KB min](https://github.com/"
},
{
"path": "bench/ApexCharts.html",
"chars": 2713,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ApexCharts Demo</title>\n\t\t<meta name=\"viewport\" content"
},
{
"path": "bench/CanvasJS.html",
"chars": 2613,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>CanvasJS Demo</title>\n\t\t<meta name=\"viewport\" content=\""
},
{
"path": "bench/Chart.js4-sine-stream.html",
"chars": 5945,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sine Stream (Chart.js)</title>\n\t\t<meta name=\"viewport\" "
},
{
"path": "bench/Chart.js4.html",
"chars": 3689,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Chart.js v4.2.1 Demo</title>\n\t\t<meta name=\"viewport\" co"
},
{
"path": "bench/ECharts5-sine-stream.html",
"chars": 6349,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sine Stream (ECharts)</title>\n\t\t<meta name=\"viewport\" c"
},
{
"path": "bench/ECharts5.html",
"chars": 3432,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ECharts v5.1.0 Demo</title>\n\t\t<meta name=\"viewport\" con"
},
{
"path": "bench/Flot.html",
"chars": 2748,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Flot Demo</title>\n\t\t<meta name=\"viewport\" content=\"widt"
},
{
"path": "bench/Highcharts.html",
"chars": 2738,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Highcharts Demo</title>\n\t\t<meta name=\"viewport\" content"
},
{
"path": "bench/LightningChart.html",
"chars": 4049,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>LightningChart® JS Demo</title>\n\t\t<meta name=\"viewport\""
},
{
"path": "bench/Plotly.js.html",
"chars": 2858,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Plotly.js Demo</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "bench/ZingChart.html",
"chars": 3612,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ZingChart Demo</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "bench/amCharts5.html",
"chars": 3546,
"preview": "<!doctype html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>amCharts5 Demo</title>\n\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "bench/data.json",
"chars": 2171504,
"preview": "[7,\"epoch\",\"idl\",\"recv\",\"send\",\"writ\",\"used\",\"free\",26107560,99.46,0,0,0.63,614.52,3767.67,26107561,99.85,0,0,0.41,614.0"
},
{
"path": "bench/dvxCharts.html",
"chars": 2626,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>dvxCharts Demo</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "bench/dygraphs.html",
"chars": 2862,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>dygraphs Demo</title>\n\t\t<meta name=\"viewport\" content=\""
},
{
"path": "bench/fmtDate.js",
"chars": 2218,
"preview": "(function(window) {\n\t\"use strict\";\n\n\tconst months = [\n\t\t\"January\",\n\t\t\"February\",\n\t\t\"March\",\n\t\t\"April\",\n\t\t\"May\",\n\t\t\"June\""
},
{
"path": "bench/lightweight-charts.html",
"chars": 2317,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>lightweight-charts Demo</title>\n\t\t<meta name=\"viewport\""
},
{
"path": "bench/results.json",
"chars": 1377,
"preview": "[\n\t[\n\t\t\"uPlot v1.6.24\",\n\t\t47.9,\n\t\t34,\n\t\t[51,2,1,34],\n\t\t[20.8,2.9],\n\t\t[218,360,146,196],\n\t\t[59,14,7,62]\n\t],\n\t[\n\t\t\"Chart.j"
},
{
"path": "bench/table.js",
"chars": 1704,
"preview": "const fs = require('fs');\n\nconst results = JSON.parse(fs.readFileSync(\"results.json\"));\n\n/*\n// sort results by js,rend,p"
},
{
"path": "bench/table.md",
"chars": 2483,
"preview": "| lib | size | done | js,rend,paint,sys | heap peak,final | mousemove (10s) |\n| -----------"
},
{
"path": "bench/uPlot-10M.html",
"chars": 2709,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>10M Points</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "bench/uPlot-600-series.html",
"chars": 2075,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>600 Series</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "bench/uPlot.html",
"chars": 3388,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>μPlot Demo</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/add-del-series.html",
"chars": 1978,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Add/Delete Series</title>\n\t\t<meta name=\"viewport\" conte"
},
{
"path": "demos/align-data.html",
"chars": 3316,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Alignment Cost</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "demos/annotations.html",
"chars": 4138,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Annotations</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/arcsinh-scales.html",
"chars": 1691,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ArcSinh Scales</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "demos/area-fill.html",
"chars": 1480,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Area Fill</title>\n\t\t<meta name=\"viewport\" content=\"widt"
},
{
"path": "demos/axis-autosize.html",
"chars": 3192,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Axis Autosize</title>\n\t\t<meta name=\"viewport\" content=\""
},
{
"path": "demos/axis-control.html",
"chars": 1384,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Axis Control</title>\n\t\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/axis-indicators.html",
"chars": 4552,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Axis indicators</title>\n\t\t<meta name=\"viewport\" content"
},
{
"path": "demos/bars-grouped-stacked.html",
"chars": 3933,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Bars (Grouped or Stacked)</title>\n\t\t<meta name=\"viewpor"
},
{
"path": "demos/bars-values-autosize.html",
"chars": 8980,
"preview": "<!doctype html>\n<html>\n\n<head>\n <title>Bars values autosize</title>\n\t<link rel=\"stylesheet\" href=\"../dist/uPlot.min.css"
},
{
"path": "demos/box-whisker.html",
"chars": 19082,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Box & Whisker</title>\n\t\t<meta name=\"viewport\" conte"
},
{
"path": "demos/candlestick-ohlc.html",
"chars": 16375,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Candlestick Chart</title>\n\t\t<meta name=\"viewport\" conte"
},
{
"path": "demos/cursor-bind.html",
"chars": 2600,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Cursor Bind</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/cursor-snap.html",
"chars": 1466,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Cursor Snap</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/cursor-tooltip.html",
"chars": 2161,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Cursor Tooltip w/placement.js</title>\n\t\t<meta name=\"vie"
},
{
"path": "demos/custom-scales.html",
"chars": 23692,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Custom Scales</title>\n\t\t<meta name=\"viewport\" content=\""
},
{
"path": "demos/data/AAPL.csv",
"chars": 1293,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $265.76, 25093670, $263.68, $265.78, $263.01\n11/14/2019, $262.64, "
},
{
"path": "demos/data/AMD.csv",
"chars": 1199,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $38.56, 63020870, $38.94, $39.37, $38.34\n11/14/2019, $38.35, 65936"
},
{
"path": "demos/data/AMZN.csv",
"chars": 1332,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $1739.49, 3931141, $1760.05, $1761.68, $1732.86\n11/14/2019, $1754."
},
{
"path": "demos/data/CSCO.csv",
"chars": 1191,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $45.09, 32387640, $45.07, $45.65, $44.81\n11/14/2019, $44.91, 65609"
},
{
"path": "demos/data/FB.csv",
"chars": 1272,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $195.1, 11530230, $194.26, $195.3, $193.38\n11/14/2019, $193.15, 90"
},
{
"path": "demos/data/MSFT.csv",
"chars": 1282,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $149.97, 23508810, $148.93, $149.99, $148.27\n11/14/2019, $148.06, "
},
{
"path": "demos/data/QCOM.csv",
"chars": 1193,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $90.81, 25491090, $92.6, $93.94, $90.5801\n11/14/2019, $90.48, 8794"
},
{
"path": "demos/data/SBUX.csv",
"chars": 1188,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $84.21, 7537205, $84.68, $84.94, $83.57\n11/14/2019, $84.38, 528743"
},
{
"path": "demos/data/TSLA.csv",
"chars": 1241,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $352.17, 4812563, $350.64, $352.8, $348.36\n11/14/2019, $349.35, 64"
},
{
"path": "demos/data/ZNGA.csv",
"chars": 1116,
"preview": "Date, Close/Last, Volume, Open, High, Low\n11/15/2019, $6.28, 9080171, $6.35, $6.35, $6.26\n11/14/2019, $6.33, 4907045, $6"
},
{
"path": "demos/data/ms_spectrum.csv",
"chars": 389610,
"preview": "mz,intensity\n260.01,0\n260.019,0\n260.029,0\n260.07,0\n260.079,0\n260.089,0\n260.11,0\n260.14,0\n260.149,0\n260.17,0\n260.209,0\n26"
},
{
"path": "demos/data/results.json",
"chars": 416489,
"preview": "[{\"framework\":\"angular-v8.2.14-keyed\",\"benchmark\":\"01_run1k\",\"values\":[159.526,155.288,162.351,153.839,157.576,155.825,1"
},
{
"path": "demos/data/rustc-perf.json",
"chars": 23392,
"preview": "{\"benchmarks\":{\"Summary\":{\"interpolated\":[127,128,130,132,133,137,140,141,142,143,144,145,146,147,148,149,150,151,152,15"
},
{
"path": "demos/data/sparse.json",
"chars": 154528,
"preview": "[\n [\n 172,193,218,246,272,298,326,352,380,409,435,462,488,513,543,569,593,619,645,670,695,724,751,778,804,830,857,88"
},
{
"path": "demos/data/taxi-trips.json",
"chars": 20773,
"preview": "[12751,8767,7005,5257,4189,3236,2817,2527,2406,1961,2478,4483,7002,11917,15929,20327,20974,20999,19639,19221,17308,17140"
},
{
"path": "demos/data/traffic.json",
"chars": 171020,
"preview": "[\n\t[1546322400,1546326000,1546329600,1546333200,1546336800,1546340400,1546344000,1546347600,1546351200,1546354800,154635"
},
{
"path": "demos/data-smoothing.html",
"chars": 2305,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ASAP Smoothing</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "demos/dependent-scale.html",
"chars": 1247,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Dependent Scale</title>\n\t\t<meta name=\"viewport\" content"
},
{
"path": "demos/draw-hooks.html",
"chars": 6113,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Draw Hooks</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/focus-cursor.html",
"chars": 4327,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Cursor Focus</title>\n\t\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/gradients.html",
"chars": 7904,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Gradients</title>\n\t\t<meta name=\"viewport\" content=\"widt"
},
{
"path": "demos/grid-over-series.html",
"chars": 2265,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Grid Over Series</title>\n\t\t<meta name=\"viewport\" conten"
},
{
"path": "demos/grouped-bars.js",
"chars": 6467,
"preview": "function seriesBarsPlugin(opts) {\n\tlet pxRatio;\n\tlet font;\n\n\tlet { ignore = [] } = opts;\n\n\tlet radius = opts.radius ?? 0"
},
{
"path": "demos/high-low-bands.html",
"chars": 26435,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>High/Low Bands</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "demos/index.html",
"chars": 5548,
"preview": "<!doctype html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>μPlot Demos</title>\n\t<meta name=\"viewport\" conte"
},
{
"path": "demos/latency-heatmap.html",
"chars": 19580,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Latency Heatmap</title>\n\t\t<meta name=\"viewport\" content"
},
{
"path": "demos/lib/ASAP-optimized.js",
"chars": 14306,
"preview": "/* \n * Free FFT and convolution (JavaScript)\n * \n * Copyright (c) 2014 Project Nayuki\n * https://www.nayuki.io/page/free"
},
{
"path": "demos/lib/ASAP-simple.js",
"chars": 2584,
"preview": "function smooth(data, resolution) {\n if (resolution < data.length) {\n data = SMA(data, Math.trunc(data.length "
},
{
"path": "demos/lib/distr.js",
"chars": 1038,
"preview": "function roundDec(val, dec) {\n return Math.round(val * (dec = 10**dec)) / dec;\n}\n\nconst SPACE_BETWEEN = 1;\nconst SPAC"
},
{
"path": "demos/lib/quadtree.js",
"chars": 2153,
"preview": "function pointWithin(px, py, rlft, rtop, rrgt, rbtm) {\n return px >= rlft && px <= rrgt && py >= rtop && py <= rbtm;\n"
},
{
"path": "demos/lib/rand.js",
"chars": 713,
"preview": "function randInt(min, max) { // min and max included\n\treturn Math.floor(Math.random() * (max - min + 1) + min);\n}\n\n// ht"
},
{
"path": "demos/lib/randomWalk.js",
"chars": 868,
"preview": "// https://stackoverflow.com/a/22080644\n\nconst boxMullerRandom = (() => {\n let phase = 0, x1, x2, w, z;\n\n return ("
},
{
"path": "demos/lib/sgg.js",
"chars": 5418,
"preview": "// https://github.com/mljs/savitzky-golay-generalized\n\nconst sgg = (function () {\n 'use strict';\n\n const toString "
},
{
"path": "demos/lib/stats.js",
"chars": 1768,
"preview": "// ported from https://stackoverflow.com/questions/14683467/finding-the-first-and-third-quartiles/51264621#51264621\nfunc"
},
{
"path": "demos/line-paths.html",
"chars": 6436,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Line Paths</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/log-scales.html",
"chars": 118586,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Log Scales</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/log-scales2.html",
"chars": 8469,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Log Scales 2</title>\n\t\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/mass-spectrum.html",
"chars": 1350,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Mass Spectrum</title>\n\t\t<meta name=\"viewport\" content=\""
},
{
"path": "demos/measure-datums.html",
"chars": 3088,
"preview": "<!doctype html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Measure / Datums</title>\n\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/missing-data.html",
"chars": 8235,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Missing Data</title>\n\t\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/months-ru.html",
"chars": 1559,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Months (Russian)</title>\n\t\t<meta name=\"viewport\" conten"
},
{
"path": "demos/months.html",
"chars": 1628,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Months</title>\n\t\t<meta name=\"viewport\" content=\"width=d"
},
{
"path": "demos/multi-bars.html",
"chars": 6966,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Multi-Bars</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/nearest-non-null.html",
"chars": 12772,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Nearest Non-Null</title>\n\t\t<meta name=\"viewport\" conten"
},
{
"path": "demos/nice-scale.html",
"chars": 3817,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Nice Scale & Ticks</title>\n\t\t<meta name=\"viewport\" "
},
{
"path": "demos/no-data.html",
"chars": 2133,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>No Data</title>\n\t\t<meta name=\"viewport\" content=\"width="
},
{
"path": "demos/path-gap-clip.html",
"chars": 62036,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Path & Gap Clipping</title>\n\t\t<meta name=\"viewport\""
},
{
"path": "demos/pixel-align.html",
"chars": 2947,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Pixel align</title>\n\t\t<meta name=\"viewport\" c"
},
{
"path": "demos/points.html",
"chars": 7089,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Points</title>\n\t\t<meta name=\"viewport\" content=\"width=d"
},
{
"path": "demos/resize.html",
"chars": 1392,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Resize</title>\n\t\t<meta name=\"viewport\" content=\"width=d"
},
{
"path": "demos/scale-padding.html",
"chars": 1194,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Scale Padding</title>\n\t\t<meta name=\"viewport\" content=\""
},
{
"path": "demos/scales-dir-ori.html",
"chars": 6036,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Scales Direction & Orientation</title>\n\t\t<meta name"
},
{
"path": "demos/scatter.html",
"chars": 14808,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Scatter & Bubble</title>\n\t\t<meta name=\"viewport\" co"
},
{
"path": "demos/scroll-sync.html",
"chars": 2477,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Scroll syncRect()</title>\n\t\t<meta name=\"viewport\" conte"
},
{
"path": "demos/sine-stream.html",
"chars": 3939,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sine Stream</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/soft-minmax.html",
"chars": 3623,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Soft Min/Max</title>\n\t\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/sparklines-bars.html",
"chars": 4639,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sparkline + Floating Bars + Gradients</title>\n\t\t<meta n"
},
{
"path": "demos/sparklines.html",
"chars": 2407,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sparklines</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/sparse.html",
"chars": 2805,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sparse Data</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/stack.js",
"chars": 3922,
"preview": "function stack(data, omit) {\n\tlet data2 = [];\n\tlet bands = [];\n\tlet d0Len = data[0].length;\n\tlet accum = Array(d0Len);\n\n"
},
{
"path": "demos/stacked-series.html",
"chars": 17971,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Stacked Series</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "demos/stream-data.html",
"chars": 6198,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Data Stream</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/svg-image.html",
"chars": 2136,
"preview": "<!doctype html>\n<html>\n<head>\n\t<title>uPlot to image PoC</title>\n\n\t<link rel=\"stylesheet\" href=\"../dist/uPlot.min.css\">\n"
},
{
"path": "demos/sync-cursor.html",
"chars": 7249,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Sync Cursor</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/sync-y-zero.html",
"chars": 2323,
"preview": "<!doctype html>\n<html>\n\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Sync Y Zero</title>\n\t<meta name=\"viewport\" content=\"width"
},
{
"path": "demos/thin-bars-stroke-fill.html",
"chars": 5473,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Thin bar stroke & fill</title>\n\t\t<meta name=\"viewpo"
},
{
"path": "demos/time-periods.html",
"chars": 6132,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Time Periods</title>\n\t\t<meta name=\"viewport\" content=\"w"
},
{
"path": "demos/timeline-discrete.html",
"chars": 15127,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Timeline / Discrete</title>\n\t\t<meta name=\"viewport\" con"
},
{
"path": "demos/timeseries-discrete.html",
"chars": 2517,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>TimeSeries + Discrete</title>\n\t\t<meta name=\"viewport\" c"
},
{
"path": "demos/timezones-dst.html",
"chars": 10239,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Timezones & DST</title>\n\t\t<meta name=\"viewport\" con"
},
{
"path": "demos/tooltips-closest.html",
"chars": 7339,
"preview": "<!doctype html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Tooltips (closest)</title>\n\t<meta name=\"viewport\" content="
},
{
"path": "demos/tooltips.html",
"chars": 4393,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Tooltips</title>\n\t\t<meta name=\"viewport\" content=\"width"
},
{
"path": "demos/trendlines.html",
"chars": 2739,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Trendlines</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/update-cursor-select-resize.html",
"chars": 1724,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Keep selection and cursor in sync with resize (test)</t"
},
{
"path": "demos/wind-direction.html",
"chars": 6233,
"preview": "<!doctype html>\n<html>\n\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Wind Direction</title>\n\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/y-scale-drag.html",
"chars": 2480,
"preview": "<!doctype html>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n\t<title>Draggable y scales</title>\n\t<meta name=\"viewport\" content="
},
{
"path": "demos/y-shifted-series.html",
"chars": 2457,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Y-shifted Series</title>\n\t\t<meta name=\"viewport\" conten"
},
{
"path": "demos/zoom-fetch.html",
"chars": 1509,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Fetch Zoom</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "demos/zoom-ranger-grips.html",
"chars": 5486,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Zoom Ranger Grips</title>\n\t\t<meta name=\"viewport\" conte"
},
{
"path": "demos/zoom-ranger-xy.html",
"chars": 2452,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Zoom Ranger XY</title>\n\t\t<meta name=\"viewport\" content="
},
{
"path": "demos/zoom-ranger.html",
"chars": 1964,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Zoom Ranger</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "demos/zoom-touch.html",
"chars": 3805,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Pinch Zoom & Pan</title>\n\t\t<meta name=\"viewport\" co"
},
{
"path": "demos/zoom-variations.html",
"chars": 1800,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Zoom Variations</title>\n\t\t<meta name=\"viewport\" content"
},
{
"path": "demos/zoom-wheel.html",
"chars": 3866,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Wheel Zoom & Drag</title>\n\t\t<meta name=\"viewport\" c"
},
{
"path": "dist/uPlot.cjs.js",
"chars": 152488,
"preview": "/**\n* Copyright (c) 2026, Leon Sorokin\n* All rights reserved. (MIT Licensed)\n*\n* uPlot.js (μPlot)\n* A small, fast chart "
},
{
"path": "dist/uPlot.d.ts",
"chars": 39518,
"preview": "declare class uPlot {\n\t/** when passing a function for @targ, call init() after attaching self.root to the DOM */\n\tconst"
},
{
"path": "dist/uPlot.esm.js",
"chars": 152478,
"preview": "/**\n* Copyright (c) 2026, Leon Sorokin\n* All rights reserved. (MIT Licensed)\n*\n* uPlot.js (μPlot)\n* A small, fast chart "
},
{
"path": "dist/uPlot.iife.js",
"chars": 157552,
"preview": "/**\n* Copyright (c) 2026, Leon Sorokin\n* All rights reserved. (MIT Licensed)\n*\n* uPlot.js (μPlot)\n* A small, fast chart "
},
{
"path": "docs/README.md",
"chars": 12983,
"preview": "### Documentation\n\n- [Installation](#installation)\n- [Data Format](#data-format)\n- [Basics](#basics)\n- [High/Low Bands]("
},
{
"path": "jsconfig.json",
"chars": 139,
"preview": "{\n \"compilerOptions\": {\n \"checkJs\": true,\n \"target\": \"ES2020\"\n },\n \"include\": [\"src/*\", \"dist/*\"],\n \"exclude\":"
},
{
"path": "package.json",
"chars": 978,
"preview": "{\n \"name\": \"uplot\",\n \"version\": \"1.6.32\",\n \"description\": \"A small, fast chart for time series, lines, areas, ohlc & "
},
{
"path": "rollup.config.js",
"chars": 2107,
"preview": "const fs = require('fs');\n\nfunction cssmin(css) {\n\treturn css\n\t\t.replace(/\\s{1,}/g, ' ')\n\t\t.replace(/\\{\\s{1,}/g,\"{\")\n\t\t."
},
{
"path": "src/dom.js",
"chars": 2743,
"preview": "import {\n\tOFF,\n} from './domClasses';\n\nimport {\n\tchange,\n\tdppxchange,\n} from './strings';\n\nexport const domEnv = typeof "
},
{
"path": "src/domClasses.js",
"chars": 920,
"preview": "const pre = \"u-\";\n\nexport const UPLOT = \"uplot\";\nexport const ORI_HZ = pre + \"hz\";\nexport const O"
},
{
"path": "src/feats.js",
"chars": 403,
"preview": "export const FEAT_TIME = true;\nexport const FEAT_LEGEND = true;\n\nexport const FEAT_POINTS = true;"
},
{
"path": "src/fmtDate.js",
"chars": 8498,
"preview": "import {\n\tFEAT_TIME,\n} from './feats';\nimport { abs, floor } from './utils';\n\nconst months = [\n\t\"January\",\n\t\"February\",\n"
},
{
"path": "src/opts.js",
"chars": 18919,
"preview": "import {\n\tFEAT_TIME,\n} from './feats';\n\nimport {\n\tassign,\n\n\tabs,\n\tmin,\n\tmax,\n\n\tinf,\n\tpow,\n\tlog2,\n\tlog10,\n\tgenIncrs,\n\trou"
},
{
"path": "src/paths/bars.js",
"chars": 7222,
"preview": "import { abs, floor, min, max, inf, ifNull, EMPTY_OBJ, fnOrSelf, clamp, retArg0, EMPTY_ARR } from '../utils';\nimport { o"
},
{
"path": "src/paths/catmullRomCentrip.js",
"chars": 2555,
"preview": "import { pow, sqrt } from '../utils';\nimport { splineInterp } from \"./spline\";\n\nexport function catmullRomCentrip(opts) "
},
{
"path": "src/paths/linear.js",
"chars": 4619,
"preview": "import { nonNullIdxs, ifNull } from '../utils';\nimport { orient, clipGaps, lineToH, lineToV, clipBandLine, BAND_CLIP_FIL"
},
{
"path": "src/paths/monotoneCubic.js",
"chars": 1617,
"preview": "import { splineInterp } from \"./spline\";\n\nexport function monotoneCubic(opts) {\n\treturn splineInterp(_monotoneCubic, opt"
},
{
"path": "src/paths/points.js",
"chars": 1555,
"preview": "import { orient, moveToH, moveToV, rectH, arcH, arcV, BAND_CLIP_FILL, BAND_CLIP_STROKE } from './utils';\nimport { roundD"
},
{
"path": "src/paths/spline.js",
"chars": 3105,
"preview": "import { ifNull, nonNullIdxs } from '../utils';\nimport { orient, clipGaps, moveToH, moveToV, lineToH, lineToV, bezierCur"
},
{
"path": "src/paths/stepped.js",
"chars": 3541,
"preview": "import { ifNull, nonNullIdxs } from '../utils';\nimport { orient, clipGaps, lineToH, lineToV, clipBandLine, BAND_CLIP_FIL"
},
{
"path": "src/paths/utils.js",
"chars": 7623,
"preview": "import { round, incrRound, retArg0, min, EMPTY_ARR, ifNull } from \"../utils\";\n\nexport const BAND_CLIP_FILL = 1 << 0;\ne"
},
{
"path": "src/strings.js",
"chars": 719,
"preview": "export const WIDTH = \"width\";\nexport const HEIGHT = \"height\";\nexport const TOP = \"top\";\nexport const "
},
{
"path": "src/sync.js",
"chars": 455,
"preview": "export const syncs = {};\n\nexport function _sync(key, opts) {\n\tlet s = syncs[key];\n\n\tif (!s) {\n\t\ts = {\n\t\t\tkey,\n\t\t\tplots: "
},
{
"path": "src/uPlot.css",
"chars": 2048,
"preview": ".uplot,\n.uplot *,\n.uplot *::before,\n.uplot *::after {\n\tbox-sizing: border-box;\n}\n\n.uplot {\n\tfont-family: system-ui, -app"
},
{
"path": "src/uPlot.js",
"chars": 82067,
"preview": "import {\n\tFEAT_TIME,\n\tFEAT_LEGEND,\n\n\tFEAT_POINTS,\n\n\tFEAT_PATHS,\n\tFEAT_PATHS_LINEAR,\n\tFEAT_PATHS_SPLINE,\n\tFEAT_PATHS_SPLI"
},
{
"path": "src/utils.js",
"chars": 15298,
"preview": "// binary search for index of closest value\nexport function closestIdx(num, arr, lo, hi) {\n\tlet mid;\n\tlo = lo || 0;\n\thi "
}
]
About this extraction
This page contains the full source code of the leeoniya/uPlot GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 154 files (4.5 MB), approximately 1.2M tokens, and a symbol index with 817 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.