summary refs log tree commit diff
path: root/pkgs/servers/web-apps
diff options
context:
space:
mode:
authorRodney Lorrimar <dev@rodney.id.au>2016-09-17 13:14:23 +0100
committerRodney Lorrimar <dev@rodney.id.au>2016-09-17 22:38:49 +0100
commit983f6819c7d0bf9692df591f2ce25e2122a24434 (patch)
treea9ea18cc00ba20ef617c72467023e1501f496b38 /pkgs/servers/web-apps
parent32352638ece25645b15bb613e9fa4142ad46b9f1 (diff)
downloadnixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.tar
nixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.tar.gz
nixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.tar.bz2
nixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.tar.lz
nixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.tar.xz
nixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.tar.zst
nixlib-983f6819c7d0bf9692df591f2ce25e2122a24434.zip
pump.io: git-2015-11-09 -> 1.0.0
Release notes:
https://github.com/e14n/pump.io/releases/tag/v1.0.0

Package is now generated with node2nix instead of npm2nix.
Diffstat (limited to 'pkgs/servers/web-apps')
-rw-r--r--pkgs/servers/web-apps/pump.io/composition.nix16
-rw-r--r--pkgs/servers/web-apps/pump.io/default.nix31
-rwxr-xr-xpkgs/servers/web-apps/pump.io/generate.sh29
-rw-r--r--pkgs/servers/web-apps/pump.io/node-packages.json43
-rw-r--r--pkgs/servers/web-apps/pump.io/node-packages.nix7122
5 files changed, 4450 insertions, 2791 deletions
diff --git a/pkgs/servers/web-apps/pump.io/composition.nix b/pkgs/servers/web-apps/pump.io/composition.nix
new file mode 100644
index 000000000000..36815198d67b
--- /dev/null
+++ b/pkgs/servers/web-apps/pump.io/composition.nix
@@ -0,0 +1,16 @@
+# This file has been generated by node2nix 1.1.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python utillinux runCommand writeTextFile;
+    inherit nodejs;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/servers/web-apps/pump.io/default.nix b/pkgs/servers/web-apps/pump.io/default.nix
index 2d3765936623..f888566cad66 100644
--- a/pkgs/servers/web-apps/pump.io/default.nix
+++ b/pkgs/servers/web-apps/pump.io/default.nix
@@ -1,34 +1,19 @@
-{ stdenv, fetchFromGitHub, makeWrapper, callPackage, nodejs, python, utillinux, graphicsmagick }:
+{ pkgs, system, stdenv, fetchurl, makeWrapper, nodejs, graphicsmagick }:
 
 with stdenv.lib;
 
 let
-  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
-    inherit stdenv nodejs fetchurl fetchgit;
-    neededNatives = [ python ] ++ optional stdenv.isLinux utillinux;
-    self = nodePackages;
-    generated = ./node-packages.nix;
+  # To regenerate composition.nix, run generate.sh.
+  nodePackages = import ./composition.nix {
+    inherit pkgs system nodejs;
   };
-
-in nodePackages.buildNodePackage rec {
-  version = "git-2015-11-09";
-  name = "pump.io-${version}";
-
-  src = fetchFromGitHub {
-    owner = "e14n";
-    repo = "pump.io";
-    rev = "2f8d6b3518607ed02b594aee0db6ccacbe631b2d";
-    sha256 = "1xym3jzpxlni1n2i0ixwrnpkx5fbnd1p6sm1hf9n3w5m2lx6gdw5";
-  };
-
-  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
-
-  buildInputs = [ makeWrapper ];
+in
+nodePackages.package.override (oldAttrs: {
+  buildInputs = oldAttrs.buildInputs ++ [ makeWrapper ];
 
   postInstall = ''
     for prog in pump pump-authorize pump-follow pump-post-note pump-register-app pump-register-user pump-stop-following; do
       wrapProgram "$out/bin/$prog" \
-        --set NODE_PATH "$out/lib/node_modules/pump.io/node_modules/" \
         --prefix PATH : ${graphicsmagick}/bin:$out/bin
     done
   '';
@@ -65,4 +50,4 @@ in nodePackages.buildNodePackage rec {
       * Experimenting with social software
     '';
   };
-}
+})
diff --git a/pkgs/servers/web-apps/pump.io/generate.sh b/pkgs/servers/web-apps/pump.io/generate.sh
new file mode 100755
index 000000000000..51e05ce37d6b
--- /dev/null
+++ b/pkgs/servers/web-apps/pump.io/generate.sh
@@ -0,0 +1,29 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix curl jshon
+
+set -e
+
+# Normally, this node2nix invocation would be sufficient:
+#   exec node2nix --input node-packages.json --composition composition.nix
+#
+# But pump.io soft-depends on extra modules, which have to be *inside*
+# its own node_modules, not beside them.
+#
+# So we hack these extra deps into package.json and feed that into
+# node2nix.
+#
+# Also jshon does funny things with slashes in strings, which can be
+# fixed with sed.
+
+curl https://raw.githubusercontent.com/e14n/pump.io/v1.0.0/package.json | \
+    jshon -e dependencies              \
+          -s '*' -i databank-mongodb   \
+          -s '*' -i databank-redis     \
+          -s '*' -i databank-memcached \
+          -s '*' -i databank-lrucache  \
+          -p | sed 's=\\/=/=g' > full-package.json
+
+node2nix --input full-package.json --composition composition.nix --node-env ../../../development/node-packages/node-env.nix
+
+# overriding nodePackages src doesn't seem to work, so...
+sed -i 's|src = ./.|src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; }|' node-packages.nix
diff --git a/pkgs/servers/web-apps/pump.io/node-packages.json b/pkgs/servers/web-apps/pump.io/node-packages.json
index 10d50a0c72ea..294da7ab2f1c 100644
--- a/pkgs/servers/web-apps/pump.io/node-packages.json
+++ b/pkgs/servers/web-apps/pump.io/node-packages.json
@@ -1,36 +1,7 @@
-{
-  "name": "pump.io",
-  "dependencies": {
-    "bcrypt": "0.8.x",
-    "bunyan": "0.16.x",
-    "connect": "1.x",
-    "connect-auth": "0.5.3",
-    "connect-databank": "0.13.x",
-    "crypto-cacerts": "0.1.x",
-    "databank": "0.19.x",
-    "databank-lrucache": "^0.1.2",
-    "databank-memcached": "^0.15.0",
-    "databank-mongodb": "^0.18.10",
-    "databank-redis": "^0.19.6",
-    "dateformat": "1.x",
-    "dialback-client": "~0.1.5",
-    "emailjs": "0.3.x",
-    "express": "2.5.x",
-    "gm": "1.9.x",
-    "jankyqueue": "0.1.x",
-    "mkdirp": "0.3.x",
-    "node-uuid": "1.3.x",
-    "oauth-evanp": "~0.9.10-evanp.2",
-    "optimist": "0.3.x",
-    "schlock": "~0.2.1",
-    "set-immediate": "0.1.x",
-    "showdown": "0.3.x",
-    "sockjs": "0.3.x",
-    "step": "0.0.x",
-    "underscore": "1.4.x",
-    "underscore-contrib": "0.1.x",
-    "utml": "0.2.x",
-    "validator": "0.4.x",
-    "webfinger": "~0.4.2"
-  }
-}
+[
+  "pump.io",
+  "databank-mongodb",
+  "databank-redis",
+  "databank-memcached",
+  "databank-lrucache"
+]
diff --git a/pkgs/servers/web-apps/pump.io/node-packages.nix b/pkgs/servers/web-apps/pump.io/node-packages.nix
index 4d6272511aa8..ec05cc8c13b9 100644
--- a/pkgs/servers/web-apps/pump.io/node-packages.nix
+++ b/pkgs/servers/web-apps/pump.io/node-packages.nix
@@ -1,2734 +1,4392 @@
-{ self, fetchurl, fetchgit ? null, lib }:
+# This file has been generated by node2nix 1.1.0. Do not edit!
 
