Mobrovac has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/358773 )

Change subject: Update restbase to 5a29491
......................................................................

Update restbase to 5a29491

List of changes:
3de5e1d Update dependencies
f212775 User 0.5 version of swagger-test and change the ontisday schema test 
date
5a29491 Add Citoid and MobileApps paths; release v0.16.7
xxxxxxx Update node module dependencies

Change-Id: Iab881bbede4344e1b41145c05597c60fb07ddc22
---
M node_modules/balanced-match/index.js
M node_modules/balanced-match/package.json
M node_modules/brace-expansion/package.json
M node_modules/content-type/package.json
M node_modules/dtrace-provider/package.json
M node_modules/dtrace-provider/scripts/install.js
D node_modules/heapdump/.clang-format
D node_modules/heapdump/.npmignore
D node_modules/heapdump/LICENSE
D node_modules/heapdump/binding.gyp
D node_modules/heapdump/build/Makefile
D node_modules/heapdump/build/Release/.deps/Release/addon.node.d
D node_modules/heapdump/build/Release/.deps/Release/obj.target/addon.node.d
D 
node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
D node_modules/heapdump/build/Release/addon.node
D node_modules/heapdump/build/Release/obj.target/addon.node
D node_modules/heapdump/build/Release/obj.target/addon/src/heapdump.o
D node_modules/heapdump/build/addon.target.mk
D node_modules/heapdump/build/binding.Makefile
D node_modules/heapdump/build/config.gypi
D node_modules/heapdump/lib/main.js
D node_modules/heapdump/package.json
D node_modules/heapdump/src/compat-inl.h
D node_modules/heapdump/src/compat.h
D node_modules/heapdump/src/heapdump-posix.h
D node_modules/heapdump/src/heapdump-win32.h
D node_modules/heapdump/src/heapdump.cc
D node_modules/heapdump/test/test-callback-without-filename.js
D node_modules/heapdump/test/test-callback.js
D node_modules/heapdump/test/test-sigusr2.js
M node_modules/json-stable-stringify/package.json
M node_modules/jsonwebtoken/package.json
M node_modules/kad/package.json
M node_modules/service-runner/package.json
M node_modules/swagger-ui/package.json
M restbase
36 files changed, 76 insertions(+), 2,004 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/restbase/deploy 
refs/changes/73/358773/1

diff --git a/node_modules/balanced-match/index.js 
b/node_modules/balanced-match/index.js
index e8d8587..1685a76 100644
--- a/node_modules/balanced-match/index.js
+++ b/node_modules/balanced-match/index.js
@@ -1,3 +1,4 @@
+'use strict';
 module.exports = balanced;
 function balanced(a, b, str) {
   if (a instanceof RegExp) a = maybeMatch(a, str);
diff --git a/node_modules/balanced-match/package.json 
b/node_modules/balanced-match/package.json
index 567edf8..44ed568 100644
--- a/node_modules/balanced-match/package.json
+++ b/node_modules/balanced-match/package.json
@@ -2,48 +2,48 @@
   "_args": [
     [
       {
-        "raw": "balanced-match@^0.4.1",
+        "raw": "balanced-match@^1.0.0",
         "scope": null,
         "escapedName": "balanced-match",
         "name": "balanced-match",
-        "rawSpec": "^0.4.1",
-        "spec": ">=0.4.1 <0.5.0",
+        "rawSpec": "^1.0.0",
+        "spec": ">=1.0.0 <2.0.0",
         "type": "range"
       },
       "/opt/service/node_modules/brace-expansion"
     ]
   ],
-  "_from": "balanced-match@>=0.4.1 <0.5.0",
-  "_id": "balanced-match@0.4.2",
+  "_from": "balanced-match@>=1.0.0 <2.0.0",
+  "_id": "balanced-match@1.0.0",
   "_inCache": true,
   "_location": "/balanced-match",
-  "_nodeVersion": "4.4.7",
+  "_nodeVersion": "7.8.0",
   "_npmOperationalInternal": {
-    "host": "packages-16-east.internal.npmjs.com",
-    "tmp": "tmp/balanced-match-0.4.2.tgz_1468834991581_0.6590619895141572"
+    "host": "s3://npm-registry-packages",
+    "tmp": "tmp/balanced-match-1.0.0.tgz_1497251909645_0.8755026108119637"
   },
   "_npmUser": {
     "name": "juliangruber",
     "email": "jul...@juliangruber.com"
   },
-  "_npmVersion": "2.15.8",
+  "_npmVersion": "4.2.0",
   "_phantomChildren": {},
   "_requested": {
-    "raw": "balanced-match@^0.4.1",
+    "raw": "balanced-match@^1.0.0",
     "scope": null,
     "escapedName": "balanced-match",
     "name": "balanced-match",
-    "rawSpec": "^0.4.1",
-    "spec": ">=0.4.1 <0.5.0",
+    "rawSpec": "^1.0.0",
+    "spec": ">=1.0.0 <2.0.0",
     "type": "range"
   },
   "_requiredBy": [
     "/brace-expansion"
   ],
-  "_resolved": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";,
-  "_shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
+  "_resolved": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";,
+  "_shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
   "_shrinkwrap": null,
-  "_spec": "balanced-match@^0.4.1",
+  "_spec": "balanced-match@^1.0.0",
   "_where": "/opt/service/node_modules/brace-expansion",
   "author": {
     "name": "Julian Gruber",
@@ -56,14 +56,15 @@
   "dependencies": {},
   "description": "Match balanced character pairs, like \"{\" and \"}\"",
   "devDependencies": {
+    "matcha": "^0.7.0",
     "tape": "^4.6.0"
   },
   "directories": {},
   "dist": {
-    "shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
-    "tarball": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
+    "shasum": "89b4d199ab2bee49de164ea02b89ce462d71b767",
+    "tarball": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
   },
-  "gitHead": "57c2ea29d89a2844ae3bdcc637c6e2cbb73725e2",
+  "gitHead": "d701a549a7653a874eebce7eca25d3577dc868ac",
   "homepage": "https://github.com/juliangruber/balanced-match";,
   "keywords": [
     "match",
@@ -88,6 +89,7 @@
     "url": "git://github.com/juliangruber/balanced-match.git"
   },
   "scripts": {
+    "bench": "make bench",
     "test": "make test"
   },
   "testling": {
@@ -106,5 +108,5 @@
       "android-browser/4.2..latest"
     ]
   },
-  "version": "0.4.2"
+  "version": "1.0.0"
 }
diff --git a/node_modules/brace-expansion/package.json 
b/node_modules/brace-expansion/package.json
index 58c702c..ac69767 100644
--- a/node_modules/brace-expansion/package.json
+++ b/node_modules/brace-expansion/package.json
@@ -14,13 +14,13 @@
     ]
   ],
   "_from": "brace-expansion@>=1.1.7 <2.0.0",
-  "_id": "brace-expansion@1.1.7",
+  "_id": "brace-expansion@1.1.8",
   "_inCache": true,
   "_location": "/brace-expansion",
   "_nodeVersion": "7.8.0",
   "_npmOperationalInternal": {
-    "host": "packages-12-west.internal.npmjs.com",
-    "tmp": "tmp/brace-expansion-1.1.7.tgz_1491552830231_0.7213963181711733"
+    "host": "s3://npm-registry-packages",
+    "tmp": "tmp/brace-expansion-1.1.8.tgz_1497251980593_0.6575565172825009"
   },
   "_npmUser": {
     "name": "juliangruber",
@@ -40,8 +40,8 @@
   "_requiredBy": [
     "/minimatch"
   ],
-  "_resolved": 
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz";,
-  "_shasum": "3effc3c50e000531fb720eaff80f0ae8ef23cf59",
+  "_resolved": 
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";,
+  "_shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
   "_shrinkwrap": null,
   "_spec": "brace-expansion@^1.1.7",
   "_where": "/opt/service/node_modules/minimatch",
@@ -54,7 +54,7 @@
     "url": "https://github.com/juliangruber/brace-expansion/issues";
   },
   "dependencies": {
-    "balanced-match": "^0.4.1",
+    "balanced-match": "^1.0.0",
     "concat-map": "0.0.1"
   },
   "description": "Brace expansion as known from sh/bash",
@@ -64,10 +64,10 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "3effc3c50e000531fb720eaff80f0ae8ef23cf59",
-    "tarball": 
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz";
+    "shasum": "c07b211c7c952ec1f8efd51a77ef0d1d3990a292",
+    "tarball": 
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
   },
-  "gitHead": "892512024872ca7680554be90f6e8ce065053372",
+  "gitHead": "8f59e68bd5c915a0d624e8e39354e1ccf672edf6",
   "homepage": "https://github.com/juliangruber/brace-expansion";,
   "keywords": [],
   "license": "MIT",
@@ -110,5 +110,5 @@
       "android-browser/4.2..latest"
     ]
   },
-  "version": "1.1.7"
+  "version": "1.1.8"
 }
diff --git a/node_modules/content-type/package.json 
b/node_modules/content-type/package.json
index 0146b1b..1d436cf 100644
--- a/node_modules/content-type/package.json
+++ b/node_modules/content-type/package.json
@@ -49,7 +49,7 @@
     "/"
   ],
   "_resolved": 
"git+https://github.com/wikimedia/content-type.git#47b2632d0a2ee79a7d67268e2f6621becd95d05b";,
-  "_shasum": "a0755316cbe6a62e77a6d7d5f01d0d0f2fd52aee",
+  "_shasum": "d72ad7b091645dfaca87ba3232df0a5b20decd61",
   "_shrinkwrap": null,
   "_spec": 
"content-type@git+https://github.com/wikimedia/content-type.git#master";,
   "_where": "/opt/service",
diff --git a/node_modules/dtrace-provider/package.json 
b/node_modules/dtrace-provider/package.json
index e7461d8..2fe9c80 100644
--- a/node_modules/dtrace-provider/package.json
+++ b/node_modules/dtrace-provider/package.json
@@ -14,19 +14,19 @@
     ]
   ],
   "_from": "dtrace-provider@>=0.8.0 <0.9.0",
-  "_id": "dtrace-provider@0.8.2",
+  "_id": "dtrace-provider@0.8.3",
   "_inCache": true,
   "_location": "/dtrace-provider",
-  "_nodeVersion": "4.8.1",
+  "_nodeVersion": "0.10.46",
   "_npmOperationalInternal": {
     "host": "s3://npm-registry-packages",
-    "tmp": "tmp/dtrace-provider-0.8.2.tgz_1495850413417_0.22524780873209238"
+    "tmp": "tmp/dtrace-provider-0.8.3.tgz_1497313943792_0.2225570201408118"
   },
   "_npmUser": {
     "name": "melloc",
     "email": "cody.me...@joyent.com"
   },
-  "_npmVersion": "2.15.11",
+  "_npmVersion": "2.15.1",
   "_phantomChildren": {},
   "_requested": {
     "raw": "dtrace-provider@~0.8",
@@ -40,8 +40,8 @@
   "_requiredBy": [
     "/bunyan"
   ],
-  "_resolved": 
"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.2.tgz";,
-  "_shasum": "f067c2773f15da1b61eb20dbc96aa1cabb3330bc",
+  "_resolved": 
"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.3.tgz";,
+  "_shasum": "ba1bfc6493285ccfcfc6ab69cd5c61d74c2a43bf",
   "_shrinkwrap": null,
   "_spec": "dtrace-provider@~0.8",
   "_where": "/opt/service/node_modules/bunyan",
@@ -61,13 +61,13 @@
   },
   "directories": {},
   "dist": {
-    "shasum": "f067c2773f15da1b61eb20dbc96aa1cabb3330bc",
-    "tarball": 
"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.2.tgz";
+    "shasum": "ba1bfc6493285ccfcfc6ab69cd5c61d74c2a43bf",
+    "tarball": 
"https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.3.tgz";
   },
   "engines": {
     "node": ">=0.10"
   },
