summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--datastore-leveldb/Makefile5
-rw-r--r--datastore-leveldb/README3
m---------datastore-leveldb/mongoose0
-rw-r--r--datastore-leveldb/src/main.cpp210
-rw-r--r--datastore-leveldb/wwwroot/index.html (renamed from datastore-leveldb/index.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/control.html (renamed from datastore-leveldb/public/control.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/css/stylesheet.css (renamed from datastore-leveldb/public/css/stylesheet.css)0
-rw-r--r--datastore-leveldb/wwwroot/public/draw.svg (renamed from datastore-leveldb/public/draw.svg)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/d3-v2.6.1/d3.js (renamed from datastore-leveldb/public/lib/d3-v2.6.1/d3.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/d3-v2.6.1/d3.time.js (renamed from datastore-leveldb/public/lib/d3-v2.6.1/d3.time.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/API.txt (renamed from datastore-leveldb/public/lib/flot-0.7/API.txt)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/FAQ.txt (renamed from datastore-leveldb/public/lib/flot-0.7/FAQ.txt)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/LICENSE.txt (renamed from datastore-leveldb/public/lib/flot-0.7/LICENSE.txt)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/Makefile (renamed from datastore-leveldb/public/lib/flot-0.7/Makefile)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/NEWS.txt (renamed from datastore-leveldb/public/lib/flot-0.7/NEWS.txt)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/PLUGINS.txt (renamed from datastore-leveldb/public/lib/flot-0.7/PLUGINS.txt)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/README.txt (renamed from datastore-leveldb/public/lib/flot-0.7/README.txt)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/ajax.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/ajax.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/annotating.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/annotating.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-down.gif (renamed from datastore-leveldb/public/lib/flot-0.7/examples/arrow-down.gif)bin916 -> 916 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-left.gif (renamed from datastore-leveldb/public/lib/flot-0.7/examples/arrow-left.gif)bin891 -> 891 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-right.gif (renamed from datastore-leveldb/public/lib/flot-0.7/examples/arrow-right.gif)bin897 -> 897 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-up.gif (renamed from datastore-leveldb/public/lib/flot-0.7/examples/arrow-up.gif)bin916 -> 916 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/basic.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/basic.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-1.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-1.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-2.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-2.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-3.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-3.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-4.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-4.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-5.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-5.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-japan-gdp-growth.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-japan-gdp-growth.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-usa-gdp-growth.json (renamed from datastore-leveldb/public/lib/flot-0.7/examples/data-usa-gdp-growth.json)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/graph-types.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/graph-types.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/hs-2004-27-a-large_web.jpg (renamed from datastore-leveldb/public/lib/flot-0.7/examples/hs-2004-27-a-large_web.jpg)bin34489 -> 34489 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/image.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/image.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/index.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/index.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/interacting-axes.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/interacting-axes.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/interacting.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/interacting.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/layout.css (renamed from datastore-leveldb/public/lib/flot-0.7/examples/layout.css)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/multiple-axes.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/multiple-axes.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/navigate.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/navigate.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/percentiles.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/percentiles.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/pie.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/pie.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/realtime.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/realtime.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/resize.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/resize.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/selection.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/selection.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/setting-options.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/setting-options.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/stacking.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/stacking.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/symbols.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/symbols.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/thresholding.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/thresholding.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/time.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/time.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/tracking.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/tracking.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/turning-series.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/turning-series.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/visitors.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/visitors.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/zooming.html (renamed from datastore-leveldb/public/lib/flot-0.7/examples/zooming.html)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/excanvas.js (renamed from datastore-leveldb/public/lib/flot-0.7/excanvas.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/excanvas.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/excanvas.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.colorhelpers.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.colorhelpers.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.colorhelpers.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.colorhelpers.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.crosshair.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.crosshair.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.crosshair.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.crosshair.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.fillbetween.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.fillbetween.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.fillbetween.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.fillbetween.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.image.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.image.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.image.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.image.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.navigate.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.navigate.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.navigate.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.navigate.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.pie.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.pie.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.pie.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.pie.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.resize.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.resize.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.resize.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.resize.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.selection.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.selection.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.selection.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.selection.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.stack.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.stack.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.stack.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.stack.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.symbol.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.symbol.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.symbol.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.symbol.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.threshold.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.threshold.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.threshold.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.flot.threshold.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.min.js (renamed from datastore-leveldb/public/lib/flot-0.7/jquery.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-1.6.2/jquery-1.6.2.js (renamed from datastore-leveldb/public/lib/jquery-1.6.2/jquery-1.6.2.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-1.6.2/jquery-1.6.2.min.js (renamed from datastore-leveldb/public/lib/jquery-1.6.2/jquery-1.6.2.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_0_aaaaaa_40x100.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_0_aaaaaa_40x100.png)bin180 -> 180 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_75_ffffff_40x100.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_75_ffffff_40x100.png)bin178 -> 178 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_55_fbf9ee_1x400.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_55_fbf9ee_1x400.png)bin120 -> 120 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_65_ffffff_1x400.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_65_ffffff_1x400.png)bin105 -> 105 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_dadada_1x400.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_dadada_1x400.png)bin111 -> 111 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_e6e6e6_1x400.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_e6e6e6_1x400.png)bin110 -> 110 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_95_fef1ec_1x400.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_95_fef1ec_1x400.png)bin119 -> 119 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_highlight-soft_75_cccccc_1x100.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_highlight-soft_75_cccccc_1x100.png)bin101 -> 101 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_222222_256x240.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_222222_256x240.png)bin4369 -> 4369 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_2e83ff_256x240.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_2e83ff_256x240.png)bin4369 -> 4369 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_454545_256x240.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_454545_256x240.png)bin4369 -> 4369 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_888888_256x240.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_888888_256x240.png)bin4369 -> 4369 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_cd0a0a_256x240.png (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_cd0a0a_256x240.png)bin4369 -> 4369 bytes
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.css (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.css)0
-rw-r--r--datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.min.js (renamed from datastore-leveldb/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.min.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/src/d3.control.js (renamed from datastore-leveldb/public/src/d3.control.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/src/d3.plot.js (renamed from datastore-leveldb/public/src/d3.plot.js)0
-rw-r--r--datastore-leveldb/wwwroot/public/src/ebus.js (renamed from datastore-leveldb/public/src/ebus.js)0
103 files changed, 103 insertions, 115 deletions
diff --git a/datastore-leveldb/Makefile b/datastore-leveldb/Makefile
index fdd48df..33f61bd 100644
--- a/datastore-leveldb/Makefile
+++ b/datastore-leveldb/Makefile
@@ -1,8 +1,9 @@
CC = gcc
CPP = foo
-OBJ= src/http_parser.o src/server_eh.o src/main.o
+OBJ= src/http_parser.o src/server_eh.o src/main.o mongoose/mongoose.o
OUT = main
-CPPFLAGS = -std=c++11
+CFLAGS =
+CXXFLAGS = -std=c++11 -Imongoose
LDFLAGS = -lleveldb -lev -lboost_regex -lmagic
all: build
diff --git a/datastore-leveldb/README b/datastore-leveldb/README
index ad4e43b..a531658 100644
--- a/datastore-leveldb/README
+++ b/datastore-leveldb/README
@@ -1,3 +1,4 @@
apt-get install \
libleveldb-dev \
- libev-dev
+ libev-dev \
+ libboost1.49-dev
diff --git a/datastore-leveldb/mongoose b/datastore-leveldb/mongoose
new file mode 160000
+Subproject c352486abbcb4caf483aed02acaefcf522df3a4
diff --git a/datastore-leveldb/src/main.cpp b/datastore-leveldb/src/main.cpp
index 9f8142e..dab88cd 100644
--- a/datastore-leveldb/src/main.cpp
+++ b/datastore-leveldb/src/main.cpp
@@ -1,14 +1,9 @@
extern "C" {
-#include "server_eh.h"
#include <unistd.h>
#include <signal.h>
-#include <ev.h>
#include <string.h>
-#include <netinet/in.h>
-#include <sys/sendfile.h>
-#include <sys/stat.h>
-#include <fcntl.h>
#include <magic.h>
+#include "mongoose.h"
}
#include <algorithm>
@@ -19,18 +14,20 @@ extern "C" {
#include <map>
#include <forward_list>
#include <functional>
+#include <mutex>
#include <boost/regex.hpp>
#include "leveldb/db.h"
#include "leveldb/comparator.h"
-std::forward_list<std::pair<boost::regex,std::function<void(const boost::cmatch&, struct http_request*, const int)>>> web_handler;
+std::forward_list<std::pair<boost::regex,std::function<void(const boost::cmatch&, struct mg_connection *conn)>>> web_handler;
static std::map<std::string,leveldb::DB*> dbs;
static magic_t magic_cookie;
+struct mg_context *ctx;
bool sensor_name_is_sane(std::string& name) {
for (auto it = name.begin(); it != name.end(); ++it) {
@@ -43,22 +40,31 @@ bool sensor_name_is_sane(std::string& name) {
return true;
}
+std::mutex getDBmutex;
leveldb::DB *getDB(std::string& name) {
- if (not sensor_name_is_sane(name)) {
- return nullptr;
- }
+ getDBmutex.lock();
if (dbs.find(name) == dbs.end()) {
+ if (not sensor_name_is_sane(name)) {
+ getDBmutex.unlock();
+ return nullptr;
+ }
leveldb::DB *db;
leveldb::Options options;
options.create_if_missing = true;
leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb."+name, &db);
if (not status.ok()) {
+ std::cout << status.ToString() << std::endl;
+ getDBmutex.unlock();
return nullptr;
}
dbs[name] = db;
+ getDBmutex.unlock();
+ return db;
+ } else {
+ getDBmutex.unlock();
+ return dbs.at(name);
}
- return dbs.at(name);
}
// see http_parser.h
@@ -81,25 +87,6 @@ static inline void http_ok(int fd, const char *content_type, const char *extra_h
#undef write_const
}
-
-static inline void send_file(const char *path, int fd_out) {
- int fd_in;
- struct stat stat_buf;
-
- const char *mime_type = magic_file(magic_cookie, path);
- if (mime_type == NULL) {
- mime_type = "application/octet-stream";
- }
-
- http_ok(fd_out, mime_type, nullptr);
-
- fd_in = open(path, O_RDONLY);
- fstat(fd_in, &stat_buf);
- std::cerr << "GET " << path << std::endl;
- sendfile(fd_out, fd_in, 0, stat_buf.st_size);
- close(fd_in);
-}
-
std::string make_key(uint64_t timestamp) {
std::stringstream key;
key << "ts-";
@@ -107,32 +94,30 @@ std::string make_key(uint64_t timestamp) {
return key.str();
}
-void web_handle_api_value(const boost::cmatch &match, const struct http_request *request, const int fd) {
- const char* reply_OK = "HTTP/1.1 200 Value received\r\n\r\n";
- const char* reply_ERR = "HTTP/1.1 500 Internal Error\r\n\r\n";
-
+void web_handle_api_value(const boost::cmatch &match, struct mg_connection *conn) {
+ const struct mg_request_info *request_info = mg_get_request_info(conn);
+
std::string sensor(match[1].str());
uint64_t timestamp = std::stoul(match[2].str());
- std::string value(request->body);
+ char buf[1024];
+ int count = mg_read(conn, buf, 1024);
+ std::string value(buf, count);
leveldb::DB *db = getDB(sensor);
if (db == nullptr) {
- write(fd, reply_ERR, strlen(reply_ERR));
+ std::cout << "failed to get db for " << sensor << std::endl;
+ mg_printf(conn, "HTTP/1.1 500 Internal Error\r\n\r\n");
return;
}
std::cout << "sensor=" << sensor << " key=" << make_key(timestamp) << std::endl;
db->Put(leveldb::WriteOptions(), make_key(timestamp), value);
- write(fd, reply_OK, strlen(reply_OK));
+ mg_printf(conn, "HTTP/1.1 200 Value received\r\n\r\n");
}
-void web_handle_api_range(const boost::cmatch &match, const struct http_request *request, const int fd) {
+void web_handle_api_range(const boost::cmatch &match, struct mg_connection *conn) {
static const leveldb::Comparator *cmp = leveldb::BytewiseComparator();
- const char* reply_OK = "HTTP/1.1 200 Value received\r\n";
- const char* reply_ERR = "HTTP/1.1 500 Internal Error\r\n\r\n";
- const char* content_type = "Content-Type: application/json; encoding=UTF-8\r\n";
-
std::string sensor(match[1].str());
uint64_t start = std::stoul(match[2].str());
uint64_t end = std::stoul(match[3].str());
@@ -141,113 +126,101 @@ void web_handle_api_range(const boost::cmatch &match, const struct http_request
leveldb::DB *db = getDB(sensor);
if (db == nullptr) {
- write(fd, reply_ERR, strlen(reply_ERR));
+ mg_printf(conn, "HTTP/1.1 500 Internal Error\r\n\r\n");
return;
}
- http_ok(fd, "application/json; encoding=UTF-8", nullptr);
+ mg_printf(conn,
+ "HTTP/1.1 200 Value received\r\n"
+ "Content-Type: application/json; encoding=UTF-8\r\n"
+ "\r\n");
std::cout << "sensor=" << sensor << " start=" << start << " end=" << end << std::endl;
std::ostringstream out;
out << "{'sensor':'" << sensor << "', 'error':null, 'data':[";
- write(fd, out.str().c_str(), out.str().size());
+ mg_write(conn, out.str().c_str(), out.str().size());
- usleep(2000000);
leveldb::Iterator* it = db->NewIterator(leveldb::ReadOptions());
bool first = true;
+ std::ostringstream outbuf;
for (it->Seek(key_start);
- it->Valid() && cmp->Compare(it->key(), key_end) < 0;
- it->Next()) {
- if (it->key().size() != 20+3) {
+ it->Valid() && cmp->Compare(it->key(), key_end) < 0;
+ it->Next()) {
+ const char *key = it->key().data();
+ size_t key_size = it->key().size();
+ if (key_size != 20+3) {
std::cerr << "invalid key" << std::endl;
return;
}
- uint64_t timestamp = std::stoul(it->key().data()+3);
- std::string s_timestamp = std::to_string(timestamp);
- if (first) {
+ int offset = 3; //ts-
+ // skip zeros in timestamp
+ while (offset < key_size-1 and *(key+offset) == '0')
+ offset++;
+
+ if (first)
first = false;
- write(fd, "[", 1);
- } else {
- write(fd, ",[", 2);
- }
- write(fd, s_timestamp.c_str(), s_timestamp.size());
- write(fd, ",'", 2);
- write(fd, it->value().data(), it->value().size());
- write(fd, "']", 2);
+ else
+ outbuf << ',';
+
+ outbuf << '[';
+ outbuf.write(key+offset, key_size-offset);
+ outbuf << ',';
+ outbuf.write(it->value().data(), it->value().size());
+ outbuf << ']';
+
+ mg_write(conn, outbuf.str().c_str(), outbuf.tellp());
+ outbuf.seekp(0);
}
-
+ mg_printf(conn, "]}\r\n");
delete it;
}
-void handle_request(struct http_request *request, int fd) {
+int begin_request_handler(struct mg_connection *conn) {
boost::cmatch match;
- const char *error = "HTTP/1.1 404 Not Found\r\n\r\n";
- if (request->url == NULL) { // happens only under high load, why?
- std::cerr << "url is null" << std::endl;
- goto handled;
- }
+ const char *url = mg_get_request_info(conn)->uri;
for (auto item = web_handler.begin(); item != web_handler.end(); ++item) {
- if (boost::regex_match(request->url, match, (*item).first)) {
- (*item).second(match, request, fd);
- goto handled;
+ if (boost::regex_match(url, match, (*item).first)) {
+ (*item).second(match, conn);
+ return 1;
}
}
- write(fd, error, strlen(error));
-
- handled:
- close(fd);
+ return 0;
}
-static struct http_server server;
void sigint_handler(int s) {
- struct ev_loop *loop = server.loop;
- ev_io_stop(EV_A_ server.ev_accept);
+ // Stop the server.
+ mg_stop(ctx);
+
+ // Close databases
+ for (auto it = dbs.begin(); it != dbs.end(); ++it) {
+ std::cout << "Close " << (*it).first << std::endl;
+ delete (*it).second;
+ dbs.erase(it);
+ }
+
exit(0);
}
+
int main(int argc, char **argv) {
- // configure server structures and desired listen address
- struct sockaddr_in listen_addr;
- memset(&listen_addr, 0, sizeof(listen_addr));
- listen_addr.sin_family = AF_INET;
- listen_addr.sin_addr.s_addr = INADDR_ANY;
- listen_addr.sin_port = htons(5000);
- server.listen_addr = &listen_addr;
- server.handle_request = handle_request;
-
- // ignore SIGPIPE
- struct sigaction on_sigpipe;
- on_sigpipe.sa_handler = SIG_IGN;
- sigemptyset(&on_sigpipe.sa_mask);
- sigaction(SIGPIPE, &on_sigpipe, NULL);
-
- // handle C-c
- struct sigaction on_sigint;
- on_sigint.sa_handler = sigint_handler;
- sigemptyset(&on_sigint.sa_mask);
- on_sigint.sa_flags = 0;
- sigaction(SIGINT, &on_sigint, NULL);
+ struct mg_callbacks callbacks;
+ const char *options[] = {
+ "listening_ports", "8080",
+ "document_root", "wwwroot",
+ NULL};
+
+ memset(&callbacks, 0, sizeof(callbacks));
+ callbacks.begin_request = begin_request_handler;
+
// Routing
web_handler.push_front(std::make_pair(
- boost::regex("/"),
- [](const boost::cmatch &match, const struct http_request *request, const int fd){
- send_file("index.html", fd);
- }));
- web_handler.push_front(std::make_pair(
- boost::regex("/public/(.+)"),
- [](const boost::cmatch &match, const struct http_request *request, const int fd){
- /// XXX possible directory traversion
- std::string path("public/" + match[1].str());
- send_file(path.c_str(), fd);
- }));
- web_handler.push_front(std::make_pair(
boost::regex("/api/value/([a-zA-Z0-9]+)/([0-9]+)"),
web_handle_api_value));
web_handler.push_front(std::make_pair(
@@ -257,6 +230,19 @@ int main(int argc, char **argv) {
magic_cookie = magic_open(MAGIC_MIME_TYPE);
magic_load(magic_cookie, NULL);
- // start the server
- return http_server_loop(&server);
+
+ // Signals: handle C-c
+ struct sigaction on_sigint;
+ on_sigint.sa_handler = sigint_handler;
+ sigemptyset(&on_sigint.sa_mask);
+ on_sigint.sa_flags = 0;
+
+ sigaction(SIGINT, &on_sigint, NULL);
+
+
+ // Start the web server.
+ ctx = mg_start(&callbacks, NULL, options);
+
+ while (1) sleep(1);
+ return 1;
}
diff --git a/datastore-leveldb/index.html b/datastore-leveldb/wwwroot/index.html
index f60e516..f60e516 100644
--- a/datastore-leveldb/index.html
+++ b/datastore-leveldb/wwwroot/index.html
diff --git a/datastore-leveldb/public/control.html b/datastore-leveldb/wwwroot/public/control.html
index db9e7b8..db9e7b8 100644
--- a/datastore-leveldb/public/control.html
+++ b/datastore-leveldb/wwwroot/public/control.html
diff --git a/datastore-leveldb/public/css/stylesheet.css b/datastore-leveldb/wwwroot/public/css/stylesheet.css
index f114bc7..f114bc7 100644
--- a/datastore-leveldb/public/css/stylesheet.css
+++ b/datastore-leveldb/wwwroot/public/css/stylesheet.css
diff --git a/datastore-leveldb/public/draw.svg b/datastore-leveldb/wwwroot/public/draw.svg
index e3c46b5..e3c46b5 100644
--- a/datastore-leveldb/public/draw.svg
+++ b/datastore-leveldb/wwwroot/public/draw.svg
diff --git a/datastore-leveldb/public/lib/d3-v2.6.1/d3.js b/datastore-leveldb/wwwroot/public/lib/d3-v2.6.1/d3.js
index d71f57d..d71f57d 100644
--- a/datastore-leveldb/public/lib/d3-v2.6.1/d3.js
+++ b/datastore-leveldb/wwwroot/public/lib/d3-v2.6.1/d3.js
diff --git a/datastore-leveldb/public/lib/d3-v2.6.1/d3.time.js b/datastore-leveldb/wwwroot/public/lib/d3-v2.6.1/d3.time.js
index 4c1cda4..4c1cda4 100644
--- a/datastore-leveldb/public/lib/d3-v2.6.1/d3.time.js
+++ b/datastore-leveldb/wwwroot/public/lib/d3-v2.6.1/d3.time.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/API.txt b/datastore-leveldb/wwwroot/public/lib/flot-0.7/API.txt
index 8a8dbc2..8a8dbc2 100644
--- a/datastore-leveldb/public/lib/flot-0.7/API.txt
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/API.txt
diff --git a/datastore-leveldb/public/lib/flot-0.7/FAQ.txt b/datastore-leveldb/wwwroot/public/lib/flot-0.7/FAQ.txt
index e02b761..e02b761 100644
--- a/datastore-leveldb/public/lib/flot-0.7/FAQ.txt
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/FAQ.txt
diff --git a/datastore-leveldb/public/lib/flot-0.7/LICENSE.txt b/datastore-leveldb/wwwroot/public/lib/flot-0.7/LICENSE.txt
index 07d5b20..07d5b20 100644
--- a/datastore-leveldb/public/lib/flot-0.7/LICENSE.txt
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/LICENSE.txt
diff --git a/datastore-leveldb/public/lib/flot-0.7/Makefile b/datastore-leveldb/wwwroot/public/lib/flot-0.7/Makefile
index b300f1a..b300f1a 100644
--- a/datastore-leveldb/public/lib/flot-0.7/Makefile
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/Makefile
diff --git a/datastore-leveldb/public/lib/flot-0.7/NEWS.txt b/datastore-leveldb/wwwroot/public/lib/flot-0.7/NEWS.txt
index 5f8e1a0..5f8e1a0 100644
--- a/datastore-leveldb/public/lib/flot-0.7/NEWS.txt
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/NEWS.txt
diff --git a/datastore-leveldb/public/lib/flot-0.7/PLUGINS.txt b/datastore-leveldb/wwwroot/public/lib/flot-0.7/PLUGINS.txt
index af3d90b..af3d90b 100644
--- a/datastore-leveldb/public/lib/flot-0.7/PLUGINS.txt
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/PLUGINS.txt
diff --git a/datastore-leveldb/public/lib/flot-0.7/README.txt b/datastore-leveldb/wwwroot/public/lib/flot-0.7/README.txt
index 1e49787..1e49787 100644
--- a/datastore-leveldb/public/lib/flot-0.7/README.txt
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/README.txt
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/ajax.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/ajax.html
index 9b5ec85..9b5ec85 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/ajax.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/ajax.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/annotating.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/annotating.html
index 72c212b..72c212b 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/annotating.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/annotating.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-down.gif b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-down.gif
index e239d11..e239d11 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-down.gif
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-down.gif
Binary files differ
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-left.gif b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-left.gif
index 93ffd5a..93ffd5a 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-left.gif
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-left.gif
Binary files differ
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-right.gif b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-right.gif
index 5fd0530..5fd0530 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-right.gif
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-right.gif
Binary files differ
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-up.gif b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-up.gif
index 7d19626..7d19626 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/arrow-up.gif
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/arrow-up.gif
Binary files differ
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/basic.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/basic.html
index b116d94..b116d94 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/basic.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/basic.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-1.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-1.json
index 51952cf..51952cf 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-1.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-1.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-2.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-2.json
index 82004d6..82004d6 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-2.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-2.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-3.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-3.json
index 8684479..8684479 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-3.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-3.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-4.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-4.json
index b363578..b363578 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-4.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-4.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-5.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-5.json
index a7e1e13..a7e1e13 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth-5.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth-5.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth.json
index a7e1e13..a7e1e13 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-eu-gdp-growth.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-eu-gdp-growth.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-japan-gdp-growth.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-japan-gdp-growth.json
index 855477c..855477c 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-japan-gdp-growth.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-japan-gdp-growth.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/data-usa-gdp-growth.json b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-usa-gdp-growth.json
index 33f66c6..33f66c6 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/data-usa-gdp-growth.json
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/data-usa-gdp-growth.json
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/graph-types.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/graph-types.html
index dd21a31..dd21a31 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/graph-types.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/graph-types.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/hs-2004-27-a-large_web.jpg b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/hs-2004-27-a-large_web.jpg
index a1d5c05..a1d5c05 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/hs-2004-27-a-large_web.jpg
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/hs-2004-27-a-large_web.jpg
Binary files differ
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/image.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/image.html
index 073ad43..073ad43 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/image.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/image.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/index.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/index.html
index f24f750..f24f750 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/index.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/index.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/interacting-axes.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/interacting-axes.html
index 5b6e3bb..5b6e3bb 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/interacting-axes.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/interacting-axes.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/interacting.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/interacting.html
index d04eedd..d04eedd 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/interacting.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/interacting.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/layout.css b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/layout.css
index 7ef7dd4..7ef7dd4 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/layout.css
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/layout.css
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/multiple-axes.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/multiple-axes.html
index 4b32e64..4b32e64 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/multiple-axes.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/multiple-axes.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/navigate.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/navigate.html
index c916ef2..c916ef2 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/navigate.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/navigate.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/percentiles.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/percentiles.html
index 9f2ba3a..9f2ba3a 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/percentiles.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/percentiles.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/pie.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/pie.html
index 8f51411..8f51411 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/pie.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/pie.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/realtime.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/realtime.html
index 3b427e1..3b427e1 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/realtime.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/realtime.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/resize.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/resize.html
index d1e18c3..d1e18c3 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/resize.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/resize.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/selection.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/selection.html
index 1646f5a..1646f5a 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/selection.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/selection.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/setting-options.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/setting-options.html
index 8d1967e..8d1967e 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/setting-options.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/setting-options.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/stacking.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/stacking.html
index b7de391..b7de391 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/stacking.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/stacking.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/symbols.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/symbols.html
index e71b1aa..e71b1aa 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/symbols.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/symbols.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/thresholding.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/thresholding.html
index f10144a..f10144a 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/thresholding.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/thresholding.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/time.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/time.html
index da62347..da62347 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/time.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/time.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/tracking.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/tracking.html
index c116159..c116159 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/tracking.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/tracking.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/turning-series.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/turning-series.html
index bc6fd9f..bc6fd9f 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/turning-series.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/turning-series.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/visitors.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/visitors.html
index 8a9d4d7..8a9d4d7 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/visitors.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/visitors.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/examples/zooming.html b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/zooming.html
index 9a4ef22..9a4ef22 100644
--- a/datastore-leveldb/public/lib/flot-0.7/examples/zooming.html
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/examples/zooming.html
diff --git a/datastore-leveldb/public/lib/flot-0.7/excanvas.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/excanvas.js
index c40d6f7..c40d6f7 100644
--- a/datastore-leveldb/public/lib/flot-0.7/excanvas.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/excanvas.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/excanvas.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/excanvas.min.js
index 12c74f7..12c74f7 100644
--- a/datastore-leveldb/public/lib/flot-0.7/excanvas.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/excanvas.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.colorhelpers.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.colorhelpers.js
index d3524d7..d3524d7 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.colorhelpers.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.colorhelpers.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.colorhelpers.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.colorhelpers.min.js
index 7f44c57..7f44c57 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.colorhelpers.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.colorhelpers.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.crosshair.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.crosshair.js
index 1d433f0..1d433f0 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.crosshair.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.crosshair.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.crosshair.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.crosshair.min.js
index ccaf240..ccaf240 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.crosshair.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.crosshair.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.fillbetween.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.fillbetween.js
index 69700e7..69700e7 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.fillbetween.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.fillbetween.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.fillbetween.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.fillbetween.min.js
index 47f3dfb..47f3dfb 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.fillbetween.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.fillbetween.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.image.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.image.js
index 29ccb12..29ccb12 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.image.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.image.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.image.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.image.min.js
index 9480c1e..9480c1e 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.image.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.image.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.js
index aabc544..aabc544 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.min.js
index 4467fc5..4467fc5 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.navigate.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.navigate.js
index f2b9760..f2b9760 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.navigate.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.navigate.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.navigate.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.navigate.min.js
index ecf63c9..ecf63c9 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.navigate.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.navigate.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.pie.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.pie.js
index 70941dd..70941dd 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.pie.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.pie.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.pie.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.pie.min.js
index b7bf870..b7bf870 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.pie.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.pie.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.resize.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.resize.js
index 69dfb24..69dfb24 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.resize.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.resize.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.resize.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.resize.min.js
index 1fa0771..1fa0771 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.resize.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.resize.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.selection.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.selection.js
index 7f7b326..7f7b326 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.selection.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.selection.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.selection.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.selection.min.js
index badc005..badc005 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.selection.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.selection.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.stack.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.stack.js
index a31d5dc..a31d5dc 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.stack.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.stack.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.stack.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.stack.min.js
index bba2a0e..bba2a0e 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.stack.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.stack.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.symbol.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.symbol.js
index a32fe31..a32fe31 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.symbol.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.symbol.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.symbol.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.symbol.min.js
index 272e003..272e003 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.symbol.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.symbol.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.threshold.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.threshold.js
index 0b2e7ac..0b2e7ac 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.threshold.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.threshold.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.threshold.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.threshold.min.js
index d8b79df..d8b79df 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.flot.threshold.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.flot.threshold.min.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.js
index 78fcfa4..78fcfa4 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.js
diff --git a/datastore-leveldb/public/lib/flot-0.7/jquery.min.js b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.min.js
index 6422523..6422523 100644
--- a/datastore-leveldb/public/lib/flot-0.7/jquery.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/flot-0.7/jquery.min.js
diff --git a/datastore-leveldb/public/lib/jquery-1.6.2/jquery-1.6.2.js b/datastore-leveldb/wwwroot/public/lib/jquery-1.6.2/jquery-1.6.2.js
index f3201aa..f3201aa 100644
--- a/datastore-leveldb/public/lib/jquery-1.6.2/jquery-1.6.2.js
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-1.6.2/jquery-1.6.2.js
diff --git a/datastore-leveldb/public/lib/jquery-1.6.2/jquery-1.6.2.min.js b/datastore-leveldb/wwwroot/public/lib/jquery-1.6.2/jquery-1.6.2.min.js
index 48590ec..48590ec 100644
--- a/datastore-leveldb/public/lib/jquery-1.6.2/jquery-1.6.2.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-1.6.2/jquery-1.6.2.min.js
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_0_aaaaaa_40x100.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_0_aaaaaa_40x100.png
index 5b5dab2..5b5dab2 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_0_aaaaaa_40x100.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_0_aaaaaa_40x100.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_75_ffffff_40x100.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_75_ffffff_40x100.png
index ac8b229..ac8b229 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_75_ffffff_40x100.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_flat_75_ffffff_40x100.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_55_fbf9ee_1x400.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_55_fbf9ee_1x400.png
index ad3d634..ad3d634 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_55_fbf9ee_1x400.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_55_fbf9ee_1x400.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_65_ffffff_1x400.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_65_ffffff_1x400.png
index 42ccba2..42ccba2 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_65_ffffff_1x400.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_65_ffffff_1x400.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_dadada_1x400.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_dadada_1x400.png
index 5a46b47..5a46b47 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_dadada_1x400.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_dadada_1x400.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_e6e6e6_1x400.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_e6e6e6_1x400.png
index 86c2baa..86c2baa 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_e6e6e6_1x400.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_75_e6e6e6_1x400.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_95_fef1ec_1x400.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_95_fef1ec_1x400.png
index 4443fdc..4443fdc 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_95_fef1ec_1x400.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_glass_95_fef1ec_1x400.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_highlight-soft_75_cccccc_1x100.png
index 7c9fa6c..7c9fa6c 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-bg_highlight-soft_75_cccccc_1x100.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-bg_highlight-soft_75_cccccc_1x100.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_222222_256x240.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_222222_256x240.png
index b273ff1..b273ff1 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_222222_256x240.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_2e83ff_256x240.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_2e83ff_256x240.png
index 09d1cdc..09d1cdc 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_2e83ff_256x240.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_2e83ff_256x240.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_454545_256x240.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_454545_256x240.png
index 59bd45b..59bd45b 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_454545_256x240.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_454545_256x240.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_888888_256x240.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_888888_256x240.png
index 6d02426..6d02426 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_888888_256x240.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_888888_256x240.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_cd0a0a_256x240.png b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_cd0a0a_256x240.png
index 2ab019b..2ab019b 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/images/ui-icons_cd0a0a_256x240.png
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/images/ui-icons_cd0a0a_256x240.png
Binary files differ
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.css b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.css
index ad212da..ad212da 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.css
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.css
diff --git a/datastore-leveldb/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.min.js b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.min.js
index f9e4f1e..f9e4f1e 100644
--- a/datastore-leveldb/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.min.js
+++ b/datastore-leveldb/wwwroot/public/lib/jquery-ui-1.8.14/jquery-ui-1.8.14.custom.min.js
diff --git a/datastore-leveldb/public/src/d3.control.js b/datastore-leveldb/wwwroot/public/src/d3.control.js
index 489edea..489edea 100644
--- a/datastore-leveldb/public/src/d3.control.js
+++ b/datastore-leveldb/wwwroot/public/src/d3.control.js
diff --git a/datastore-leveldb/public/src/d3.plot.js b/datastore-leveldb/wwwroot/public/src/d3.plot.js
index d9a7d04..d9a7d04 100644
--- a/datastore-leveldb/public/src/d3.plot.js
+++ b/datastore-leveldb/wwwroot/public/src/d3.plot.js
diff --git a/datastore-leveldb/public/src/ebus.js b/datastore-leveldb/wwwroot/public/src/ebus.js
index 27802a9..27802a9 100644
--- a/datastore-leveldb/public/src/ebus.js
+++ b/datastore-leveldb/wwwroot/public/src/ebus.js