-{
-  by-spec."addressparser"."^0.3.2" =
-    self.by-version."addressparser"."0.3.2";
-  by-version."addressparser"."0.3.2" = self.buildNodePackage {
-    name = "addressparser-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz";
-      name = "addressparser-0.3.2.tgz";
-      sha1 = "59873f35e8fcf6c7361c10239261d76e15348bb2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."addressparser"."~0.2.0" =
-    self.by-version."addressparser"."0.2.1";
-  by-version."addressparser"."0.2.1" = self.buildNodePackage {
-    name = "addressparser-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz";
-      name = "addressparser-0.2.1.tgz";
-      sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-parallel"."~0.1.0" =
-    self.by-version."array-parallel"."0.1.3";
-  by-version."array-parallel"."0.1.3" = self.buildNodePackage {
-    name = "array-parallel-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz";
-      name = "array-parallel-0.1.3.tgz";
-      sha1 = "8f785308926ed5aa478c47e64d1b334b6c0c947d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-series"."~0.1.0" =
-    self.by-version."array-series"."0.1.5";
-  by-version."array-series"."0.1.5" = self.buildNodePackage {
-    name = "array-series-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz";
-      name = "array-series-0.1.5.tgz";
-      sha1 = "df5d37bfc5c2ef0755e2aa4f92feae7d4b5a972f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.2.x" =
-    self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = self.buildNodePackage {
-    name = "async-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
-      name = "async-0.2.10.tgz";
-      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.9.x" =
-    self.by-version."async"."0.9.2";
-  by-version."async"."0.9.2" = self.buildNodePackage {
-    name = "async-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
-      name = "async-0.9.2.tgz";
-      sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bcrypt"."0.8.x" =
-    self.by-version."bcrypt"."0.8.5";
-  by-version."bcrypt"."0.8.5" = self.buildNodePackage {
-    name = "bcrypt-0.8.5";
-    version = "0.8.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.8.5.tgz";
-      name = "bcrypt-0.8.5.tgz";
-      sha1 = "8e5b81b4db80e944f440005979ca8d58a961861d";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.0.5" = self.by-version."nan"."2.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bcrypt" = self.by-version."bcrypt"."0.8.5";
-  by-spec."bindings"."1.2.1" =
-    self.by-version."bindings"."1.2.1";
-  by-version."bindings"."1.2.1" = self.buildNodePackage {
-    name = "bindings-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
-      name = "bindings-1.2.1.tgz";
-      sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bisection"."*" =
-    self.by-version."bisection"."0.0.3";
-  by-version."bisection"."0.0.3" = self.buildNodePackage {
-    name = "bisection-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bisection/-/bisection-0.0.3.tgz";
-      name = "bisection-0.0.3.tgz";
-      sha1 = "9891d506d86ec7d50910c5157bb592dbb03f33db";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bson"."~0.2" =
-    self.by-version."bson"."0.2.22";
-  by-version."bson"."0.2.22" = self.buildNodePackage {
-    name = "bson-0.2.22";
-    version = "0.2.22";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bson/-/bson-0.2.22.tgz";
-      name = "bson-0.2.22.tgz";
-      sha1 = "fcda103f26d0c074d5a52d50927db80fd02b4b39";
-    };
-    deps = {
-      "nan-1.8.4" = self.by-version."nan"."1.8.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bufferjs"."=1.1.0" =
-    self.by-version."bufferjs"."1.1.0";
-  by-version."bufferjs"."1.1.0" = self.buildNodePackage {
-    name = "bufferjs-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bufferjs/-/bufferjs-1.1.0.tgz";
-      name = "bufferjs-1.1.0.tgz";
-      sha1 = "095ffa39c5e6b40a2178a1169c9effc584a73201";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."builtin-modules"."^1.0.0" =
-    self.by-version."builtin-modules"."1.1.0";
-  by-version."builtin-modules"."1.1.0" = self.buildNodePackage {
-    name = "builtin-modules-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz";
-      name = "builtin-modules-1.1.0.tgz";
-      sha1 = "1053955fd994a5746e525e4ac717b81caf07491c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bunyan"."0.16.x" =
-    self.by-version."bunyan"."0.16.8";
-  by-version."bunyan"."0.16.8" = self.buildNodePackage {
-    name = "bunyan-0.16.8";
-    version = "0.16.8";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bunyan/-/bunyan-0.16.8.tgz";
-      name = "bunyan-0.16.8.tgz";
-      sha1 = "3b3f6cdca262fa31aba43eb0eb6fb58e7bdde547";
-    };
-    deps = {
-      "dtrace-provider-0.2.4" = self.by-version."dtrace-provider"."0.2.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bunyan" = self.by-version."bunyan"."0.16.8";
-  by-spec."camelcase"."^2.0.0" =
-    self.by-version."camelcase"."2.0.1";
-  by-version."camelcase"."2.0.1" = self.buildNodePackage {
-    name = "camelcase-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/camelcase/-/camelcase-2.0.1.tgz";
-      name = "camelcase-2.0.1.tgz";
-      sha1 = "57568d687b8da56c4c1d17b4c74a3cee26d73aeb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase-keys"."^2.0.0" =
-    self.by-version."camelcase-keys"."2.0.0";
-  by-version."camelcase-keys"."2.0.0" = self.buildNodePackage {
-    name = "camelcase-keys-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.0.0.tgz";
-      name = "camelcase-keys-2.0.0.tgz";
-      sha1 = "ab87e740d72a1ffcb12a43cc04c14b39d549eab9";
-    };
-    deps = {
-      "camelcase-2.0.1" = self.by-version."camelcase"."2.0.1";
-      "map-obj-1.0.1" = self.by-version."map-obj"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."1.x" =
-    self.by-version."connect"."1.9.2";
-  by-version."connect"."1.9.2" = self.buildNodePackage {
-    name = "connect-1.9.2";
-    version = "1.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
-      name = "connect-1.9.2.tgz";
-      sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
-    };
-    deps = {
-      "qs-6.0.1" = self.by-version."qs"."6.0.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "formidable-1.0.17" = self.by-version."formidable"."1.0.17";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "connect" = self.by-version."connect"."1.9.2";
-  by-spec."connect"."2.0.0" =
-    self.by-version."connect"."2.0.0";
-  by-version."connect"."2.0.0" = self.buildNodePackage {
-    name = "connect-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/connect/-/connect-2.0.0.tgz";
-      name = "connect-2.0.0.tgz";
-      sha1 = "be0f8fcee7c1a0e2caa2e246a278dbbe250b9f27";
-    };
-    deps = {
-      "qs-0.4.2" = self.by-version."qs"."0.4.2";
-      "mime-1.2.4" = self.by-version."mime"."1.2.4";
-      "formidable-1.0.17" = self.by-version."formidable"."1.0.17";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-auth"."0.5.3" =
-    self.by-version."connect-auth"."0.5.3";
-  by-version."connect-auth"."0.5.3" = self.buildNodePackage {
-    name = "connect-auth-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/connect-auth/-/connect-auth-0.5.3.tgz";
-      name = "connect-auth-0.5.3.tgz";
-      sha1 = "2af00ac6f67ac1c5f451a0ff841a8d20a725091e";
-    };
-    deps = {
-      "connect-2.0.0" = self.by-version."connect"."2.0.0";
-      "oauth-0.9.7" = self.by-version."oauth"."0.9.7";
-      "openid-0.4.1" = self.by-version."openid"."0.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "connect-auth" = self.by-version."connect-auth"."0.5.3";
-  by-spec."connect-databank"."0.13.x" =
-    self.by-version."connect-databank"."0.13.0";
-  by-version."connect-databank"."0.13.0" = self.buildNodePackage {
-    name = "connect-databank-0.13.0";
-    version = "0.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/connect-databank/-/connect-databank-0.13.0.tgz";
-      name = "connect-databank-0.13.0.tgz";
-      sha1 = "0d5063e9402381073e0242fd7c6ef28b2d61676b";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "databank-0.19.1" = self.by-version."databank"."0.19.1";
-      "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "connect-databank" = self.by-version."connect-databank"."0.13.0";
-  by-spec."core-util-is"."~1.0.0" =
-    self.by-version."core-util-is"."1.0.2";
-  by-version."core-util-is"."1.0.2" = self.buildNodePackage {
-    name = "core-util-is-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-      name = "core-util-is-1.0.2.tgz";
-      sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crypto-cacerts"."0.1.x" =
-    self.by-version."crypto-cacerts"."0.1.0";
-  by-version."crypto-cacerts"."0.1.0" = self.buildNodePackage {
-    name = "crypto-cacerts-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/crypto-cacerts/-/crypto-cacerts-0.1.0.tgz";
-      name = "crypto-cacerts-0.1.0.tgz";
-      sha1 = "3499c6dff949ab005d4ad4a3f09c48ced6c88a41";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "crypto-cacerts" = self.by-version."crypto-cacerts"."0.1.0";
-  by-spec."databank"."0.18.x" =
-    self.by-version."databank"."0.18.2";
-  by-version."databank"."0.18.2" = self.buildNodePackage {
-    name = "databank-0.18.2";
-    version = "0.18.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/databank/-/databank-0.18.2.tgz";
-      name = "databank-0.18.2.tgz";
-      sha1 = "b1f85bafa329cdb415589c0ee819a04c989a03ed";
-    };
-    deps = {
-      "vows-0.7.0" = self.by-version."vows"."0.7.0";
-      "step-0.0.6" = self.by-version."step"."0.0.6";
-      "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."databank"."0.19.x" =
-    self.by-version."databank"."0.19.1";
-  by-version."databank"."0.19.1" = self.buildNodePackage {
-    name = "databank-0.19.1";
-    version = "0.19.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/databank/-/databank-0.19.1.tgz";
-      name = "databank-0.19.1.tgz";
-      sha1 = "95c6f662927b891f62c6f07fefe5e690fbe666e0";
-    };
-    deps = {
-      "vows-0.7.0" = self.by-version."vows"."0.7.0";
-      "step-0.0.6" = self.by-version."step"."0.0.6";
-      "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "databank" = self.by-version."databank"."0.19.1";
-  by-spec."databank"."~0.19.1" =
-    self.by-version."databank"."0.19.1";
-  by-spec."databank-lrucache"."^0.1.2" =
-    self.by-version."databank-lrucache"."0.1.2";
-  by-version."databank-lrucache"."0.1.2" = self.buildNodePackage {
-    name = "databank-lrucache-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/databank-lrucache/-/databank-lrucache-0.1.2.tgz";
-      name = "databank-lrucache-0.1.2.tgz";
-      sha1 = "846d3bbc3d908ea2880baf9a611d86a28697c640";
-    };
-    deps = {
-      "databank-0.19.1" = self.by-version."databank"."0.19.1";
-      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
-      "lru-cache-2.3.1" = self.by-version."lru-cache"."2.3.1";
-      "set-immediate-0.1.1" = self.by-version."set-immediate"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "databank-lrucache" = self.by-version."databank-lrucache"."0.1.2";
-  by-spec."databank-memcached"."^0.15.0" =
-    self.by-version."databank-memcached"."0.15.0";
-  by-version."databank-memcached"."0.15.0" = self.buildNodePackage {
-    name = "databank-memcached-0.15.0";
-    version = "0.15.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/databank-memcached/-/databank-memcached-0.15.0.tgz";
-      name = "databank-memcached-0.15.0.tgz";
-      sha1 = "0817452dfb2b09267cd1c8bbec95363ec14f14f2";
-    };
-    deps = {
-      "memcached-0.2.8" = self.by-version."memcached"."0.2.8";
-      "databank-0.18.2" = self.by-version."databank"."0.18.2";
-      "step-0.0.6" = self.by-version."step"."0.0.6";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "databank-memcached" = self.by-version."databank-memcached"."0.15.0";
-  by-spec."databank-mongodb"."^0.18.10" =
-    self.by-version."databank-mongodb"."0.18.10";
-  by-version."databank-mongodb"."0.18.10" = self.buildNodePackage {
-    name = "databank-mongodb-0.18.10";
-    version = "0.18.10";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/databank-mongodb/-/databank-mongodb-0.18.10.tgz";
-      name = "databank-mongodb-0.18.10.tgz";
-      sha1 = "5f9d37059d024f1116bdca05459f9c033b0d8ae5";
-    };
-    deps = {
-      "databank-0.19.1" = self.by-version."databank"."0.19.1";
-      "mongodb-1.4.39" = self.by-version."mongodb"."1.4.39";
-      "step-0.0.6" = self.by-version."step"."0.0.6";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "databank-mongodb" = self.by-version."databank-mongodb"."0.18.10";
-  by-spec."databank-redis"."^0.19.6" =
-    self.by-version."databank-redis"."0.19.6";
-  by-version."databank-redis"."0.19.6" = self.buildNodePackage {
-    name = "databank-redis-0.19.6";
-    version = "0.19.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/databank-redis/-/databank-redis-0.19.6.tgz";
-      name = "databank-redis-0.19.6.tgz";
-      sha1 = "dd476b81b8200269ea0cc85f6b6decd05799bce9";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "databank-0.19.1" = self.by-version."databank"."0.19.1";
-      "redis-0.10.3" = self.by-version."redis"."0.10.3";
-      "underscore-1.6.0" = self.by-version."underscore"."1.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "databank-redis" = self.by-version."databank-redis"."0.19.6";
-  by-spec."dateformat"."1.x" =
-    self.by-version."dateformat"."1.0.12";
-  by-version."dateformat"."1.0.12" = self.buildNodePackage {
-    name = "dateformat-1.0.12";
-    version = "1.0.12";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz";
-      name = "dateformat-1.0.12.tgz";
-      sha1 = "9f124b67594c937ff706932e4a642cca8dbbfee9";
-    };
-    deps = {
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-      "meow-3.6.0" = self.by-version."meow"."3.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "dateformat" = self.by-version."dateformat"."1.0.12";
-  by-spec."debug"."*" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = self.buildNodePackage {
-    name = "debug-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-      name = "debug-2.2.0.tgz";
-      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
-    };
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.7.0" =
-    self.by-version."debug"."0.7.0";
-  by-version."debug"."0.7.0" = self.buildNodePackage {
-    name = "debug-0.7.0";
-    version = "0.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-0.7.0.tgz";
-      name = "debug-0.7.0.tgz";
-      sha1 = "f5be05ec0434c992d79940e50b2695cfb2e01b08";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dialback-client"."~0.1.5" =
-    self.by-version."dialback-client"."0.1.5";
-  by-version."dialback-client"."0.1.5" = self.buildNodePackage {
-    name = "dialback-client-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dialback-client/-/dialback-client-0.1.5.tgz";
-      name = "dialback-client-0.1.5.tgz";
-      sha1 = "ff37f58554ac7dca79a219ba3e6e7c5ed4cc0745";
-    };
-    deps = {
-      "express-2.5.11" = self.by-version."express"."2.5.11";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "databank-0.18.2" = self.by-version."databank"."0.18.2";
-      "step-0.0.6" = self.by-version."step"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "dialback-client" = self.by-version."dialback-client"."0.1.5";
-  by-spec."diff"."~1.0.3" =
-    self.by-version."diff"."1.0.8";
-  by-version."diff"."1.0.8" = self.buildNodePackage {
-    name = "diff-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
-      name = "diff-1.0.8.tgz";
-      sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dtrace-provider"."0.2.4" =
-    self.by-version."dtrace-provider"."0.2.4";
-  by-version."dtrace-provider"."0.2.4" = self.buildNodePackage {
-    name = "dtrace-provider-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.4.tgz";
-      name = "dtrace-provider-0.2.4.tgz";
-      sha1 = "0719d4449c8994cc89e317cf0d732213f94653d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."emailjs"."0.3.x" =
-    self.by-version."emailjs"."0.3.16";
-  by-version."emailjs"."0.3.16" = self.buildNodePackage {
-    name = "emailjs-0.3.16";
-    version = "0.3.16";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/emailjs/-/emailjs-0.3.16.tgz";
-      name = "emailjs-0.3.16.tgz";
-      sha1 = "f162735352ce7b6615a5d811714051f90f23331d";
-    };
-    deps = {
-      "addressparser-0.3.2" = self.by-version."addressparser"."0.3.2";
-      "mimelib-0.2.14" = self.by-version."mimelib"."0.2.14";
-      "moment-1.7.0" = self.by-version."moment"."1.7.0";
-      "starttls-0.2.1" = self.by-version."starttls"."0.2.1";
-    };
-    optionalDependencies = {
-      "bufferjs-1.1.0" = self.by-version."bufferjs"."1.1.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "emailjs" = self.by-version."emailjs"."0.3.16";
-  by-spec."encoding"."~0.1" =
-    self.by-version."encoding"."0.1.11";
-  by-version."encoding"."0.1.11" = self.buildNodePackage {
-    name = "encoding-0.1.11";
-    version = "0.1.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/encoding/-/encoding-0.1.11.tgz";
-      name = "encoding-0.1.11.tgz";
-      sha1 = "52c65ac15aab467f1338451e2615f988eccc0258";
-    };
-    deps = {
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."error-ex"."^1.2.0" =
-    self.by-version."error-ex"."1.3.0";
-  by-version."error-ex"."1.3.0" = self.buildNodePackage {
-    name = "error-ex-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz";
-      name = "error-ex-1.3.0.tgz";
-      sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
-    };
-    deps = {
-      "is-arrayish-0.2.1" = self.by-version."is-arrayish"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."2.5.x" =
-    self.by-version."express"."2.5.11";
-  by-version."express"."2.5.11" = self.buildNodePackage {
-    name = "express-2.5.11";
-    version = "2.5.11";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/express/-/express-2.5.11.tgz";
-      name = "express-2.5.11.tgz";
-      sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
-    };
-    deps = {
-      "connect-1.9.2" = self.by-version."connect"."1.9.2";
-      "mime-1.2.4" = self.by-version."mime"."1.2.4";
-      "qs-0.4.2" = self.by-version."qs"."0.4.2";
-      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "express" = self.by-version."express"."2.5.11";
-  by-spec."eyes".">=0.1.6" =
-    self.by-version."eyes"."0.1.8";
-  by-version."eyes"."0.1.8" = self.buildNodePackage {
-    name = "eyes-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-      name = "eyes-0.1.8.tgz";
-      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."faye-websocket"."^0.9.3" =
-    self.by-version."faye-websocket"."0.9.4";
-  by-version."faye-websocket"."0.9.4" = self.buildNodePackage {
-    name = "faye-websocket-0.9.4";
-    version = "0.9.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.9.4.tgz";
-      name = "faye-websocket-0.9.4.tgz";
-      sha1 = "885934c79effb0409549e0c0a3801ed17a40cdad";
-    };
-    deps = {
-      "websocket-driver-0.6.3" = self.by-version."websocket-driver"."0.6.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."find-up"."^1.0.0" =
-    self.by-version."find-up"."1.1.0";
-  by-version."find-up"."1.1.0" = self.buildNodePackage {
-    name = "find-up-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/find-up/-/find-up-1.1.0.tgz";
-      name = "find-up-1.1.0.tgz";
-      sha1 = "a63b0eec4625a2902534898a5f9eec8aaed046e9";
-    };
-    deps = {
-      "path-exists-2.1.0" = self.by-version."path-exists"."2.1.0";
-      "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."formidable"."1.0.x" =
-    self.by-version."formidable"."1.0.17";
-  by-version."formidable"."1.0.17" = self.buildNodePackage {
-    name = "formidable-1.0.17";
-    version = "1.0.17";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
-      name = "formidable-1.0.17.tgz";
-      sha1 = "ef5491490f9433b705faa77249c99029ae348559";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."get-stdin"."^4.0.1" =
-    self.by-version."get-stdin"."4.0.1";
-  by-version."get-stdin"."4.0.1" = self.buildNodePackage {
-    name = "get-stdin-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
-      name = "get-stdin-4.0.1.tgz";
-      sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gm"."1.9.x" =
-    self.by-version."gm"."1.9.2";
-  by-version."gm"."1.9.2" = self.buildNodePackage {
-    name = "gm-1.9.2";
-    version = "1.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/gm/-/gm-1.9.2.tgz";
-      name = "gm-1.9.2.tgz";
-      sha1 = "00443279fe959a10fa23025e0c8401e710215845";
-    };
-    deps = {
-      "debug-0.7.0" = self.by-version."debug"."0.7.0";
-      "array-series-0.1.5" = self.by-version."array-series"."0.1.5";
-      "array-parallel-0.1.3" = self.by-version."array-parallel"."0.1.3";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-      "stream-to-buffer-0.0.1" = self.by-version."stream-to-buffer"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "gm" = self.by-version."gm"."1.9.2";
-  by-spec."graceful-fs"."^4.1.2" =
-    self.by-version."graceful-fs"."4.1.2";
-  by-version."graceful-fs"."4.1.2" = self.buildNodePackage {
-    name = "graceful-fs-4.1.2";
-    version = "4.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.2.tgz";
-      name = "graceful-fs-4.1.2.tgz";
-      sha1 = "fe2239b7574972e67e41f808823f9bfa4a991e37";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hashring"."0.0.x" =
-    self.by-version."hashring"."0.0.8";
-  by-version."hashring"."0.0.8" = self.buildNodePackage {
-    name = "hashring-0.0.8";
-    version = "0.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hashring/-/hashring-0.0.8.tgz";
-      name = "hashring-0.0.8.tgz";
-      sha1 = "203ab13c364119f10106526d2eaf7bd42b484c31";
-    };
-    deps = {
-      "bisection-0.0.3" = self.by-version."bisection"."0.0.3";
-      "simple-lru-cache-0.0.2" = self.by-version."simple-lru-cache"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hosted-git-info"."^2.1.4" =
-    self.by-version."hosted-git-info"."2.1.4";
-  by-version."hosted-git-info"."2.1.4" = self.buildNodePackage {
-    name = "hosted-git-info-2.1.4";
-    version = "2.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz";
-      name = "hosted-git-info-2.1.4.tgz";
-      sha1 = "d9e953b26988be88096c46e926494d9604c300f8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."~0.4.4" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-version."iconv-lite"."0.4.13" = self.buildNodePackage {
-    name = "iconv-lite-0.4.13";
-    version = "0.4.13";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz";
-      name = "iconv-lite-0.4.13.tgz";
-      sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."indent-string"."^2.1.0" =
-    self.by-version."indent-string"."2.1.0";
-  by-version."indent-string"."2.1.0" = self.buildNodePackage {
-    name = "indent-string-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";
-      name = "indent-string-2.1.0.tgz";
-      sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80";
-    };
-    deps = {
-      "repeating-2.0.0" = self.by-version."repeating"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = self.buildNodePackage {
-    name = "inherits-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-      name = "inherits-2.0.1.tgz";
-      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-arrayish"."^0.2.1" =
-    self.by-version."is-arrayish"."0.2.1";
-  by-version."is-arrayish"."0.2.1" = self.buildNodePackage {
-    name = "is-arrayish-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
-      name = "is-arrayish-0.2.1.tgz";
-      sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-builtin-module"."^1.0.0" =
-    self.by-version."is-builtin-module"."1.0.0";
-  by-version."is-builtin-module"."1.0.0" = self.buildNodePackage {
-    name = "is-builtin-module-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
-      name = "is-builtin-module-1.0.0.tgz";
-      sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
-    };
-    deps = {
-      "builtin-modules-1.1.0" = self.by-version."builtin-modules"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-finite"."^1.0.0" =
-    self.by-version."is-finite"."1.0.1";
-  by-version."is-finite"."1.0.1" = self.buildNodePackage {
-    name = "is-finite-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz";
-      name = "is-finite-1.0.1.tgz";
-      sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b";
-    };
-    deps = {
-      "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-utf8"."^0.2.0" =
-    self.by-version."is-utf8"."0.2.0";
-  by-version."is-utf8"."0.2.0" = self.buildNodePackage {
-    name = "is-utf8-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-utf8/-/is-utf8-0.2.0.tgz";
-      name = "is-utf8-0.2.0.tgz";
-      sha1 = "b8aa54125ae626bfe4e3beb965f16a89c58a1137";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isarray"."0.0.1" =
-    self.by-version."isarray"."0.0.1";
-  by-version."isarray"."0.0.1" = self.buildNodePackage {
-    name = "isarray-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-      name = "isarray-0.0.1.tgz";
-      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jackpot".">=0.0.6" =
-    self.by-version."jackpot"."0.0.6";
-  by-version."jackpot"."0.0.6" = self.buildNodePackage {
-    name = "jackpot-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jackpot/-/jackpot-0.0.6.tgz";
-      name = "jackpot-0.0.6.tgz";
-      sha1 = "3cff064285cbf66f4eab2593c90bce816a821849";
-    };
-    deps = {
-      "retry-0.6.0" = self.by-version."retry"."0.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jankyqueue"."0.1.x" =
-    self.by-version."jankyqueue"."0.1.1";
-  by-version."jankyqueue"."0.1.1" = self.buildNodePackage {
-    name = "jankyqueue-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jankyqueue/-/jankyqueue-0.1.1.tgz";
-      name = "jankyqueue-0.1.1.tgz";
-      sha1 = "4181b0318fb32e77aee8c54af73f97660f2e88d2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jankyqueue" = self.by-version."jankyqueue"."0.1.1";
-  by-spec."kerberos"."0.0.11" =
-    self.by-version."kerberos"."0.0.11";
-  by-version."kerberos"."0.0.11" = self.buildNodePackage {
-    name = "kerberos-0.0.11";
-    version = "0.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.11.tgz";
-      name = "kerberos-0.0.11.tgz";
-      sha1 = "cb29891c21c22ac195f3140b97dd12204fea7dc2";
-    };
-    deps = {
-      "nan-1.8.4" = self.by-version."nan"."1.8.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."load-json-file"."^1.0.0" =
-    self.by-version."load-json-file"."1.1.0";
-  by-version."load-json-file"."1.1.0" = self.buildNodePackage {
-    name = "load-json-file-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
-      name = "load-json-file-1.1.0.tgz";
-      sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
-    };
-    deps = {
-      "graceful-fs-4.1.2" = self.by-version."graceful-fs"."4.1.2";
-      "parse-json-2.2.0" = self.by-version."parse-json"."2.2.0";
-      "pify-2.3.0" = self.by-version."pify"."2.3.0";
-      "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
-      "strip-bom-2.0.0" = self.by-version."strip-bom"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."loud-rejection"."^1.0.0" =
-    self.by-version."loud-rejection"."1.2.0";
-  by-version."loud-rejection"."1.2.0" = self.buildNodePackage {
-    name = "loud-rejection-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/loud-rejection/-/loud-rejection-1.2.0.tgz";
-      name = "loud-rejection-1.2.0.tgz";
-      sha1 = "f4f87db6abec3b7fe47834531ecf6a011143e58d";
-    };
-    deps = {
-      "signal-exit-2.1.2" = self.by-version."signal-exit"."2.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."2.3.x" =
-    self.by-version."lru-cache"."2.3.1";
-  by-version."lru-cache"."2.3.1" = self.buildNodePackage {
-    name = "lru-cache-2.3.1";
-    version = "2.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
-      name = "lru-cache-2.3.1.tgz";
-      sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."map-obj"."^1.0.0" =
-    self.by-version."map-obj"."1.0.1";
-  by-version."map-obj"."1.0.1" = self.buildNodePackage {
-    name = "map-obj-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
-      name = "map-obj-1.0.1.tgz";
-      sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."memcached"."0.2.x" =
-    self.by-version."memcached"."0.2.8";
-  by-version."memcached"."0.2.8" = self.buildNodePackage {
-    name = "memcached-0.2.8";
-    version = "0.2.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/memcached/-/memcached-0.2.8.tgz";
-      name = "memcached-0.2.8.tgz";
-      sha1 = "ffbf9498cbc30779625b77e77770bd50dc525212";
-    };
-    deps = {
-      "hashring-0.0.8" = self.by-version."hashring"."0.0.8";
-      "jackpot-0.0.6" = self.by-version."jackpot"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."meow"."^3.3.0" =
-    self.by-version."meow"."3.6.0";
-  by-version."meow"."3.6.0" = self.buildNodePackage {
-    name = "meow-3.6.0";
-    version = "3.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/meow/-/meow-3.6.0.tgz";
-      name = "meow-3.6.0.tgz";
-      sha1 = "e7a535295cb89db0e0782428e55fa8615bf9e150";
-    };
-    deps = {
-      "camelcase-keys-2.0.0" = self.by-version."camelcase-keys"."2.0.0";
-      "loud-rejection-1.2.0" = self.by-version."loud-rejection"."1.2.0";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "object-assign-4.0.1" = self.by-version."object-assign"."4.0.1";
-      "read-pkg-up-1.0.1" = self.by-version."read-pkg-up"."1.0.1";
-      "redent-1.0.0" = self.by-version."redent"."1.0.0";
-      "trim-newlines-1.0.0" = self.by-version."trim-newlines"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.2.4" =
-    self.by-version."mime"."1.2.4";
-  by-version."mime"."1.2.4" = self.buildNodePackage {
-    name = "mime-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
-      name = "mime-1.2.4.tgz";
-      sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime".">= 0.0.1" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = self.buildNodePackage {
-    name = "mime-1.3.4";
-    version = "1.3.4";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-      name = "mime-1.3.4.tgz";
-      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mimelib"."0.2.14" =
-    self.by-version."mimelib"."0.2.14";
-  by-version."mimelib"."0.2.14" = self.buildNodePackage {
-    name = "mimelib-0.2.14";
-    version = "0.2.14";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz";
-      name = "mimelib-0.2.14.tgz";
-      sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831";
-    };
-    deps = {
-      "encoding-0.1.11" = self.by-version."encoding"."0.1.11";
-      "addressparser-0.2.1" = self.by-version."addressparser"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."^1.1.3" =
-    self.by-version."minimist"."1.2.0";
-  by-version."minimist"."1.2.0" = self.buildNodePackage {
-    name = "minimist-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
-      name = "minimist-1.2.0.tgz";
-      sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.0" =
-    self.by-version."mkdirp"."0.3.0";
-  by-version."mkdirp"."0.3.0" = self.buildNodePackage {
-    name = "mkdirp-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-      name = "mkdirp-0.3.0.tgz";
-      sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.x" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-      name = "mkdirp-0.3.5.tgz";
-      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mkdirp" = self.by-version."mkdirp"."0.3.5";
-  by-spec."moment"."= 1.7.0" =
-    self.by-version."moment"."1.7.0";
-  by-version."moment"."1.7.0" = self.buildNodePackage {
-    name = "moment-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/moment/-/moment-1.7.0.tgz";
-      name = "moment-1.7.0.tgz";
-      sha1 = "6f3d73a446c6bd6af1b993801d0b8071efad5e28";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb"."1.4.x" =
-    self.by-version."mongodb"."1.4.39";
-  by-version."mongodb"."1.4.39" = self.buildNodePackage {
-    name = "mongodb-1.4.39";
-    version = "1.4.39";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mongodb/-/mongodb-1.4.39.tgz";
-      name = "mongodb-1.4.39.tgz";
-      sha1 = "f5b25c7f7df06c968cd5d3c68280adc9a6404591";
-    };
-    deps = {
-      "bson-0.2.22" = self.by-version."bson"."0.2.22";
-    };
-    optionalDependencies = {
-      "kerberos-0.0.11" = self.by-version."kerberos"."0.0.11";
-      "readable-stream-2.0.4" = self.by-version."readable-stream"."2.0.4";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = self.buildNodePackage {
-    name = "ms-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-      name = "ms-0.7.1.tgz";
-      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."2.0.5" =
-    self.by-version."nan"."2.0.5";
-  by-version."nan"."2.0.5" = self.buildNodePackage {
-    name = "nan-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/nan/-/nan-2.0.5.tgz";
-      name = "nan-2.0.5.tgz";
-      sha1 = "365888014be1fd178db0cbfa258edf7b0cb1c408";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~1.8" =
-    self.by-version."nan"."1.8.4";
-  by-version."nan"."1.8.4" = self.buildNodePackage {
-    name = "nan-1.8.4";
-    version = "1.8.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/nan/-/nan-1.8.4.tgz";
-      name = "nan-1.8.4.tgz";
-      sha1 = "3c76b5382eab33e44b758d2813ca9d92e9342f34";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."1.3.x" =
-    self.by-version."node-uuid"."1.3.3";
-  by-version."node-uuid"."1.3.3" = self.buildNodePackage {
-    name = "node-uuid-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
-      name = "node-uuid-1.3.3.tgz";
-      sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-uuid" = self.by-version."node-uuid"."1.3.3";
-  by-spec."node-uuid"."1.4.x" =
-    self.by-version."node-uuid"."1.4.7";
-  by-version."node-uuid"."1.4.7" = self.buildNodePackage {
-    name = "node-uuid-1.4.7";
-    version = "1.4.7";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
-      name = "node-uuid-1.4.7.tgz";
-      sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."^1.4.1" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."normalize-package-data"."^2.3.2" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-version."normalize-package-data"."2.3.5" = self.buildNodePackage {
-    name = "normalize-package-data-2.3.5";
-    version = "2.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz";
-      name = "normalize-package-data-2.3.5.tgz";
-      sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df";
-    };
-    deps = {
-      "hosted-git-info-2.1.4" = self.by-version."hosted-git-info"."2.1.4";
-      "is-builtin-module-1.0.0" = self.by-version."is-builtin-module"."1.0.0";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "validate-npm-package-license-3.0.1" = self.by-version."validate-npm-package-license"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."normalize-package-data"."^2.3.4" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-spec."number-is-nan"."^1.0.0" =
-    self.by-version."number-is-nan"."1.0.0";
-  by-version."number-is-nan"."1.0.0" = self.buildNodePackage {
-    name = "number-is-nan-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz";
-      name = "number-is-nan-1.0.0.tgz";
-      sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth"."0.9.7" =
-    self.by-version."oauth"."0.9.7";
-  by-version."oauth"."0.9.7" = self.buildNodePackage {
-    name = "oauth-0.9.7";
-    version = "0.9.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/oauth/-/oauth-0.9.7.tgz";
-      name = "oauth-0.9.7.tgz";
-      sha1 = "c2554d0368c966eb3050bec96584625577ad1ecd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-evanp"."~0.9.10-evanp.2" =
-    self.by-version."oauth-evanp"."0.9.10-evanp.2";
-  by-version."oauth-evanp"."0.9.10-evanp.2" = self.buildNodePackage {
-    name = "oauth-evanp-0.9.10-evanp.2";
-    version = "0.9.10-evanp.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/oauth-evanp/-/oauth-evanp-0.9.10-evanp.2.tgz";
-      name = "oauth-evanp-0.9.10-evanp.2.tgz";
-      sha1 = "9b5fb3508cea584420855957d56531405cf53a02";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "oauth-evanp" = self.by-version."oauth-evanp"."0.9.10-evanp.2";
-  by-spec."object-assign"."^4.0.1" =
-    self.by-version."object-assign"."4.0.1";
-  by-version."object-assign"."4.0.1" = self.buildNodePackage {
-    name = "object-assign-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/object-assign/-/object-assign-4.0.1.tgz";
-      name = "object-assign-4.0.1.tgz";
-      sha1 = "99504456c3598b5cad4fc59c26e8a9bb107fe0bd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."openid"."0.4.1" =
-    self.by-version."openid"."0.4.1";
-  by-version."openid"."0.4.1" = self.buildNodePackage {
-    name = "openid-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/openid/-/openid-0.4.1.tgz";
-      name = "openid-0.4.1.tgz";
-      sha1 = "de0eb5e381d34dc4aa5a77a98678bedafd11f387";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."0.3.x" =
-    self.by-version."optimist"."0.3.7";
-  by-version."optimist"."0.3.7" = self.buildNodePackage {
-    name = "optimist-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-      name = "optimist-0.3.7.tgz";
-      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "optimist" = self.by-version."optimist"."0.3.7";
-  by-spec."parse-json"."^2.2.0" =
-    self.by-version."parse-json"."2.2.0";
-  by-version."parse-json"."2.2.0" = self.buildNodePackage {
-    name = "parse-json-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
-      name = "parse-json-2.2.0.tgz";
-      sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
-    };
-    deps = {
-      "error-ex-1.3.0" = self.by-version."error-ex"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-exists"."^2.0.0" =
-    self.by-version."path-exists"."2.1.0";
-  by-version."path-exists"."2.1.0" = self.buildNodePackage {
-    name = "path-exists-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
-      name = "path-exists-2.1.0.tgz";
-      sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
-    };
-    deps = {
-      "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-type"."^1.0.0" =
-    self.by-version."path-type"."1.1.0";
-  by-version."path-type"."1.1.0" = self.buildNodePackage {
-    name = "path-type-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
-      name = "path-type-1.1.0.tgz";
-      sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
-    };
-    deps = {
-      "graceful-fs-4.1.2" = self.by-version."graceful-fs"."4.1.2";
-      "pify-2.3.0" = self.by-version."pify"."2.3.0";
-      "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pify"."^2.0.0" =
-    self.by-version."pify"."2.3.0";
-  by-version."pify"."2.3.0" = self.buildNodePackage {
-    name = "pify-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
-      name = "pify-2.3.0.tgz";
-      sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pinkie"."^2.0.0" =
-    self.by-version."pinkie"."2.0.1";
-  by-version."pinkie"."2.0.1" = self.buildNodePackage {
-    name = "pinkie-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz";
-      name = "pinkie-2.0.1.tgz";
-      sha1 = "4236c86fc29f261c2045bbe81f78cbb2a5e8306c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pinkie-promise"."^2.0.0" =
-    self.by-version."pinkie-promise"."2.0.0";
-  by-version."pinkie-promise"."2.0.0" = self.buildNodePackage {
-    name = "pinkie-promise-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz";
-      name = "pinkie-promise-2.0.0.tgz";
-      sha1 = "4c83538de1f6e660c29e0a13446844f7a7e88259";
-    };
-    deps = {
-      "pinkie-2.0.1" = self.by-version."pinkie"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."process-nextick-args"."~1.0.0" =
-    self.by-version."process-nextick-args"."1.0.6";
-  by-version."process-nextick-args"."1.0.6" = self.buildNodePackage {
-    name = "process-nextick-args-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz";
-      name = "process-nextick-args-1.0.6.tgz";
-      sha1 = "0f96b001cea90b12592ce566edb97ec11e69bd05";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."0.4.x" =
-    self.by-version."qs"."0.4.2";
-  by-version."qs"."0.4.2" = self.buildNodePackage {
-    name = "qs-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
-      name = "qs-0.4.2.tgz";
-      sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs".">= 0.4.0" =
-    self.by-version."qs"."6.0.1";
-  by-version."qs"."6.0.1" = self.buildNodePackage {
-    name = "qs-6.0.1";
-    version = "6.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-6.0.1.tgz";
-      name = "qs-6.0.1.tgz";
-      sha1 = "ee8b7fcd64fcbe6e36c922bd2c464ee7c54766c3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-pkg"."^1.0.0" =
-    self.by-version."read-pkg"."1.1.0";
-  by-version."read-pkg"."1.1.0" = self.buildNodePackage {
-    name = "read-pkg-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
-      name = "read-pkg-1.1.0.tgz";
-      sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
-    };
-    deps = {
-      "load-json-file-1.1.0" = self.by-version."load-json-file"."1.1.0";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "path-type-1.1.0" = self.by-version."path-type"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-pkg-up"."^1.0.1" =
-    self.by-version."read-pkg-up"."1.0.1";
-  by-version."read-pkg-up"."1.0.1" = self.buildNodePackage {
-    name = "read-pkg-up-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
-      name = "read-pkg-up-1.0.1.tgz";
-      sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
-    };
-    deps = {
-      "find-up-1.1.0" = self.by-version."find-up"."1.1.0";
-      "read-pkg-1.1.0" = self.by-version."read-pkg"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."*" =
-    self.by-version."readable-stream"."2.0.4";
-  by-version."readable-stream"."2.0.4" = self.buildNodePackage {
-    name = "readable-stream-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.4.tgz";
-      name = "readable-stream-2.0.4.tgz";
-      sha1 = "2523ef27ffa339d7ba9da8603f2d0599d06edbd8";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "process-nextick-args-1.0.6" = self.by-version."process-nextick-args"."1.0.6";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redent"."^1.0.0" =
-    self.by-version."redent"."1.0.0";
-  by-version."redent"."1.0.0" = self.buildNodePackage {
-    name = "redent-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/redent/-/redent-1.0.0.tgz";
-      name = "redent-1.0.0.tgz";
-      sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde";
-    };
-    deps = {
-      "indent-string-2.1.0" = self.by-version."indent-string"."2.1.0";
-      "strip-indent-1.0.1" = self.by-version."strip-indent"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis"."~0.10.3" =
-    self.by-version."redis"."0.10.3";
-  by-version."redis"."0.10.3" = self.buildNodePackage {
-    name = "redis-0.10.3";
-    version = "0.10.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
-      name = "redis-0.10.3.tgz";
-      sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeating"."^2.0.0" =
-    self.by-version."repeating"."2.0.0";
-  by-version."repeating"."2.0.0" = self.buildNodePackage {
-    name = "repeating-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/repeating/-/repeating-2.0.0.tgz";
-      name = "repeating-2.0.0.tgz";
-      sha1 = "fd27d6d264d18fbebfaa56553dd7b82535a5034e";
-    };
-    deps = {
-      "is-finite-1.0.1" = self.by-version."is-finite"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."retry"."0.6.0" =
-    self.by-version."retry"."0.6.0";
-  by-version."retry"."0.6.0" = self.buildNodePackage {
-    name = "retry-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-      name = "retry-0.6.0.tgz";
-      sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax".">=0.1.1" =
-    self.by-version."sax"."1.1.4";
-  by-version."sax"."1.1.4" = self.buildNodePackage {
-    name = "sax-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sax/-/sax-1.1.4.tgz";
-      name = "sax-1.1.4.tgz";
-      sha1 = "74b6d33c9ae1e001510f179a91168588f1aedaa9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."schlock"."~0.2.1" =
-    self.by-version."schlock"."0.2.1";
-  by-version."schlock"."0.2.1" = self.buildNodePackage {
-    name = "schlock-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/schlock/-/schlock-0.2.1.tgz";
-      name = "schlock-0.2.1.tgz";
-      sha1 = "2a9aaeaa209a5422eadc5dfc005e2c2f15241f99";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "schlock" = self.by-version."schlock"."0.2.1";
-  by-spec."semver"."2 || 3 || 4 || 5" =
-    self.by-version."semver"."5.1.0";
-  by-version."semver"."5.1.0" = self.buildNodePackage {
-    name = "semver-5.1.0";
-    version = "5.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/semver/-/semver-5.1.0.tgz";
-      name = "semver-5.1.0.tgz";
-      sha1 = "85f2cf8550465c4df000cf7d86f6b054106ab9e5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."set-immediate"."0.1.x" =
-    self.by-version."set-immediate"."0.1.1";
-  by-version."set-immediate"."0.1.1" = self.buildNodePackage {
-    name = "set-immediate-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/set-immediate/-/set-immediate-0.1.1.tgz";
-      name = "set-immediate-0.1.1.tgz";
-      sha1 = "8986e4a773bf8ec165f24d579107673bfac141de";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "set-immediate" = self.by-version."set-immediate"."0.1.1";
-  by-spec."set-immediate"."~0.1.1" =
-    self.by-version."set-immediate"."0.1.1";
-  by-spec."showdown"."0.3.x" =
-    self.by-version."showdown"."0.3.4";
-  by-version."showdown"."0.3.4" = self.buildNodePackage {
-    name = "showdown-0.3.4";
-    version = "0.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/showdown/-/showdown-0.3.4.tgz";
-      name = "showdown-0.3.4.tgz";
-      sha1 = "b056fa0209d44ac55c90331b44a934774976ac55";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "showdown" = self.by-version."showdown"."0.3.4";
-  by-spec."signal-exit"."^2.1.2" =
-    self.by-version."signal-exit"."2.1.2";
-  by-version."signal-exit"."2.1.2" = self.buildNodePackage {
-    name = "signal-exit-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz";
-      name = "signal-exit-2.1.2.tgz";
-      sha1 = "375879b1f92ebc3b334480d038dc546a6d558564";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-lru-cache"."0.0.x" =
-    self.by-version."simple-lru-cache"."0.0.2";
-  by-version."simple-lru-cache"."0.0.2" = self.buildNodePackage {
-    name = "simple-lru-cache-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
-      name = "simple-lru-cache-0.0.2.tgz";
-      sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sockjs"."0.3.x" =
-    self.by-version."sockjs"."0.3.15";
-  by-version."sockjs"."0.3.15" = self.buildNodePackage {
-    name = "sockjs-0.3.15";
-    version = "0.3.15";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.15.tgz";
-      name = "sockjs-0.3.15.tgz";
-      sha1 = "e19b577e59e0fbdb21a0ae4f46203ca24cad8db8";
-    };
-    deps = {
-      "faye-websocket-0.9.4" = self.by-version."faye-websocket"."0.9.4";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "sockjs" = self.by-version."sockjs"."0.3.15";
-  by-spec."spdx-correct"."~1.0.0" =
-    self.by-version."spdx-correct"."1.0.2";
-  by-version."spdx-correct"."1.0.2" = self.buildNodePackage {
-    name = "spdx-correct-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz";
-      name = "spdx-correct-1.0.2.tgz";
-      sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
-    };
-    deps = {
-      "spdx-license-ids-1.1.0" = self.by-version."spdx-license-ids"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-exceptions"."^1.0.4" =
-    self.by-version."spdx-exceptions"."1.0.4";
-  by-version."spdx-exceptions"."1.0.4" = self.buildNodePackage {
-    name = "spdx-exceptions-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz";
-      name = "spdx-exceptions-1.0.4.tgz";
-      sha1 = "220b84239119ae9045a892db81a83f4ce16f80fd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-expression-parse"."~1.0.0" =
-    self.by-version."spdx-expression-parse"."1.0.2";
-  by-version."spdx-expression-parse"."1.0.2" = self.buildNodePackage {
-    name = "spdx-expression-parse-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz";
-      name = "spdx-expression-parse-1.0.2.tgz";
-      sha1 = "d52b14b5e9670771440af225bcb563122ac452f6";
-    };
-    deps = {
-      "spdx-exceptions-1.0.4" = self.by-version."spdx-exceptions"."1.0.4";
-      "spdx-license-ids-1.1.0" = self.by-version."spdx-license-ids"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-license-ids"."^1.0.0" =
-    self.by-version."spdx-license-ids"."1.1.0";
-  by-version."spdx-license-ids"."1.1.0" = self.buildNodePackage {
-    name = "spdx-license-ids-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.1.0.tgz";
-      name = "spdx-license-ids-1.1.0.tgz";
-      sha1 = "28694acdf39fe27de45143fff81f21f6c66d44ac";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-license-ids"."^1.0.2" =
-    self.by-version."spdx-license-ids"."1.1.0";
-  by-spec."starttls"."0.2.1" =
-    self.by-version."starttls"."0.2.1";
-  by-version."starttls"."0.2.1" = self.buildNodePackage {
-    name = "starttls-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/starttls/-/starttls-0.2.1.tgz";
-      name = "starttls-0.2.1.tgz";
-      sha1 = "b98d3e5e778d46f199c843a64f889f0347c6d19a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."step"."0.0.x" =
-    self.by-version."step"."0.0.6";
-  by-version."step"."0.0.6" = self.buildNodePackage {
-    name = "step-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/step/-/step-0.0.6.tgz";
-      name = "step-0.0.6.tgz";
-      sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "step" = self.by-version."step"."0.0.6";
-  by-spec."stream-to-buffer"."~0.0.1" =
-    self.by-version."stream-to-buffer"."0.0.1";
-  by-version."stream-to-buffer"."0.0.1" = self.buildNodePackage {
-    name = "stream-to-buffer-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.0.1.tgz";
-      name = "stream-to-buffer-0.0.1.tgz";
-      sha1 = "ab483d59a1ca71832de379a255f465b665af45c1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.31";
-  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
-    name = "string_decoder-0.10.31";
-    version = "0.10.31";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
-      name = "string_decoder-0.10.31.tgz";
-      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-bom"."^2.0.0" =
-    self.by-version."strip-bom"."2.0.0";
-  by-version."strip-bom"."2.0.0" = self.buildNodePackage {
-    name = "strip-bom-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
-      name = "strip-bom-2.0.0.tgz";
-      sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
-    };
-    deps = {
-      "is-utf8-0.2.0" = self.by-version."is-utf8"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-indent"."^1.0.1" =
-    self.by-version."strip-indent"."1.0.1";
-  by-version."strip-indent"."1.0.1" = self.buildNodePackage {
-    name = "strip-indent-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";
-      name = "strip-indent-1.0.1.tgz";
-      sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
-    };
-    deps = {
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through"."~2.3.1" =
-    self.by-version."through"."2.3.8";
-  by-version."through"."2.3.8" = self.buildNodePackage {
-    name = "through-2.3.8";
-    version = "2.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz";
-      name = "through-2.3.8.tgz";
-      sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."trim-newlines"."^1.0.0" =
-    self.by-version."trim-newlines"."1.0.0";
-  by-version."trim-newlines"."1.0.0" = self.buildNodePackage {
-    name = "trim-newlines-1.0.0";
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "bcrypt-0.8.7" = {
+      name = "bcrypt";
+      packageName = "bcrypt";
+      version = "0.8.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.7.tgz";
+        sha1 = "bc3875a9afd0a7b2cd231a6a7f218a5ce156b093";
+      };
+    };
+    "bunyan-1.8.1" = {
+      name = "bunyan";
+      packageName = "bunyan";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.1.tgz";
+        sha1 = "68c6a4a502d5620bc9f72d6736810c1b1898097f";
+      };
+    };
+    "connect-2.30.2" = {
+      name = "connect";
+      packageName = "connect";
+      version = "2.30.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz";
+        sha1 = "8da9bcbe8a054d3d318d74dfec903b5c39a1b609";
+      };
+    };
+    "connect-auth-0.6.1" = {
+      name = "connect-auth";
+      packageName = "connect-auth";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-auth/-/connect-auth-0.6.1.tgz";
+        sha1 = "8d798153d6c8e78cb809de82a436f1de7c79868f";
+      };
+    };
+    "connect-databank-1.0.3" = {
+      name = "connect-databank";
+      packageName = "connect-databank";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-databank/-/connect-databank-1.0.3.tgz";
+        sha1 = "dad24f08dc385d9c3a94f1a52730aec0c7d13b02";
+      };
+    };
+    "crypto-cacerts-0.1.0" = {
+      name = "crypto-cacerts";
+      packageName = "crypto-cacerts";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-cacerts/-/crypto-cacerts-0.1.0.tgz";
+        sha1 = "3499c6dff949ab005d4ad4a3f09c48ced6c88a41";
+      };
+    };
+    "databank-0.19.5" = {
+      name = "databank";
+      packageName = "databank";
+      version = "0.19.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank/-/databank-0.19.5.tgz";
+        sha1 = "edcbd954b84730c0c5d0de551e004b92f1f53119";
+      };
+    };
+    "dateformat-1.0.12" = {
+      name = "dateformat";
+      packageName = "dateformat";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz";
+        sha1 = "9f124b67594c937ff706932e4a642cca8dbbfee9";
+      };
+    };
+    "dialback-client-0.2.0" = {
+      name = "dialback-client";
+      packageName = "dialback-client";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dialback-client/-/dialback-client-0.2.0.tgz";
+        sha1 = "051806a88a6cc18ffb25adf13eda232e354ebcb6";
+      };
+    };
+    "dompurify-0.8.3" = {
+      name = "dompurify";
+      packageName = "dompurify";
+      version = "0.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-0.8.3.tgz";
+        sha1 = "06bdc074b91306d09f7f150bfeb96a11e0be64c1";
+      };
+    };
+    "emailjs-1.0.8" = {
+      name = "emailjs";
+      packageName = "emailjs";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emailjs/-/emailjs-1.0.8.tgz";
+        sha1 = "d4240db7670dc78aff97352092d8460edc130f66";
+      };
+    };
+    "express-2.5.11" = {
+      name = "express";
+      packageName = "express";
+      version = "2.5.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-2.5.11.tgz";
+        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
+      };
+    };
+    "express-session-1.14.1" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.14.1.tgz";
+        sha1 = "600364f0f6bf5dce32649e006770bdeee80aec99";
+      };
+    };
+    "gm-1.23.0" = {
+      name = "gm";
+      packageName = "gm";
+      version = "1.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gm/-/gm-1.23.0.tgz";
+        sha1 = "80a2fe9cbf131515024846444658461269f52661";
+      };
+    };
+    "helmet-2.2.0" = {
+      name = "helmet";
+      packageName = "helmet";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet/-/helmet-2.2.0.tgz";
+        sha1 = "fa0737d113fba4bd29d1b39650ac679ad673b948";
+      };
+    };
+    "jankyqueue-0.1.1" = {
+      name = "jankyqueue";
+      packageName = "jankyqueue";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jankyqueue/-/jankyqueue-0.1.1.tgz";
+        sha1 = "4181b0318fb32e77aee8c54af73f97660f2e88d2";
+      };
+    };
+    "jsdom-7.2.2" = {
+      name = "jsdom";
+      packageName = "jsdom";
+      version = "7.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz";
+        sha1 = "40b402770c2bda23469096bee91ab675e3b1fc6e";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "node-uuid-1.4.7" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
+        sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
+      };
+    };
+    "oauth-evanp-0.9.10-evanp.2" = {
+      name = "oauth-evanp";
+      packageName = "oauth-evanp";
+      version = "0.9.10-evanp.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-evanp/-/oauth-evanp-0.9.10-evanp.2.tgz";
+        sha1 = "9b5fb3508cea584420855957d56531405cf53a02";
+      };
+    };
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
+    "rimraf-2.5.4" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz";
+        sha1 = "96800093cbf1a0c86bd95b4625467535c29dfa04";
+      };
+    };
+    "sanitize-html-1.13.0" = {
+      name = "sanitize-html";
+      packageName = "sanitize-html";
+      version = "1.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.13.0.tgz";
+        sha1 = "4ee17cbec516bfe32f2ce6686a569d7e6b4f3631";
+      };
+    };
+    "schlock-0.2.1" = {
+      name = "schlock";
+      packageName = "schlock";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schlock/-/schlock-0.2.1.tgz";
+        sha1 = "2a9aaeaa209a5422eadc5dfc005e2c2f15241f99";
+      };
+    };
+    "send-0.13.2" = {
+      name = "send";
+      packageName = "send";
+      version = "0.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.13.2.tgz";
+        sha1 = "765e7607c8055452bba6f0b052595350986036de";
+      };
+    };
+    "showdown-1.4.3" = {
+      name = "showdown";
+      packageName = "showdown";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/showdown/-/showdown-1.4.3.tgz";
+        sha1 = "91d29f4728dbdf76034b7555355e9b30974df447";
+      };
+    };
+    "sockjs-0.3.17" = {
+      name = "sockjs";
+      packageName = "sockjs";
+      version = "0.3.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.17.tgz";
+        sha1 = "ef1b88f5d73e6278fad8e9476ac91064382f3b44";
+      };
+    };
+    "step-0.0.6" = {
+      name = "step";
+      packageName = "step";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/step/-/step-0.0.6.tgz";
+        sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2";
+      };
+    };
+    "ua-parser-js-0.7.10" = {
+      name = "ua-parser-js";
+      packageName = "ua-parser-js";
+      version = "0.7.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.10.tgz";
+        sha1 = "917559ddcce07cbc09ece7d80495e4c268f4ef9f";
+      };
+    };
+    "underscore-1.8.3" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+      };
+    };
+    "underscore-contrib-0.3.0" = {
+      name = "underscore-contrib";
+      packageName = "underscore-contrib";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz";
+        sha1 = "665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7";
+      };
+    };
+    "utml-0.2.0" = {
+      name = "utml";
+      packageName = "utml";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utml/-/utml-0.2.0.tgz";
+        sha1 = "6a546741823b2a9c17598a57e8eb4c08738dee48";
+      };
+    };
+    "validator-4.4.0" = {
+      name = "validator";
+      packageName = "validator";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validator/-/validator-4.4.0.tgz";
+        sha1 = "35e29555dd5f7826f970a4eaecff9e6df6df3da6";
+      };
+    };
+    "webfinger-0.4.2" = {
+      name = "webfinger";
+      packageName = "webfinger";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webfinger/-/webfinger-0.4.2.tgz";
+        sha1 = "3477a6d97799461896039fcffc650b73468ee76d";
+      };
+    };
+    "databank-mongodb-0.19.0" = {
+      name = "databank-mongodb";
+      packageName = "databank-mongodb";
+      version = "0.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank-mongodb/-/databank-mongodb-0.19.0.tgz";
+        sha1 = "66ffa32848986d0e138403396506d64895fefc45";
+      };
+    };
+    "databank-redis-0.19.6" = {
+      name = "databank-redis";
+      packageName = "databank-redis";
+      version = "0.19.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank-redis/-/databank-redis-0.19.6.tgz";
+        sha1 = "dd476b81b8200269ea0cc85f6b6decd05799bce9";
+      };
+    };
+    "databank-memcached-0.15.0" = {
+      name = "databank-memcached";
+      packageName = "databank-memcached";
+      version = "0.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank-memcached/-/databank-memcached-0.15.0.tgz";
+        sha1 = "0817452dfb2b09267cd1c8bbec95363ec14f14f2";
+      };
+    };
+    "databank-lrucache-0.1.2" = {
+      name = "databank-lrucache";
+      packageName = "databank-lrucache";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank-lrucache/-/databank-lrucache-0.1.2.tgz";
+        sha1 = "846d3bbc3d908ea2880baf9a611d86a28697c640";
+      };
+    };
+    "bindings-1.2.1" = {
+      name = "bindings";
+      packageName = "bindings";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+        sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
+      };
+    };
+    "nan-2.3.5" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz";
+        sha1 = "822a0dc266290ce4cd3a12282ca3e7e364668a08";
+      };
+    };
+    "dtrace-provider-0.6.0" = {
+      name = "dtrace-provider";
+      packageName = "dtrace-provider";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz";
+        sha1 = "0b078d5517937d873101452d9146737557b75e51";
+      };
+    };
+    "mv-2.1.1" = {
+      name = "mv";
+      packageName = "mv";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz";
+        sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
+      };
+    };
+    "safe-json-stringify-1.0.3" = {
+      name = "safe-json-stringify";
+      packageName = "safe-json-stringify";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz";
+        sha1 = "3cb6717660a086d07cb5bd9b7a6875bcf67bd05e";
+      };
+    };
+    "moment-2.15.0" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.15.0.tgz";
+        sha1 = "cc9e33958bf4a99dea7111d5e62ed3c13fc96440";
+      };
+    };
+    "nan-2.4.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz";
+        sha1 = "fb3c59d45fe4effe215f0b890f8adf6eb32d2232";
+      };
+    };
+    "ncp-2.0.0" = {
+      name = "ncp";
+      packageName = "ncp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz";
+        sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
+      };
+    };
+    "rimraf-2.4.5" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz";
+        sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da";
+      };
+    };
+    "glob-6.0.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz";
+        sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
+      };
+    };
+    "inflight-1.0.5" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz";
+        sha1 = "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "minimatch-3.0.3" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";
+        sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "path-is-absolute-1.0.0" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz";
+        sha1 = "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "brace-expansion-1.1.6" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz";
+        sha1 = "7197d7eaa9b87e648390ea61fc66c84427420df9";
+      };
+    };
+    "balanced-match-0.4.2" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
+        sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "basic-auth-connect-1.0.0" = {
+      name = "basic-auth-connect";
+      packageName = "basic-auth-connect";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
+        sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
+      };
+    };
+    "body-parser-1.13.3" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz";
+        sha1 = "c08cf330c3358e151016a05746f13f029c97fa97";
+      };
+    };
+    "bytes-2.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz";
+        sha1 = "ac93c410e2ffc9cc7cf4b464b38289067f5e47b4";
+      };
+    };
+    "cookie-0.1.3" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz";
+        sha1 = "e734a5c1417fce472d5aef82c381cabb64d1a435";
+      };
+    };
+    "cookie-parser-1.3.5" = {
+      name = "cookie-parser";
+      packageName = "cookie-parser";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz";
+        sha1 = "9d755570fb5d17890771227a02314d9be7cf8356";
+      };
+    };
+    "cookie-signature-1.0.6" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    };
+    "compression-1.5.2" = {
+      name = "compression";
+      packageName = "compression";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz";
+        sha1 = "b03b8d86e6f8ad29683cba8df91ddc6ffc77b395";
+      };
+    };
+    "connect-timeout-1.6.2" = {
+      name = "connect-timeout";
+      packageName = "connect-timeout";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz";
+        sha1 = "de9a5ec61e33a12b6edaab7b5f062e98c599b88e";
+      };
+    };
+    "content-type-1.0.2" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz";
+        sha1 = "b7d113aee7a8dd27bd21133c4dc2529df1721eed";
+      };
+    };
+    "csurf-1.8.3" = {
+      name = "csurf";
+      packageName = "csurf";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz";
+        sha1 = "23f2a13bf1d8fce1d0c996588394442cba86a56a";
+      };
+    };
+    "debug-2.2.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
+        sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+      };
+    };
+    "depd-1.0.1" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
+        sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
+      };
+    };
+    "errorhandler-1.4.3" = {
+      name = "errorhandler";
+      packageName = "errorhandler";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz";
+        sha1 = "b7b70ed8f359e9db88092f2d20c0f831420ad83f";
+      };
+    };
+    "express-session-1.11.3" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz";
+        sha1 = "5cc98f3f5ff84ed835f91cbf0aabd0c7107400af";
+      };
+    };
+    "finalhandler-0.4.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz";
+        sha1 = "965a52d9e8d05d2b857548541fb89b53a2497d9b";
+      };
+    };
+    "fresh-0.3.0" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz";
+        sha1 = "651f838e22424e7566de161d8358caa199f83d4f";
+      };
+    };
+    "http-errors-1.3.1" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
+        sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
+      };
+    };
+    "method-override-2.3.6" = {
+      name = "method-override";
+      packageName = "method-override";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.6.tgz";
+        sha1 = "209261cc588d45d9d5a022ff20d7d5eb8e92179e";
+      };
+    };
+    "morgan-1.6.1" = {
+      name = "morgan";
+      packageName = "morgan";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz";
+        sha1 = "5fd818398c6819cba28a7cd6664f292fe1c0bbf2";
+      };
+    };
+    "multiparty-3.3.2" = {
+      name = "multiparty";
+      packageName = "multiparty";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
+        sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
+      };
+    };
+    "on-headers-1.0.1" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz";
+        sha1 = "928f5d0f470d49342651ea6794b0857c100693f7";
+      };
+    };
+    "parseurl-1.3.1" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz";
+        sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56";
+      };
+    };
+    "pause-0.1.0" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz";
+        sha1 = "ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74";
+      };
+    };
+    "qs-4.0.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz";
+        sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
+      };
+    };
+    "response-time-2.3.1" = {
+      name = "response-time";
+      packageName = "response-time";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/response-time/-/response-time-2.3.1.tgz";
+        sha1 = "2bde19181de6c81ab95e3207a28d61d965b31797";
+      };
+    };
+    "serve-favicon-2.3.0" = {
+      name = "serve-favicon";
+      packageName = "serve-favicon";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz";
+        sha1 = "aed36cc6834069a6f189cc7222c6a1a811dc5b39";
+      };
+    };
+    "serve-index-1.7.3" = {
+      name = "serve-index";
+      packageName = "serve-index";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz";
+        sha1 = "7a057fc6ee28dc63f64566e5fa57b111a86aecd2";
+      };
+    };
+    "serve-static-1.10.3" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz";
+        sha1 = "ce5a6ecd3101fed5ec09827dac22a9c29bfb0535";
+      };
+    };
+    "type-is-1.6.13" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz";
+        sha1 = "6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08";
+      };
+    };
+    "utils-merge-1.0.0" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      };
+    };
+    "vhost-3.0.2" = {
+      name = "vhost";
+      packageName = "vhost";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz";
+        sha1 = "2fb1decd4c466aa88b0f9341af33dc1aff2478d5";
+      };
+    };
+    "iconv-lite-0.4.11" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz";
+        sha1 = "2ecb42fd294744922209a2e7c404dac8793d8ade";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
+    "raw-body-2.1.7" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz";
+        sha1 = "adfeace2e4fb3098058014d08c072dcc59758774";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "bytes-2.4.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz";
+        sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339";
+      };
+    };
+    "iconv-lite-0.4.13" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz";
+        sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "accepts-1.2.13" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz";
+        sha1 = "e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea";
+      };
+    };
+    "compressible-2.0.8" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz";
+        sha1 = "7162e6c46d3b9d200ffb45cb4e4a0f7832732503";
+      };
+    };
+    "vary-1.0.1" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
+        sha1 = "99e4981566a286118dfb2b817357df7993376d10";
+      };
+    };
+    "mime-types-2.1.11" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz";
+        sha1 = "c259c471bda808a85d6cd193b430a5fae4473b3c";
+      };
+    };
+    "negotiator-0.5.3" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
+        sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
+      };
+    };
+    "mime-db-1.23.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz";
+        sha1 = "a31b4070adaea27d732ea333740a64d0ec9a6659";
+      };
+    };
+    "ms-0.7.1" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
+        sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+      };
+    };
+    "csrf-3.0.3" = {
+      name = "csrf";
+      packageName = "csrf";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csrf/-/csrf-3.0.3.tgz";
+        sha1 = "69d13220de95762808bb120f7533a994fc4293b5";
+      };
+    };
+    "base64-url-1.2.2" = {
+      name = "base64-url";
+      packageName = "base64-url";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.2.tgz";
+        sha1 = "90af26ef8b0b67bc801b05eccf943345649008b3";
+      };
+    };
+    "rndm-1.2.0" = {
+      name = "rndm";
+      packageName = "rndm";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz";
+        sha1 = "f33fe9cfb52bbfd520aa18323bc65db110a1b76c";
+      };
+    };
+    "tsscmp-1.0.5" = {
+      name = "tsscmp";
+      packageName = "tsscmp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz";
+        sha1 = "7dc4a33af71581ab4337da91d85ca5427ebd9a97";
+      };
+    };
+    "uid-safe-2.1.1" = {
+      name = "uid-safe";
+      packageName = "uid-safe";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.1.tgz";
+        sha1 = "3dbf9436b528be9f52882c05a6216c3763db3666";
+      };
+    };
+    "random-bytes-1.0.0" = {
+      name = "random-bytes";
+      packageName = "random-bytes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz";
+        sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b";
+      };
+    };
+    "accepts-1.3.3" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz";
+        sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "negotiator-0.6.1" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz";
+        sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
+      };
+    };
+    "crc-3.3.0" = {
+      name = "crc";
+      packageName = "crc";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz";
+        sha1 = "fa622e1bc388bf257309082d6b65200ce67090ba";
+      };
+    };
+    "uid-safe-2.0.0" = {
+      name = "uid-safe";
+      packageName = "uid-safe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz";
+        sha1 = "a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137";
+      };
+    };
+    "base64-url-1.2.1" = {
+      name = "base64-url";
+      packageName = "base64-url";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz";
+        sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78";
+      };
+    };
+    "escape-html-1.0.2" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz";
+        sha1 = "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c";
+      };
+    };
+    "statuses-1.3.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz";
+        sha1 = "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "vary-1.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
+        sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
+      };
+    };
+    "basic-auth-1.0.4" = {
+      name = "basic-auth";
+      packageName = "basic-auth";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz";
+        sha1 = "030935b01de7c9b94a824b29f3fccb750d3a5290";
+      };
+    };
+    "readable-stream-1.1.14" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+      };
+    };
+    "stream-counter-0.2.0" = {
+      name = "stream-counter";
+      packageName = "stream-counter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
+        sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    };
+    "string_decoder-0.10.31" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "0.10.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    };
+    "etag-1.7.0" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz";
+        sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
+      };
+    };
+    "batch-0.5.3" = {
+      name = "batch";
+      packageName = "batch";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz";
+        sha1 = "3f3414f380321743bfc1042f9a83ff1d5824d464";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "connect-2.7.11" = {
+      name = "connect";
+      packageName = "connect";
+      version = "2.7.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
+        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
+      };
+    };
+    "oauth-0.9.10" = {
+      name = "oauth";
+      packageName = "oauth";
+      version = "0.9.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth/-/oauth-0.9.10.tgz";
+        sha1 = "7d356af319a16d889e581fa80f86bbd5ab454646";
+      };
+    };
+    "openid-0.4.1" = {
+      name = "openid";
+      packageName = "openid";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/openid/-/openid-0.4.1.tgz";
+        sha1 = "de0eb5e381d34dc4aa5a77a98678bedafd11f387";
+      };
+    };
+    "qs-0.6.5" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
+        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+      };
+    };
+    "formidable-1.0.14" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
+        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+      };
+    };
+    "cookie-signature-1.0.1" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
+        sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
+      };
+    };
+    "buffer-crc32-0.2.1" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
+        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+      };
+    };
+    "cookie-0.0.5" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+      };
+    };
+    "send-0.1.1" = {
+      name = "send";
+      packageName = "send";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.1.1.tgz";
+        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
+      };
+    };
+    "bytes-0.2.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
+        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
+      };
+    };
+    "fresh-0.1.0" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+      };
+    };
+    "pause-0.0.1" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      };
+    };
+    "mime-1.2.11" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      };
+    };
+    "range-parser-0.0.4" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+      };
+    };
+    "async-1.5.2" = {
+      name = "async";
+      packageName = "async";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    };
+    "set-immediate-0.1.1" = {
+      name = "set-immediate";
+      packageName = "set-immediate";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-immediate/-/set-immediate-0.1.1.tgz";
+        sha1 = "8986e4a773bf8ec165f24d579107673bfac141de";
+      };
+    };
+    "vows-0.7.0" = {
+      name = "vows";
+      packageName = "vows";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
+        sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    };
+    "eyes-0.1.8" = {
+      name = "eyes";
+      packageName = "eyes";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+      };
+    };
+    "diff-1.0.8" = {
+      name = "diff";
+      packageName = "diff";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
+        sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
+      };
+    };
+    "get-stdin-4.0.1" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
+        sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
+      };
+    };
+    "meow-3.7.0" = {
+      name = "meow";
+      packageName = "meow";
+      version = "3.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz";
+        sha1 = "72cb668b425228290abbfa856892587308a801fb";
+      };
+    };
+    "camelcase-keys-2.1.0" = {
+      name = "camelcase-keys";
+      packageName = "camelcase-keys";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz";
+        sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "loud-rejection-1.6.0" = {
+      name = "loud-rejection";
+      packageName = "loud-rejection";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz";
+        sha1 = "5b46f80147edee578870f086d04821cf998e551f";
+      };
+    };
+    "map-obj-1.0.1" = {
+      name = "map-obj";
+      packageName = "map-obj";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
+        sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "normalize-package-data-2.3.5" = {
+      name = "normalize-package-data";
+      packageName = "normalize-package-data";
+      version = "2.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz";
+        sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df";
+      };
+    };
+    "object-assign-4.1.0" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz";
+        sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0";
+      };
+    };
+    "read-pkg-up-1.0.1" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
+        sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
+      };
+    };
+    "redent-1.0.0" = {
+      name = "redent";
+      packageName = "redent";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz";
+        sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde";
+      };
+    };
+    "trim-newlines-1.0.0" = {
+      name = "trim-newlines";
+      packageName = "trim-newlines";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";
+        sha1 = "5887966bb582a4503a41eb524f7d35011815a613";
+      };
+    };
+    "camelcase-2.1.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";
+        sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
+      };
+    };
+    "currently-unhandled-0.4.1" = {
+      name = "currently-unhandled";
+      packageName = "currently-unhandled";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
+        sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
+      };
+    };
+    "signal-exit-3.0.1" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.1.tgz";
+        sha1 = "5a4c884992b63a7acd9badb7894c3ee9cfccad81";
+      };
+    };
+    "array-find-index-1.0.1" = {
+      name = "array-find-index";
+      packageName = "array-find-index";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz";
+        sha1 = "0bc25ddac941ec8a496ae258fd4ac188003ef3af";
+      };
+    };
+    "hosted-git-info-2.1.5" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz";
+        sha1 = "0ba81d90da2e25ab34a332e6ec77936e1598118b";
+      };
+    };
+    "is-builtin-module-1.0.0" = {
+      name = "is-builtin-module";
+      packageName = "is-builtin-module";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
+        sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
+      };
+    };
+    "semver-5.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+      };
+    };
+    "validate-npm-package-license-3.0.1" = {
+      name = "validate-npm-package-license";
+      packageName = "validate-npm-package-license";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
+        sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
+      };
+    };
+    "builtin-modules-1.1.1" = {
+      name = "builtin-modules";
+      packageName = "builtin-modules";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    };
+    "spdx-correct-1.0.2" = {
+      name = "spdx-correct";
+      packageName = "spdx-correct";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz";
+        sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
+      };
+    };
+    "spdx-expression-parse-1.0.3" = {
+      name = "spdx-expression-parse";
+      packageName = "spdx-expression-parse";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.3.tgz";
+        sha1 = "ca3c3828c4fea8aa44997884b398fc5d67436442";
+      };
+    };
+    "spdx-license-ids-1.2.2" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz";
+        sha1 = "c9df7a3424594ade6bd11900d596696dc06bac57";
+      };
+    };
+    "find-up-1.1.2" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    };
+    "read-pkg-1.1.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
+        sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
+      };
+    };
+    "path-exists-2.1.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "load-json-file-1.1.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
+        sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
+      };
+    };
+    "path-type-1.1.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
+        sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
+      };
+    };
+    "graceful-fs-4.1.6" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz";
+        sha1 = "514c38772b31bee2e08bedc21a0aeb3abf54c19e";
+      };
+    };
+    "parse-json-2.2.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "strip-bom-2.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
+        sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
+      };
+    };
+    "error-ex-1.3.0" = {
+      name = "error-ex";
+      packageName = "error-ex";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz";
+        sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
+      };
+    };
+    "is-arrayish-0.2.1" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    };
+    "is-utf8-0.2.1" = {
+      name = "is-utf8";
+      packageName = "is-utf8";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    };
+    "indent-string-2.1.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";
+        sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80";
+      };
+    };
+    "strip-indent-1.0.1" = {
+      name = "strip-indent";
+      packageName = "strip-indent";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";
+        sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
+      };
+    };
+    "repeating-2.0.1" = {
+      name = "repeating";
+      packageName = "repeating";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    };
+    "is-finite-1.0.1" = {
+      name = "is-finite";
+      packageName = "is-finite";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz";
+        sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b";
+      };
+    };
+    "number-is-nan-1.0.0" = {
+      name = "number-is-nan";
+      packageName = "number-is-nan";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz";
+        sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b";
+      };
+    };
+    "underscore-1.5.2" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
+        sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
+      };
+    };
+    "addressparser-0.3.2" = {
+      name = "addressparser";
+      packageName = "addressparser";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz";
+        sha1 = "59873f35e8fcf6c7361c10239261d76e15348bb2";
+      };
+    };
+    "mimelib-0.2.14" = {
+      name = "mimelib";
+      packageName = "mimelib";
+      version = "0.2.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimelib/-/mimelib-0.2.14.tgz";
+        sha1 = "2a1aa724bd190b85bd526e6317ab6106edfd6831";
+      };
+    };
+    "moment-2.11.2" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.11.2.tgz";
+        sha1 = "87968e5f95ac038c2e42ac959c75819cd3f52901";
+      };
+    };
+    "starttls-1.0.1" = {
+      name = "starttls";
+      packageName = "starttls";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/starttls/-/starttls-1.0.1.tgz";
+        sha1 = "e6081c25de6b178f5a75f8f271c1487449183b42";
+      };
+    };
+    "bufferjs-1.1.0" = {
+      name = "bufferjs";
+      packageName = "bufferjs";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bufferjs/-/bufferjs-1.1.0.tgz";
+        sha1 = "095ffa39c5e6b40a2178a1169c9effc584a73201";
+      };
+    };
+    "encoding-0.1.12" = {
+      name = "encoding";
+      packageName = "encoding";
+      version = "0.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    };
+    "addressparser-0.2.1" = {
+      name = "addressparser";
+      packageName = "addressparser";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/addressparser/-/addressparser-0.2.1.tgz";
+        sha1 = "d11a5b2eeda04cfefebdf3196c10ae13db6cd607";
+      };
+    };
+    "connect-1.9.2" = {
+      name = "connect";
+      packageName = "connect";
+      version = "1.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
+        sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
+      };
+    };
+    "mime-1.2.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
+        sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
+      };
+    };
+    "qs-0.4.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
+        sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
+      };
+    };
+    "mkdirp-0.3.0" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
+        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+      };
+    };
+    "formidable-1.0.17" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
+        sha1 = "ef5491490f9433b705faa77249c99029ae348559";
+      };
+    };
+    "cookie-0.3.1" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz";
+        sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
+      };
+    };
+    "crc-3.4.0" = {
+      name = "crc";
+      packageName = "crc";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-3.4.0.tgz";
+        sha1 = "4258e351613a74ef1153dfcb05e820c3e9715d7f";
+      };
+    };
+    "depd-1.1.0" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz";
+        sha1 = "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3";
+      };
+    };
+    "uid-safe-2.1.2" = {
+      name = "uid-safe";
+      packageName = "uid-safe";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.2.tgz";
+        sha1 = "c934b3caead0fdcd0fb2cff3a8876d06fe0ee0fd";
+      };
+    };
+    "base64-url-1.3.2" = {
+      name = "base64-url";
+      packageName = "base64-url";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-url/-/base64-url-1.3.2.tgz";
+        sha1 = "4b08113b49d23889f306be64372762d31412f7a8";
+      };
+    };
+    "array-parallel-0.1.3" = {
+      name = "array-parallel";
+      packageName = "array-parallel";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz";
+        sha1 = "8f785308926ed5aa478c47e64d1b334b6c0c947d";
+      };
+    };
+    "array-series-0.1.5" = {
+      name = "array-series";
+      packageName = "array-series";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz";
+        sha1 = "df5d37bfc5c2ef0755e2aa4f92feae7d4b5a972f";
+      };
+    };
+    "cross-spawn-4.0.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz";
+        sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252";
+      };
+    };
+    "lru-cache-4.0.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz";
+        sha1 = "1343955edaf2e37d9b9e7ee7241e27c4b9fb72be";
+      };
+    };
+    "which-1.2.11" = {
+      name = "which";
+      packageName = "which";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-1.2.11.tgz";
+        sha1 = "c8b2eeea6b8c1659fa7c1dd4fdaabe9533dc5e8b";
+      };
+    };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "yallist-2.0.0" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz";
+        sha1 = "306c543835f09ee1a4cb23b7bce9ab341c91cdd4";
+      };
+    };
+    "isexe-1.1.2" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz";
+        sha1 = "36f3e22e60750920f5e7241a476a8c6a42275ad0";
+      };
+    };
+    "connect-3.4.1" = {
+      name = "connect";
+      packageName = "connect";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz";
+        sha1 = "a21361d3f4099ef761cda6dc4a973bb1ebb0a34d";
+      };
+    };
+    "dns-prefetch-control-0.1.0" = {
+      name = "dns-prefetch-control";
+      packageName = "dns-prefetch-control";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz";
+        sha1 = "60ddb457774e178f1f9415f0cabb0e85b0b300b2";
+      };
+    };
+    "dont-sniff-mimetype-1.0.0" = {
+      name = "dont-sniff-mimetype";
+      packageName = "dont-sniff-mimetype";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz";
+        sha1 = "5932890dc9f4e2f19e5eb02a20026e5e5efc8f58";
+      };
+    };
+    "frameguard-2.0.0" = {
+      name = "frameguard";
+      packageName = "frameguard";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/frameguard/-/frameguard-2.0.0.tgz";
+        sha1 = "30c2c149e5e3505f9e156f9bc491a438420e487e";
+      };
+    };
+    "helmet-csp-1.2.2" = {
+      name = "helmet-csp";
+      packageName = "helmet-csp";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-1.2.2.tgz";
+        sha1 = "085c0307d57fc96cd97337f170ab8bfea99e5df7";
+      };
+    };
+    "hide-powered-by-1.0.0" = {
+      name = "hide-powered-by";
+      packageName = "hide-powered-by";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz";
+        sha1 = "4a85ad65881f62857fc70af7174a1184dccce32b";
+      };
+    };
+    "hpkp-1.1.0" = {
+      name = "hpkp";
+      packageName = "hpkp";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hpkp/-/hpkp-1.1.0.tgz";
+        sha1 = "77bdff1f331847fb9f40839d00a45032baed4df4";
+      };
+    };
+    "hsts-1.0.0" = {
+      name = "hsts";
+      packageName = "hsts";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hsts/-/hsts-1.0.0.tgz";
+        sha1 = "98e1039ef7aba554057b6b0e32584c0b1143a414";
+      };
+    };
+    "ienoopen-1.0.0" = {
+      name = "ienoopen";
+      packageName = "ienoopen";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz";
+        sha1 = "346a428f474aac8f50cf3784ea2d0f16f62bda6b";
+      };
+    };
+    "nocache-1.0.1" = {
+      name = "nocache";
+      packageName = "nocache";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nocache/-/nocache-1.0.1.tgz";
+        sha1 = "695c9f736926a7554f7365fa25e087941065bd36";
+      };
+    };
+    "referrer-policy-1.0.0" = {
+      name = "referrer-policy";
+      packageName = "referrer-policy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.0.0.tgz";
+        sha1 = "f60eedc92f942b01a6118121ec932d66e8fd7e14";
+      };
+    };
+    "x-xss-protection-1.0.0" = {
+      name = "x-xss-protection";
+      packageName = "x-xss-protection";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.0.0.tgz";
+        sha1 = "898afb93869b24661cf9c52f9ee8db8ed0764dd9";
+      };
+    };
+    "finalhandler-0.4.1" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz";
+        sha1 = "85a17c6c59a94717d262d61230d4b0ebe3d4a14d";
+      };
+    };
+    "camelize-1.0.0" = {
+      name = "camelize";
+      packageName = "camelize";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz";
+        sha1 = "164a5483e630fa4321e5af07020e531831b2609b";
+      };
+    };
+    "content-security-policy-builder-1.0.0" = {
+      name = "content-security-policy-builder";
+      packageName = "content-security-policy-builder";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.0.0.tgz";
+        sha1 = "11fd40c5cc298a6c725a35f9acf71e82ab5d3243";
+      };
+    };
+    "lodash.reduce-4.5.0" = {
+      name = "lodash.reduce";
+      packageName = "lodash.reduce";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.5.0.tgz";
+        sha1 = "af7d2ec621062441e77d5bf408a1e071ef86691c";
+      };
+    };
+    "platform-1.3.1" = {
+      name = "platform";
+      packageName = "platform";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/platform/-/platform-1.3.1.tgz";
+        sha1 = "492210892335bd3131c0a08dda2d93ec3543e423";
+      };
+    };
+    "dashify-0.2.2" = {
+      name = "dashify";
+      packageName = "dashify";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashify/-/dashify-0.2.2.tgz";
+        sha1 = "6a07415a01c91faf4a32e38d9dfba71f61cb20fe";
+      };
+    };
+    "abab-1.0.3" = {
+      name = "abab";
+      packageName = "abab";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz";
+        sha1 = "b81de5f7274ec4e756d797cd834f303642724e5d";
+      };
+    };
+    "acorn-2.7.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz";
+        sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
+      };
+    };
+    "acorn-globals-1.0.9" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz";
+        sha1 = "55bb5e98691507b74579d0513413217c380c54cf";
+      };
+    };
+    "cssom-0.3.1" = {
+      name = "cssom";
+      packageName = "cssom";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz";
+        sha1 = "c9e37ef2490e64f6d1baa10fda852257082c25d3";
+      };
+    };
+    "cssstyle-0.2.37" = {
+      name = "cssstyle";
+      packageName = "cssstyle";
+      version = "0.2.37";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz";
+        sha1 = "541097234cb2513c83ceed3acddc27ff27987d54";
+      };
+    };
+    "escodegen-1.8.1" = {
+      name = "escodegen";
+      packageName = "escodegen";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz";
+        sha1 = "5a5b53af4693110bebb0867aa3430dd3b70a1018";
+      };
+    };
+    "nwmatcher-1.3.8" = {
+      name = "nwmatcher";
+      packageName = "nwmatcher";
+      version = "1.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.8.tgz";
+        sha1 = "34edb93de1aa6cb4448b573c9f2a059300241157";
+      };
+    };
+    "parse5-1.5.1" = {
+      name = "parse5";
+      packageName = "parse5";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz";
+        sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
+      };
+    };
+    "request-2.74.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.74.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.74.0.tgz";
+        sha1 = "7693ca768bbb0ea5c8ce08c084a45efa05b892ab";
+      };
+    };
+    "sax-1.2.1" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
+        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
+      };
+    };
+    "symbol-tree-3.1.4" = {
+      name = "symbol-tree";
+      packageName = "symbol-tree";
+      version = "3.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.1.4.tgz";
+        sha1 = "02b279348d337debc39694c5c95f882d448a312a";
+      };
+    };
+    "tough-cookie-2.3.1" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.1.tgz";
+        sha1 = "99c77dfbb7d804249e8a299d4cb0fd81fef083fd";
+      };
+    };
+    "webidl-conversions-2.0.1" = {
+      name = "webidl-conversions";
+      packageName = "webidl-conversions";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz";
+        sha1 = "3bf8258f7d318c7443c36f2e169402a1a6703506";
+      };
+    };
+    "whatwg-url-compat-0.6.5" = {
+      name = "whatwg-url-compat";
+      packageName = "whatwg-url-compat";
+      version = "0.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz";
+        sha1 = "00898111af689bb097541cd5a45ca6c8798445bf";
+      };
+    };
+    "xml-name-validator-2.0.1" = {
+      name = "xml-name-validator";
+      packageName = "xml-name-validator";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz";
+        sha1 = "4d8b8f1eccd3419aa362061becef515e1e559635";
+      };
+    };
+    "estraverse-1.9.3" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "1.9.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz";
+        sha1 = "af67f2dc922582415950926091a4005d29c9bb44";
+      };
+    };
+    "esutils-2.0.2" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+      };
+    };
+    "esprima-2.7.3" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "2.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz";
+        sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581";
+      };
+    };
+    "optionator-0.8.1" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz";
+        sha1 = "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b";
+      };
+    };
+    "source-map-0.2.0" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz";
+        sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d";
+      };
+    };
+    "prelude-ls-1.1.2" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    };
+    "deep-is-0.1.3" = {
+      name = "deep-is";
+      packageName = "deep-is";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    };
+    "wordwrap-1.0.0" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    };
+    "type-check-0.3.2" = {
+      name = "type-check";
+      packageName = "type-check";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    };
+    "levn-0.3.0" = {
+      name = "levn";
+      packageName = "levn";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    };
+    "fast-levenshtein-1.1.4" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz";
+        sha1 = "e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9";
+      };
+    };
+    "amdefine-1.0.0" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
+        sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
+      };
+    };
+    "aws-sign2-0.6.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
+        sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
+      };
+    };
+    "aws4-1.4.1" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz";
+        sha1 = "fde7d5292466d230e5ee0f4e038d9dfaab08fc61";
+      };
+    };
+    "bl-1.1.2" = {
+      name = "bl";
+      packageName = "bl";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz";
+        sha1 = "fdca871a99713aa00d19e3bbba41c44787a65398";
+      };
+    };
+    "caseless-0.11.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
+        sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
+      };
+    };
+    "combined-stream-1.0.5" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
+        sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+      };
+    };
+    "extend-3.0.0" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
+        sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-1.0.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz";
+        sha1 = "ae315db9a4907fa065502304a66d7733475ee37c";
+      };
+    };
+    "har-validator-2.0.6" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
+        sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
+      };
+    };
+    "hawk-3.1.3" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
+        sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
+      };
+    };
+    "http-signature-1.1.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
+        sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "oauth-sign-0.8.2" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+      };
+    };
+    "qs-6.2.1" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz";
+        sha1 = "ce03c5ff0935bc1d9d69a9f14cbd18e568d67625";
+      };
+    };
+    "stringstream-0.0.5" = {
+      name = "stringstream";
+      packageName = "stringstream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
+        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+      };
+    };
+    "tunnel-agent-0.4.3" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
+        sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
+      };
+    };
+    "readable-stream-2.0.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz";
+        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "process-nextick-args-1.0.7" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "async-2.0.1" = {
+      name = "async";
+      packageName = "async";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.0.1.tgz";
+        sha1 = "b709cc0280a9c36f09f4536be823c838a9049e25";
+      };
+    };
+    "lodash-4.15.0" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz";
+        sha1 = "3162391d8f0140aa22cf8f6b3c34d6b7f63d3aa9";
+      };
+    };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "commander-2.9.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    };
+    "is-my-json-valid-2.13.1" = {
+      name = "is-my-json-valid";
+      packageName = "is-my-json-valid";
+      version = "2.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz";
+        sha1 = "d55778a82feb6b0963ff4be111d5d1684e890707";
+      };
+    };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
+    "ansi-regex-2.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
+        sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    };
+    "generate-function-2.0.0" = {
+      name = "generate-function";
+      packageName = "generate-function";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
+        sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+      };
+    };
+    "generate-object-property-1.2.0" = {
+      name = "generate-object-property";
+      packageName = "generate-object-property";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
+        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+      };
+    };
+    "jsonpointer-2.0.0" = {
+      name = "jsonpointer";
+      packageName = "jsonpointer";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz";
+        sha1 = "3af1dd20fe85463910d469a385e33017d2a030d9";
+      };
+    };
+    "xtend-4.0.1" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+      };
+    };
+    "is-property-1.0.2" = {
+      name = "is-property";
+      packageName = "is-property";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
+        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+      };
+    };
+    "hoek-2.16.3" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "2.16.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
+        sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
+      };
+    };
+    "boom-2.10.1" = {
+      name = "boom";
+      packageName = "boom";
+      version = "2.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
+        sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
+      };
+    };
+    "cryptiles-2.0.5" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
+        sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
+      };
+    };
+    "sntp-1.0.9" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+        sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+      };
+    };
+    "assert-plus-0.2.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
+        sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
+      };
+    };
+    "jsprim-1.3.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz";
+        sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252";
+      };
+    };
+    "sshpk-1.10.0" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.0.tgz";
+        sha1 = "104d6ba2afb2ac099ab9567c0d193977f29c6dfa";
+      };
+    };
+    "extsprintf-1.0.2" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
+        sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "verror-1.3.6" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
+        sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+      };
+    };
+    "asn1-0.2.3" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "dashdash-1.14.0" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz";
+        sha1 = "29e486c5418bf0f356034a993d51686a33e84141";
+      };
+    };
+    "getpass-0.1.6" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz";
+        sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
+      };
+    };
+    "jsbn-0.1.0" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
+        sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
+      };
+    };
+    "tweetnacl-0.13.3" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz";
+        sha1 = "d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56";
+      };
+    };
+    "jodid25519-1.0.2" = {
+      name = "jodid25519";
+      packageName = "jodid25519";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
+        sha1 = "06d4912255093419477d425633606e0e90782967";
+      };
+    };
+    "ecc-jsbn-0.1.1" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+      };
+    };
+    "bcrypt-pbkdf-1.0.0" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz";
+        sha1 = "3ca76b85241c7170bf7d9703e7b9aa74630040d4";
+      };
+    };
+    "tweetnacl-0.14.3" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz";
+        sha1 = "3da382f670f25ded78d7b3d1792119bca0b7132d";
+      };
+    };
+    "tr46-0.0.3" = {
+      name = "tr46";
+      packageName = "tr46";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz";
+        sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
+    "minimist-0.0.10" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    };
+    "glob-7.0.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz";
+        sha1 = "211bafaf49e525b8cd93260d14ab136152b3f57a";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "htmlparser2-3.9.1" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.1.tgz";
+        sha1 = "621b7a58bc9acd003f7af0a2c9a00aa67c8505d2";
+      };
+    };
+    "regexp-quote-0.0.0" = {
+      name = "regexp-quote";
+      packageName = "regexp-quote";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz";
+        sha1 = "1e0f4650c862dcbfed54fd42b148e9bb1721fcf2";
+      };
+    };
+    "domelementtype-1.3.0" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
+        sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+      };
+    };
+    "domhandler-2.3.0" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
+        sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+      };
+    };
+    "domutils-1.5.1" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    };
+    "entities-1.1.1" = {
+      name = "entities";
+      packageName = "entities";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
+        sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+      };
+    };
+    "readable-stream-2.1.5" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz";
+        sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
+      };
+    };
+    "dom-serializer-0.1.0" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+        sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+      };
+    };
+    "domelementtype-1.1.3" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+        sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+      };
+    };
+    "buffer-shims-1.0.0" = {
+      name = "buffer-shims";
+      packageName = "buffer-shims";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
+        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
+    "mime-1.3.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    };
+    "range-parser-1.0.3" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
+        sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
+      };
+    };
+    "statuses-1.2.1" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
+        sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
+      };
+    };
+    "yargs-3.32.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.32.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz";
+        sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
+      };
+    };
+    "cliui-3.2.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    };
+    "os-locale-1.4.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
+        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+      };
+    };
+    "string-width-1.0.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    };
+    "window-size-0.1.4" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz";
+        sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
+      };
+    };
+    "y18n-3.2.1" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
+        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+      };
+    };
+    "wrap-ansi-2.0.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.0.0.tgz";
+        sha1 = "7d30f8f873f9a5bbc3a64dabc8d177e071ae426f";
+      };
+    };
+    "lcid-1.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    };
+    "invert-kv-1.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    };
+    "code-point-at-1.0.0" = {
+      name = "code-point-at";
+      packageName = "code-point-at";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz";
+        sha1 = "f69b192d3f7d91e382e4b71bddb77878619ab0c6";
+      };
+    };
+    "is-fullwidth-code-point-1.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    };
+    "faye-websocket-0.10.0" = {
+      name = "faye-websocket";
+      packageName = "faye-websocket";
+      version = "0.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
+        sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      };
+    };
+    "uuid-2.0.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz";
+        sha1 = "48bd5698f0677e3c7901a1c46ef15b1643794726";
+      };
+    };
+    "websocket-driver-0.6.5" = {
+      name = "websocket-driver";
+      packageName = "websocket-driver";
+      version = "0.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz";
+        sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
+      };
+    };
+    "websocket-extensions-0.1.1" = {
+      name = "websocket-extensions";
+      packageName = "websocket-extensions";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
+        sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
+      };
+    };
+    "underscore-1.6.0" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+      };
+    };
+    "xml2js-0.1.14" = {
+      name = "xml2js";
+      packageName = "xml2js";
+      version = "0.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz";
+        sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
+      };
+    };
+    "mongodb-2.2.10" = {
+      name = "mongodb";
+      packageName = "mongodb";
+      version = "2.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-2.2.10.tgz";
+        sha1 = "d11273a5a53b08e17bcc4c8a295ded0f151ccae6";
+      };
+    };
+    "es6-promise-3.2.1" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz";
+        sha1 = "ec56233868032909207170c39448e24449dd1fc4";
+      };
+    };
+    "mongodb-core-2.0.12" = {
+      name = "mongodb-core";
+      packageName = "mongodb-core";
+      version = "2.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.0.12.tgz";
+        sha1 = "bb66aad550e252731f8ad49276815264a91c337c";
+      };
+    };
+    "bson-0.5.5" = {
+      name = "bson";
+      packageName = "bson";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bson/-/bson-0.5.5.tgz";
+        sha1 = "1d6725d400f0fbf0271bf6bafc8fa1126c29983b";
+      };
+    };
+    "require_optional-1.0.0" = {
+      name = "require_optional";
+      packageName = "require_optional";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require_optional/-/require_optional-1.0.0.tgz";
+        sha1 = "52a86137a849728eb60a55533617f8f914f59abf";
+      };
+    };
+    "resolve-from-2.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz";
+        sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57";
+      };
+    };
+    "async-0.9.2" = {
+      name = "async";
+      packageName = "async";
+      version = "0.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    };
+    "redis-0.10.3" = {
+      name = "redis";
+      packageName = "redis";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
+        sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
+      };
+    };
+    "memcached-0.2.8" = {
+      name = "memcached";
+      packageName = "memcached";
+      version = "0.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memcached/-/memcached-0.2.8.tgz";
+        sha1 = "ffbf9498cbc30779625b77e77770bd50dc525212";
+      };
+    };
+    "databank-0.18.2" = {
+      name = "databank";
+      packageName = "databank";
+      version = "0.18.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank/-/databank-0.18.2.tgz";
+        sha1 = "b1f85bafa329cdb415589c0ee819a04c989a03ed";
+      };
+    };
+    "underscore-1.4.4" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      };
+    };
+    "hashring-0.0.8" = {
+      name = "hashring";
+      packageName = "hashring";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hashring/-/hashring-0.0.8.tgz";
+        sha1 = "203ab13c364119f10106526d2eaf7bd42b484c31";
+      };
+    };
+    "jackpot-0.0.6" = {
+      name = "jackpot";
+      packageName = "jackpot";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jackpot/-/jackpot-0.0.6.tgz";
+        sha1 = "3cff064285cbf66f4eab2593c90bce816a821849";
+      };
+    };
+    "bisection-0.0.3" = {
+      name = "bisection";
+      packageName = "bisection";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bisection/-/bisection-0.0.3.tgz";
+        sha1 = "9891d506d86ec7d50910c5157bb592dbb03f33db";
+      };
+    };
+    "simple-lru-cache-0.0.2" = {
+      name = "simple-lru-cache";
+      packageName = "simple-lru-cache";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
+        sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
+      };
+    };
+    "retry-0.6.0" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
+        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+      };
+    };
+    "lru-cache-2.3.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz";
+        sha1 = "b3adf6b3d856e954e2c390e6cef22081245a53d6";
+      };
+    };
+  };
+  args = {
+    name = "pump.io";
+    packageName = "pump.io";
     version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";
-      name = "trim-newlines-1.0.0.tgz";
-      sha1 = "5887966bb582a4503a41eb524f7d35011815a613";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."*" =
-    self.by-version."underscore"."1.8.3";
-  by-version."underscore"."1.8.3" = self.buildNodePackage {
-    name = "underscore-1.8.3";
-    version = "1.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
-      name = "underscore-1.8.3.tgz";
-      sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."1.4.x" =
-    self.by-version."underscore"."1.4.4";
-  by-version."underscore"."1.4.4" = self.buildNodePackage {
-    name = "underscore-1.4.4";
-    version = "1.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-      name = "underscore-1.4.4.tgz";
-      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "underscore" = self.by-version."underscore"."1.4.4";
-  by-spec."underscore"."1.5.x" =
-    self.by-version."underscore"."1.5.2";
-  by-version."underscore"."1.5.2" = self.buildNodePackage {
-    name = "underscore-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-      name = "underscore-1.5.2.tgz";
-      sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."1.6.x" =
-    self.by-version."underscore"."1.6.0";
-  by-version."underscore"."1.6.0" = self.buildNodePackage {
-    name = "underscore-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
-      name = "underscore-1.6.0.tgz";
-      sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore".">=1.1.3" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore"."^1.8.3" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore-contrib"."0.1.x" =
-    self.by-version."underscore-contrib"."0.1.4";
-  by-version."underscore-contrib"."0.1.4" = self.buildNodePackage {
-    name = "underscore-contrib-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.1.4.tgz";
-      name = "underscore-contrib-0.1.4.tgz";
-      sha1 = "db40f37f2e66961d2e0326bf65fb76887a1ca1c6";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "underscore-contrib" = self.by-version."underscore-contrib"."0.1.4";
-  by-spec."util-deprecate"."~1.0.1" =
-    self.by-version."util-deprecate"."1.0.2";
-  by-version."util-deprecate"."1.0.2" = self.buildNodePackage {
-    name = "util-deprecate-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
-      name = "util-deprecate-1.0.2.tgz";
-      sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utml"."0.2.x" =
-    self.by-version."utml"."0.2.0";
-  by-version."utml"."0.2.0" = self.buildNodePackage {
-    name = "utml-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/utml/-/utml-0.2.0.tgz";
-      name = "utml-0.2.0.tgz";
-      sha1 = "6a546741823b2a9c17598a57e8eb4c08738dee48";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "utml" = self.by-version."utml"."0.2.0";
-  by-spec."validate-npm-package-license"."^3.0.1" =
-    self.by-version."validate-npm-package-license"."3.0.1";
-  by-version."validate-npm-package-license"."3.0.1" = self.buildNodePackage {
-    name = "validate-npm-package-license-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
-      name = "validate-npm-package-license-3.0.1.tgz";
-      sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
-    };
-    deps = {
-      "spdx-correct-1.0.2" = self.by-version."spdx-correct"."1.0.2";
-      "spdx-expression-parse-1.0.2" = self.by-version."spdx-expression-parse"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."validator"."0.4.x" =
-    self.by-version."validator"."0.4.28";
-  by-version."validator"."0.4.28" = self.buildNodePackage {
-    name = "validator-0.4.28";
-    version = "0.4.28";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/validator/-/validator-0.4.28.tgz";
-      name = "validator-0.4.28.tgz";
-      sha1 = "311d439ae6cf3fbe6f85da6ebaccd0c7007986f4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "validator" = self.by-version."validator"."0.4.28";
-  by-spec."vows"."0.7.x" =
-    self.by-version."vows"."0.7.0";
-  by-version."vows"."0.7.0" = self.buildNodePackage {
-    name = "vows-0.7.0";
-    version = "0.7.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
-      name = "vows-0.7.0.tgz";
-      sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
-    };
-    deps = {
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "diff-1.0.8" = self.by-version."diff"."1.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."webfinger"."~0.4.2" =
-    self.by-version."webfinger"."0.4.2";
-  by-version."webfinger"."0.4.2" = self.buildNodePackage {
-    name = "webfinger-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/webfinger/-/webfinger-0.4.2.tgz";
-      name = "webfinger-0.4.2.tgz";
-      sha1 = "3477a6d97799461896039fcffc650b73468ee76d";
-    };
-    deps = {
-      "step-0.0.6" = self.by-version."step"."0.0.6";
-      "xml2js-0.1.14" = self.by-version."xml2js"."0.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "webfinger" = self.by-version."webfinger"."0.4.2";
-  by-spec."websocket-driver".">=0.5.1" =
-    self.by-version."websocket-driver"."0.6.3";
-  by-version."websocket-driver"."0.6.3" = self.buildNodePackage {
-    name = "websocket-driver-0.6.3";
-    version = "0.6.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.3.tgz";
-      name = "websocket-driver-0.6.3.tgz";
-      sha1 = "fd21911bb46dee34ad85bdbc5676bf9024ed087b";
-    };
-    deps = {
-      "websocket-extensions-0.1.1" = self.by-version."websocket-extensions"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."websocket-extensions".">=0.1.1" =
-    self.by-version."websocket-extensions"."0.1.1";
-  by-version."websocket-extensions"."0.1.1" = self.buildNodePackage {
-    name = "websocket-extensions-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
-      name = "websocket-extensions-0.1.1.tgz";
-      sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."~0.0.2" =
-    self.by-version."wordwrap"."0.0.3";
-  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
-    name = "wordwrap-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-      name = "wordwrap-0.0.3.tgz";
-      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.1.x" =
-    self.by-version."xml2js"."0.1.14";
-  by-version."xml2js"."0.1.14" = self.buildNodePackage {
-    name = "xml2js-0.1.14";
-    version = "0.1.14";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz";
-      name = "xml2js-0.1.14.tgz";
-      sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
-    };
-    deps = {
-      "sax-1.1.4" = self.by-version."sax"."1.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-}
+    src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; };
+    dependencies = [
+      (sources."bcrypt-0.8.7" // {
+        dependencies = [
+          sources."bindings-1.2.1"
+          sources."nan-2.3.5"
+        ];
+      })
+      (sources."bunyan-1.8.1" // {
+        dependencies = [
+          (sources."dtrace-provider-0.6.0" // {
+            dependencies = [
+              sources."nan-2.4.0"
+            ];
+          })
+          (sources."mv-2.1.1" // {
+            dependencies = [
+              sources."ncp-2.0.0"
+              (sources."rimraf-2.4.5" // {
+                dependencies = [
+                  (sources."glob-6.0.4" // {
+                    dependencies = [
+                      (sources."inflight-1.0.5" // {
+                        dependencies = [
+                          sources."wrappy-1.0.2"
+                        ];
+                      })
+                      sources."inherits-2.0.3"
+                      (sources."minimatch-3.0.3" // {
+                        dependencies = [
+                          (sources."brace-expansion-1.1.6" // {
+                            dependencies = [
+                              sources."balanced-match-0.4.2"
+                              sources."concat-map-0.0.1"
+                            ];
+                          })
+                        ];
+                      })
+                      (sources."once-1.4.0" // {
+                        dependencies = [
+                          sources."wrappy-1.0.2"
+                        ];
+                      })
+                      sources."path-is-absolute-1.0.0"
+                    ];
+                  })
+                ];
+              })
+            ];
+          })
+          sources."safe-json-stringify-1.0.3"
+          sources."moment-2.15.0"
+        ];
+      })
+      (sources."connect-2.30.2" // {
+        dependencies = [
+          sources."basic-auth-connect-1.0.0"
+          (sources."body-parser-1.13.3" // {
+            dependencies = [
+              sources."iconv-lite-0.4.11"
+              (sources."on-finished-2.3.0" // {
+                dependencies = [
+                  sources."ee-first-1.1.1"
+                ];
+              })
+              (sources."raw-body-2.1.7" // {
+                dependencies = [
+                  sources."bytes-2.4.0"
+                  sources."iconv-lite-0.4.13"
+                  sources."unpipe-1.0.0"
+                ];
+              })
+            ];
+          })
+          sources."bytes-2.1.0"
+          sources."cookie-0.1.3"
+          sources."cookie-parser-1.3.5"
+          sources."cookie-signature-1.0.6"
+          (sources."compression-1.5.2" // {
+            dependencies = [
+              (sources."accepts-1.2.13" // {
+                dependencies = [
+                  (sources."mime-types-2.1.11" // {
+                    dependencies = [
+                      sources."mime-db-1.23.0"
+                    ];
+                  })
+                  sources."negotiator-0.5.3"
+                ];
+              })
+              (sources."compressible-2.0.8" // {
+                dependencies = [
+                  sources."mime-db-1.23.0"
+                ];
+              })
+              sources."vary-1.0.1"
+            ];
+          })
+          (sources."connect-timeout-1.6.2" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+          sources."content-type-1.0.2"
+          (sources."csurf-1.8.3" // {
+            dependencies = [
+              (sources."csrf-3.0.3" // {
+                dependencies = [
+                  sources."base64-url-1.2.2"
+                  sources."rndm-1.2.0"
+                  sources."tsscmp-1.0.5"
+                  (sources."uid-safe-2.1.1" // {
+                    dependencies = [
+                      sources."random-bytes-1.0.0"
+                    ];
+                  })
+                ];
+              })
+            ];
+          })
+          (sources."debug-2.2.0" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+          sources."depd-1.0.1"
+          (sources."errorhandler-1.4.3" // {
+            dependencies = [
+              (sources."accepts-1.3.3" // {
+                dependencies = [
+                  (sources."mime-types-2.1.11" // {
+                    dependencies = [
+                      sources."mime-db-1.23.0"
+                    ];
+                  })
+                  sources."negotiator-0.6.1"
+                ];
+              })
+              sources."escape-html-1.0.3"
+            ];
+          })
+          (sources."express-session-1.11.3" // {
+            dependencies = [
+              sources."crc-3.3.0"
+              (sources."uid-safe-2.0.0" // {
+                dependencies = [
+                  sources."base64-url-1.2.1"
+                ];
+              })
+            ];
+          })
+          (sources."finalhandler-0.4.0" // {
+            dependencies = [
+              sources."escape-html-1.0.2"
+              (sources."on-finished-2.3.0" // {
+                dependencies = [
+                  sources."ee-first-1.1.1"
+                ];
+              })
+              sources."unpipe-1.0.0"
+            ];
+          })
+          sources."fresh-0.3.0"
+          (sources."http-errors-1.3.1" // {
+            dependencies = [
+              sources."inherits-2.0.3"
+              sources."statuses-1.3.0"
+            ];
+          })
+          (sources."method-override-2.3.6" // {
+            dependencies = [
+              sources."methods-1.1.2"
+              sources."vary-1.1.0"
+            ];
+          })
+          (sources."morgan-1.6.1" // {
+            dependencies = [
+              sources."basic-auth-1.0.4"
+              (sources."on-finished-2.3.0" // {
+                dependencies = [
+                  sources."ee-first-1.1.1"
+                ];
+              })
+            ];
+          })
+          (sources."multiparty-3.3.2" // {
+            dependencies = [
+              (sources."readable-stream-1.1.14" // {
+                dependencies = [
+                  sources."core-util-is-1.0.2"
+                  sources."isarray-0.0.1"
+                  sources."string_decoder-0.10.31"
+                  sources."inherits-2.0.3"
+                ];
+              })
+              sources."stream-counter-0.2.0"
+            ];
+          })
+          sources."on-headers-1.0.1"
+          sources."parseurl-1.3.1"
+          sources."pause-0.1.0"
+          sources."qs-4.0.0"
+          sources."response-time-2.3.1"
+          (sources."serve-favicon-2.3.0" // {
+            dependencies = [
+              sources."etag-1.7.0"
+              sources."ms-0.7.1"
+            ];
+          })
+          (sources."serve-index-1.7.3" // {
+            dependencies = [
+              (sources."accepts-1.2.13" // {
+                dependencies = [
+                  sources."negotiator-0.5.3"
+                ];
+              })
+              sources."batch-0.5.3"
+              sources."escape-html-1.0.3"
+              (sources."mime-types-2.1.11" // {
+                dependencies = [
+                  sources."mime-db-1.23.0"
+                ];
+              })
+            ];
+          })
+          (sources."serve-static-1.10.3" // {
+            dependencies = [
+              sources."escape-html-1.0.3"
+            ];
+          })
+          (sources."type-is-1.6.13" // {
+            dependencies = [
+              sources."media-typer-0.3.0"
+              (sources."mime-types-2.1.11" // {
+                dependencies = [
+                  sources."mime-db-1.23.0"
+                ];
+              })
+            ];
+          })
+          sources."utils-merge-1.0.0"
+          sources."vhost-3.0.2"
+        ];
+      })
+      (sources."connect-auth-0.6.1" // {
+        dependencies = [
+          (sources."connect-2.7.11" // {
+            dependencies = [
+              sources."qs-0.6.5"
+              sources."formidable-1.0.14"
+              sources."cookie-signature-1.0.1"
+              sources."buffer-crc32-0.2.1"
+              sources."cookie-0.0.5"
+              (sources."send-0.1.1" // {
+                dependencies = [
+                  sources."mime-1.2.11"
+                  sources."range-parser-0.0.4"
+                ];
+              })
+              sources."bytes-0.2.0"
+              sources."fresh-0.1.0"
+              sources."pause-0.0.1"
+              (sources."debug-2.2.0" // {
+                dependencies = [
+                  sources."ms-0.7.1"
+                ];
+              })
+            ];
+          })
+          sources."oauth-0.9.10"
+          sources."openid-0.4.1"
+        ];
+      })
+      (sources."connect-databank-1.0.3" // {
+        dependencies = [
+          sources."async-1.5.2"
+          sources."set-immediate-0.1.1"
+        ];
+      })
+      sources."crypto-cacerts-0.1.0"
+      (sources."databank-0.19.5" // {
+        dependencies = [
+          (sources."vows-0.7.0" // {
+            dependencies = [
+              sources."eyes-0.1.8"
+              sources."diff-1.0.8"
+            ];
+          })
+          sources."setimmediate-1.0.5"
+        ];
+      })
+      (sources."dateformat-1.0.12" // {
+        dependencies = [
+          sources."get-stdin-4.0.1"
+          (sources."meow-3.7.0" // {
+            dependencies = [
+              (sources."camelcase-keys-2.1.0" // {
+                dependencies = [
+                  sources."camelcase-2.1.1"
+                ];
+              })
+              sources."decamelize-1.2.0"
+              (sources."loud-rejection-1.6.0" // {
+                dependencies = [
+                  (sources."currently-unhandled-0.4.1" // {
+                    dependencies = [
+                      sources."array-find-index-1.0.1"
+                    ];
+                  })
+                  sources."signal-exit-3.0.1"
+                ];
+              })
+              sources."map-obj-1.0.1"
+              sources."minimist-1.2.0"
+              (sources."normalize-package-data-2.3.5" // {
+                dependencies = [
+                  sources."hosted-git-info-2.1.5"
+                  (sources."is-builtin-module-1.0.0" // {
+                    dependencies = [
+                      sources."builtin-modules-1.1.1"
+                    ];
+                  })
+                  sources."semver-5.3.0"
+                  (sources."validate-npm-package-license-3.0.1" // {
+                    dependencies = [
+                      (sources."spdx-correct-1.0.2" // {
+                        dependencies = [
+                          sources."spdx-license-ids-1.2.2"
+                        ];
+                      })
+                      sources."spdx-expression-parse-1.0.3"
+                    ];
+                  })
+                ];
+              })
+              sources."object-assign-4.1.0"
+              (sources."read-pkg-up-1.0.1" // {
+                dependencies = [
+                  (sources."find-up-1.1.2" // {
+                    dependencies = [
+                      sources."path-exists-2.1.0"
+                      (sources."pinkie-promise-2.0.1" // {
+                        dependencies = [
+                          sources."pinkie-2.0.4"
+                        ];
+                      })
+                    ];
+                  })
+                  (sources."read-pkg-1.1.0" // {
+                    dependencies = [
+                      (sources."load-json-file-1.1.0" // {
+                        dependencies = [
+                          sources."graceful-fs-4.1.6"
+                          (sources."parse-json-2.2.0" // {
+                            dependencies = [
+                              (sources."error-ex-1.3.0" // {
+                                dependencies = [
+                                  sources."is-arrayish-0.2.1"
+                                ];
+                              })
+                            ];
+                          })
+                          sources."pify-2.3.0"
+                          (sources."pinkie-promise-2.0.1" // {
+                            dependencies = [
+                              sources."pinkie-2.0.4"
+                            ];
+                          })
+                          (sources."strip-bom-2.0.0" // {
+                            dependencies = [
+                              sources."is-utf8-0.2.1"
+                            ];
+                          })
+                        ];
+                      })
+                      (sources."path-type-1.1.0" // {
+                        dependencies = [
+                          sources."graceful-fs-4.1.6"
+                          sources."pify-2.3.0"
+                          (sources."pinkie-promise-2.0.1" // {
+                            dependencies = [
+                              sources."pinkie-2.0.4"
+                            ];
+                          })
+                        ];
+                      })
+                    ];
+                  })
+                ];
+              })
+              (sources."redent-1.0.0" // {
+                dependencies = [
+                  (sources."indent-string-2.1.0" // {
+                    dependencies = [
+                      (sources."repeating-2.0.1" // {
+                        dependencies = [
+                          (sources."is-finite-1.0.1" // {
+                            dependencies = [
+                              sources."number-is-nan-1.0.0"
+                            ];
+                          })
+                        ];
+                      })
+                    ];
+                  })
+                  sources."strip-indent-1.0.1"
+                ];
+              })
+              sources."trim-newlines-1.0.0"
+            ];
+          })
+        ];
+      })
+      (sources."dialback-client-0.2.0" // {
+        dependencies = [
+          sources."underscore-1.5.2"
+        ];
+      })
+      sources."dompurify-0.8.3"
+      (sources."emailjs-1.0.8" // {
+        dependencies = [
+          sources."addressparser-0.3.2"
+          (sources."mimelib-0.2.14" // {
+            dependencies = [
+              (sources."encoding-0.1.12" // {
+                dependencies = [
+                  sources."iconv-lite-0.4.13"
+                ];
+              })
+              sources."addressparser-0.2.1"
+            ];
+          })
+          sources."moment-2.11.2"
+          sources."starttls-1.0.1"
+          sources."bufferjs-1.1.0"
+        ];
+      })
+      (sources."express-2.5.11" // {
+        dependencies = [
+          (sources."connect-1.9.2" // {
+            dependencies = [
+              sources."formidable-1.0.17"
+            ];
+          })
+          sources."mime-1.2.4"
+          sources."qs-0.4.2"
+          sources."mkdirp-0.3.0"
+        ];
+      })
+      (sources."express-session-1.14.1" // {
+        dependencies = [
+          sources."cookie-0.3.1"
+          sources."cookie-signature-1.0.6"
+          sources."crc-3.4.0"
+          (sources."debug-2.2.0" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+          sources."depd-1.1.0"
+          sources."on-headers-1.0.1"
+          sources."parseurl-1.3.1"
+          (sources."uid-safe-2.1.2" // {
+            dependencies = [
+              sources."base64-url-1.3.2"
+              sources."random-bytes-1.0.0"
+            ];
+          })
+          sources."utils-merge-1.0.0"
+        ];
+      })
+      (sources."gm-1.23.0" // {
+        dependencies = [
+          sources."array-parallel-0.1.3"
+          sources."array-series-0.1.5"
+          (sources."cross-spawn-4.0.0" // {
+            dependencies = [
+              (sources."lru-cache-4.0.1" // {
+                dependencies = [
+                  sources."pseudomap-1.0.2"
+                  sources."yallist-2.0.0"
+                ];
+              })
+              (sources."which-1.2.11" // {
+                dependencies = [
+                  sources."isexe-1.1.2"
+                ];
+              })
+            ];
+          })
+          (sources."debug-2.2.0" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+        ];
+      })
+      (sources."helmet-2.2.0" // {
+        dependencies = [
+          (sources."connect-3.4.1" // {
+            dependencies = [
+              (sources."debug-2.2.0" // {
+                dependencies = [
+                  sources."ms-0.7.1"
+                ];
+              })
+              (sources."finalhandler-0.4.1" // {
+                dependencies = [
+                  sources."escape-html-1.0.3"
+                  (sources."on-finished-2.3.0" // {
+                    dependencies = [
+                      sources."ee-first-1.1.1"
+                    ];
+                  })
+                  sources."unpipe-1.0.0"
+                ];
+              })
+              sources."parseurl-1.3.1"
+              sources."utils-merge-1.0.0"
+            ];
+          })
+          sources."dns-prefetch-control-0.1.0"
+          sources."dont-sniff-mimetype-1.0.0"
+          sources."frameguard-2.0.0"
+          (sources."helmet-csp-1.2.2" // {
+            dependencies = [
+              sources."camelize-1.0.0"
+              (sources."content-security-policy-builder-1.0.0" // {
+                dependencies = [
+                  sources."dashify-0.2.2"
+                ];
+              })
+              sources."lodash.reduce-4.5.0"
+              sources."platform-1.3.1"
+            ];
+          })
+          sources."hide-powered-by-1.0.0"
+          sources."hpkp-1.1.0"
+          (sources."hsts-1.0.0" // {
+            dependencies = [
+              sources."core-util-is-1.0.2"
+            ];
+          })
+          sources."ienoopen-1.0.0"
+          (sources."nocache-1.0.1" // {
+            dependencies = [
+              sources."depd-1.1.0"
+            ];
+          })
+          sources."referrer-policy-1.0.0"
+          sources."x-xss-protection-1.0.0"
+        ];
+      })
+      sources."jankyqueue-0.1.1"
+      (sources."jsdom-7.2.2" // {
+        dependencies = [
+          sources."abab-1.0.3"
+          sources."acorn-2.7.0"
+          sources."acorn-globals-1.0.9"
+          sources."cssom-0.3.1"
+          sources."cssstyle-0.2.37"
+          (sources."escodegen-1.8.1" // {
+            dependencies = [
+              sources."estraverse-1.9.3"
+              sources."esutils-2.0.2"
+              sources."esprima-2.7.3"
+              (sources."optionator-0.8.1" // {
+                dependencies = [
+                  sources."prelude-ls-1.1.2"
+                  sources."deep-is-0.1.3"
+                  sources."wordwrap-1.0.0"
+                  sources."type-check-0.3.2"
+                  sources."levn-0.3.0"
+                  sources."fast-levenshtein-1.1.4"
+                ];
+              })
+              (sources."source-map-0.2.0" // {
+                dependencies = [
+                  sources."amdefine-1.0.0"
+                ];
+              })
+            ];
+          })
+          sources."nwmatcher-1.3.8"
+          sources."parse5-1.5.1"
+          (sources."request-2.74.0" // {
+            dependencies = [
+              sources."aws-sign2-0.6.0"
+              sources."aws4-1.4.1"
+              (sources."bl-1.1.2" // {
+                dependencies = [
+                  (sources."readable-stream-2.0.6" // {
+                    dependencies = [
+                      sources."core-util-is-1.0.2"
+                      sources."inherits-2.0.3"
+                      sources."isarray-1.0.0"
+                      sources."process-nextick-args-1.0.7"
+                      sources."string_decoder-0.10.31"
+                      sources."util-deprecate-1.0.2"
+                    ];
+                  })
+                ];
+              })
+              sources."caseless-0.11.0"
+              (sources."combined-stream-1.0.5" // {
+                dependencies = [
+                  sources."delayed-stream-1.0.0"
+                ];
+              })
+              sources."extend-3.0.0"
+              sources."forever-agent-0.6.1"
+              (sources."form-data-1.0.1" // {
+                dependencies = [
+                  (sources."async-2.0.1" // {
+                    dependencies = [
+                      sources."lodash-4.15.0"
+                    ];
+                  })
+                ];
+              })
+              (sources."har-validator-2.0.6" // {
+                dependencies = [
+                  (sources."chalk-1.1.3" // {
+                    dependencies = [
+                      sources."ansi-styles-2.2.1"
+                      sources."escape-string-regexp-1.0.5"
+                      (sources."has-ansi-2.0.0" // {
+                        dependencies = [
+                          sources."ansi-regex-2.0.0"
+                        ];
+                      })
+                      (sources."strip-ansi-3.0.1" // {
+                        dependencies = [
+                          sources."ansi-regex-2.0.0"
+                        ];
+                      })
+                      sources."supports-color-2.0.0"
+                    ];
+                  })
+                  (sources."commander-2.9.0" // {
+                    dependencies = [
+                      sources."graceful-readlink-1.0.1"
+                    ];
+                  })
+                  (sources."is-my-json-valid-2.13.1" // {
+                    dependencies = [
+                      sources."generate-function-2.0.0"
+                      (sources."generate-object-property-1.2.0" // {
+                        dependencies = [
+                          sources."is-property-1.0.2"
+                        ];
+                      })
+                      sources."jsonpointer-2.0.0"
+                      sources."xtend-4.0.1"
+                    ];
+                  })
+                  (sources."pinkie-promise-2.0.1" // {
+                    dependencies = [
+                      sources."pinkie-2.0.4"
+                    ];
+                  })
+                ];
+              })
+              (sources."hawk-3.1.3" // {
+                dependencies = [
+                  sources."hoek-2.16.3"
+                  sources."boom-2.10.1"
+                  sources."cryptiles-2.0.5"
+                  sources."sntp-1.0.9"
+                ];
+              })
+              (sources."http-signature-1.1.1" // {
+                dependencies = [
+                  sources."assert-plus-0.2.0"
+                  (sources."jsprim-1.3.1" // {
+                    dependencies = [
+                      sources."extsprintf-1.0.2"
+                      sources."json-schema-0.2.3"
+                      sources."verror-1.3.6"
+                    ];
+                  })
+                  (sources."sshpk-1.10.0" // {
+                    dependencies = [
+                      sources."asn1-0.2.3"
+                      sources."assert-plus-1.0.0"
+                      sources."dashdash-1.14.0"
+                      sources."getpass-0.1.6"
+                      sources."jsbn-0.1.0"
+                      sources."tweetnacl-0.13.3"
+                      sources."jodid25519-1.0.2"
+                      sources."ecc-jsbn-0.1.1"
+                      (sources."bcrypt-pbkdf-1.0.0" // {
+                        dependencies = [
+                          sources."tweetnacl-0.14.3"
+                        ];
+                      })
+                    ];
+                  })
+                ];
+              })
+              sources."is-typedarray-1.0.0"
+              sources."isstream-0.1.2"
+              sources."json-stringify-safe-5.0.1"
+              (sources."mime-types-2.1.11" // {
+                dependencies = [
+                  sources."mime-db-1.23.0"
+                ];
+              })
+              sources."oauth-sign-0.8.2"
+              sources."qs-6.2.1"
+              sources."stringstream-0.0.5"
+              sources."tunnel-agent-0.4.3"
+            ];
+          })
+          sources."sax-1.2.1"
+          sources."symbol-tree-3.1.4"
+          sources."tough-cookie-2.3.1"
+          sources."webidl-conversions-2.0.1"
+          (sources."whatwg-url-compat-0.6.5" // {
+            dependencies = [
+              sources."tr46-0.0.3"
+            ];
+          })
+          sources."xml-name-validator-2.0.1"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."node-uuid-1.4.7"
+      sources."oauth-evanp-0.9.10-evanp.2"
+      (sources."optimist-0.6.1" // {
+        dependencies = [
+          sources."wordwrap-0.0.3"
+          sources."minimist-0.0.10"
+        ];
+      })
+      (sources."rimraf-2.5.4" // {
+        dependencies = [
+          (sources."glob-7.0.6" // {
+            dependencies = [
+              sources."fs.realpath-1.0.0"
+              (sources."inflight-1.0.5" // {
+                dependencies = [
+                  sources."wrappy-1.0.2"
+                ];
+              })
+              sources."inherits-2.0.3"
+              (sources."minimatch-3.0.3" // {
+                dependencies = [
+                  (sources."brace-expansion-1.1.6" // {
+                    dependencies = [
+                      sources."balanced-match-0.4.2"
+                      sources."concat-map-0.0.1"
+                    ];
+                  })
+                ];
+              })
+              (sources."once-1.4.0" // {
+                dependencies = [
+                  sources."wrappy-1.0.2"
+                ];
+              })
+              sources."path-is-absolute-1.0.0"
+            ];
+          })
+        ];
+      })
+      (sources."sanitize-html-1.13.0" // {
+        dependencies = [
+          (sources."htmlparser2-3.9.1" // {
+            dependencies = [
+              sources."domelementtype-1.3.0"
+              sources."domhandler-2.3.0"
+              (sources."domutils-1.5.1" // {
+                dependencies = [
+                  (sources."dom-serializer-0.1.0" // {
+                    dependencies = [
+                      sources."domelementtype-1.1.3"
+                    ];
+                  })
+                ];
+              })
+              sources."entities-1.1.1"
+              sources."inherits-2.0.3"
+              (sources."readable-stream-2.1.5" // {
+                dependencies = [
+                  sources."buffer-shims-1.0.0"
+                  sources."core-util-is-1.0.2"
+                  sources."isarray-1.0.0"
+                  sources."process-nextick-args-1.0.7"
+                  sources."string_decoder-0.10.31"
+                  sources."util-deprecate-1.0.2"
+                ];
+              })
+            ];
+          })
+          sources."regexp-quote-0.0.0"
+          sources."xtend-4.0.1"
+        ];
+      })
+      sources."schlock-0.2.1"
+      (sources."send-0.13.2" // {
+        dependencies = [
+          sources."debug-2.2.0"
+          sources."depd-1.1.0"
+          sources."destroy-1.0.4"
+          sources."escape-html-1.0.3"
+          sources."etag-1.7.0"
+          sources."fresh-0.3.0"
+          (sources."http-errors-1.3.1" // {
+            dependencies = [
+              sources."inherits-2.0.3"
+            ];
+          })
+          sources."mime-1.3.4"
+          sources."ms-0.7.1"
+          (sources."on-finished-2.3.0" // {
+            dependencies = [
+              sources."ee-first-1.1.1"
+            ];
+          })
+          sources."range-parser-1.0.3"
+          sources."statuses-1.2.1"
+        ];
+      })
+      (sources."showdown-1.4.3" // {
+        dependencies = [
+          (sources."yargs-3.32.0" // {
+            dependencies = [
+              sources."camelcase-2.1.1"
+              (sources."cliui-3.2.0" // {
+                dependencies = [
+                  (sources."strip-ansi-3.0.1" // {
+                    dependencies = [
+                      sources."ansi-regex-2.0.0"
+                    ];
+                  })
+                  sources."wrap-ansi-2.0.0"
+                ];
+              })
+              sources."decamelize-1.2.0"
+              (sources."os-locale-1.4.0" // {
+                dependencies = [
+                  (sources."lcid-1.0.0" // {
+                    dependencies = [
+                      sources."invert-kv-1.0.0"
+                    ];
+                  })
+                ];
+              })
+              (sources."string-width-1.0.2" // {
+                dependencies = [
+                  (sources."code-point-at-1.0.0" // {
+                    dependencies = [
+                      sources."number-is-nan-1.0.0"
+                    ];
+                  })
+                  (sources."is-fullwidth-code-point-1.0.0" // {
+                    dependencies = [
+                      sources."number-is-nan-1.0.0"
+                    ];
+                  })
+                  (sources."strip-ansi-3.0.1" // {
+                    dependencies = [
+                      sources."ansi-regex-2.0.0"
+                    ];
+                  })
+                ];
+              })
+              sources."window-size-0.1.4"
+              sources."y18n-3.2.1"
+            ];
+          })
+        ];
+      })
+      (sources."sockjs-0.3.17" // {
+        dependencies = [
+          (sources."faye-websocket-0.10.0" // {
+            dependencies = [
+              (sources."websocket-driver-0.6.5" // {
+                dependencies = [
+                  sources."websocket-extensions-0.1.1"
+                ];
+              })
+            ];
+          })
+          sources."uuid-2.0.2"
+        ];
+      })
+      sources."step-0.0.6"
+      sources."ua-parser-js-0.7.10"
+      sources."underscore-1.8.3"
+      (sources."underscore-contrib-0.3.0" // {
+        dependencies = [
+          sources."underscore-1.6.0"
+        ];
+      })
+      sources."utml-0.2.0"
+      sources."validator-4.4.0"
+      (sources."webfinger-0.4.2" // {
+        dependencies = [
+          (sources."xml2js-0.1.14" // {
+            dependencies = [
+              sources."sax-1.2.1"
+            ];
+          })
+        ];
+      })
+      (sources."databank-mongodb-0.19.0" // {
+        dependencies = [
+          (sources."debug-2.2.0" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+          (sources."mongodb-2.2.10" // {
+            dependencies = [
+              sources."es6-promise-3.2.1"
+              (sources."mongodb-core-2.0.12" // {
+                dependencies = [
+                  sources."bson-0.5.5"
+                  (sources."require_optional-1.0.0" // {
+                    dependencies = [
+                      sources."semver-5.3.0"
+                      sources."resolve-from-2.0.0"
+                    ];
+                  })
+                ];
+              })
+              (sources."readable-stream-2.1.5" // {
+                dependencies = [
+                  sources."buffer-shims-1.0.0"
+                  sources."core-util-is-1.0.2"
+                  sources."inherits-2.0.3"
+                  sources."isarray-1.0.0"
+                  sources."process-nextick-args-1.0.7"
+                  sources."string_decoder-0.10.31"
+                  sources."util-deprecate-1.0.2"
+                ];
+              })
+            ];
+          })
+        ];
+      })
+      (sources."databank-redis-0.19.6" // {
+        dependencies = [
+          sources."async-0.9.2"
+          sources."redis-0.10.3"
+          sources."underscore-1.6.0"
+        ];
+      })
+      (sources."databank-memcached-0.15.0" // {
+        dependencies = [
+          (sources."memcached-0.2.8" // {
+            dependencies = [
+              (sources."hashring-0.0.8" // {
+                dependencies = [
+                  sources."bisection-0.0.3"
+                  sources."simple-lru-cache-0.0.2"
+                ];
+              })
+              (sources."jackpot-0.0.6" // {
+                dependencies = [
+                  sources."retry-0.6.0"
+                ];
+              })
+            ];
+          })
+          (sources."databank-0.18.2" // {
+            dependencies = [
+              (sources."vows-0.7.0" // {
+                dependencies = [
+                  sources."eyes-0.1.8"
+                  sources."diff-1.0.8"
+                ];
+              })
+              sources."set-immediate-0.1.1"
+            ];
+          })
+          sources."underscore-1.4.4"
+        ];
+      })
+      (sources."databank-lrucache-0.1.2" // {
+        dependencies = [
+          sources."underscore-1.5.2"
+          sources."lru-cache-2.3.1"
+          sources."set-immediate-0.1.1"
+        ];
+      })
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      homepage = http://pump.io/;
+      license = "Apache-2.0";
+    };
+    production = true;
+  };
+in
+{
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+}
\ No newline at end of file