-  "gitHead": "dbc47c80c538940982a1553da82c785be17d59cc",
+  "gitHead": "7ab84e1aa29966a65f924242eb57a318d79981ca",
   "homepage": "https://github.com/chrisa/node-dtrace-provider#readme";,
   "keywords": [
     "dtrace",
@@ -104,5 +104,5 @@
     "install": "node scripts/install.js",
     "test": "tap test/*test.js"
   },
-  "version": "0.8.2"
+  "version": "0.8.3"
 }
diff --git a/node_modules/dtrace-provider/scripts/install.js 
b/node_modules/dtrace-provider/scripts/install.js
index c11f5e5..50ce5eb 100755
--- a/node_modules/dtrace-provider/scripts/install.js
+++ b/node_modules/dtrace-provider/scripts/install.js
@@ -15,41 +15,30 @@
 
 movedFile = true;
 
-//npm_execpath: '/usr/local/lib/node_modules/npm/bin/npm-cli.js',
-var nodegyp = path.join(process.env.npm_execpath,
-                        '..',
-                        'node-gyp-bin',
-                        'node-gyp');
-
-if (!fs.existsSync(nodegyp))
-  nodegyp = path.join(process.execPath,
-                        '..',
-                        '..',
-                        'lib',
-                        'node_modules',
-                        'npm',
-                        'bin',
-                        'node-gyp-bin',
-                        'node-gyp');
-
-if (!fs.existsSync(nodegyp)) {
-  console.error('cannot locate npm install');
-  return;
-}
-
 var spawn = require('child_process').spawn;
 
 var stdio = 'ignore';
 
-if (process.env.V)
+if (process.env.V) {
   stdio = 'inherit';
+}
 
 var options = {
   cwd: path.join(__dirname, '..'),
   stdio: stdio
 };
 
-var child = spawn(nodegyp, ['rebuild'], options);
+var child = spawn('node-gyp', [ 'rebuild' ], options);
+
+child.on('error', function (err) {
+  if (err.code === 'ENOENT') {
+    console.error('cannot locate node-gyp');
+  } else {
+    console.error(err);
+  }
+
+  process.exit(0);
+});
 
 child.on('close', function(code, signal) {
   if ((code || signal) && process.env.V === undefined) {
diff --git a/node_modules/heapdump/.clang-format 
b/node_modules/heapdump/.clang-format
deleted file mode 100644
index 8aa6b1a..0000000
--- a/node_modules/heapdump/.clang-format
+++ /dev/null
@@ -1,47 +0,0 @@
----
-# BasedOnStyle:  Google
-AccessModifierOffset: -1
-ConstructorInitializerIndentWidth: 4
-AlignEscapedNewlinesLeft: true
-AlignTrailingComments: true
-AllowAllParametersOfDeclarationOnNextLine: true
-AllowShortIfStatementsOnASingleLine: true
-AllowShortLoopsOnASingleLine: true
-AlwaysBreakTemplateDeclarations: true
-AlwaysBreakBeforeMultilineStrings: true
-BreakBeforeBinaryOperators: false
-BreakBeforeTernaryOperators: true
-BreakConstructorInitializersBeforeComma: false
-BinPackParameters: true
-ColumnLimit:     80
-ConstructorInitializerAllOnOneLineOrOnePerLine: true
-DerivePointerBinding: true
-ExperimentalAutoDetectBinPacking: false
-IndentCaseLabels: true
-MaxEmptyLinesToKeep: 1
-NamespaceIndentation: None
-ObjCSpaceBeforeProtocolList: false
-PenaltyBreakBeforeFirstCallParameter: 1
-PenaltyBreakComment: 60
-PenaltyBreakString: 1000
-PenaltyBreakFirstLessLess: 120
-PenaltyExcessCharacter: 1000000
-PenaltyReturnTypeOnItsOwnLine: 200
-PointerBindsToType: true
-SpacesBeforeTrailingComments: 2
-Cpp11BracedListStyle: true
-Standard:        Auto
-IndentWidth:     2
-TabWidth:        8
-UseTab:          Never
-BreakBeforeBraces: Attach
-IndentFunctionDeclarationAfterType: true
-SpacesInParentheses: false
-SpacesInAngles:  false
-SpaceInEmptyParentheses: false
-SpacesInCStyleCastParentheses: false
-SpaceAfterControlStatementKeyword: true
-SpaceBeforeAssignmentOperators: true
-ContinuationIndentWidth: 4
-...
-
diff --git a/node_modules/heapdump/.npmignore b/node_modules/heapdump/.npmignore
deleted file mode 100644
index 425e761..0000000
--- a/node_modules/heapdump/.npmignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.lock-wscript
-/build/
-/node_modules/
-heapdump-*.heapsnapshot
-heapdump-*.log
diff --git a/node_modules/heapdump/LICENSE b/node_modules/heapdump/LICENSE
deleted file mode 100644
index 37c5ed9..0000000
--- a/node_modules/heapdump/LICENSE
+++ /dev/null
@@ -1,29 +0,0 @@
-Copyright (c) 2012, Ben Noordhuis <i...@bnoordhuis.nl>
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-=== src/compat.h src/compat-inl.h ===
-
-Copyright (c) 2014, StrongLoop Inc.
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/heapdump/binding.gyp 
b/node_modules/heapdump/binding.gyp
deleted file mode 100644
index 5bfca66..0000000
--- a/node_modules/heapdump/binding.gyp
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2012, Ben Noordhuis <i...@bnoordhuis.nl>
-#
-# Permission to use, copy, modify, and/or distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-{
-  'targets': [
-    {
-      'target_name': 'addon',
-      'win_delay_load_hook': 'false',
-      'sources': [
-        'src/compat-inl.h',
-        'src/compat.h',
-        'src/heapdump-posix.h',
-        'src/heapdump-win32.h',
-        'src/heapdump.cc',
-      ],
-    }
-  ]
-}
diff --git a/node_modules/heapdump/build/Makefile 
b/node_modules/heapdump/build/Makefile
deleted file mode 100644
index 80ab260..0000000
--- a/node_modules/heapdump/build/Makefile
+++ /dev/null
@@ -1,324 +0,0 @@
-# We borrow heavily from the kernel build setup, though we are simpler since
-# we don't have Kconfig tweaking settings on us.
-
-# The implicit make rules have it looking for RCS files, among other things.
-# We instead explicitly write all the rules we care about.
-# It's even quicker (saves ~200ms) to pass -r on the command line.
-MAKEFLAGS=-r
-
-# The source directory tree.
-srcdir := ..
-abs_srcdir := $(abspath $(srcdir))
-
-# The name of the builddir.
-builddir_name ?= .
-
-# The V=1 flag on command line makes us verbosely print command lines.
-ifdef V
-  quiet=
-else
-  quiet=quiet_
-endif
-
-# Specify BUILDTYPE=Release on the command line for a release build.
-BUILDTYPE ?= Release
-
-# Directory all our build output goes into.
-# Note that this must be two directories beneath src/ for unit tests to pass,
-# as they reach into the src/ directory for data with relative paths.
-builddir ?= $(builddir_name)/$(BUILDTYPE)
-abs_builddir := $(abspath $(builddir))
-depsdir := $(builddir)/.deps
-
-# Object output directory.
-obj := $(builddir)/obj
-abs_obj := $(abspath $(obj))
-
-# We build up a list of every single one of the targets so we can slurp in the
-# generated dependency rule Makefiles in one pass.
-all_deps :=
-
-
-
-CC.target ?= $(CC)
-CFLAGS.target ?= $(CPPFLAGS) $(CFLAGS)
-CXX.target ?= $(CXX)
-CXXFLAGS.target ?= $(CPPFLAGS) $(CXXFLAGS)
-LINK.target ?= g++
-LDFLAGS.target ?= $(LDFLAGS)
-AR.target ?= $(AR)
-
-# C++ apps need to be linked with g++.
-LINK ?= $(CXX.target)
-
-# TODO(evan): move all cross-compilation logic to gyp-time so we don't need
-# to replicate this environment fallback in make as well.
-CC.host ?= gcc
-CFLAGS.host ?= $(CPPFLAGS_host) $(CFLAGS_host)
-CXX.host ?= g++
-CXXFLAGS.host ?= $(CPPFLAGS_host) $(CXXFLAGS_host)
-LINK.host ?= g++
-LDFLAGS.host ?=
-AR.host ?= ar
-
-# Define a dir function that can handle spaces.
-# http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions
-# "leading spaces cannot appear in the text of the first argument as written.
-# These characters can be put into the argument value by variable 
substitution."
-empty :=
-space := $(empty) $(empty)
-
-# 
http://stackoverflow.com/questions/1189781/using-make-dir-or-notdir-on-a-path-with-spaces
-replace_spaces = $(subst $(space),?,$1)
-unreplace_spaces = $(subst ?,$(space),$1)
-dirx = $(call unreplace_spaces,$(dir $(call replace_spaces,$1)))
-
-# Flags to make gcc output dependency info.  Note that you need to be
-# careful here to use the flags that ccache and distcc can understand.
-# We write to a dep file on the side first and then rename at the end
-# so we can't end up with a broken dep file.
-depfile = $(depsdir)/$(call replace_spaces,$@).d
-DEPFLAGS = -MMD -MF $(depfile).raw
-
-# We have to fixup the deps output in a few ways.
-# (1) the file output should mention the proper .o file.
-# ccache or distcc lose the path to the target, so we convert a rule of
-# the form:
-#   foobar.o: DEP1 DEP2
-# into
-#   path/to/foobar.o: DEP1 DEP2
-# (2) we want missing files not to cause us to fail to build.
-# We want to rewrite
-#   foobar.o: DEP1 DEP2 \
-#               DEP3
-# to
-#   DEP1:
-#   DEP2:
-#   DEP3:
-# so if the files are missing, they're just considered phony rules.
-# We have to do some pretty insane escaping to get those backslashes
-# and dollar signs past make, the shell, and sed at the same time.
-# Doesn't work with spaces, but that's fine: .d files have spaces in
-# their names replaced with other characters.
-define fixup_dep
-# The depfile may not exist if the input file didn't have any #includes.
-touch $(depfile).raw
-# Fixup path as in (1).
-sed -e "s|^$(notdir $@)|$@|" $(depfile).raw >> $(depfile)
-# Add extra rules as in (2).
-# We remove slashes and replace spaces with new lines;
-# remove blank lines;
-# delete the first line and append a colon to the remaining lines.
-sed -e 's|\\||' -e 'y| |\n|' $(depfile).raw |\
-  grep -v '^$$'                             |\
-  sed -e 1d -e 's|$$|:|'                     \
-    >> $(depfile)
-rm $(depfile).raw
-endef
-
-# Command definitions:
-# - cmd_foo is the actual command to run;
-# - quiet_cmd_foo is the brief-output summary of the command.
-
-quiet_cmd_cc = CC($(TOOLSET)) $@
-cmd_cc = $(CC.$(TOOLSET)) $(GYP_CFLAGS) $(DEPFLAGS) $(CFLAGS.$(TOOLSET)) -c -o 
$@ $<
-
-quiet_cmd_cxx = CXX($(TOOLSET)) $@
-cmd_cxx = $(CXX.$(TOOLSET)) $(GYP_CXXFLAGS) $(DEPFLAGS) $(CXXFLAGS.$(TOOLSET)) 
-c -o $@ $<
-
-quiet_cmd_touch = TOUCH $@
-cmd_touch = touch $@
-
-quiet_cmd_copy = COPY $@
-# send stderr to /dev/null to ignore messages when linking directories.
-cmd_copy = rm -rf "$@" && cp -af "$<" "$@"
-
-quiet_cmd_alink = AR($(TOOLSET)) $@
-cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^)
-
-quiet_cmd_alink_thin = AR($(TOOLSET)) $@
-cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)
-
-# Due to circular dependencies between libraries :(, we wrap the
-# special "figure out circular dependencies" flags around the entire
-# input list during linking.
-quiet_cmd_link = LINK($(TOOLSET)) $@
-cmd_link = $(LINK.$(TOOLSET)) $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -o $@ 
-Wl,--start-group $(LD_INPUTS) -Wl,--end-group $(LIBS)
-
-# We support two kinds of shared objects (.so):
-# 1) shared_library, which is just bundling together many dependent libraries
-# into a link line.
-# 2) loadable_module, which is generating a module intended for dlopen().
-#
-# They differ only slightly:
-# In the former case, we want to package all dependent code into the .so.
-# In the latter case, we want to package just the API exposed by the
-# outermost module.
-# This means shared_library uses --whole-archive, while loadable_module 
doesn't.
-# (Note that --whole-archive is incompatible with the --start-group used in
-# normal linking.)
-
-# Other shared-object link notes:
-# - Set SONAME to the library filename so our binaries don't reference
-# the local, absolute paths used on the link command-line.
-quiet_cmd_solink = SOLINK($(TOOLSET)) $@
-cmd_solink = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) 
-Wl,-soname=$(@F) -o $@ -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive 
$(LIBS)
-
-quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@
-cmd_solink_module = $(LINK.$(TOOLSET)) -shared $(GYP_LDFLAGS) 
$(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -o $@ -Wl,--start-group $(filter-out 
FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS)
-
-
-# Define an escape_quotes function to escape single quotes.
-# This allows us to handle quotes properly as long as we always use
-# use single quotes and escape_quotes.
-escape_quotes = $(subst ','\'',$(1))
-# This comment is here just to include a ' to unconfuse syntax highlighting.
-# Define an escape_vars function to escape '$' variable syntax.
-# This allows us to read/write command lines with shell variables (e.g.
-# $LD_LIBRARY_PATH), without triggering make substitution.
-escape_vars = $(subst $$,$$$$,$(1))
-# Helper that expands to a shell command to echo a string exactly as it is in
-# make. This uses printf instead of echo because printf's behaviour with 
respect
-# to escape sequences is more portable than echo's across different shells
-# (e.g., dash, bash).
-exact_echo = printf '%s\n' '$(call escape_quotes,$(1))'
-
-# Helper to compare the command we're about to run against the command
-# we logged the last time we ran the command.  Produces an empty
-# string (false) when the commands match.
-# Tricky point: Make has no string-equality test function.
-# The kernel uses the following, but it seems like it would have false
-# positives, where one string reordered its arguments.
-#   arg_check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \
-#                       $(filter-out $(cmd_$@), $(cmd_$(1))))
-# We instead substitute each for the empty string into the other, and
-# say they're equal if both substitutions produce the empty string.
-# .d files contain ? instead of spaces, take that into account.
-command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\
-                       $(subst $(cmd_$(call replace_spaces,$@)),,$(cmd_$(1))))
-
-# Helper that is non-empty when a prerequisite changes.
-# Normally make does this implicitly, but we force rules to always run
-# so we can check their command lines.
-#   $? -- new prerequisites
-#   $| -- order-only dependencies
-prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?))
-
-# Helper that executes all postbuilds until one fails.
-define do_postbuilds
-  @E=0;\
-  for p in $(POSTBUILDS); do\
-    eval $$p;\
-    E=$$?;\
-    if [ $$E -ne 0 ]; then\
-      break;\
-    fi;\
-  done;\
-  if [ $$E -ne 0 ]; then\
-    rm -rf "$@";\
-    exit $$E;\
-  fi
-endef
-
-# do_cmd: run a command via the above cmd_foo names, if necessary.
-# Should always run for a given target to handle command-line changes.
-# Second argument, if non-zero, makes it do asm/C/C++ dependency munging.
-# Third argument, if non-zero, makes it do POSTBUILDS processing.
-# Note: We intentionally do NOT call dirx for depfile, since it contains ? for
-# spaces already and dirx strips the ? characters.
-define do_cmd
-$(if $(or $(command_changed),$(prereq_changed)),
-  @$(call exact_echo,  $($(quiet)cmd_$(1)))
-  @mkdir -p "$(call dirx,$@)" "$(dir $(depfile))"
-  $(if $(findstring flock,$(word 1,$(cmd_$1))),
-    @$(cmd_$(1))
-    @echo "  $(quiet_cmd_$(1)): Finished",
-    @$(cmd_$(1))
-  )
-  @$(call exact_echo,$(call escape_vars,cmd_$(call replace_spaces,$@) := 
$(cmd_$(1)))) > $(depfile)
-  @$(if $(2),$(fixup_dep))
-  $(if $(and $(3), $(POSTBUILDS)),
-    $(call do_postbuilds)
-  )
-)
-endef
-
-# Declare the "all" target first so it is the default,
-# even though we don't have the deps yet.
-.PHONY: all
-all:
-
-# make looks for ways to re-generate included makefiles, but in our case, we
-# don't have a direct way. Explicitly telling make that it has nothing to do
-# for them makes it go faster.
-%.d: ;
-
-# Use FORCE_DO_CMD to force a target to run.  Should be coupled with
-# do_cmd.
-.PHONY: FORCE_DO_CMD
-FORCE_DO_CMD:
-
-TOOLSET := target
-# Suffix rules, putting all outputs into $(obj).
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.c FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cpp FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.cxx FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.S FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(srcdir)/%.s FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-
-# Try building from generated source, too.
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.c FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cpp FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.cxx FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.S FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj).$(TOOLSET)/%.s FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-
-$(obj).$(TOOLSET)/%.o: $(obj)/%.c FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.cc FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.cpp FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.cxx FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.S FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-$(obj).$(TOOLSET)/%.o: $(obj)/%.s FORCE_DO_CMD
-       @$(call do_cmd,cc,1)
-
-
-ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
-    $(findstring $(join ^,$(prefix)),\
-                 $(join ^,addon.target.mk)))),)
-  include addon.target.mk
-endif
-
-quiet_cmd_regen_makefile = ACTION Regenerating $@
-cmd_regen_makefile = cd $(srcdir); 
/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py
 -fmake --ignore-environment "--toplevel-dir=." 
