Demo for query storing

Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/to-absolute-glob/LICENSE b/node_modules/to-absolute-glob/LICENSE
new file mode 100644
index 0000000..6525171
--- /dev/null
+++ b/node_modules/to-absolute-glob/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015-2016, Jon Schlinkert
+
+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.
diff --git a/node_modules/to-absolute-glob/index.js b/node_modules/to-absolute-glob/index.js
new file mode 100644
index 0000000..268fc47
--- /dev/null
+++ b/node_modules/to-absolute-glob/index.js
@@ -0,0 +1,70 @@
+'use strict';
+
+var path = require('path');
+var isNegated = require('is-negated-glob');
+var isAbsolute = require('is-absolute');
+
+module.exports = function(glob, options) {
+  // default options
+  var opts = options || {};
+
+  // ensure cwd is absolute
+  var cwd = path.resolve(opts.cwd ? opts.cwd : process.cwd());
+  cwd = unixify(cwd);
+
+  var rootDir = opts.root;
+  // if `options.root` is defined, ensure it's absolute
+  if (rootDir) {
+    rootDir = unixify(rootDir);
+    if (process.platform === 'win32' || !isAbsolute(rootDir)) {
+      rootDir = unixify(path.resolve(rootDir));
+    }
+  }
+
+  // trim starting ./ from glob patterns
+  if (glob.slice(0, 2) === './') {
+    glob = glob.slice(2);
+  }
+
+  // when the glob pattern is only a . use an empty string
+  if (glob.length === 1 && glob === '.') {
+    glob = '';
+  }
+
+  // store last character before glob is modified
+  var suffix = glob.slice(-1);
+
+  // check to see if glob is negated (and not a leading negated-extglob)
+  var ing = isNegated(glob);
+  glob = ing.pattern;
+
+  // make glob absolute
+  if (rootDir && glob.charAt(0) === '/') {
+    glob = join(rootDir, glob);
+  } else if (!isAbsolute(glob) || glob.slice(0, 1) === '\\') {
+    glob = join(cwd, glob);
+  }
+
+  // if glob had a trailing `/`, re-add it now in case it was removed
+  if (suffix === '/' && glob.slice(-1) !== '/') {
+    glob += '/';
+  }
+
+  // re-add leading `!` if it was removed
+  return ing.negated ? '!' + glob : glob;
+};
+
+function unixify(filepath) {
+  return filepath.replace(/\\/g, '/');
+}
+
+function join(dir, glob) {
+  if (dir.charAt(dir.length - 1) === '/') {
+    dir = dir.slice(0, -1);
+  }
+  if (glob.charAt(0) === '/') {
+    glob = glob.slice(1);
+  }
+  if (!glob) return dir;
+  return dir + '/' + glob;
+}
diff --git a/node_modules/to-absolute-glob/package.json b/node_modules/to-absolute-glob/package.json
new file mode 100644
index 0000000..034d9bd
--- /dev/null
+++ b/node_modules/to-absolute-glob/package.json
@@ -0,0 +1,118 @@
+{
+  "_from": "to-absolute-glob@^2.0.0",
+  "_id": "to-absolute-glob@2.0.2",
+  "_inBundle": false,
+  "_integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
+  "_location": "/to-absolute-glob",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "range",
+    "registry": true,
+    "raw": "to-absolute-glob@^2.0.0",
+    "name": "to-absolute-glob",
+    "escapedName": "to-absolute-glob",
+    "rawSpec": "^2.0.0",
+    "saveSpec": null,
+    "fetchSpec": "^2.0.0"
+  },
+  "_requiredBy": [
+    "/glob-stream"
+  ],
+  "_resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
+  "_shasum": "1865f43d9e74b0822db9f145b78cff7d0f7c849b",
+  "_spec": "to-absolute-glob@^2.0.0",
+  "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\glob-stream",
+  "author": {
+    "name": "Jon Schlinkert",
+    "url": "https://github.com/jonschlinkert"
+  },
+  "bugs": {
+    "url": "https://github.com/jonschlinkert/to-absolute-glob/issues"
+  },
+  "bundleDependencies": false,
+  "contributors": [
+    {
+      "name": "Blaine Bublitz",
+      "email": "blaine.bublitz@gmail.com",
+      "url": "https://twitter.com/BlaineBublitz"
+    },
+    {
+      "name": "Brian Woodward",
+      "email": "brian.woodward@gmail.com",
+      "url": "https://github.com/doowb"
+    },
+    {
+      "name": "Erik Kemperman",
+      "url": "https://github.com/erikkemperman"
+    },
+    {
+      "name": "Jon Schlinkert",
+      "email": "jon.schlinkert@sellside.com",
+      "url": "http://twitter.com/jonschlinkert"
+    }
+  ],
+  "dependencies": {
+    "is-absolute": "^1.0.0",
+    "is-negated-glob": "^1.0.0"
+  },
+  "deprecated": false,
+  "description": "Make a glob pattern absolute, ensuring that negative globs and patterns with trailing slashes are correctly handled.",
+  "devDependencies": {
+    "gulp-format-md": "^0.1.11",
+    "mocha": "^3.0.2"
+  },
+  "engines": {
+    "node": ">=0.10.0"
+  },
+  "files": [
+    "index.js"
+  ],
+  "homepage": "https://github.com/jonschlinkert/to-absolute-glob",
+  "keywords": [
+    "absolute",
+    "file",
+    "filepath",
+    "glob",
+    "negate",
+    "negative",
+    "path",
+    "pattern",
+    "resolve",
+    "to"
+  ],
+  "license": "MIT",
+  "main": "index.js",
+  "name": "to-absolute-glob",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/jonschlinkert/to-absolute-glob.git"
+  },
+  "scripts": {
+    "test": "mocha"
+  },
+  "verb": {
+    "toc": false,
+    "layout": "default",
+    "tasks": [
+      "readme"
+    ],
+    "plugins": [
+      "gulp-format-md"
+    ],
+    "lint": {
+      "reflinks": true
+    },
+    "related": {
+      "list": [
+        "has-glob",
+        "is-glob",
+        "is-valid-glob"
+      ]
+    },
+    "reflinks": [
+      "verb",
+      "verb-generate-readme"
+    ]
+  },
+  "version": "2.0.2"
+}
diff --git a/node_modules/to-absolute-glob/readme.md b/node_modules/to-absolute-glob/readme.md
new file mode 100644
index 0000000..d93fbed
--- /dev/null
+++ b/node_modules/to-absolute-glob/readme.md
@@ -0,0 +1,155 @@
+# to-absolute-glob [![NPM version](https://img.shields.io/npm/v/to-absolute-glob.svg?style=flat)](https://www.npmjs.com/package/to-absolute-glob) [![NPM downloads](https://img.shields.io/npm/dm/to-absolute-glob.svg?style=flat)](https://npmjs.org/package/to-absolute-glob) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/to-absolute-glob.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/to-absolute-glob) [![Windows Build Status](https://img.shields.io/appveyor/ci/jonschlinkert/to-absolute-glob.svg?style=flat&label=AppVeyor)](https://ci.appveyor.com/project/jonschlinkert/to-absolute-glob)
+
+> Make a glob pattern absolute, ensuring that negative globs and patterns with trailing slashes are correctly handled.
+
+## Install
+
+Install with [npm](https://www.npmjs.com/):
+
+```sh
+$ npm install --save to-absolute-glob
+```
+
+## Usage
+
+```js
+var toAbsGlob = require('to-absolute-glob');
+toAbsGlob('a/*.js');
+//=> '/dev/foo/a/*.js'
+```
+
+## Examples
+
+Given the current project folder (cwd) is `/dev/foo/`:
+
+**makes a path absolute**
+
+```js
+toAbsGlob('a');
+//=> '/dev/foo/a'
+```
+
+**makes a glob absolute**
+
+```js
+toAbsGlob('a/*.js');
+//=> '/dev/foo/a/*.js'
+```
+
+**retains trailing slashes**
+
+```js
+toAbsGlob('a/*/');
+//=> '/dev/foo/a/*/'
+```
+
+**retains trailing slashes with cwd**
+
+```js
+toAbsGlob('./fixtures/whatsgoingon/*/', {cwd: __dirname});
+//=> '/dev/foo/'
+```
+
+**makes a negative glob absolute**
+
+```js
+toAbsGlob('!a/*.js');
+//=> '!/dev/foo/a/*.js'
+```
+
+**from a cwd**
+
+```js
+toAbsGlob('a/*.js', {cwd: 'foo'});
+//=> '/dev/foo/foo/a/*.js'
+```
+
+**makes a negative glob absolute from a cwd**
+
+```js
+toAbsGlob('!a/*.js', {cwd: 'foo'});
+//=> '!/dev/foo/foo/a/*.js'
+```
+
+**from a root path**
+
+```js
+toAbsGlob('/a/*.js', {root: 'baz'});
+//=> '/dev/foo/baz/a/*.js'
+```
+
+**from a root slash**
+
+```js
+toAbsGlob('/a/*.js', {root: '/'});
+//=> '/dev/foo/a/*.js'
+```
+
+**from a negative root path**
+
+```js
+toAbsGlob('!/a/*.js', {root: 'baz'});
+//=> '!/dev/foo/baz/a/*.js'
+```
+
+**from a negative root slash**
+
+```js
+toAbsGlob('!/a/*.js', {root: '/'});
+//=> '!/dev/foo/a/*.js'
+```
+
+## About
+
+### Related projects
+
+* [has-glob](https://www.npmjs.com/package/has-glob): Returns `true` if an array has a glob pattern. | [homepage](https://github.com/jonschlinkert/has-glob "Returns `true` if an array has a glob pattern.")
+* [is-glob](https://www.npmjs.com/package/is-glob): Returns `true` if the given string looks like a glob pattern or an extglob pattern… [more](https://github.com/jonschlinkert/is-glob) | [homepage](https://github.com/jonschlinkert/is-glob "Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a bet")
+* [is-valid-glob](https://www.npmjs.com/package/is-valid-glob): Return true if a value is a valid glob pattern or patterns. | [homepage](https://github.com/jonschlinkert/is-valid-glob "Return true if a value is a valid glob pattern or patterns.")
+
+### Contributing
+
+Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
+
+### Contributors
+
+| **Commits** | **Contributor**<br/> | 
+| --- | --- |
+| 16 | [doowb](https://github.com/doowb) |
+| 15 | [jonschlinkert](https://github.com/jonschlinkert) |
+| 1 | [phated](https://github.com/phated) |
+| 1 | [erikkemperman](https://github.com/erikkemperman) |
+
+### Building docs
+
+_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_
+
+To generate the readme and API documentation with [verb](https://github.com/verbose/verb):
+
+```sh
+$ npm install -g verb verb-generate-readme && verb
+```
+
+### Running tests
+
+Install dev dependencies:
+
+```sh
+$ npm install -d && npm test
+```
+
+### Author
+
+**Jon Schlinkert**
+
+* [github/jonschlinkert](https://github.com/jonschlinkert)
+* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
+
+### License
+
+Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
+Released under the [MIT license](https://github.com/jonschlinkert/to-absolute-glob/blob/master/LICENSE).
+
+***
+
+_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 17, 2016._
\ No newline at end of file