-I/opt/service/node_modules/heapdump/build/config.gypi 
-I/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
 -I/home/runuser/.node-gyp/6.9.1/include/node/common.gypi "--depth=." 
"-Goutput_dir=." "--generator-output=build" "-Dlibrary=shared_library" 
"-Dvisibility=default" "-Dnode_root_dir=/home/runuser/.node-gyp/6.9.1" 
"-Dnode_gyp_dir=/usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp"
 "-Dnode_lib_file=node.lib" 
"-Dmodule_root_dir=/opt/service/node_modules/heapdump" binding.gyp
-Makefile: 
$(srcdir)/../../../../home/runuser/.node-gyp/6.9.1/include/node/common.gypi 
$(srcdir)/../../../../usr/local/nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
 $(srcdir)/build/config.gypi $(srcdir)/binding.gyp
-       $(call do_cmd,regen_makefile)
-
-# "all" is a concatenation of the "all" targets from all the included
-# sub-makefiles. This is just here to clarify.
-all:
-
-# Add in dependency-tracking rules.  $(all_deps) is the list of every single
-# target in our tree. Only consider the ones with .d (dependency) info:
-d_files := $(wildcard $(foreach f,$(all_deps),$(depsdir)/$(f).d))
-ifneq ($(d_files),)
-  include $(d_files)
-endif
diff --git a/node_modules/heapdump/build/Release/.deps/Release/addon.node.d 
b/node_modules/heapdump/build/Release/.deps/Release/addon.node.d
deleted file mode 100644
index a67fbe9..0000000
--- a/node_modules/heapdump/build/Release/.deps/Release/addon.node.d
+++ /dev/null
@@ -1 +0,0 @@
-cmd_Release/addon.node := rm -rf "Release/addon.node" && cp -af 
"Release/obj.target/addon.node" "Release/addon.node"
diff --git 
a/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon.node.d 
b/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon.node.d
deleted file mode 100644
index 9214c81..0000000
--- a/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon.node.d
+++ /dev/null
@@ -1 +0,0 @@
-cmd_Release/obj.target/addon.node := g++ -shared -pthread -rdynamic -m64  
-Wl,-soname=addon.node -o Release/obj.target/addon.node -Wl,--start-group 
Release/obj.target/addon/src/heapdump.o -Wl,--end-group 
diff --git 
a/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
 
b/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
deleted file mode 100644
index e043efc..0000000
--- 
a/node_modules/heapdump/build/Release/.deps/Release/obj.target/addon/src/heapdump.o.d
+++ /dev/null
@@ -1,36 +0,0 @@
-cmd_Release/obj.target/addon/src/heapdump.o := g++ 
'-DNODE_GYP_MODULE_NAME=addon' '-DUSING_UV_SHARED=1' '-DUSING_V8_SHARED=1' 
'-DV8_DEPRECATION_WARNINGS=1' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' 
'-DBUILDING_NODE_EXTENSION' -I/home/runuser/.node-gyp/6.9.1/include/node 
-I/home/runuser/.node-gyp/6.9.1/src 
-I/home/runuser/.node-gyp/6.9.1/deps/uv/include 
-I/home/runuser/.node-gyp/6.9.1/deps/v8/include  -fPIC -pthread -Wall -Wextra 
-Wno-unused-parameter -m64 -O3 -fno-omit-frame-pointer -fno-rtti 
-fno-exceptions -std=gnu++0x -MMD -MF 
./Release/.deps/Release/obj.target/addon/src/heapdump.o.d.raw   -c -o 
Release/obj.target/addon/src/heapdump.o ../src/heapdump.cc
-Release/obj.target/addon/src/heapdump.o: ../src/heapdump.cc \
- /home/runuser/.node-gyp/6.9.1/include/node/node.h \
- /home/runuser/.node-gyp/6.9.1/include/node/v8.h \
- /home/runuser/.node-gyp/6.9.1/include/node/v8-version.h \
- /home/runuser/.node-gyp/6.9.1/include/node/v8config.h \
- /home/runuser/.node-gyp/6.9.1/include/node/node_version.h \
- ../src/compat-inl.h ../src/compat.h \
- /home/runuser/.node-gyp/6.9.1/include/node/node_version.h \
- /home/runuser/.node-gyp/6.9.1/include/node/v8.h \
- /home/runuser/.node-gyp/6.9.1/include/node/v8-profiler.h \
- /home/runuser/.node-gyp/6.9.1/include/node/uv.h \
- /home/runuser/.node-gyp/6.9.1/include/node/uv-errno.h \
- /home/runuser/.node-gyp/6.9.1/include/node/uv-version.h \
- /home/runuser/.node-gyp/6.9.1/include/node/uv-unix.h \
- /home/runuser/.node-gyp/6.9.1/include/node/uv-threadpool.h \
- /home/runuser/.node-gyp/6.9.1/include/node/uv-linux.h \
- ../src/heapdump-posix.h
-../src/heapdump.cc:
-/home/runuser/.node-gyp/6.9.1/include/node/node.h:
-/home/runuser/.node-gyp/6.9.1/include/node/v8.h:
-/home/runuser/.node-gyp/6.9.1/include/node/v8-version.h:
-/home/runuser/.node-gyp/6.9.1/include/node/v8config.h:
-/home/runuser/.node-gyp/6.9.1/include/node/node_version.h:
-../src/compat-inl.h:
-../src/compat.h:
-/home/runuser/.node-gyp/6.9.1/include/node/node_version.h:
-/home/runuser/.node-gyp/6.9.1/include/node/v8.h:
-/home/runuser/.node-gyp/6.9.1/include/node/v8-profiler.h:
-/home/runuser/.node-gyp/6.9.1/include/node/uv.h:
-/home/runuser/.node-gyp/6.9.1/include/node/uv-errno.h:
-/home/runuser/.node-gyp/6.9.1/include/node/uv-version.h:
-/home/runuser/.node-gyp/6.9.1/include/node/uv-unix.h:
-/home/runuser/.node-gyp/6.9.1/include/node/uv-threadpool.h:
-/home/runuser/.node-gyp/6.9.1/include/node/uv-linux.h:
-../src/heapdump-posix.h:
diff --git a/node_modules/heapdump/build/Release/addon.node 
b/node_modules/heapdump/build/Release/addon.node
deleted file mode 100755
index 3fc79cb..0000000
--- a/node_modules/heapdump/build/Release/addon.node
+++ /dev/null
Binary files differ
diff --git a/node_modules/heapdump/build/Release/obj.target/addon.node 
b/node_modules/heapdump/build/Release/obj.target/addon.node
deleted file mode 100755
index 3fc79cb..0000000
--- a/node_modules/heapdump/build/Release/obj.target/addon.node
+++ /dev/null
Binary files differ
diff --git 
a/node_modules/heapdump/build/Release/obj.target/addon/src/heapdump.o 
b/node_modules/heapdump/build/Release/obj.target/addon/src/heapdump.o
deleted file mode 100644
index b0c295d..0000000
--- a/node_modules/heapdump/build/Release/obj.target/addon/src/heapdump.o
+++ /dev/null
Binary files differ
diff --git a/node_modules/heapdump/build/addon.target.mk 
b/node_modules/heapdump/build/addon.target.mk
deleted file mode 100644
index 3531fef..0000000
--- a/node_modules/heapdump/build/addon.target.mk
+++ /dev/null
@@ -1,140 +0,0 @@
-# This file is generated by gyp; do not edit.
-
-TOOLSET := target
-TARGET := addon
-DEFS_Debug := \
-       '-DNODE_GYP_MODULE_NAME=addon' \
-       '-DUSING_UV_SHARED=1' \
-       '-DUSING_V8_SHARED=1' \
-       '-DV8_DEPRECATION_WARNINGS=1' \
-       '-D_LARGEFILE_SOURCE' \
-       '-D_FILE_OFFSET_BITS=64' \
-       '-DBUILDING_NODE_EXTENSION' \
-       '-DDEBUG' \
-       '-D_DEBUG'
-
-# Flags passed to all source files.
-CFLAGS_Debug := \
-       -fPIC \
-       -pthread \
-       -Wall \
-       -Wextra \
-       -Wno-unused-parameter \
-       -m64 \
-       -g \
-       -O0
-
-# Flags passed to only C files.
-CFLAGS_C_Debug :=
-
-# Flags passed to only C++ files.
-CFLAGS_CC_Debug := \
-       -fno-rtti \
-       -fno-exceptions \
-       -std=gnu++0x
-
-INCS_Debug := \
-       -I/home/runuser/.node-gyp/6.9.1/include/node \
-       -I/home/runuser/.node-gyp/6.9.1/src \
-       -I/home/runuser/.node-gyp/6.9.1/deps/uv/include \
-       -I/home/runuser/.node-gyp/6.9.1/deps/v8/include
-
-DEFS_Release := \
-       '-DNODE_GYP_MODULE_NAME=addon' \
-       '-DUSING_UV_SHARED=1' \
-       '-DUSING_V8_SHARED=1' \
-       '-DV8_DEPRECATION_WARNINGS=1' \
-       '-D_LARGEFILE_SOURCE' \
-       '-D_FILE_OFFSET_BITS=64' \
-       '-DBUILDING_NODE_EXTENSION'
-
-# Flags passed to all source files.
-CFLAGS_Release := \
-       -fPIC \
-       -pthread \
-       -Wall \
-       -Wextra \
-       -Wno-unused-parameter \
-       -m64 \
-       -O3 \
-       -fno-omit-frame-pointer
-
-# Flags passed to only C files.
-CFLAGS_C_Release :=
-
-# Flags passed to only C++ files.
-CFLAGS_CC_Release := \
-       -fno-rtti \
-       -fno-exceptions \
-       -std=gnu++0x
-
-INCS_Release := \
-       -I/home/runuser/.node-gyp/6.9.1/include/node \
-       -I/home/runuser/.node-gyp/6.9.1/src \
-       -I/home/runuser/.node-gyp/6.9.1/deps/uv/include \
-       -I/home/runuser/.node-gyp/6.9.1/deps/v8/include
-
-OBJS := \
-       $(obj).target/$(TARGET)/src/heapdump.o
-
-# Add to the list of files we specially track dependencies for.
-all_deps += $(OBJS)
-
-# CFLAGS et al overrides must be target-local.
-# See "Target-specific Variable Values" in the GNU Make manual.
-$(OBJS): TOOLSET := $(TOOLSET)
-$(OBJS): GYP_CFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  
$(CFLAGS_$(BUILDTYPE)) $(CFLAGS_C_$(BUILDTYPE))
-$(OBJS): GYP_CXXFLAGS := $(DEFS_$(BUILDTYPE)) $(INCS_$(BUILDTYPE))  
$(CFLAGS_$(BUILDTYPE)) $(CFLAGS_CC_$(BUILDTYPE))
-
-# Suffix rules, putting all outputs into $(obj).
-
-$(obj).$(TOOLSET)/$(TARGET)/%.o: $(srcdir)/%.cc FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-
-# Try building from generated source, too.
-
-$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj).$(TOOLSET)/%.cc FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-
-$(obj).$(TOOLSET)/$(TARGET)/%.o: $(obj)/%.cc FORCE_DO_CMD
-       @$(call do_cmd,cxx,1)
-
-# End of this set of suffix rules
-### Rules for final target.
-LDFLAGS_Debug := \
-       -pthread \
-       -rdynamic \
-       -m64
-
-LDFLAGS_Release := \
-       -pthread \
-       -rdynamic \
-       -m64
-
-LIBS :=
-
-$(obj).target/addon.node: GYP_LDFLAGS := $(LDFLAGS_$(BUILDTYPE))
-$(obj).target/addon.node: LIBS := $(LIBS)
-$(obj).target/addon.node: TOOLSET := $(TOOLSET)
-$(obj).target/addon.node: $(OBJS) FORCE_DO_CMD
-       $(call do_cmd,solink_module)
-
-all_deps += $(obj).target/addon.node
-# Add target alias
-.PHONY: addon
-addon: $(builddir)/addon.node
-
-# Copy this to the executable output path.
-$(builddir)/addon.node: TOOLSET := $(TOOLSET)
-$(builddir)/addon.node: $(obj).target/addon.node FORCE_DO_CMD
-       $(call do_cmd,copy)
-
-all_deps += $(builddir)/addon.node
-# Short alias for building this executable.
-.PHONY: addon.node
-addon.node: $(obj).target/addon.node $(builddir)/addon.node
-
-# Add executable to "all" target.
-.PHONY: all
-all: $(builddir)/addon.node
-
diff --git a/node_modules/heapdump/build/binding.Makefile 
b/node_modules/heapdump/build/binding.Makefile
deleted file mode 100644
index 4561f83..0000000
--- a/node_modules/heapdump/build/binding.Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file is generated by gyp; do not edit.
-
-export builddir_name ?= ./build/.
-.PHONY: all
-all:
-       $(MAKE) addon
diff --git a/node_modules/heapdump/build/config.gypi 
b/node_modules/heapdump/build/config.gypi
deleted file mode 100644
index f36a239..0000000
--- a/node_modules/heapdump/build/config.gypi
+++ /dev/null
@@ -1,154 +0,0 @@
-# Do not edit. File was generated by node-gyp's "configure" step
-{
-  "target_defaults": {
-    "cflags": [],
-    "default_configuration": "Release",
-    "defines": [],
-    "include_dirs": [],
-    "libraries": []
-  },
-  "variables": {
-    "asan": 0,
-    "debug_devtools": "node",
-    "force_dynamic_crt": 0,
-    "gas_version": "2.23",
-    "host_arch": "x64",
-    "icu_data_file": "icudt57l.dat",
-    "icu_data_in": "../../deps/icu-small/source/data/in/icudt57l.dat",
-    "icu_endianness": "l",
-    "icu_gyp_path": "tools/icu/icu-generic.gyp",
-    "icu_locales": "en,root",
-    "icu_path": "deps/icu-small",
-    "icu_small": "true",
-    "icu_ver_major": "57",
-    "node_byteorder": "little",
-    "node_enable_d8": "false",
-    "node_enable_v8_vtunejit": "false",
-    "node_install_npm": "true",
-    "node_module_version": 48,
-    "node_no_browser_globals": "false",
-    "node_prefix": "/",
-    "node_release_urlbase": "https://nodejs.org/download/release/";,
-    "node_shared": "false",
-    "node_shared_cares": "false",
-    "node_shared_http_parser": "false",
-    "node_shared_libuv": "false",
-    "node_shared_openssl": "false",
-    "node_shared_zlib": "false",
-    "node_tag": "",
-    "node_use_bundled_v8": "true",
-    "node_use_dtrace": "false",
-    "node_use_etw": "false",
-    "node_use_lttng": "false",
-    "node_use_openssl": "true",
-    "node_use_perfctr": "false",
-    "node_use_v8_platform": "true",
-    "openssl_fips": "",
-    "openssl_no_asm": 0,
-    "shlib_suffix": "so.48",
-    "target_arch": "x64",
-    "uv_parent_path": "/deps/uv/",
-    "uv_use_dtrace": "false",
-    "v8_enable_gdbjit": 0,
-    "v8_enable_i18n_support": 1,
-    "v8_inspector": "true",
-    "v8_no_strict_aliasing": 1,
-    "v8_optimized_debug": 0,
-    "v8_random_seed": 0,
-    "v8_use_snapshot": "true",
-    "want_separate_host_toolset": 0,
-    "nodedir": "/home/runuser/.node-gyp/6.9.1",
-    "copy_dev_lib": "true",
-    "standalone_static_library": 1,
-    "cache_lock_stale": "60000",
-    "legacy_bundling": "",
-    "sign_git_tag": "",
-    "user_agent": "npm/3.10.8 node/v6.9.1 linux x64",
-    "always_auth": "",
-    "bin_links": "true",
-    "key": "",
-    "description": "true",
-    "fetch_retries": "2",
-    "heading": "npm",
-    "if_present": "",
-    "init_version": "1.0.0",
-    "user": "",
-    "force": "",
-    "only": "",
-    "cache_min": "10",
-    "init_license": "ISC",
-    "editor": "vi",
-    "rollback": "true",
-    "tag_version_prefix": "v",
-    "cache_max": "Infinity",
-    "userconfig": "/home/runuser/.npmrc",
-    "engine_strict": "",
-    "init_author_name": "",
-    "init_author_url": "",
-    "tmp": "/tmp",
-    "depth": "Infinity",
-    "save_dev": "",
-    "usage": "",
-    "progress": "true",
-    "https_proxy": "",
-    "onload_script": "",
-    "rebuild_bundle": "true",
-    "save_bundle": "",
-    "shell": "bash",
-    "dry_run": "",
-    "prefix": "/usr/local/nvm/versions/node/v6.9.1",
-    "browser": "",
-    "cache_lock_wait": "10000",
-    "registry": "https://registry.npmjs.org/";,
-    "save_optional": "",
-    "scope": "",
-    "searchopts": "",
-    "versions": "",
-    "cache": "/home/runuser/.npm",
-    "global_style": "",
-    "ignore_scripts": "",
-    "searchsort": "name",
-    "version": "",
-    "local_address": "",
-    "viewer": "man",
-    "color": "true",
-    "fetch_retry_mintimeout": "10000",
-    "maxsockets": "50",
-    "umask": "0022",
-    "fetch_retry_maxtimeout": "60000",
-    "message": "%s",
-    "ca": "",
-    "cert": "",
-    "global": "",
-    "link": "",
-    "access": "",
-    "also": "",
-    "save": "",
-    "unicode": "",
-    "long": "",
-    "production": "",
-    "unsafe_perm": "true",
-    "node_version": "6.9.1",
-    "tag": "latest",
-    "git_tag_version": "true",
-    "shrinkwrap": "true",
-    "fetch_retry_factor": "10",
-    "npat": "",
-    "proprietary_attribs": "true",
-    "save_exact": "",
-    "strict_ssl": "true",
-    "dev": "",
-    "globalconfig": "/usr/local/nvm/versions/node/v6.9.1/etc/npmrc",
-    "init_module": "/home/runuser/.npm-init.js",
-    "parseable": "",
-    "globalignorefile": "/usr/local/nvm/versions/node/v6.9.1/etc/npmignore",
-    "cache_lock_retries": "10",
-    "save_prefix": "^",
-    "group": "1000",
-    "init_author_email": "",
-    "searchexclude": "",
-    "git": "git",
-    "optional": "true",
-    "json": ""
-  }
-}
diff --git a/node_modules/heapdump/lib/main.js 
b/node_modules/heapdump/lib/main.js
deleted file mode 100644
index 50cd1ad..0000000
--- a/node_modules/heapdump/lib/main.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) 2014, Ben Noordhuis <i...@bnoordhuis.nl>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-try {
-  var addon = require('../build/Release/addon');
-} catch (e) {
-  if (e.code !== 'MODULE_NOT_FOUND') throw e;
-  var addon = require('../build/Debug/addon');
-}
-
-var kForkFlag = addon.kForkFlag;
-var kSignalFlag = addon.kSignalFlag;
-
-var flags = kSignalFlag;
-var options = (process.env.NODE_HEAPDUMP_OPTIONS || '').split(/\s*,\s*/);
-for (var i = 0, n = options.length; i < n; i += 1) {
-  var option = options[i];
-  if (option === '') continue;
-  else if (option === 'fork') flags |= kForkFlag;
-  else if (option === 'signal') flags |= kSignalFlag;
-  else if (option === 'nofork') flags &= ~kForkFlag;
-  else if (option === 'nosignal') flags &= ~kSignalFlag;
-  else console.error('node-heapdump: unrecognized option:', option);
-}
-addon.configure(flags);
-
-exports.writeSnapshot = function() {
-  return addon.writeSnapshot.apply(null, arguments);
-};
diff --git a/node_modules/heapdump/package.json 
b/node_modules/heapdump/package.json
deleted file mode 100644
index 8d931f4..0000000
--- a/node_modules/heapdump/package.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
-  "_args": [
-    [
-      {
-        "raw": "heapdump",
-        "scope": null,
-        "escapedName": "heapdump",
-        "name": "heapdump",
-        "rawSpec": "",
-        "spec": "latest",
-        "type": "tag"
-      },
-      "/opt/service"
-    ]
-  ],
-  "_from": "heapdump@latest",
-  "_id": "heapdump@0.3.9",
-  "_inCache": true,
-  "_location": "/heapdump",
-  "_nodeVersion": "8.0.0-pre",
-  "_npmOperationalInternal": {
-    "host": "packages-18-east.internal.npmjs.com",
-    "tmp": "tmp/heapdump-0.3.9.tgz_1491337456977_0.18369206320494413"
-  },
-  "_npmUser": {
-    "name": "bnoordhuis",
-    "email": "i...@bnoordhuis.nl"
-  },
-  "_npmVersion": "4.2.0",
-  "_phantomChildren": {},
-  "_requested": {
-    "raw": "heapdump",
-    "scope": null,
-    "escapedName": "heapdump",
-    "name": "heapdump",
-    "rawSpec": "",
-    "spec": "latest",
-    "type": "tag"
-  },
-  "_requiredBy": [
-    "#USER"
-  ],
-  "_resolved": "https://registry.npmjs.org/heapdump/-/heapdump-0.3.9.tgz";,
-  "_shasum": "03c74eb0df5d67be0982e83429ba9c9d2b3b7f78",
-  "_shrinkwrap": null,
-  "_spec": "heapdump",
-  "_where": "/opt/service",
-  "author": {
-    "name": "Ben Noordhuis",
-    "email": "i...@bnoordhuis.nl",
-    "url": "http://bnoordhuis.nl/";
-  },
-  "bugs": {
-    "url": "https://github.com/bnoordhuis/node-heapdump/issues";
-  },
-  "dependencies": {},
-  "description": "Make a dump of the V8 heap for later inspection.",
-  "devDependencies": {
-    "shelljs": "~0.3.0",
-    "tap": "~0.4.12"
-  },
-  "directories": {},
-  "dist": {
-    "shasum": "03c74eb0df5d67be0982e83429ba9c9d2b3b7f78",
-    "tarball": "https://registry.npmjs.org/heapdump/-/heapdump-0.3.9.tgz";
-  },
-  "engines": {
-    "node": ">=0.10.0"
-  },
-  "gitHead": "7cf17e9b2a629fa5708717874ced2a7ae6cb2e13",
-  "gypfile": true,
-  "homepage": "https://github.com/bnoordhuis/node-heapdump";,
-  "license": "ISC",
-  "main": "./lib/main",
-  "maintainers": [
-    {
-      "name": "bnoordhuis",
-      "email": "i...@bnoordhuis.nl"
-    }
-  ],
-  "name": "heapdump",
-  "optionalDependencies": {},
-  "readme": "ERROR: No README data found!",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/bnoordhuis/node-heapdump.git"
-  },
-  "scripts": {
-    "install": "node-gyp rebuild",
-    "test": "tap test/test-*"
-  },
-  "version": "0.3.9"
-}
diff --git a/node_modules/heapdump/src/compat-inl.h 
b/node_modules/heapdump/src/compat-inl.h
deleted file mode 100644
index 7adaca0..0000000
--- a/node_modules/heapdump/src/compat-inl.h
+++ /dev/null
@@ -1,379 +0,0 @@
-// Copyright (c) 2014, StrongLoop Inc.
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-#ifndef COMPAT_INL_H_  // NOLINT(build/header_guard)
-#define COMPAT_INL_H_  // NOLINT(build/header_guard)
-
-#include "compat.h"
-
-namespace compat {
-
-#if !NODE_VERSION_AT_LEAST(0, 11, 0)
-#define COMPAT_ISOLATE
-#define COMPAT_ISOLATE_
-#else
-#define COMPAT_ISOLATE isolate
-#define COMPAT_ISOLATE_ isolate,
-#endif
-
-namespace I {
-
-template <typename T>
-inline void Use(const T&) {}
-
-template <typename T>
-inline v8::Local<T> ToLocal(v8::Local<T> handle) {
-  return handle;
-}
-
-#if !NODE_VERSION_AT_LEAST(0, 11, 0)
-template <typename T>
-inline v8::Local<T> ToLocal(v8::Handle<T> handle) {
-  return v8::Local<T>(*handle);
-}
-#endif
-
-}  // namespace I
-
-v8::Local<v8::Boolean> True(v8::Isolate* isolate) {
-  I::Use(isolate);
-  return I::ToLocal<v8::Boolean>(v8::True(COMPAT_ISOLATE));
-}
-
-v8::Local<v8::Boolean> False(v8::Isolate* isolate) {
-  I::Use(isolate);
-  return I::ToLocal<v8::Boolean>(v8::False(COMPAT_ISOLATE));
-}
-
-v8::Local<v8::Primitive> Null(v8::Isolate* isolate) {
-  I::Use(isolate);
-  return I::ToLocal<v8::Primitive>(v8::Null(COMPAT_ISOLATE));
-}
-
-v8::Local<v8::Primitive> Undefined(v8::Isolate* isolate) {
-  I::Use(isolate);
-  return I::ToLocal<v8::Primitive>(v8::Undefined(COMPAT_ISOLATE));
-}
-
-v8::Local<v8::Array> Array::New(v8::Isolate* isolate, int length) {
-  I::Use(isolate);
-  return v8::Array::New(COMPAT_ISOLATE_ length);
-}
-
-v8::Local<v8::Boolean> Boolean::New(v8::Isolate* isolate, bool value) {
-  I::Use(isolate);
-  return I::ToLocal<v8::Boolean>(v8::Boolean::New(COMPAT_ISOLATE_ value));
-}
-
-v8::Local<v8::FunctionTemplate> FunctionTemplate::New(
-    v8::Isolate* isolate, FunctionCallback callback) {
-  I::Use(isolate);
-  return v8::FunctionTemplate::New(COMPAT_ISOLATE_ callback);
-}
-
-v8::Local<v8::Integer> Integer::New(v8::Isolate* isolate, int32_t value) {
-  I::Use(isolate);
-  return v8::Integer::New(COMPAT_ISOLATE_ value);
-}
-
-v8::Local<v8::Integer> Integer::NewFromUnsigned(v8::Isolate* isolate,
-                                                uint32_t value) {
-  I::Use(isolate);
-  return v8::Integer::NewFromUnsigned(COMPAT_ISOLATE_ value);
-}
-
-void Isolate::SetAddHistogramSampleFunction(
-    v8::Isolate* isolate, v8::AddHistogramSampleCallback callback) {
-#if !NODE_VERSION_AT_LEAST(0, 11, 15)
-  I::Use(isolate);
-  v8::V8::SetAddHistogramSampleFunction(callback);
-#else
-  isolate->SetAddHistogramSampleFunction(callback);
-#endif
-}
-
-void Isolate::SetCreateHistogramFunction(v8::Isolate* isolate,
-                                         v8::CreateHistogramCallback callback) 
{
-#if !NODE_VERSION_AT_LEAST(0, 11, 15)
-  I::Use(isolate);
-  v8::V8::SetCreateHistogramFunction(callback);
-#else
-  isolate->SetCreateHistogramFunction(callback);
-#endif
-}
-
-void Isolate::SetJitCodeEventHandler(v8::Isolate* isolate,
-                                     v8::JitCodeEventOptions options,
-                                     v8::JitCodeEventHandler handler) {
-#if !NODE_VERSION_AT_LEAST(1, 0, 0)
-  I::Use(isolate);
-  v8::V8::SetJitCodeEventHandler(options, handler);
-#else
-  isolate->SetJitCodeEventHandler(options, handler);
-#endif
-}
-
-v8::Local<v8::Number> Number::New(v8::Isolate* isolate, double value) {
-  I::Use(isolate);
-  return v8::Number::New(COMPAT_ISOLATE_ value);
-}
-
-v8::Local<v8::Object> Object::New(v8::Isolate* isolate) {
-  I::Use(isolate);
-  return v8::Object::New(COMPAT_ISOLATE);
-}
-
-template <typename T>
-bool Persistent<T>::IsEmpty() const {
-  return handle_.IsEmpty();
-}
-
-ReturnType ReturnableHandleScope::Return(bool value) {
-  return Return(Boolean::New(isolate(), value));
-}
-
-ReturnType ReturnableHandleScope::Return(int32_t value) {
-  return Return(Integer::New(isolate(), value));
-}
-
-ReturnType ReturnableHandleScope::Return(uint32_t value) {
-  return Return(Integer::New(isolate(), value));
-}
-
-ReturnType ReturnableHandleScope::Return(double value) {
-  return Return(Number::New(isolate(), value));
-}
-
-ReturnType ReturnableHandleScope::Return(const char* value) {
-  return Return(String::NewFromUtf8(isolate(), value));
-}
-
-ReturnType ReturnableHandleScope::Throw(v8::Local<v8::Value> exception) {
-  Isolate::ThrowException(isolate(), exception);
-  return Return();
-}
-
-ReturnType ReturnableHandleScope::ThrowError(const char* exception) {
-  return ThrowError(String::NewFromUtf8(isolate(), exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowError(v8::Local<v8::String> exception) {
-  return Throw(v8::Exception::Error(exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowRangeError(const char* exception) {
-  return ThrowRangeError(String::NewFromUtf8(isolate(), exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowRangeError(
-    v8::Local<v8::String> exception) {
-  return Throw(v8::Exception::RangeError(exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowReferenceError(const char* exception) {
-  return ThrowReferenceError(String::NewFromUtf8(isolate(), exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowReferenceError(
-    v8::Local<v8::String> exception) {
-  return Throw(v8::Exception::ReferenceError(exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowSyntaxError(const char* exception) {
-  return ThrowSyntaxError(String::NewFromUtf8(isolate(), exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowSyntaxError(
-    v8::Local<v8::String> exception) {
-  return Throw(v8::Exception::SyntaxError(exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowTypeError(const char* exception) {
-  return ThrowTypeError(String::NewFromUtf8(isolate(), exception));
-}
-
-ReturnType ReturnableHandleScope::ThrowTypeError(
-    v8::Local<v8::String> exception) {
-  return Throw(v8::Exception::TypeError(exception));
-}
-
-v8::Isolate* ReturnableHandleScope::isolate() const {
-  return args_.GetIsolate();
-}
-
-#if !NODE_VERSION_AT_LEAST(0, 11, 0)
-
-void CpuProfiler::StartCpuProfiling(v8::Isolate* isolate,
-                                    v8::Local<v8::String> title) {
-  if (title.IsEmpty()) title = v8::String::Empty(isolate);
-  return v8::CpuProfiler::StartProfiling(title);
-}
-
-const v8::CpuProfile* CpuProfiler::StopCpuProfiling(
-    v8::Isolate* isolate, v8::Local<v8::String> title) {
-  if (title.IsEmpty()) title = v8::String::Empty(isolate);
-  return v8::CpuProfiler::StopProfiling(title);
-}
-
-void Isolate::GetHeapStatistics(v8::Isolate* isolate,
-                                v8::HeapStatistics* stats) {
-  I::Use(isolate);
-  return v8::V8::GetHeapStatistics(stats);
-}
-
-v8::Local<v8::Value> Isolate::ThrowException(v8::Isolate* isolate,
-                                             v8::Local<v8::Value> exception) {
-  I::Use(isolate);
-  return I::ToLocal<v8::Value>(v8::ThrowException(exception));
-}
-
-const v8::HeapSnapshot* HeapProfiler::TakeHeapSnapshot(v8::Isolate* isolate) {
-  return v8::HeapProfiler::TakeSnapshot(v8::String::Empty(isolate));
-}
-
-void HeapProfiler::DeleteAllHeapSnapshots(v8::Isolate* isolate) {
-  I::Use(isolate);
-  v8::HeapProfiler::DeleteAllSnapshots();
-}
-
-v8::Local<v8::String> String::NewFromUtf8(v8::Isolate* isolate,
-                                          const char* data, NewStringType type,
-                                          int length) {
-  I::Use(isolate);
-  if (type == kInternalizedString) {
-    return v8::String::NewSymbol(data, length);
-  }
-  if (type == kUndetectableString) {
-    return v8::String::NewUndetectable(data, length);
-  }
-  return v8::String::New(data, length);
-}
-
-HandleScope::HandleScope(v8::Isolate*) {}
-
-template <typename T>
-v8::Local<T> Persistent<T>::ToLocal(v8::Isolate*) const {
-  return *handle_;
-}
-
-template <typename T>
-void Persistent<T>::Reset() {
-  handle_.Dispose();
-  handle_.Clear();
-}
-
-template <typename T>
-void Persistent<T>::Reset(v8::Isolate*, v8::Local<T> value) {
-  Reset();
-  handle_ = v8::Persistent<T>::New(value);
-}
-
-ReturnableHandleScope::ReturnableHandleScope(const ArgumentType& args)
-    : args_(args) {}
-
-ReturnType ReturnableHandleScope::Return() { return v8::Undefined(); }
-
-ReturnType ReturnableHandleScope::Return(v8::Local<v8::Value> value) {
-  return handle_scope_.Close(value);
-}
-
-#else
-
-void CpuProfiler::StartCpuProfiling(v8::Isolate* isolate,
-                                    v8::Local<v8::String> title) {
-  const bool record_samples = true;
-  if (title.IsEmpty()) title = v8::String::Empty(isolate);
-#if !NODE_VERSION_AT_LEAST(3, 0, 0)
-  return isolate->GetCpuProfiler()->StartCpuProfiling(title, record_samples);
-#else
-  return isolate->GetCpuProfiler()->StartProfiling(title, record_samples);
-#endif
-}
-
-const v8::CpuProfile* CpuProfiler::StopCpuProfiling(
-    v8::Isolate* isolate, v8::Local<v8::String> title) {
-  if (title.IsEmpty()) title = v8::String::Empty(isolate);
-#if !NODE_VERSION_AT_LEAST(3, 0, 0)
-  return isolate->GetCpuProfiler()->StopCpuProfiling(title);
-#else
-  return isolate->GetCpuProfiler()->StopProfiling(title);
-#endif
-}
-
-void Isolate::GetHeapStatistics(v8::Isolate* isolate,
-                                v8::HeapStatistics* stats) {
-  return isolate->GetHeapStatistics(stats);
-}
-
-v8::Local<v8::Value> Isolate::ThrowException(v8::Isolate* isolate,
-                                             v8::Local<v8::Value> exception) {
-  return isolate->ThrowException(exception);
-}
-
-const v8::HeapSnapshot* HeapProfiler::TakeHeapSnapshot(v8::Isolate* isolate) {
-#if !NODE_VERSION_AT_LEAST(3, 0, 0)
-  v8::Local<v8::String> title = v8::String::Empty(isolate);
-  return isolate->GetHeapProfiler()->TakeHeapSnapshot(title);
-#else
-  return isolate->GetHeapProfiler()->TakeHeapSnapshot();
-#endif
-}
-
-void HeapProfiler::DeleteAllHeapSnapshots(v8::Isolate* isolate) {
-  return isolate->GetHeapProfiler()->DeleteAllHeapSnapshots();
-}
-
-v8::Local<v8::String> String::NewFromUtf8(v8::Isolate* isolate,
-                                          const char* data, NewStringType type,
-                                          int length) {
-  return v8::String::NewFromUtf8(
-      isolate, data, static_cast<v8::String::NewStringType>(type), length);
-}
-
-HandleScope::HandleScope(v8::Isolate* isolate) : handle_scope_(isolate) {}
-
-template <typename T>
-v8::Local<T> Persistent<T>::ToLocal(v8::Isolate* isolate) const {
-  return v8::Local<T>::New(isolate, handle_);
-}
-
-template <typename T>
-void Persistent<T>::Reset() {
-  handle_.Reset();
-}
-
-template <typename T>
-void Persistent<T>::Reset(v8::Isolate* isolate, v8::Local<T> value) {
-  handle_.Reset(isolate, value);
-}
-
-ReturnableHandleScope::ReturnableHandleScope(const ArgumentType& args)
-    : args_(args), handle_scope_(args.GetIsolate()) {}
-
-ReturnType ReturnableHandleScope::Return() {}
-
-ReturnType ReturnableHandleScope::Return(v8::Local<v8::Value> value) {
-  // TODO(bnoordhuis) Creating handles for primitive values (int, double)
-  // is less efficient than passing them to ReturnValue<T>::Set() directly.
-  return args_.GetReturnValue().Set(value);
-}
-
-#endif
-
-#undef COMPAT_ISOLATE_
-#undef COMPAT_ISOLATE
-
-}  // namespace compat
-
-#endif  // COMPAT_INL_H_  // NOLINT(build/header_guard)
diff --git a/node_modules/heapdump/src/compat.h 
b/node_modules/heapdump/src/compat.h
deleted file mode 100644
index 55722a2..0000000
--- a/node_modules/heapdump/src/compat.h
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (c) 2014, StrongLoop Inc.
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-#ifndef COMPAT_H_  // NOLINT(build/header_guard)
-#define COMPAT_H_  // NOLINT(build/header_guard)
-
-#include "node_version.h"
-#include "v8.h"
-#include "v8-profiler.h"
-
-namespace compat {
-
-#if !NODE_VERSION_AT_LEAST(0, 11, 0)
-typedef v8::Arguments ArgumentType;
-typedef v8::Handle<v8::Value> ReturnType;
-typedef v8::InvocationCallback FunctionCallback;
-#else
-typedef v8::FunctionCallbackInfo<v8::Value> ArgumentType;
-typedef void ReturnType;
-typedef v8::FunctionCallback FunctionCallback;
-#endif
-
-inline v8::Local<v8::Boolean> True(v8::Isolate* isolate);
-inline v8::Local<v8::Boolean> False(v8::Isolate* isolate);
-inline v8::Local<v8::Primitive> Null(v8::Isolate* isolate);
-inline v8::Local<v8::Primitive> Undefined(v8::Isolate* isolate);
-
-class AllStatic {
- private:
-  AllStatic();
-};
-
-struct Array : public AllStatic {
-  inline static v8::Local<v8::Array> New(v8::Isolate* isolate, int length = 0);
-};
-
-struct CpuProfiler : public AllStatic {
-  inline static void StartCpuProfiling(
-      v8::Isolate* isolate,
-      v8::Local<v8::String> title = v8::Local<v8::String>());
-  inline static const v8::CpuProfile* StopCpuProfiling(
-      v8::Isolate* isolate,
-      v8::Local<v8::String> title = v8::Local<v8::String>());
-};
-
-struct Boolean : public AllStatic {
-  inline static v8::Local<v8::Boolean> New(v8::Isolate* isolate, bool value);
-};
-
-struct FunctionTemplate : public AllStatic {
-  inline static v8::Local<v8::FunctionTemplate> New(
-      v8::Isolate* isolate, FunctionCallback callback = 0);
-};
-
-struct HeapProfiler : public AllStatic {
-  inline static const v8::HeapSnapshot* TakeHeapSnapshot(v8::Isolate* isolate);
-  inline static void DeleteAllHeapSnapshots(v8::Isolate* isolate);
-};
-
-struct Integer : public AllStatic {
-  inline static v8::Local<v8::Integer> New(v8::Isolate* isolate, int32_t 
value);
-  inline static v8::Local<v8::Integer> NewFromUnsigned(v8::Isolate* isolate,
-                                                       uint32_t value);
-};
-
-struct Isolate : public AllStatic {
-  inline static void GetHeapStatistics(v8::Isolate* isolate,
-                                       v8::HeapStatistics* stats);
-  inline static void SetAddHistogramSampleFunction(
-      v8::Isolate* isolate, v8::AddHistogramSampleCallback callback);
-  inline static void SetCreateHistogramFunction(
-      v8::Isolate* isolate, v8::CreateHistogramCallback callback);
-  inline static void SetJitCodeEventHandler(v8::Isolate* isolate,
-                                            v8::JitCodeEventOptions options,
-                                            v8::JitCodeEventHandler handler);
-  inline static v8::Local<v8::Value> ThrowException(
-      v8::Isolate* isolate, v8::Local<v8::Value> exception);
-};
-
-struct Number : public AllStatic {
-  inline static v8::Local<v8::Number> New(v8::Isolate* isolate, double value);
-};
-
-struct Object : public AllStatic {
-  inline static v8::Local<v8::Object> New(v8::Isolate* isolate);
-};
-
-struct String : public AllStatic {
-  enum NewStringType {
-    kNormalString,
-    kInternalizedString,
-    kUndetectableString
-  };
-  inline static v8::Local<v8::String> NewFromUtf8(
-      v8::Isolate* isolate, const char* data,
-      NewStringType type = kNormalString, int length = -1);
-};
-
-class HandleScope {
- public:
-  inline explicit HandleScope(v8::Isolate* isolate);
-
- private:
-  v8::HandleScope handle_scope_;
-};
-
-template <typename T>
-class Persistent {
- public:
-  inline v8::Local<T> ToLocal(v8::Isolate* isolate) const;
-  inline void Reset();
-  inline void Reset(v8::Isolate* isolate, v8::Local<T> value);
-  inline bool IsEmpty() const;
-
- private:
-  v8::Persistent<T> handle_;
-};
-
-class ReturnableHandleScope {
- public:
-  inline explicit ReturnableHandleScope(const ArgumentType& args);
-  inline ReturnType Return();
-  inline ReturnType Return(bool value);
-  inline ReturnType Return(int32_t value);
-  inline ReturnType Return(uint32_t value);
-  inline ReturnType Return(double value);
-  inline ReturnType Return(const char* value);
-  inline ReturnType Return(v8::Local<v8::Value> value);
-  inline ReturnType Throw(v8::Local<v8::Value> exception);
-  inline ReturnType ThrowError(const char* exception);
-  inline ReturnType ThrowError(v8::Local<v8::String> exception);
-  inline ReturnType ThrowRangeError(const char* exception);
-  inline ReturnType ThrowRangeError(v8::Local<v8::String> exception);
-  inline ReturnType ThrowReferenceError(const char* exception);
-  inline ReturnType ThrowReferenceError(v8::Local<v8::String> exception);
-  inline ReturnType ThrowSyntaxError(const char* exception);
-  inline ReturnType ThrowSyntaxError(v8::Local<v8::String> exception);
-  inline ReturnType ThrowTypeError(const char* exception);
-  inline ReturnType ThrowTypeError(v8::Local<v8::String> exception);
-
- private:
-  inline v8::Isolate* isolate() const;
-  const ArgumentType& args_;
-  v8::HandleScope handle_scope_;
-};
-
-}  // namespace compat
-
-#endif  // COMPAT_H_  // NOLINT(build/header_guard)
diff --git a/node_modules/heapdump/src/heapdump-posix.h 
b/node_modules/heapdump/src/heapdump-posix.h
deleted file mode 100644
index 1b1b895..0000000
--- a/node_modules/heapdump/src/heapdump-posix.h
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright (c) 2012, Ben Noordhuis <i...@bnoordhuis.nl>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-#ifndef SRC_HEAPDUMP_POSIX_H_
-#define SRC_HEAPDUMP_POSIX_H_
-
-#include <assert.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/wait.h>
-#include <unistd.h>
-
-namespace {
-
-static char snapshot_filename[kMaxPath];
-static uv_signal_t signal_handle;
-static uv_signal_t sigchld_handle;
-static pid_t child_pid = -1;
-static bool nofork;
-
-inline void OnSIGUSR2(uv_signal_t* handle, int signo) {
-  assert(handle == &signal_handle);
-  v8::Isolate* isolate = reinterpret_cast<v8::Isolate*>(handle->data);
-  on_complete_callback.Reset();
-  RandomSnapshotFilename(snapshot_filename, sizeof(snapshot_filename));
-  WriteSnapshot(isolate, snapshot_filename);
-}
-
-inline void OnSIGCHLD(uv_signal_t* handle, int signo) {
-  assert(handle == &sigchld_handle);
-  assert(nofork == false);
-
-  int status;
-  pid_t pid = waitpid(child_pid, &status, WNOHANG);
-  if (pid == 0) {
-    return;
-  }
-
-  InvokeCallback(snapshot_filename);
-
-  // ECHILD is not an error, it means that libuv's internal SIGCHLD handler
-  // came before use and consumed the event.  Just ignore it and stop the
-  // signal watcher, our child is gone and that's what matters.
-  if (pid == -1 && errno != ECHILD) {
-    perror("(node-heapdump) waitpid");
-    return;
-  }
-  uv_signal_stop(&sigchld_handle);
-}
-
-inline bool WriteSnapshot(v8::Isolate* isolate, const char* filename) {
-  if (nofork == true) {
-    WriteSnapshotHelper(isolate, filename);
-    InvokeCallback(filename);
-    return true;
-  }
-  if (uv_is_active(reinterpret_cast<uv_handle_t*>(&sigchld_handle))) {
-    return false;  // Already busy writing a snapshot.
-  }
-  if (filename != snapshot_filename) {
-    // Save copy for when the child process finishes.
-    snprintf(snapshot_filename, sizeof(snapshot_filename), "%s", filename);
-  }
-  child_pid = fork();
-  if (child_pid == -1) {
-    return false;
-  }
-  if (child_pid != 0) {
-    uv_signal_start(&sigchld_handle, OnSIGCHLD, SIGCHLD);
-    return true;
-  }
-  setsid();
-  WriteSnapshotHelper(isolate, filename);
-  _exit(42);
-  return true;  // Placate compiler.
-}
-
-inline void PlatformInit(v8::Isolate* isolate, int flags) {
-  nofork = !(flags & kForkFlag);
-  if (nofork == false) {
-    uv_signal_init(uv_default_loop(), &sigchld_handle);
-  }
-  const bool nosignal = !(flags & kSignalFlag);
-  if (nosignal == false) {
-    uv_signal_init(uv_default_loop(), &signal_handle);
-    uv_signal_start(&signal_handle, OnSIGUSR2, SIGUSR2);
-    uv_unref(reinterpret_cast<uv_handle_t*>(&signal_handle));
-    signal_handle.data = isolate;
-  }
-}
-
-}  // namespace anonymous
-
-#endif  // SRC_HEAPDUMP_POSIX_H_
diff --git a/node_modules/heapdump/src/heapdump-win32.h 
b/node_modules/heapdump/src/heapdump-win32.h
deleted file mode 100644
index 1ec196c..0000000
--- a/node_modules/heapdump/src/heapdump-win32.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) 2012, Ben Noordhuis <i...@bnoordhuis.nl>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-#ifndef SRC_HEAPDUMP_WIN32_H_
-#define SRC_HEAPDUMP_WIN32_H_
-
-namespace {
-
-inline void PlatformInit(v8::Isolate*, int) {}
-
-inline bool WriteSnapshot(v8::Isolate* isolate, const char* filename) {
-  bool result = WriteSnapshotHelper(isolate, filename);
-  InvokeCallback(filename);
-  return result;
-}
-
-// Emulate snprintf() on windows, _snprintf() doesn't zero-terminate the buffer
-// on overflow.
-inline int snprintf(char* buf, size_t len, const char* fmt, ...) {
-  va_list ap;
-  va_start(ap, fmt);
-  const int n = _vsprintf_p(buf, len, fmt, ap);
-  if (len) buf[len - 1] = '\0';
-  va_end(ap);
-  return n;
-}
-
-}  // namespace anonymous
-
-#endif  // SRC_HEAPDUMP_WIN32_H_
diff --git a/node_modules/heapdump/src/heapdump.cc 
b/node_modules/heapdump/src/heapdump.cc
deleted file mode 100644
index 0dc0184..0000000
--- a/node_modules/heapdump/src/heapdump.cc
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright (c) 2012, Ben Noordhuis <i...@bnoordhuis.nl>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-#include "node.h"  // Picks up BUILDING_NODE_EXTENSION on Windows, see #30.
-
-#include "compat-inl.h"
-#include "uv.h"
-#include "v8-profiler.h"
-#include "v8.h"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <assert.h>
-
-namespace {
-
-static const int kMaxPath = 4096;
-static const int kForkFlag = 1;
-static const int kSignalFlag = 2;
-inline bool WriteSnapshot(v8::Isolate* isolate, const char* filename);
-inline bool WriteSnapshotHelper(v8::Isolate* isolate, const char* filename);
-inline void InvokeCallback(const char* filename);
-inline void PlatformInit(v8::Isolate* isolate, int flags);
-inline void RandomSnapshotFilename(char* buffer, size_t size);
-static ::compat::Persistent<v8::Function> on_complete_callback;
-
-}  // namespace anonymous
-
-#ifdef _WIN32
-#include "heapdump-win32.h"
-#else
-#include "heapdump-posix.h"
-#endif
-
-namespace {
-
-using v8::Context;
-using v8::Function;
-using v8::FunctionTemplate;
-using v8::Handle;
-using v8::HandleScope;
-using v8::HeapSnapshot;
-using v8::Isolate;
-using v8::Local;
-using v8::Object;
-using v8::OutputStream;
-using v8::Persistent;
-using v8::String;
-using v8::V8;
-using v8::Value;
-
-namespace C = ::compat;
-
-class FileOutputStream : public OutputStream {
- public:
-  FileOutputStream(FILE* stream) : stream_(stream) {}
-
-  virtual int GetChunkSize() {
-    return 65536;  // big chunks == faster
-  }
-
-  virtual void EndOfStream() {}
-
-  virtual WriteResult WriteAsciiChunk(char* data, int size) {
-    const size_t len = static_cast<size_t>(size);
-    size_t off = 0;
-
-    while (off < len && !feof(stream_) && !ferror(stream_))
-      off += fwrite(data + off, 1, len - off, stream_);
-
-    return off == len ? kContinue : kAbort;
-  }
-
- private:
-  FILE* stream_;
-};
-
-inline C::ReturnType WriteSnapshot(const C::ArgumentType& args) {
-  C::ReturnableHandleScope handle_scope(args);
-  Isolate* const isolate = args.GetIsolate();
-
-  Local<Value> maybe_function = args[0];
-  if (1 < args.Length()) {
-    maybe_function = args[1];
-  }
-
-  if (maybe_function->IsFunction()) {
-    Local<Function> function = maybe_function.As<Function>();
-    on_complete_callback.Reset(isolate, function);
-  }
-
-  char filename[kMaxPath];
-  if (args[0]->IsString()) {
-    String::Utf8Value filename_string(args[0]);
-    snprintf(filename, sizeof(filename), "%s", *filename_string);
-  } else {
-    RandomSnapshotFilename(filename, sizeof(filename));
-  }
-
-  // Throwing on error is too disruptive, just return a boolean indicating
-  // success.
-  const bool success = WriteSnapshot(isolate, filename);
-  return handle_scope.Return(success);
-}
-
-inline bool WriteSnapshotHelper(Isolate* isolate, const char* filename) {
-  FILE* fp = fopen(filename, "w");
-  if (fp == NULL) return false;
-  const HeapSnapshot* const snap = C::HeapProfiler::TakeHeapSnapshot(isolate);
-  FileOutputStream stream(fp);
-  snap->Serialize(&stream, HeapSnapshot::kJSON);
-  fclose(fp);
-  // Work around a deficiency in the API.  The HeapSnapshot object is const
-  // but we cannot call HeapProfiler::DeleteAllHeapSnapshots() because that
-  // invalidates _all_ snapshots, including those created by other tools.
-  const_cast<HeapSnapshot*>(snap)->Delete();
-  return true;
-}
-
-inline void InvokeCallback(const char* filename) {
-  if (on_complete_callback.IsEmpty()) return;
-  Isolate* isolate = Isolate::GetCurrent();
-  C::HandleScope handle_scope(isolate);
-  Local<Function> callback = on_complete_callback.ToLocal(isolate);
-  Local<Value> argv[] = {C::Null(isolate),
-                         C::String::NewFromUtf8(isolate, filename)};
-  const int argc = sizeof(argv) / sizeof(*argv);
-#if !NODE_VERSION_AT_LEAST(0, 11, 0)
-  node::MakeCallback(Context::GetCurrent()->Global(), callback, argc, argv);
-#else
-  node::MakeCallback(isolate, isolate->GetCurrentContext()->Global(), callback,
-                     argc, argv);
-#endif
-}
-
-inline void RandomSnapshotFilename(char* buffer, size_t size) {
-  const uint64_t now = uv_hrtime();
-  const unsigned long sec = static_cast<unsigned long>(now / 1000000);
-  const unsigned long usec = static_cast<unsigned long>(now % 1000000);
-  snprintf(buffer, size, "heapdump-%lu.%lu.heapsnapshot", sec, usec);
-}
-
-inline C::ReturnType Configure(const C::ArgumentType& args) {
-  C::ReturnableHandleScope handle_scope(args);
-  PlatformInit(args.GetIsolate(), args[0]->Int32Value());
-  return handle_scope.Return();
-}
-
-inline void Initialize(Local<Object> binding) {
-  Isolate* const isolate = Isolate::GetCurrent();
-  binding->Set(C::String::NewFromUtf8(isolate, "kForkFlag"),
-               C::Integer::New(isolate, kForkFlag));
-  binding->Set(C::String::NewFromUtf8(isolate, "kSignalFlag"),
-               C::Integer::New(isolate, kSignalFlag));
-  binding->Set(C::String::NewFromUtf8(isolate, "configure"),
-               C::FunctionTemplate::New(isolate, Configure)->GetFunction());
-  binding->Set(C::String::NewFromUtf8(isolate, "writeSnapshot"),
-               C::FunctionTemplate::New(isolate, 
WriteSnapshot)->GetFunction());
-}
-
-NODE_MODULE(addon, Initialize)
-
-}  // namespace anonymous
diff --git a/node_modules/heapdump/test/test-callback-without-filename.js 
b/node_modules/heapdump/test/test-callback-without-filename.js
deleted file mode 100644
index 68a3ee8..0000000
--- a/node_modules/heapdump/test/test-callback-without-filename.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) 2014, Krishna Raman <kra...@gmail.com>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-var path = require('path');
-var http = require('http');
-var shelljs = require('shelljs');
-var test = require('tap').test;
-var heapdump = require('../');
-
-process.chdir(__dirname);
-
-function testFuncCall(test){
-  var server = http.createServer(function(req, res) {
-    res.writeHeader(200);
-    res.end();
-  });
-  server.on('listening', function(){
-    console.log('Listening on http://127.0.0.1:8000/');
-    console.log('PID %d', process.pid);
-
-    var heapSnapshotFile = 'heapdump-' + Date.now() + '.heapsnapshot';
-    shelljs.rm('-f', heapSnapshotFile);
-
-    function waitForHeapdump(err, filename) {
-      var files = shelljs.ls(heapSnapshotFile);
-      test.equals(err, null);
-      test.equals(files.length, 1);
-      test.equals(filename, files[0]);
-      server.close();
-      test.end();
-    }
-
-    heapdump.writeSnapshot(heapSnapshotFile, waitForHeapdump);
-  });
-  server.listen(0);
-}
-
-test('Test writeSnapshot and callback', testFuncCall);
diff --git a/node_modules/heapdump/test/test-callback.js 
b/node_modules/heapdump/test/test-callback.js
deleted file mode 100644
index c4cd0b9..0000000
--- a/node_modules/heapdump/test/test-callback.js
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) 2014, Krishna Raman <kra...@gmail.com>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-var path = require('path');
-var http = require('http');
-var shelljs = require('shelljs');
-var test = require('tap').test;
-var heapdump = require('../');
-
-process.chdir(__dirname);
-
-function testFuncCall(test){
-  var server = http.createServer(function(req, res) {
-    res.writeHeader(200);
-    res.end();
-  });
-  server.on('listening', function(){
-    console.log('Listening on http://127.0.0.1:8000/');
-    console.log('PID %d', process.pid);
-
-    var heapSnapshotFile = 'heapdump-*.heapsnapshot';
-    shelljs.rm('-f', heapSnapshotFile);
-
-    function waitForHeapdump(err, filename) {
-      var files = shelljs.ls(heapSnapshotFile);
-      test.equals(err, null);
-      test.equals(files.length, 1);
-      test.equals(filename, files[0]);
-      server.close();
-      test.end();
-    }
-
-    heapdump.writeSnapshot(waitForHeapdump);
-  });
-  server.listen(0);
-}
-
-test('Test writeSnapshot and callback', testFuncCall);
diff --git a/node_modules/heapdump/test/test-sigusr2.js 
b/node_modules/heapdump/test/test-sigusr2.js
deleted file mode 100644
index 514e675..0000000
--- a/node_modules/heapdump/test/test-sigusr2.js
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright (c) 2012, Ben Noordhuis <i...@bnoordhuis.nl>
-//
-// Permission to use, copy, modify, and/or distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-var path = require('path');
-var http = require('http');
-var shelljs = require('shelljs');
-var test = require('tap').test;
-var heapdump = require('../');
-
-process.chdir(__dirname);
-
-function testSigUsr2(test){
-  var server = http.createServer(function(req, res) {
-    res.writeHeader(200, {'Content-Type':'text/plain;charset=utf-8',
-                          'Content-Length':'2'});
-    res.end('OK');
-  });
-
-  server.on('listening', function(){
-    console.log('Listening on http://127.0.0.1:8000/');
-    console.log('now sending SIGUSR2 to %d', process.pid);
-
-    var heapSnapshotFile = 'heapdump-*.heapsnapshot';
-    shelljs.rm('-f', heapSnapshotFile);
-
-    var killCmd = shelljs.which('kill');
-    var cmd = [killCmd, '-usr2', process.pid].join(' ');
-    shelljs.exec(cmd);
-
-    function waitForHeapdump(){
-      var files = shelljs.ls(heapSnapshotFile);
-      test.equals(files.length, 1, 'Heap file should be present');
-      server.close();
-      test.end();
-    }
-
-    setTimeout(waitForHeapdump, 500);
-  });
-
-  server.listen(0);
-}
-
-test('test heapdump on SIGUSR2', testSigUsr2);
diff --git a/node_modules/json-stable-stringify/package.json 
b/node_modules/json-stable-stringify/package.json
index c594d8a..cda4f5c 100644
--- a/node_modules/json-stable-stringify/package.json
+++ b/node_modules/json-stable-stringify/package.json
@@ -50,7 +50,7 @@
     "/restbase-mod-table-cassandra"
   ],
   "_resolved": 
"git+https://github.com/wikimedia/json-stable-stringify.git#c05178e4dfc3834017f017732934c1c52ba3dd8f";,
-  "_shasum": "7e4f1f449658e91ec9e4469ec841677eab7448b9",
+  "_shasum": "0b8925042d807ad247819afb1208ab2daaa22ae0",
   "_shrinkwrap": null,
   "_spec": 
"json-stable-stringify@git+https://github.com/wikimedia/json-stable-stringify.git#master";,
   "_where": "/opt/service",
diff --git a/node_modules/jsonwebtoken/package.json 
b/node_modules/jsonwebtoken/package.json
index b90ea4a..61124a7 100644
--- a/node_modules/jsonwebtoken/package.json
+++ b/node_modules/jsonwebtoken/package.json
@@ -2,18 +2,18 @@
   "_args": [
     [
       {
-        "raw": "jsonwebtoken@^7.3.0",
+        "raw": "jsonwebtoken@^7.4.1",
         "scope": null,
         "escapedName": "jsonwebtoken",
         "name": "jsonwebtoken",
-        "rawSpec": "^7.3.0",
-        "spec": ">=7.3.0 <8.0.0",
+        "rawSpec": "^7.4.1",
+        "spec": ">=7.4.1 <8.0.0",
         "type": "range"
       },
       "/opt/service"
     ]
   ],
-  "_from": "jsonwebtoken@>=7.3.0 <8.0.0",
+  "_from": "jsonwebtoken@>=7.4.1 <8.0.0",
   "_id": "jsonwebtoken@7.4.1",
   "_inCache": true,
   "_location": "/jsonwebtoken",
@@ -29,12 +29,12 @@
   "_npmVersion": "2.15.1",
   "_phantomChildren": {},
   "_requested": {
-    "raw": "jsonwebtoken@^7.3.0",
+    "raw": "jsonwebtoken@^7.4.1",
     "scope": null,
     "escapedName": "jsonwebtoken",
     "name": "jsonwebtoken",
-    "rawSpec": "^7.3.0",
-    "spec": ">=7.3.0 <8.0.0",
+    "rawSpec": "^7.4.1",
+    "spec": ">=7.4.1 <8.0.0",
     "type": "range"
   },
   "_requiredBy": [
@@ -43,7 +43,7 @@
   "_resolved": 
"https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.1.tgz";,
   "_shasum": "7ca324f5215f8be039cd35a6c45bb8cb74a448fb",
   "_shrinkwrap": null,
-  "_spec": "jsonwebtoken@^7.3.0",
+  "_spec": "jsonwebtoken@^7.4.1",
   "_where": "/opt/service",
   "author": {
     "name": "auth0"
diff --git a/node_modules/kad/package.json b/node_modules/kad/package.json
index 9597340..e9bd5be 100644
--- a/node_modules/kad/package.json
+++ b/node_modules/kad/package.json
@@ -49,7 +49,7 @@
     "/limitation"
   ],
   "_resolved": 
"git+https://github.com/gwicke/kad.git#936c91652d757ea6f9dd30e44698afb0daaa1d17";,
-  "_shasum": "d2147cbcc769fcfb1fa7b74a957b2329646832b5",
+  "_shasum": "c8ee04f06f87cb2a499212f6ad5e82102087e065",
   "_shrinkwrap": null,
   "_spec": "kad@git+https://github.com/gwicke/kad.git#master";,
   "_where": "/opt/service/node_modules/limitation",
diff --git a/node_modules/service-runner/package.json 
b/node_modules/service-runner/package.json
index 982dbcc..49b6864 100644
--- a/node_modules/service-runner/package.json
+++ b/node_modules/service-runner/package.json
@@ -2,18 +2,18 @@
   "_args": [
     [
       {
-        "raw": "service-runner@^2.2.5",
+        "raw": "service-runner@^2.3.0",
         "scope": null,
         "escapedName": "service-runner",
         "name": "service-runner",
-        "rawSpec": "^2.2.5",
-        "spec": ">=2.2.5 <3.0.0",
+        "rawSpec": "^2.3.0",
+        "spec": ">=2.3.0 <3.0.0",
         "type": "range"
       },
       "/opt/service"
     ]
   ],
-  "_from": "service-runner@>=2.2.5 <3.0.0",
+  "_from": "service-runner@>=2.3.0 <3.0.0",
   "_id": "service-runner@2.3.0",
   "_inCache": true,
   "_location": "/service-runner",
@@ -29,12 +29,12 @@
   "_npmVersion": "3.10.8",
   "_phantomChildren": {},
   "_requested": {
-    "raw": "service-runner@^2.2.5",
+    "raw": "service-runner@^2.3.0",
     "scope": null,
     "escapedName": "service-runner",
     "name": "service-runner",
-    "rawSpec": "^2.2.5",
-    "spec": ">=2.2.5 <3.0.0",
+    "rawSpec": "^2.3.0",
+    "spec": ">=2.3.0 <3.0.0",
     "type": "range"
   },
   "_requiredBy": [
@@ -43,7 +43,7 @@
   "_resolved": 
"https://registry.npmjs.org/service-runner/-/service-runner-2.3.0.tgz";,
   "_shasum": "09039dfdcc40cdbd0259dd3f982916675838cb59",
   "_shrinkwrap": null,
-  "_spec": "service-runner@^2.2.5",
+  "_spec": "service-runner@^2.3.0",
   "_where": "/opt/service",
   "author": {
     "name": "Wikimedia service team",
diff --git a/node_modules/swagger-ui/package.json 
b/node_modules/swagger-ui/package.json
index 72e6a81..6388dbb 100644
--- a/node_modules/swagger-ui/package.json
+++ b/node_modules/swagger-ui/package.json
@@ -49,7 +49,7 @@
     "/hyperswitch"
   ],
   "_resolved": 
"git+https://github.com/wikimedia/swagger-ui.git#b9b40dc8e00caeb24c19fe636b93250a7e335541";,
-  "_shasum": "27193eeab80e9f54684738d07c7e309956c738d5",
+  "_shasum": "3a3965799cc2188d023a024b3d39a9c50807fbf5",
   "_shrinkwrap": null,
   "_spec": "swagger-ui@git+https://github.com/wikimedia/swagger-ui.git#master";,
   "_where": "/opt/service/node_modules/hyperswitch",
diff --git a/restbase b/restbase
index 148c226..5a29491 160000
--- a/restbase
+++ b/restbase
@@ -1 +1 @@
-Subproject commit 148c226af3bf34543ad0665f1af1df05cb8d2765
+Subproject commit 5a29491f94f0603924b7712a714c0a7c5c1b7b23

-- 
To view, visit https://gerrit.wikimedia.org/r/358773
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iab881bbede4344e1b41145c05597c60fb07ddc22
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/restbase/deploy
Gerrit-Branch: master
Gerrit-Owner: Mobrovac <mobro...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to