summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix235
-rw-r--r--pkgs/top-level/haskell-packages.nix22
-rw-r--r--pkgs/top-level/node-packages-generated.nix5909
-rw-r--r--pkgs/top-level/node-packages.json13
-rw-r--r--pkgs/top-level/node-packages.nix50
-rw-r--r--pkgs/top-level/perl-packages.nix538
-rw-r--r--pkgs/top-level/platforms.nix5
-rw-r--r--pkgs/top-level/python-packages.nix637
-rw-r--r--pkgs/top-level/release-python.nix32
-rw-r--r--pkgs/top-level/release-small.nix1
-rw-r--r--pkgs/top-level/release.nix1
11 files changed, 5348 insertions, 2095 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ef93595dc24..12b8fa43ded 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -206,6 +206,8 @@ let
 
   nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { };
 
+  nixpkgs-lint = callPackage ../../maintainers/scripts/nixpkgs-lint.nix { };
+
 
   ### STANDARD ENVIRONMENT
 
@@ -503,6 +505,8 @@ let
 
   bfr = callPackage ../tools/misc/bfr { };
 
+  bmon = callPackage ../tools/misc/bmon { };
+
   boomerang = callPackage ../development/tools/boomerang { };
 
   bootchart = callPackage ../tools/system/bootchart { };
@@ -615,6 +619,8 @@ let
 
   convertlit = callPackage ../tools/text/convertlit { };
 
+  colormake = callPackage ../development/tools/build-managers/colormake { };
+
   cowsay = callPackage ../tools/misc/cowsay { };
 
   cuetools = callPackage ../tools/cd-dvd/cuetools { };
@@ -753,6 +759,8 @@ let
 
   e2fsprogs = callPackage ../tools/filesystems/e2fsprogs { };
 
+  easyrsa = callPackage ../tools/networking/easyrsa { };
+
   ebook_tools = callPackage ../tools/text/ebook-tools { };
 
   ecryptfs = callPackage ../tools/security/ecryptfs { };
@@ -786,6 +794,8 @@ let
 
   exiftags = callPackage ../tools/graphics/exiftags { };
 
+  extundelete = callPackage ../tools/filesystems/extundelete { };
+
   expect = callPackage ../tools/misc/expect { };
 
   fabric = pythonPackages.fabric;
@@ -1910,6 +1920,10 @@ let
 
   varnish = callPackage ../servers/varnish { };
 
+  venus = callPackage ../tools/misc/venus {
+    python = python27;
+  };
+
   vlan = callPackage ../tools/networking/vlan { };
 
   wakelan = callPackage ../tools/networking/wakelan { };
@@ -2070,6 +2084,8 @@ let
       javaCup = callPackage ../development/libraries/java/cup { };
     };
 
+  aldor = callPackage ../development/compilers/aldor { };
+
   aspectj = callPackage ../development/compilers/aspectj { };
 
   bigloo = callPackage ../development/compilers/bigloo { };
@@ -2285,12 +2301,6 @@ let
     cross = assert crossSystem != null; crossSystem;
   };
 
-  gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override {
-    stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc);
-    profiledCompiler = false;
-    enableMultilib = true;
-  }));
-
   gcc44 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.4) {
     inherit fetchurl stdenv gmp mpfr /* ppl cloogppl */
       gettext which noSysDirs;
@@ -2318,17 +2328,6 @@ let
       else null;
   }));
 
-  # A non-stripped version of GCC.
-  gcc45_debug = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.5 {
-    stripped = false;
-
-    inherit noSysDirs;
-
-    # bootstrapping a profiled compiler does not work in the sheevaplug:
-    # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
-    profiledCompiler = !stdenv.system == "armv5tel-linux";
-  }));
-
   gcc46_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.6 {
     inherit noSysDirs;
 
@@ -2358,12 +2357,14 @@ let
     binutilsCross = null;
   }));
 
-  gcc46_multi = if system == "x86_64-linux" then lowPrio (
+  gcc46_multi =
+    if system == "x86_64-linux" then lowPrio (
       wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc46.gcc.override {
-      stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc);
-      profiledCompiler = false;
-      enableMultilib = true;
-    })) else throw "Multilib gcc not supported on ‘${system}’";
+        stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc.gcc);
+        profiledCompiler = false;
+        enableMultilib = true;
+      }))
+    else throw "Multilib gcc not supported on ‘${system}’";
 
   gcc47_real = lowPrio (wrapGCC (callPackage ../development/compilers/gcc/4.7 {
     inherit noSysDirs;
@@ -3147,6 +3148,7 @@ let
 
   python3 = hiPrio (callPackage ../development/interpreters/python/3.3 { });
   python33 = callPackage ../development/interpreters/python/3.3 { };
+  python32 = callPackage ../development/interpreters/python/3.2 { };
 
   python = python27;
   python26 = callPackage ../development/interpreters/python/2.6 { };
@@ -3154,6 +3156,8 @@ let
     libX11 = xlibs.libX11;
   };
 
+  pypy = callPackage ../development/interpreters/pypy/2.0 { };
+
   pythonFull = python27Full;
   python26Full = callPackage ../development/interpreters/python/wrapper.nix {
     extraLibs = lib.attrValues python26.modules;
@@ -3276,6 +3280,8 @@ let
 
   guile_ncurses = callPackage ../development/guile-modules/guile-ncurses { };
 
+  srecord = callPackage ../development/tools/misc/srecord { };
+
   windowssdk = (
     import ../development/misc/windows-sdk {
       inherit fetchurl stdenv cabextract;
@@ -3324,6 +3330,8 @@ let
 
   avrdude = callPackage ../development/tools/misc/avrdude { };
 
+  avarice = callPackage ../development/tools/misc/avarice { };
+
   bam = callPackage ../development/tools/build-managers/bam {};
 
   binutils = callPackage ../development/tools/misc/binutils {
@@ -3639,10 +3647,14 @@ let
 
   sparse = callPackage ../development/tools/analysis/sparse { };
 
+  speedtest_cli = callPackage ../tools/networking/speedtest-cli { };
+
   spin = callPackage ../development/tools/analysis/spin { };
 
   splint = callPackage ../development/tools/analysis/splint { };
 
+  stm32flash = callPackage ../development/tools/misc/stm32flash { };
+
   strace = callPackage ../development/tools/misc/strace { };
 
   swig = callPackage ../development/tools/misc/swig { };
@@ -3747,7 +3759,11 @@ let
 
   aubio = callPackage ../development/libraries/aubio { };
 
-  audiofile = callPackage ../development/libraries/audiofile { };
+  audiofile = callPackage ../development/libraries/audiofile {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   axis = callPackage ../development/libraries/axis { };
 
@@ -3936,6 +3952,10 @@ let
 
   ffmpeg = callPackage ../development/libraries/ffmpeg {
     vpxSupport = !stdenv.isMips;
+
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
   };
 
   ffmpeg_0_6_90 = callPackage ../development/libraries/ffmpeg/0.6.90.nix {
@@ -4258,7 +4278,8 @@ let
   pixman = callPackage ../development/libraries/pixman { };
 
   cairo = callPackage ../development/libraries/cairo {
-    glSupport = config.cairo.gl or stdenv.isLinux;
+    glSupport = config.cairo.gl or (stdenv.isLinux &&
+      !stdenv.isArm && !stdenv.isMips);
   };
   cairo_1_12_2 = callPackage ../development/libraries/cairo/1.12.2.nix { };
   cairomm = callPackage ../development/libraries/cairomm { };
@@ -4458,6 +4479,7 @@ let
   libcaca = callPackage ../development/libraries/libcaca { };
 
   libcanberra = callPackage ../development/libraries/libcanberra { };
+  libcanberra_gtk3 = libcanberra.override { gtk = gtk3; };
   libcanberra_kde = if (config.kde_runtime.libcanberraWithoutGTK or true)
     then libcanberra.override { gtk = null; }
     else libcanberra;
@@ -4652,7 +4674,11 @@ let
   libre = callPackage ../development/libraries/libre {};
   librem = callPackage ../development/libraries/librem {};
 
-  libsamplerate = callPackage ../development/libraries/libsamplerate { };
+  libsamplerate = callPackage ../development/libraries/libsamplerate {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   libspectre = callPackage ../development/libraries/libspectre { };
 
@@ -4710,7 +4736,12 @@ let
 
   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
 
-  libmikmod = callPackage ../development/libraries/libmikmod { };
+  libmikmod = callPackage ../development/libraries/libmikmod {
+    # resolve the "stray '@' in program" errors
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   libmilter = callPackage ../development/libraries/libmilter { };
 
@@ -4806,7 +4837,11 @@ let
   # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
   libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { };
 
-  libsndfile = callPackage ../development/libraries/libsndfile { };
+  libsndfile = callPackage ../development/libraries/libsndfile {
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
 
   libsoup = callPackage ../development/libraries/libsoup { };
 
@@ -4816,6 +4851,10 @@ let
 
   libstartup_notification = callPackage ../development/libraries/startup-notification { };
 
+  libspatialindex = callPackage ../development/libraries/libspatialindex { };
+
+  libspatialite = callPackage ../development/libraries/libspatialite { };
+
   libtasn1 = callPackage ../development/libraries/libtasn1 { };
 
   libtheora = callPackage ../development/libraries/libtheora { };
@@ -4999,6 +5038,8 @@ let
 
   ming = callPackage ../development/libraries/ming { };
 
+  minmay = callPackage ../development/libraries/minmay { };
+
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
   mlt = callPackage ../development/libraries/mlt {
@@ -5241,6 +5282,11 @@ let
     # GNOME dependencies are not used unless gtkStyle == true
     inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
     cups = if stdenv.isLinux then cups else null;
+
+    # resolve unrecognised flag '-fconstant-cfstrings' errors
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
   };
 
   qt48Full = callPackage ../development/libraries/qt-4.x/4.8 {
@@ -5352,7 +5398,7 @@ let
 
   sofia_sip = callPackage ../development/libraries/sofia-sip { };
 
-  soprano = callPackage ../development/libraries/soprano { clucene_core = clucene_core_2; };
+  soprano = callPackage ../development/libraries/soprano { };
 
   soqt = callPackage ../development/libraries/soqt { };
 
@@ -5719,6 +5765,14 @@ let
     __overrides = (config.perl510PackageOverrides or (p: {})) pkgs;
   };
 
+  perl514Packages = import ./perl-packages.nix {
+    pkgs = pkgs // {
+      perl = perl514;
+      buildPerlPackage = import ../development/perl-modules/generic perl514;
+    };
+    __overrides = (config.perl514PackageOverrides or (p: {})) pkgs;
+  };
+
   perlXMLParser = perlPackages.XMLParser;
 
   ack = perlPackages.ack;
@@ -5728,6 +5782,7 @@ let
 
   ### DEVELOPMENT / PYTHON MODULES
 
+  # python function with default python interpreter
   buildPythonPackage = pythonPackages.buildPythonPackage;
 
   pythonPackages = python27Packages;
@@ -5742,12 +5797,32 @@ let
     python = python26;
   };
 
+  python3Packages = python33Packages;
+
+  python33Packages = recurseIntoAttrs (import ./python-packages.nix {
+    inherit pkgs;
+    inherit (lib) lowPrio;
+    python = python33;
+  });
+
+  python32Packages = import ./python-packages.nix {
+    inherit pkgs;
+    inherit (lib) lowPrio;
+    python = python32;
+  };
+
   python27Packages = recurseIntoAttrs (import ./python-packages.nix {
     inherit pkgs;
     inherit (lib) lowPrio;
     python = python27;
   });
 
+  pypyPackages = recurseIntoAttrs (import ./python-packages.nix {
+    inherit pkgs;
+    inherit (lib) lowPrio;
+    python = pypy;
+  });
+
   plone41Packages = recurseIntoAttrs (import ../development/web/plone/4.1.nix {
     inherit pkgs;
     pythonPackages = python26Packages;
@@ -5839,6 +5914,8 @@ let
     sslSupport = true;
   });
 
+  apcupsd = callPackage ../servers/apcupsd { };
+
   sabnzbd = callPackage ../servers/sabnzbd { };
 
   bind = callPackage ../servers/dns/bind { };
@@ -5863,7 +5940,13 @@ let
 
   dictdWordnet = callPackage ../servers/dict/dictd-wordnet.nix {};
 
-  dovecot = callPackage ../servers/mail/dovecot { };
+  dovecot = dovecot21;
+
+  dovecot21 = callPackage ../servers/mail/dovecot { };
+
+  dovecot22 = callPackage ../servers/mail/dovecot/2.2.x.nix { };
+
+  dovecot_pigeonhole = callPackage ../servers/mail/dovecot-pigeonhole { };
 
   ejabberd = callPackage ../servers/xmpp/ejabberd { };
 
@@ -5913,7 +5996,13 @@ let
 
   mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
 
-  mpd = callPackage ../servers/mpd { };
+  mpd = callPackage ../servers/mpd {
+    # resolve the "stray '@' in program" errors
+    stdenv = if stdenv.isDarwin
+      then overrideGCC stdenv gccApple
+      else stdenv;
+  };
+
   mpd_clientlib = callPackage ../servers/mpd/clientlib.nix { };
 
   miniHttpd = callPackage ../servers/http/mini-httpd {};
@@ -5922,6 +6011,8 @@ let
 
   nginx = callPackage ../servers/http/nginx { };
 
+  opensmtpd = callPackage ../servers/mail/opensmtpd { };
+
   petidomo = callPackage ../servers/mail/petidomo { };
 
   popa3d = callPackage ../servers/mail/popa3d { };
@@ -6058,6 +6149,8 @@ let
   });
   squid = squids.squid31; # has ipv6 support
 
+  thttpd = callPackage ../servers/http/thttpd { };
+
   tomcat5 = callPackage ../servers/http/tomcat/5.0.nix { };
 
   tomcat6 = callPackage ../servers/http/tomcat/6.0.nix { };
@@ -6338,6 +6431,10 @@ let
       ];
   };
 
+  linux_3_2_grsecurity = lib.overrideDerivation (linux_3_2.override (args: {
+    kernelPatches = args.kernelPatches ++ [ kernelPatches.grsecurity_2_9_1_3_2_48 ];
+  })) (args: { makeFlags = "DISABLE_PAX_PLUGINS=y";});
+
   linux_3_2_apparmor = linux_3_2.override {
     kernelPatches = [ kernelPatches.apparmor_3_2 ];
     extraConfig = ''
@@ -6363,17 +6460,12 @@ let
       ];
   };
 
-  linux_3_7 = makeOverridable (import ../os-specific/linux/kernel/linux-3.7.nix) {
-    inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser;
-    kernelPatches =
-      [
-        kernelPatches.sec_perm_2_6_24
-        # kernelPatches.aufs3_7
-      ] ++ lib.optionals (platform.kernelArch == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
+  linux_3_4_apparmor = linux_3_4.override {
+    kernelPatches = [ kernelPatches.apparmor_3_4 ];
+    extraConfig = ''
+      SECURITY_APPARMOR y
+      DEFAULT_SECURITY_APPARMOR y
+    '';
   };
 
   linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) {
@@ -6485,8 +6577,6 @@ let
 
     wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
 
-    kqemu = callPackage ../os-specific/linux/kqemu { };
-
     klibc = callPackage ../os-specific/linux/klibc {
       linuxHeaders = glibc.kernelHeaders;
     };
@@ -6539,8 +6629,8 @@ let
   linuxPackages_3_2_apparmor = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_apparmor linuxPackages_3_2_apparmor);
   linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen);
   linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
+  linuxPackages_3_4_apparmor = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4_apparmor linuxPackages_3_4_apparmor);
   linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
-  linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 linuxPackages_3_7);
   linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8 linuxPackages_3_8);
   linuxPackages_3_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_9 linuxPackages_3_9);
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10);
@@ -7181,7 +7271,7 @@ let
   chromium = lowPrio (callPackage ../applications/networking/browsers/chromium {
     channel = "stable";
     gconf = gnome.GConf;
-    pulseSupport = config.pulseaudio or false;
+    pulseSupport = config.pulseaudio or true;
   });
 
   chromiumBeta = lowPrio (chromium.override { channel = "beta"; });
@@ -7253,6 +7343,8 @@ let
     inherit (pkgs.gnome) libart_lgpl libgnomeui;
   };
 
+  diffuse = callPackage ../applications/version-management/diffuse { };
+
   distrho = callPackage ../applications/audio/distrho {};
 
   djvulibre = callPackage ../applications/misc/djvulibre { };
@@ -7534,7 +7626,7 @@ let
     libpng = libpng.override { apngSupport = true; };
   };
 
-  firefoxWrapper = lowPrio (wrapFirefox { browser = firefoxPkgs.firefox; });
+  firefoxWrapper = wrapFirefox { browser = firefoxPkgs.firefox; };
 
   flac = callPackage ../applications/audio/flac { };
 
@@ -7613,6 +7705,8 @@ let
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  mi2ly = callPackage ../applications/audio/mi2ly {};
+
   praat = callPackage ../applications/audio/praat { };
 
   quvi = callPackage ../applications/video/quvi/tool.nix { };
@@ -7721,6 +7815,8 @@ let
 
   hello = callPackage ../applications/misc/hello/ex-2 { };
 
+  herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
+
   hexedit = callPackage ../applications/editors/hexedit { };
 
   hipchat = callPackage_i686 ../applications/networking/instant-messengers/hipchat { };
@@ -8081,7 +8177,7 @@ let
     lockfile = rubyLibs.lockfile;
     mime_types = rubyLibs.mime_types;
     ncursesw_sup = ruby_ncursesw_sup;
-    rake = rubyLibs.rake_10_0_4;
+    rake = rubyLibs.rake_10_1_0;
     rmail = rubyLibs.rmail;
     text = rubyLibs.text;
     trollop = rubyLibs.trollop;
@@ -8166,9 +8262,7 @@ let
 
   panotools = callPackage ../applications/graphics/panotools { };
 
-  pavucontrol = callPackage ../applications/audio/pavucontrol {
-    inherit (gnome) libglademm;
-  };
+  pavucontrol = callPackage ../applications/audio/pavucontrol { };
 
   paraview = callPackage ../applications/graphics/paraview { };
 
@@ -8249,6 +8343,10 @@ let
 
   qtractor = callPackage ../applications/audio/qtractor { };
 
+  quodlibet = callPackage ../applications/audio/quodlibet {
+    inherit (pythonPackages) mutagen;
+  };
+
   rakarrack = callPackage ../applications/audio/rakarrack {
     inherit (xorg) libXpm libXft;
     fltk = fltk13;
@@ -8284,6 +8382,7 @@ let
   # = urxvt
   rxvt_unicode = callPackage ../applications/misc/rxvt_unicode {
     perlSupport = true;
+    gdkPixbufSupport = true;
   };
 
   sakura = callPackage ../applications/misc/sakura {
@@ -8336,6 +8435,14 @@ let
 
   lightdm_gtk_greeter = callPackage ../applications/display-managers/lightdm-gtk-greeter { };
 
+  # slic3r 0.9.10b says: "Running Slic3r under Perl >= 5.16 is not supported nor recommended"
+  slic3r = callPackage ../applications/misc/slic3r {
+    inherit (perl514Packages) EncodeLocale MathClipper ExtUtilsXSpp
+            BoostGeometryUtils MathConvexHullMonotoneChain MathGeometryVoronoi
+            MathPlanePath Moo IOStringy ClassXSAccessor Wx GrowlGNTP NetDBus;
+    perl = perl514;
+  };
+
   slim = callPackage ../applications/display-managers/slim {
     libpng = libpng12;
   };
@@ -8533,7 +8640,12 @@ let
     flup = pythonPackages.flup;
   };
 
-  vim = callPackage ../applications/editors/vim { };
+  vim = callPackage ../applications/editors/vim {
+    # for Objective-C compilation
+    stdenv = if stdenv.isDarwin
+      then clangStdenv
+      else stdenv;
+  };
 
   vimHugeX = vim_configurable;
 
@@ -8604,6 +8716,8 @@ let
 
   wmname = callPackage ../applications/misc/wmname { };
 
+  wmctrl = callPackage ../tools/X11/wmctrl { };
+
   # I'm keen on wmiimenu only  >wmii-3.5 no longer has it...
   wmiimenu = import ../applications/window-managers/wmii31 {
     libixp = libixp_for_wmii;
@@ -9082,22 +9196,14 @@ let
     inherit (pkgs) libsoup libwnck gtk_doc gnome_doc_utils;
   };
 
-  gnome3 = callPackage ../desktops/gnome-3 {
+  gnome3 = recurseIntoAttrs (callPackage ../desktops/gnome-3 {
     callPackage = pkgs.newScope pkgs.gnome3;
     self = pkgs.gnome3;
-  };
+  });
 
   gnome = recurseIntoAttrs gnome2;
 
-  kde4 = recurseIntoAttrs pkgs.kde48;
-
-  kde47 = kdePackagesFor (pkgs.kde47 // {
-      boost = boost149;
-      eigen = eigen2;
-      libotr = libotr_3_2;
-      libgphoto2 = libgphoto2_4;
-      libcanberra = libcanberra_kde;
-    }) ../desktops/kde-4.7;
+  kde4 = recurseIntoAttrs pkgs.kde410;
 
   kde48 = kdePackagesFor (pkgs.kde48 // {
       boost = boost149;
@@ -9589,13 +9695,10 @@ let
     stateDir = config.nix.stateDir or "/nix/var";
   };
 
-  nixUnstable = nixStable;
-  /*
   nixUnstable = callPackage ../tools/package-management/nix/unstable.nix {
     storeDir = config.nix.storeDir or "/nix/store";
     stateDir = config.nix.stateDir or "/nix/var";
   };
-  */
 
   nixops = callPackage ../tools/package-management/nixops { };
 
@@ -9843,4 +9946,6 @@ let
 
   dart = callPackage ../development/interpreters/dart { };
 
+  httrack = callPackage ../tools/backup/httrack { };
+
 }; in pkgs
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 541b62d15d5..1d3caeadf36 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -581,6 +581,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   binaryShared = callPackage ../development/libraries/haskell/binary-shared {};
 
+  bindingsDSL = callPackage ../development/libraries/haskell/bindings-DSL {};
+
+  bindingsPosix = callPackage ../development/libraries/haskell/bindings-posix {};
+
   bitarray = callPackage ../development/libraries/haskell/bitarray {};
 
   bitmap = callPackage ../development/libraries/haskell/bitmap {};
@@ -710,6 +714,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {};
 
+  concatenative = callPackage ../development/libraries/haskell/concatenative {};
+
   conduit = callPackage ../development/libraries/haskell/conduit {};
 
   ConfigFile = callPackage ../development/libraries/haskell/ConfigFile {};
@@ -887,6 +893,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   elerea = callPackage ../development/libraries/haskell/elerea {};
 
+  Elm = callPackage ../development/compilers/elm/elm.nix {};
+
+  elmServer = callPackage ../development/compilers/elm/elm-server.nix {};
+
   emailValidate = callPackage ../development/libraries/haskell/email-validate {};
 
   encoding = callPackage ../development/libraries/haskell/encoding {};
@@ -1069,6 +1079,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   happstackHamlet = callPackage ../development/libraries/haskell/happstack/happstack-hamlet.nix {};
 
+  happstackLite = callPackage ../development/libraries/haskell/happstack/happstack-lite.nix {};
+
   hashable_1_1_2_5 = callPackage ../development/libraries/haskell/hashable/1.1.2.5.nix {};
   hashable_1_2_0_10 = callPackage ../development/libraries/haskell/hashable/1.2.0.10.nix {};
   hashable = self.hashable_1_2_0_10;
@@ -1247,6 +1259,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   ieee754 = callPackage ../development/libraries/haskell/ieee754 {};
 
+  indents = callPackage ../development/libraries/haskell/indents {};
+
   instantGenerics = callPackage ../development/libraries/haskell/instant-generics {};
 
   ioChoice = callPackage ../development/libraries/haskell/io-choice {};
@@ -1383,8 +1397,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   monadLogger = callPackage ../development/libraries/haskell/monad-logger {};
 
   monadPar_0_1_0_3 = callPackage ../development/libraries/haskell/monad-par/0.1.0.3.nix {};
-  monadPar_0_3_4_2 = callPackage ../development/libraries/haskell/monad-par/0.3.4.2.nix {};
-  monadPar = self.monadPar_0_3_4_2;
+  monadPar_0_3_4_3 = callPackage ../development/libraries/haskell/monad-par/0.3.4.3.nix {};
+  monadPar = self.monadPar_0_3_4_3;
 
   monadParExtras = callPackage ../development/libraries/haskell/monad-par-extras {};
 
@@ -1631,6 +1645,10 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   quickcheckIo = callPackage ../development/libraries/haskell/quickcheck-io {};
 
+  qrencode = callPackage ../development/libraries/haskell/qrencode {
+    inherit (pkgs) qrencode;
+  };
+
   RangedSets = callPackage ../development/libraries/haskell/Ranged-sets {};
 
   random_1_0_1_1 = callPackage ../development/libraries/haskell/random/1.0.1.1.nix {};
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
index ec40cc2cb5c..f8238b52a65 100644
--- a/pkgs/top-level/node-packages-generated.nix
+++ b/pkgs/top-level/node-packages-generated.nix
@@ -1,3776 +1,6233 @@
 [
   {
-    baseName = "abbrev";
+    name = "abbrev";
+    spec = "1";
     version = "1.0.4";
-    fullName = "abbrev-1";
-    hash = "8dc0f480571a4a19e74f1abd4f31f6a70f94953d1ccafa16ed1a544a19a6f3a8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+    tarball = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
+  }
+  {
+    name = "abbrev";
+    spec = "~1.0.4";
+    version = "1.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "bd55ae5e413ba1722ee4caba1f6ea10414a59ecd";
+    tarball = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz";
   }
   {
-    baseName = "amdefine";
-    version = "0.0.5";
-    fullName = "amdefine-*";
-    hash = "7d7a691c9742d4c9aaa8036b823823e45a676dec6897f2e072b90c7d37722fc1";
+    name = "active-x-obfuscator";
+    spec = "0.0.1";
+    version = "0.0.1";
+    topLevel = false;
+    dependencies = [
+      { name = "zeparser"; spec = "0.0.5"; }
+    ];
     patchLatest = false;
+    sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
+    tarball = "http://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
+  }
+  {
+    name = "addressparser";
+    spec = "~0.1";
+    version = "0.1.3";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
+    tarball = "http://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
+  }
+  {
+    name = "amdefine";
+    spec = "*";
+    version = "0.0.5";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "86b6e9470f8cde955ef7daa3cf5d544ba81aa3db";
+    tarball = "http://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz";
   }
   {
-    baseName = "amdefine";
+    name = "amdefine";
+    spec = ">=0.0.4";
     version = "0.0.5";
-    fullName = "amdefine->=0.0.4";
-    hash = "7d7a691c9742d4c9aaa8036b823823e45a676dec6897f2e072b90c7d37722fc1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "86b6e9470f8cde955ef7daa3cf5d544ba81aa3db";
+    tarball = "http://registry.npmjs.org/amdefine/-/amdefine-0.0.5.tgz";
+  }
+  {
+    name = "ansi";
+    spec = "~0.1.2";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2627e29498f06e2a1c2ece9c21e28fd494430827";
+    tarball = "http://registry.npmjs.org/ansi/-/ansi-0.1.2.tgz";
   }
   {
-    baseName = "ansi-remover";
+    name = "ansi-remover";
+    spec = "*";
     version = "0.0.2";
-    fullName = "ansi-remover-*";
-    hash = "cda72261ea8d6b830892764d69eff8d926be852fc91ad3b8b5b258d606400bc7";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7020086289f10e195d85d828de065ccdd50e6e66";
+    tarball = "http://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
   }
   {
-    baseName = "ansi";
-    version = "0.1.2";
-    fullName = "ansi-~0.1.2";
-    hash = "6f2288b1db642eb822578f4ee70bf26bf97173cc7d3f10f496070fb96250006b";
+    name = "apparatus";
+    spec = ">= 0.0.4";
+    version = "0.0.7";
+    topLevel = false;
+    dependencies = [
+      { name = "sylvester"; spec = ">= 0.0.8"; }
+    ];
     patchLatest = false;
+    sha1 = "033f355507b6851ebeb1bd9475ede23c802327fe";
+    tarball = "http://registry.npmjs.org/apparatus/-/apparatus-0.0.7.tgz";
+  }
+  {
+    name = "archy";
+    spec = "0";
+    version = "0.0.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "910f43bf66141fc335564597abc189df44b3d35e";
+    tarball = "http://registry.npmjs.org/archy/-/archy-0.0.2.tgz";
   }
   {
-    baseName = "apparatus";
-    version = "0.0.7";
-    fullName = "apparatus->= 0.0.4";
-    hash = "77ce711505bf1c65222b5dd01e055284b25cf52ee3229fcae7fcfa3e5664826c";
+    name = "argparse";
+    spec = "0.1.15";
+    version = "0.1.15";
+    topLevel = false;
+    dependencies = [
+      { name = "underscore"; spec = "~1.4.3"; }
+      { name = "underscore.string"; spec = "~2.3.1"; }
+    ];
     patchLatest = false;
+    sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+    tarball = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
+  }
+  {
+    name = "argparse";
+    spec = "~ 0.1.11";
+    version = "0.1.15";
     topLevel = false;
     dependencies = [
-      { name = "sylvester"; range = ">= 0.0.8"; }
+      { name = "underscore"; spec = "~1.4.3"; }
+      { name = "underscore.string"; spec = "~2.3.1"; }
     ];
+    patchLatest = false;
+    sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
+    tarball = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
   }
   {
-    baseName = "asn1";
+    name = "asn1";
+    spec = "0.1.11";
     version = "0.1.11";
-    fullName = "asn1-0.1.11";
-    hash = "7206eadc8a9344e484bcce979e22a12c9fa64c1395aa0544b8b767808b268f43";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+    tarball = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
   }
   {
-    baseName = "assert";
+    name = "assert";
+    spec = "*";
     version = "0.4.9";
-    fullName = "assert-*";
-    hash = "976a12385f7286d123734fabc7355bbeecd2532daccfada02909818b905abeeb";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "util"; range = ">= 0.4.9"; }
+      { name = "util"; spec = ">= 0.4.9"; }
     ];
+    patchLatest = false;
+    sha1 = "45faff1a58f718508118873dead940c8b51db939";
+    tarball = "http://registry.npmjs.org/assert/-/assert-0.4.9.tgz";
   }
   {
-    baseName = "assert-plus";
+    name = "assert-plus";
+    spec = "0.1.2";
     version = "0.1.2";
-    fullName = "assert-plus-0.1.2";
-    hash = "bd62e853460024d1e35d3f76065f4c856a271e55ef1ce684f3033314b7377c61";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
+    tarball = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "*";
     version = "0.2.9";
-    fullName = "async-*";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "0.1.22";
     version = "0.1.22";
-    fullName = "async-0.1.x";
-    hash = "6fd2750cd519a754b0e32ef3423e64768055129e00a95d9297005bda29fdef18";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+    tarball = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
+  }
+  {
+    name = "async";
+    spec = "0.1.x";
+    version = "0.1.22";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
+    tarball = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "0.2.x";
     version = "0.2.9";
-    fullName = "async-0.2.x";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "~0.2.6";
     version = "0.2.9";
-    fullName = "async-~0.2.6";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "async";
+    name = "async";
+    spec = "~0.2.7";
     version = "0.2.9";
-    fullName = "async-~0.2.7";
-    hash = "7215c94b63ccaa543b4b75c5dd9b820fd4839e1f9616b08a0334a8ac74939c53";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
+  }
+  {
+    name = "async";
+    spec = "~0.2.9";
+    version = "0.2.9";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
+    tarball = "http://registry.npmjs.org/async/-/async-0.2.9.tgz";
   }
   {
-    baseName = "aws-sdk";
-    version = "1.3.1";
-    fullName = "aws-sdk-*";
-    hash = "1c8c49435a4ddf5ceb29b0c9d130893a95de30207785c3dc9d902c9174362967";
-    patchLatest = true;
+    name = "aws-sdk";
+    spec = "*";
+    version = "1.4.1";
     topLevel = true;
     dependencies = [
-      { name = "xml2js"; range = "0.2.4"; }
-      { name = "xmlbuilder"; range = "*"; }
+      { name = "xml2js"; spec = "0.2.4"; }
+      { name = "xmlbuilder"; spec = "*"; }
     ];
+    patchLatest = true;
+    sha1 = "e429d77c09f94aa2e295b7e83678d818ae5621e9";
+    tarball = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.4.1.tgz";
   }
   {
-    baseName = "aws-sdk";
-    version = "1.3.1";
-    fullName = "aws-sdk->=1.2.0 <2";
-    hash = "1c8c49435a4ddf5ceb29b0c9d130893a95de30207785c3dc9d902c9174362967";
-    patchLatest = true;
+    name = "aws-sdk";
+    spec = ">=1.2.0 <2";
+    version = "1.4.1";
     topLevel = false;
     dependencies = [
-      { name = "xml2js"; range = "0.2.4"; }
-      { name = "xmlbuilder"; range = "*"; }
+      { name = "xml2js"; spec = "0.2.4"; }
+      { name = "xmlbuilder"; spec = "*"; }
     ];
+    patchLatest = true;
+    sha1 = "e429d77c09f94aa2e295b7e83678d818ae5621e9";
+    tarball = "http://registry.npmjs.org/aws-sdk/-/aws-sdk-1.4.1.tgz";
   }
   {
-    baseName = "aws-sign";
+    name = "aws-sign";
+    spec = "~0.2.0";
     version = "0.2.0";
-    fullName = "aws-sign-~0.2.0";
-    hash = "145962c6b9b4fe70f587fa745157522c2c6dac4c22bb6fdf3f6cb297f723647e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
+    tarball = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
   }
   {
-    baseName = "aws-sign";
+    name = "aws-sign";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "aws-sign-~0.3.0";
-    hash = "5acca27ed2b1b9f081e4dd230e03808b6a038f8a4afa698db985320efe6dda5e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
+    tarball = "http://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
   }
   {
-    baseName = "backbone";
+    name = "backbone";
+    spec = "*";
     version = "1.0.0";
-    fullName = "backbone-*";
-    hash = "6c66edc5134bb531b33a7f140c75c4a65cdc21711eed64c29300a84cba84f3a7";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "underscore"; range = ">=1.4.3"; }
+      { name = "underscore"; spec = ">=1.4.3"; }
     ];
+    patchLatest = false;
+    sha1 = "5e146e1efa8a5361462e578377c39ed0f16b0b4c";
+    tarball = "http://registry.npmjs.org/backbone/-/backbone-1.0.0.tgz";
   }
   {
-    baseName = "backoff";
+    name = "backoff";
+    spec = "2.1.0";
     version = "2.1.0";
-    fullName = "backoff-2.1.0";
-    hash = "d1f5bf32f2f5954f6259582ead30fc8a769db35bac9900c94593b77f915cee0d";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "19b4e9f9fb75c122ad7bb1c6c376d6085d43ea09";
+    tarball = "http://registry.npmjs.org/backoff/-/backoff-2.1.0.tgz";
+  }
+  {
+    name = "base64id";
+    spec = "0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
+    tarball = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
   }
   {
-    baseName = "bcrypt";
+    name = "bcrypt";
+    spec = "*";
     version = "0.7.6";
-    fullName = "bcrypt-*";
-    hash = "e7964429b2bc8aea9b9fb66b914cb3a7952a77029ae13a5a4c4cdbf837d40b2a";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "bindings"; range = "1.0.0"; }
+      { name = "bindings"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "97eae4472baf2352699f5fd1662e77e63d0cd0aa";
+    tarball = "http://registry.npmjs.org/bcrypt/-/bcrypt-0.7.6.tgz";
   }
   {
-    baseName = "bindings";
-    version = "1.1.0";
-    fullName = "bindings-*";
-    hash = "9ce864c7ce347eb3f8728fc03bc5a01f5e6195b145e6b9674eb2b98c5c715865";
-    patchLatest = false;
+    name = "bindings";
+    spec = "*";
+    version = "1.1.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "951f7ae010302ffc50b265b124032017ed2bf6f3";
+    tarball = "http://registry.npmjs.org/bindings/-/bindings-1.1.1.tgz";
   }
   {
-    baseName = "bindings";
+    name = "bindings";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "bindings-1.0.0";
-    hash = "cb211ac856d135af5ee864762fae9e554225a613ea1fd815c20b8fdd1679c9ed";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c3ccde60e9de6807c6f1aa4ef4843af29191c828";
+    tarball = "http://registry.npmjs.org/bindings/-/bindings-1.0.0.tgz";
   }
   {
-    baseName = "block-stream";
-    version = "0.0.6";
-    fullName = "block-stream-*";
-    hash = "2fc365b42b8601c8ee150d453f6cc762a01054b7fb28bdfcfcbce7c97e93601b";
+    name = "block-stream";
+    spec = "*";
+    version = "0.0.7";
+    topLevel = false;
+    dependencies = [
+      { name = "inherits"; spec = "~2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+    tarball = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
+  }
+  {
+    name = "block-stream";
+    spec = "0.0.7";
+    version = "0.0.7";
     topLevel = false;
     dependencies = [
-      { name = "inherits"; range = "~1.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "9088ab5ae1e861f4d81b176b4a8046080703deed";
+    tarball = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz";
   }
   {
-    baseName = "boom";
+    name = "boom";
+    spec = "0.3.x";
     version = "0.3.8";
-    fullName = "boom-0.3.x";
-    hash = "0ea9787bd5c5df98a06a2c7b629d4768c712611032d9af162332e825f9131d8a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.7.x"; }
+      { name = "hoek"; spec = "0.7.x"; }
     ];
+    patchLatest = false;
+    sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
+    tarball = "http://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
   }
   {
-    baseName = "boom";
+    name = "boom";
+    spec = "0.4.x";
     version = "0.4.2";
-    fullName = "boom-0.4.x";
-    hash = "294e022990269e7fa1e3015862d2d24847cc83c3e68d214dad5a2d0d3826a08f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.9.x"; }
+      { name = "hoek"; spec = "0.9.x"; }
     ];
+    patchLatest = false;
+    sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+    tarball = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
   }
   {
-    baseName = "broadway";
+    name = "broadway";
+    spec = "0.2.7";
     version = "0.2.7";
-    fullName = "broadway-0.2.7";
-    hash = "b1ceb289fb1a6de82cddab0851fc905bb60e75167d0e37f32147f8985fa8d368";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "cliff"; range = "0.1.8"; }
-      { name = "eventemitter2"; range = "0.4.11"; }
-      { name = "nconf"; range = "0.6.7"; }
-      { name = "winston"; range = "0.6.2"; }
-      { name = "utile"; range = "0.1.7"; }
+      { name = "cliff"; spec = "0.1.8"; }
+      { name = "eventemitter2"; spec = "0.4.11"; }
+      { name = "nconf"; spec = "0.6.7"; }
+      { name = "winston"; spec = "0.6.2"; }
+      { name = "utile"; spec = "0.1.7"; }
     ];
+    patchLatest = false;
+    sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+    tarball = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
   }
   {
-    baseName = "broadway";
+    name = "broadway";
+    spec = "0.2.x";
     version = "0.2.7";
-    fullName = "broadway-0.2.x";
-    hash = "b1ceb289fb1a6de82cddab0851fc905bb60e75167d0e37f32147f8985fa8d368";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "cliff"; range = "0.1.8"; }
-      { name = "eventemitter2"; range = "0.4.11"; }
-      { name = "nconf"; range = "0.6.7"; }
-      { name = "winston"; range = "0.6.2"; }
-      { name = "utile"; range = "0.1.7"; }
+      { name = "cliff"; spec = "0.1.8"; }
+      { name = "eventemitter2"; spec = "0.4.11"; }
+      { name = "nconf"; spec = "0.6.7"; }
+      { name = "winston"; spec = "0.6.2"; }
+      { name = "utile"; spec = "0.1.7"; }
     ];
+    patchLatest = false;
+    sha1 = "3ba2f4b3de163e95e38a4950b61fd5f882a90762";
+    tarball = "http://registry.npmjs.org/broadway/-/broadway-0.2.7.tgz";
   }
   {
-    baseName = "browserchannel";
+    name = "browserchannel";
+    spec = "*";
     version = "1.0.4";
-    fullName = "browserchannel-*";
-    hash = "516add6af10f887500c5eaae7347ce92c0101a6bea1a67d5221a674d07bc7999";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "hat"; range = "*"; }
-      { name = "connect"; range = "~2"; }
-      { name = "request"; range = "~2"; }
+      { name = "hat"; spec = "*"; }
+      { name = "connect"; spec = "~2"; }
+      { name = "request"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "077c1d59d7872d84932172d373c5f8f45698e975";
+    tarball = "http://registry.npmjs.org/browserchannel/-/browserchannel-1.0.4.tgz";
   }
   {
-    baseName = "bson";
+    name = "bson";
+    spec = "0.1.8";
     version = "0.1.8";
-    fullName = "bson-0.1.8";
-    hash = "a9cbdee757f213b93aca860fc06143b1f9e9a983130616732beab452681bae17";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
+    tarball = "http://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
   }
   {
-    baseName = "bson";
+    name = "bson";
+    spec = "0.1.9";
     version = "0.1.9";
-    fullName = "bson-0.1.9";
-    hash = "8bb768566c4e8063883d07d2c7965ce8e5380892fd5e34448729c7f44c5f42c8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7528f81ed770e6d630ca8c2ccdf5394a4096db14";
+    tarball = "http://registry.npmjs.org/bson/-/bson-0.1.9.tgz";
   }
   {
-    baseName = "buffer-crc32";
+    name = "buffer-crc32";
+    spec = "0.1.1";
     version = "0.1.1";
-    fullName = "buffer-crc32-0.1.1";
-    hash = "9e35b724e4e1fd7112e97a6856e7d52b2644761c184f1ed391f6a576fbbb80e1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+    tarball = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
   }
   {
-    baseName = "buffer-crc32";
+    name = "buffer-crc32";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "buffer-crc32-0.2.1";
-    hash = "b6ea96d57411e37c15e18fb8ca600656399912ce16355f9af3c662f765507f01";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+    tarball = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
   }
   {
-    baseName = "buffer-crc32";
+    name = "buffer-crc32";
+    spec = "~0.2.1";
     version = "0.2.1";
-    fullName = "buffer-crc32-~0.2.1";
-    hash = "b6ea96d57411e37c15e18fb8ca600656399912ce16355f9af3c662f765507f01";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
+    tarball = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
+  }
+  {
+    name = "buffer-equal";
+    spec = "~0.0.0";
+    version = "0.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4a68196ac33522daa17ec99858b302a636b62cf1";
+    tarball = "http://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.0.tgz";
   }
   {
-    baseName = "buffertools";
+    name = "buffertools";
+    spec = "*";
     version = "1.1.1";
-    fullName = "buffertools-*";
-    hash = "f5962aec81246077a46ee075072d40fa533c31ada7a0ec18e1ff3600af2d8f3f";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+    tarball = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
   }
   {
-    baseName = "buffertools";
+    name = "buffertools";
+    spec = ">=1.1.1 <2.0.0";
     version = "1.1.1";
-    fullName = "buffertools->=1.1.1 <2.0.0";
-    hash = "f5962aec81246077a46ee075072d40fa533c31ada7a0ec18e1ff3600af2d8f3f";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1071a5f40fe76c39d7a4fe2ea030324d09d6ec9d";
+    tarball = "http://registry.npmjs.org/buffertools/-/buffertools-1.1.1.tgz";
+  }
+  {
+    name = "bunker";
+    spec = "0.1.X";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
+      { name = "burrito"; spec = ">=0.2.5 <0.3"; }
     ];
+    patchLatest = false;
+    sha1 = "c88992464a8e2a6ede86930375f92b58077ef97c";
+    tarball = "http://registry.npmjs.org/bunker/-/bunker-0.1.2.tgz";
   }
   {
-    baseName = "bunyan";
+    name = "bunyan";
+    spec = "0.21.1";
     version = "0.21.1";
-    fullName = "bunyan-0.21.1";
-    hash = "95dca2405dcbe5b700e15d7c89b2a64fb21a097fb7ada5c274979f2057adcbef";
+    topLevel = false;
+    dependencies = [
+      { name = "mv"; spec = "0.0.5"; }
+      { name = "dtrace-provider"; spec = "0.2.8"; }
+    ];
     patchLatest = false;
+    sha1 = "ea00a0d5223572e31e1e71efba2237cb1915942a";
+    tarball = "http://registry.npmjs.org/bunyan/-/bunyan-0.21.1.tgz";
+  }
+  {
+    name = "burrito";
+    spec = ">=0.2.5 <0.3";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "mv"; range = "0.0.5"; }
-      { name = "dtrace-provider"; range = "0.2.8"; }
+      { name = "traverse"; spec = "~0.5.1"; }
+      { name = "uglify-js"; spec = "~1.1.1"; }
     ];
+    patchLatest = false;
+    sha1 = "d0d6e6ac81d5e99789c6fa4accb0b0031ea54f6b";
+    tarball = "http://registry.npmjs.org/burrito/-/burrito-0.2.12.tgz";
   }
   {
-    baseName = "bytes";
+    name = "bytes";
+    spec = "0.2.0";
     version = "0.2.0";
-    fullName = "bytes-0.2.0";
-    hash = "e70bd4dccc886a5cf1c925092b4acd7a262a9da3e1b51ccde10a3fcd0a328465";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
+    tarball = "http://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
   }
   {
-    baseName = "character-parser";
+    name = "character-parser";
+    spec = "1.0.2";
     version = "1.0.2";
-    fullName = "character-parser-1.0.2";
-    hash = "751edecb1143ea951e9cef5c7e1ac71526c712cfab538d09cbb2e90e56d76865";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "55384d6afcf8c6b9dd483e8347646a790e4545e7";
+    tarball = "http://registry.npmjs.org/character-parser/-/character-parser-1.0.2.tgz";
+  }
+  {
+    name = "charm";
+    spec = "0.1.x";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+    tarball = "http://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
   }
   {
-    baseName = "cli";
-    version = "0.4.4-2";
-    fullName = "cli-0.4.x";
-    hash = "27a0db02501285da601c47495d0cd837ddeb4577bfd507c5503d2ee8cd0caffb";
+    name = "child-process-close";
+    spec = "~0.1.1";
+    version = "0.1.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c153ede7a5eb65ac69e78a38973b1a286377f75f";
+    tarball = "http://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz";
+  }
+  {
+    name = "chmodr";
+    spec = "~0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
-      { name = "glob"; range = ">= 3.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "e09215a1d51542db2a2576969765bcf6125583eb";
+    tarball = "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz";
   }
   {
-    baseName = "cliff";
-    version = "0.1.8";
-    fullName = "cliff-0.1.8";
-    hash = "702f7ce79168e38b982eb3141485bd99e3a6480dac42f579365dc522c3950588";
+    name = "chownr";
+    spec = "0";
+    version = "0.0.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "51d18189d9092d5f8afd623f3288bfd1c6bf1a62";
+    tarball = "http://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz";
+  }
+  {
+    name = "cli";
+    spec = "0.4.x";
+    version = "0.4.4";
     topLevel = false;
     dependencies = [
-      { name = "colors"; range = "0.x.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "winston"; range = "0.6.x"; }
+      { name = "glob"; spec = ">= 3.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "13ceb30872e7c9addc383e5519fb2949ab61ba43";
+    tarball = "http://registry.npmjs.org/cli/-/cli-0.4.4.tgz";
   }
   {
-    baseName = "clone";
-    version = "0.1.5";
-    fullName = "clone-0.1.5";
-    hash = "9fd586470ccc3fa585dcccad730b5e6fa9c471b49acdb38d724c110777a287d9";
+    name = "cliff";
+    spec = "0.1.8";
+    version = "0.1.8";
+    topLevel = false;
+    dependencies = [
+      { name = "colors"; spec = "0.x.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "winston"; spec = "0.6.x"; }
+    ];
     patchLatest = false;
+    sha1 = "43ca8ad9fe3943489693ab62dce0cae22509d272";
+    tarball = "http://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
+  }
+  {
+    name = "clone";
+    spec = "0.1.5";
+    version = "0.1.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "46f29143d0766d663dbd7f80b7520a15783d2042";
+    tarball = "http://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
   }
   {
-    baseName = "clone";
+    name = "clone";
+    spec = "0.1.6";
     version = "0.1.6";
-    fullName = "clone-0.1.6";
-    hash = "9849c9faa2549d982106d3b43862dc4ceb308563badcd3ff59e30655d54e897a";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4af2296d4a23a64168c2f5fb0a2aa65e80517000";
+    tarball = "http://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
+  }
+  {
+    name = "cmd-shim";
+    spec = "~1.0.1";
+    version = "1.0.1";
     topLevel = false;
     dependencies = [
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "graceful-fs"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "75e917c2185240854718c686346770640083d7bc";
+    tarball = "http://registry.npmjs.org/cmd-shim/-/cmd-shim-1.0.1.tgz";
   }
   {
-    baseName = "coffee-script";
+    name = "coffee-script";
+    spec = "*";
     version = "1.6.3";
-    fullName = "coffee-script-*";
-    hash = "642d226d4fab1a8464e54347cec919b1c8771da55d88e3ceb15d826fcee84525";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    tarball = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
   }
   {
-    baseName = "colors";
-    version = "0.6.0-1";
-    fullName = "colors-0.6.0-1";
-    hash = "ca97f462664d77f5ae813029d020d4610ec9fd3f9eef3875e551d3665be7ab7d";
+    name = "coffee-script";
+    spec = ">= 0.0.1";
+    version = "1.6.3";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    tarball = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
+  }
+  {
+    name = "coffee-script";
+    spec = ">=1.2.0";
+    version = "1.6.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
+    tarball = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
   }
   {
-    baseName = "colors";
+    name = "colors";
+    spec = "0.6.0-1";
     version = "0.6.0-1";
-    fullName = "colors-0.6.x";
-    hash = "ca97f462664d77f5ae813029d020d4610ec9fd3f9eef3875e551d3665be7ab7d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6dbb68ceb8bc60f2b313dcc5ce1599f06d19e67a";
+    tarball = "http://registry.npmjs.org/colors/-/colors-0.6.0-1.tgz";
   }
   {
-    baseName = "colors";
-    version = "0.6.0-1";
-    fullName = "colors-0.x.x";
-    hash = "ca97f462664d77f5ae813029d020d4610ec9fd3f9eef3875e551d3665be7ab7d";
+    name = "colors";
+    spec = "0.6.x";
+    version = "0.6.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "07ec10d8ac4f5a2e78f8d820e3e7832b3b463cad";
+    tarball = "http://registry.npmjs.org/colors/-/colors-0.6.0.tgz";
+  }
+  {
+    name = "colors";
+    spec = "0.x.x";
+    version = "0.6.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "07ec10d8ac4f5a2e78f8d820e3e7832b3b463cad";
+    tarball = "http://registry.npmjs.org/colors/-/colors-0.6.0.tgz";
   }
   {
-    baseName = "combined-stream";
+    name = "combined-stream";
+    spec = "~0.0.4";
     version = "0.0.4";
-    fullName = "combined-stream-~0.0.4";
-    hash = "2502ed7a4406db1a65b09cae3106221051d6af20d3f1d7e8cc38cfc72a36432c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "delayed-stream"; range = "0.0.5"; }
+      { name = "delayed-stream"; spec = "0.0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "2d1a43347dbe9515a4a2796732e5b88473840b22";
+    tarball = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz";
   }
   {
-    baseName = "commander";
+    name = "commander";
+    spec = "0.5.1";
     version = "0.5.1";
-    fullName = "commander-0.5.1";
-    hash = "91042851d0731b28a5e7c342e5cbce7723a7243d31ae378fa86c45ca9493a924";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "08477afb326d1adf9d4ee73af7170c70caa14f95";
+    tarball = "http://registry.npmjs.org/commander/-/commander-0.5.1.tgz";
   }
   {
-    baseName = "commander";
+    name = "commander";
+    spec = "0.6.1";
     version = "0.6.1";
-    fullName = "commander-0.6.1";
-    hash = "7b7fdd1bc4d16f6776169a64f133d629efe2e3a7cd338b1d0884ee909abbd729";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    tarball = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
   }
   {
-    baseName = "commander";
+    name = "commander";
+    spec = "1.2.0";
     version = "1.2.0";
-    fullName = "commander-1.2.0";
-    hash = "caeda1cecf7c1b5bf505cdf8d34b984db6ebb307af3798f4af2efdb554d31a4b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "keypress"; range = "0.1.x"; }
+      { name = "keypress"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "fd5713bfa153c7d6cc599378a5ab4c45c535029e";
+    tarball = "http://registry.npmjs.org/commander/-/commander-1.2.0.tgz";
   }
   {
-    baseName = "connect";
-    version = "2.7.5";
-    fullName = "connect-2.7.5";
-    hash = "0c36efa44c6fee030b617a57e52c23f92e7e3949ed01405ee0cb9804403d137f";
+    name = "commander";
+    spec = "~0.6.1";
+    version = "0.6.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
+    tarball = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
+  }
+  {
+    name = "config";
+    spec = "0.4.15";
+    version = "0.4.15";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.5.1"; }
-      { name = "formidable"; range = "1.0.11"; }
-      { name = "cookie-signature"; range = "1.0.0"; }
-      { name = "buffer-crc32"; range = "0.1.1"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "send"; range = "0.1.0"; }
-      { name = "bytes"; range = "0.2.0"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "pause"; range = "0.0.1"; }
-      { name = "debug"; range = "*"; }
+      { name = "js-yaml"; spec = "0.3.x"; }
+      { name = "coffee-script"; spec = ">=1.2.0"; }
+      { name = "vows"; spec = ">=0.5.13"; }
     ];
+    patchLatest = false;
+    sha1 = "d43ddf58b8df5637fdd1314fc816ccae7bfbcd18";
+    tarball = "http://registry.npmjs.org/config/-/config-0.4.15.tgz";
   }
   {
-    baseName = "connect";
-    version = "2.8.1";
-    fullName = "connect-2.8.1";
-    hash = "f838a4e8bccdf065cda7affe0118f018bdf1baa87375cd1df92e2cff29da2948";
+    name = "config-chain";
+    spec = "~1.1.1";
+    version = "1.1.7";
+    topLevel = false;
+    dependencies = [
+      { name = "proto-list"; spec = "~1.2.1"; }
+      { name = "ini"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "99fcaaaf343a557782a142d201747bb8142bbf9a";
+    tarball = "http://registry.npmjs.org/config-chain/-/config-chain-1.1.7.tgz";
+  }
+  {
+    name = "connect";
+    spec = "2.7.5";
+    version = "2.7.5";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.6.5"; }
-      { name = "formidable"; range = "1.0.14"; }
-      { name = "cookie-signature"; range = "1.0.1"; }
-      { name = "buffer-crc32"; range = "0.2.1"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "send"; range = "0.1.1"; }
-      { name = "bytes"; range = "0.2.0"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "pause"; range = "0.0.1"; }
-      { name = "uid2"; range = "0.0.2"; }
-      { name = "debug"; range = "*"; }
+      { name = "qs"; spec = "0.5.1"; }
+      { name = "formidable"; spec = "1.0.11"; }
+      { name = "cookie-signature"; spec = "1.0.0"; }
+      { name = "buffer-crc32"; spec = "0.1.1"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "139111b4b03f0533a524927a88a646ae467b2c02";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.7.5.tgz";
   }
   {
-    baseName = "connect-flash";
-    version = "0.1.1";
-    fullName = "connect-flash-*";
-    hash = "3a0a9ac9d73695abcf67a88cb1bc433cc67c55aeca3b515eb922453c7ba0c393";
+    name = "connect";
+    spec = "2.7.6";
+    version = "2.7.6";
+    topLevel = false;
+    dependencies = [
+      { name = "qs"; spec = "0.5.1"; }
+      { name = "formidable"; spec = "1.0.11"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "buffer-crc32"; spec = "0.1.1"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "debug"; spec = "*"; }
+    ];
     patchLatest = false;
-    topLevel = true;
+    sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
+  }
+  {
+    name = "connect";
+    spec = "2.8.4";
+    version = "2.8.4";
+    topLevel = false;
     dependencies = [
+      { name = "qs"; spec = "0.6.5"; }
+      { name = "formidable"; spec = "1.0.14"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "buffer-crc32"; spec = "0.2.1"; }
+      { name = "cookie"; spec = "0.1.0"; }
+      { name = "send"; spec = "0.1.3"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "uid2"; spec = "0.0.2"; }
+      { name = "debug"; spec = "*"; }
+      { name = "methods"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "ead3eb0e7c5e79bf25e246371d85849cbbbbc656";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.8.4.tgz";
   }
   {
-    baseName = "connect-mongo";
-    version = "0.3.2";
-    fullName = "connect-mongo-*";
-    hash = "1f37b52d7816769f33dfa94fad0323f8685139a3a01d738b7a29531f172f86b6";
+    name = "connect";
+    spec = "~2";
+    version = "2.8.4";
+    topLevel = false;
+    dependencies = [
+      { name = "qs"; spec = "0.6.5"; }
+      { name = "formidable"; spec = "1.0.14"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "buffer-crc32"; spec = "0.2.1"; }
+      { name = "cookie"; spec = "0.1.0"; }
+      { name = "send"; spec = "0.1.3"; }
+      { name = "bytes"; spec = "0.2.0"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "pause"; spec = "0.0.1"; }
+      { name = "uid2"; spec = "0.0.2"; }
+      { name = "debug"; spec = "*"; }
+      { name = "methods"; spec = "0.0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "ead3eb0e7c5e79bf25e246371d85849cbbbbc656";
+    tarball = "http://registry.npmjs.org/connect/-/connect-2.8.4.tgz";
+  }
+  {
+    name = "connect-flash";
+    spec = "*";
+    version = "0.1.1";
     topLevel = true;
     dependencies = [
-      { name = "mongodb"; range = "1.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
+    tarball = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
   }
   {
-    baseName = "connect";
-    version = "2.8.1";
-    fullName = "connect-~2";
-    hash = "f838a4e8bccdf065cda7affe0118f018bdf1baa87375cd1df92e2cff29da2948";
-    patchLatest = false;
+    name = "connect-flash";
+    spec = "0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.6.5"; }
-      { name = "formidable"; range = "1.0.14"; }
-      { name = "cookie-signature"; range = "1.0.1"; }
-      { name = "buffer-crc32"; range = "0.2.1"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "send"; range = "0.1.1"; }
-      { name = "bytes"; range = "0.2.0"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "pause"; range = "0.0.1"; }
-      { name = "uid2"; range = "0.0.2"; }
-      { name = "debug"; range = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "82b381d61a12b651437df1c259c1f1c841239b88";
+    tarball = "http://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
   }
   {
-    baseName = "console-browserify";
-    version = "0.1.6";
-    fullName = "console-browserify-0.1.x";
-    hash = "e774c881920562b0893e50844332f79fc5a08752d28791d942c35fcc3ef2d75d";
+    name = "connect-mongo";
+    spec = "*";
+    version = "0.3.3";
+    topLevel = true;
+    dependencies = [
+      { name = "mongodb"; spec = "1.2.x"; }
+    ];
     patchLatest = false;
+    sha1 = "aeaa1ca8c947599131bd90e1a024cdb789fe0100";
+    tarball = "http://registry.npmjs.org/connect-mongo/-/connect-mongo-0.3.3.tgz";
+  }
+  {
+    name = "console-browserify";
+    spec = "0.1.x";
+    version = "0.1.6";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d128a3c0bb88350eb5626c6e7c71a6f0fd48983c";
+    tarball = "http://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz";
   }
   {
-    baseName = "constantinople";
+    name = "constantinople";
+    spec = "~1.0.1";
     version = "1.0.1";
-    fullName = "constantinople-~1.0.1";
-    hash = "3740bec1b48ee60653c946ab295fecefb9c08b47e1a495330757b415c7cd402f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "uglify-js"; range = "~2.3.6"; }
+      { name = "uglify-js"; spec = "~2.3.6"; }
     ];
+    patchLatest = false;
+    sha1 = "038727385eb70567ffb5a825abc44870b56f4de9";
+    tarball = "http://registry.npmjs.org/constantinople/-/constantinople-1.0.1.tgz";
   }
   {
-    baseName = "cookie";
+    name = "cookie";
+    spec = "0.0.5";
     version = "0.0.5";
-    fullName = "cookie-0.0.5";
-    hash = "17938b21dcd85f09994b85484abb5aeddc4e92c61d1b599b764bbaaa7ad6adee";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+    tarball = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
   }
   {
-    baseName = "cookie";
+    name = "cookie";
+    spec = "0.1.0";
     version = "0.1.0";
-    fullName = "cookie-0.1.0";
-    hash = "aff5d22a617d744319cc70e42fc4ab11bcbcf924244af565495fa799c0639650";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
+    tarball = "http://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
   }
   {
-    baseName = "cookie-jar";
+    name = "cookie-jar";
+    spec = "~0.2.0";
     version = "0.2.0";
-    fullName = "cookie-jar-~0.2.0";
-    hash = "eeb643c638f828e39dfc9f44ad8d8e5376930868fdcaf3818ff316806e65af6d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
+    tarball = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
   }
   {
-    baseName = "cookie-jar";
+    name = "cookie-jar";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "cookie-jar-~0.3.0";
-    hash = "c7bac7739b9ceb194f431a4a9ac1a0ba4ffd4a60492c61dd1925dbcdb9030746";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
+    tarball = "http://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
   }
   {
-    baseName = "cookie-signature";
+    name = "cookie-signature";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "cookie-signature-1.0.0";
-    hash = "990a69fb94e6504390dd0fe935b9fe380f925e1a8360e200e97baa908fca86c6";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0044f332ac623df851c914e88eacc57f0c9704fe";
+    tarball = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.0.tgz";
   }
   {
-    baseName = "cookie-signature";
+    name = "cookie-signature";
+    spec = "1.0.1";
     version = "1.0.1";
-    fullName = "cookie-signature-1.0.1";
-    hash = "e2ea4f290fdcfe82d8fb76991fee4106d4ae1f5d5a2f8b8d91442e047c538c8e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
+    tarball = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
   }
   {
-    baseName = "cookiejar";
+    name = "cookiejar";
+    spec = "1.3.0";
     version = "1.3.0";
-    fullName = "cookiejar-1.3.0";
-    hash = "3bf00caf0e2f9dcd03c7175dcf6c5d700fa6d6f6f7ed77875b986e3c1a606ba7";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "dd00b35679021e99cbd4e855b9ad041913474765";
+    tarball = "http://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz";
   }
   {
-    baseName = "cryptiles";
-    version = "0.1.3";
-    fullName = "cryptiles-0.1.x";
-    hash = "bac017be67d2b33c01a9b625726b3f8e1e1786711f3132a3cc6f85779ee1d103";
-    patchLatest = false;
+    name = "cookies";
+    spec = ">= 0.2.2";
+    version = "0.3.6";
     topLevel = false;
     dependencies = [
-      { name = "boom"; range = "0.3.x"; }
     ];
+    patchLatest = false;
+    sha1 = "1b5e4bd66fc732ea2e8b5087a8fb3718b4ec8597";
+    tarball = "http://registry.npmjs.org/cookies/-/cookies-0.3.6.tgz";
   }
   {
-    baseName = "cryptiles";
-    version = "0.2.1";
-    fullName = "cryptiles-0.2.x";
-    hash = "a7ad8087bf6abbbfa0ae159756c04326a490f373212f6f2fd0f3a1f63f475892";
-    patchLatest = false;
+    name = "couch-login";
+    spec = "~0.1.15";
+    version = "0.1.17";
     topLevel = false;
     dependencies = [
-      { name = "boom"; range = "0.4.x"; }
+      { name = "request"; spec = "2 >=2.14"; }
     ];
+    patchLatest = false;
+    sha1 = "ab3ac31dd56e1061ea5f7faa838c7bda32a2b2ed";
+    tarball = "http://registry.npmjs.org/couch-login/-/couch-login-0.1.17.tgz";
   }
   {
-    baseName = "css-parse";
-    version = "1.0.4";
-    fullName = "css-parse-1.0.4";
-    hash = "3d7dcc526083cc1dc584d10c179100a199a82e93991c8bdc92b96ee4bfb7ccac";
-    patchLatest = false;
+    name = "cryptiles";
+    spec = "0.1.x";
+    version = "0.1.3";
     topLevel = false;
     dependencies = [
+      { name = "boom"; spec = "0.3.x"; }
     ];
+    patchLatest = false;
+    sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
+    tarball = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
   }
   {
-    baseName = "css-stringify";
-    version = "1.0.5";
-    fullName = "css-stringify-1.0.5";
-    hash = "ef45a473b200f24e4cb2f0a97da70b629261ae8a54482e49e1eabc3e4cc36c0e";
-    patchLatest = false;
+    name = "cryptiles";
+    spec = "0.2.x";
+    version = "0.2.2";
     topLevel = false;
     dependencies = [
+      { name = "boom"; spec = "0.4.x"; }
     ];
+    patchLatest = false;
+    sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+    tarball = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
   }
   {
-    baseName = "css";
+    name = "css";
+    spec = "~1.0.8";
     version = "1.0.8";
-    fullName = "css-~1.0.8";
-    hash = "535bcca2a3635e315a5add3536d2b97fe5636bbee5d039e4fadd8cd422912b8b";
+    topLevel = false;
+    dependencies = [
+      { name = "css-parse"; spec = "1.0.4"; }
+      { name = "css-stringify"; spec = "1.0.5"; }
+    ];
     patchLatest = false;
+    sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
+    tarball = "http://registry.npmjs.org/css/-/css-1.0.8.tgz";
+  }
+  {
+    name = "css-parse";
+    spec = "1.0.4";
+    version = "1.0.4";
     topLevel = false;
     dependencies = [
-      { name = "css-parse"; range = "1.0.4"; }
-      { name = "css-stringify"; range = "1.0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
+    tarball = "http://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
   }
   {
-    baseName = "cssom";
-    version = "0.2.5";
-    fullName = "cssom-0.2.x";
-    hash = "22594077e4241c81038cdaac23fcb5ed7f8329a1dc5645286fa55db45c8ac13b";
+    name = "css-stringify";
+    spec = "1.0.5";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
+    tarball = "http://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+  }
+  {
+    name = "cssom";
+    spec = "0.2.x";
+    version = "0.2.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2682709b5902e7212df529116ff788cd5b254894";
+    tarball = "http://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz";
   }
   {
-    baseName = "ctype";
+    name = "ctype";
+    spec = "0.5.0";
     version = "0.5.0";
-    fullName = "ctype-0.5.0";
-    hash = "50157e6c5e44d1c833bfc239a7a337ee08fd6f3c5a15f7ef5cee5571a86b0378";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "672673ec67587eb495c1ed694da1abb964ff65e3";
+    tarball = "http://registry.npmjs.org/ctype/-/ctype-0.5.0.tgz";
   }
   {
-    baseName = "ctype";
+    name = "ctype";
+    spec = "0.5.2";
     version = "0.5.2";
-    fullName = "ctype-0.5.2";
-    hash = "4a7224a74f19dc6a1206fa1c04ae1a4ab795cd4ba842466e2f511fa714f82c60";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
+    tarball = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
   }
   {
-    baseName = "cycle";
+    name = "cycle";
+    spec = "1.0.x";
     version = "1.0.2";
-    fullName = "cycle-1.0.x";
-    hash = "ee5dd9af8f0a59624bb32bb6a6f67c13710e180112dba5a578f3d427a3268748";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "269aca6f1b8d2baeefc8ccbc888b459f322c4e60";
+    tarball = "http://registry.npmjs.org/cycle/-/cycle-1.0.2.tgz";
   }
   {
-    baseName = "debug";
+    name = "debug";
+    spec = "*";
     version = "0.7.2";
-    fullName = "debug-*";
-    hash = "f9142856b1c2652a11e50f2aca068edbad7598f50d9e6d003b8ee85b2a333d63";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+    tarball = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
   }
   {
-    baseName = "debug";
+    name = "debug";
+    spec = "~0.7.0";
     version = "0.7.2";
-    fullName = "debug-~0.7.0";
-    hash = "f9142856b1c2652a11e50f2aca068edbad7598f50d9e6d003b8ee85b2a333d63";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+    tarball = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
   }
   {
-    baseName = "debug";
+    name = "debug";
+    spec = "~0.7.2";
     version = "0.7.2";
-    fullName = "debug-~0.7.2";
-    hash = "f9142856b1c2652a11e50f2aca068edbad7598f50d9e6d003b8ee85b2a333d63";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056692c86670977f115de82917918b8e8b9a10f0";
+    tarball = "http://registry.npmjs.org/debug/-/debug-0.7.2.tgz";
   }
   {
-    baseName = "deep-equal";
+    name = "deep-equal";
+    spec = "*";
     version = "0.0.0";
-    fullName = "deep-equal-*";
-    hash = "6a5666d4bfa5d2786a9f86ede2eaa8252f783edb9d78e69cba645f7cb6e153b8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    tarball = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+  }
+  {
+    name = "deep-equal";
+    spec = "0.0.0";
+    version = "0.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    tarball = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
   }
   {
-    baseName = "deep-equal";
+    name = "deep-equal";
+    spec = "~0.0.0";
     version = "0.0.0";
-    fullName = "deep-equal-0.0.0";
-    hash = "6a5666d4bfa5d2786a9f86ede2eaa8252f783edb9d78e69cba645f7cb6e153b8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "99679d3bbd047156fcd450d3d01eeb9068691e83";
+    tarball = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz";
+  }
+  {
+    name = "deep-is";
+    spec = "0.1.x";
+    version = "0.1.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9ced65ea0bc0b09f42a6d79c1b1903f9d913cc18";
+    tarball = "http://registry.npmjs.org/deep-is/-/deep-is-0.1.2.tgz";
   }
   {
-    baseName = "delayed-stream";
+    name = "delayed-stream";
+    spec = "0.0.5";
     version = "0.0.5";
-    fullName = "delayed-stream-0.0.5";
-    hash = "f40e440dac0f853577d5225d7bd4b2026ea1447a724f4ba1096e29983ee595dd";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+    tarball = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
   }
   {
-    baseName = "diff";
+    name = "diff";
+    spec = "1.0.2";
     version = "1.0.2";
-    fullName = "diff-1.0.2";
-    hash = "5de1d8c3f2bfc447a7e664cadd4aca2ef4952a43256310cc51a36b30b5be3045";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4ae73f1aee8d6fcf484f1a1ce77ce651d9b7f0c9";
+    tarball = "http://registry.npmjs.org/diff/-/diff-1.0.2.tgz";
+  }
+  {
+    name = "diff";
+    spec = "~1.0.3";
+    version = "1.0.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "664b6bdb113fb3a51ced79aff621badeed29a02c";
+    tarball = "http://registry.npmjs.org/diff/-/diff-1.0.5.tgz";
   }
   {
-    baseName = "director";
-    version = "1.1.10";
-    fullName = "director-1.1.10";
-    hash = "292c96d0d5bf8276a498595c576a6cfc832247703f2b75f09ad37c19caa5fca6";
+    name = "difflet";
+    spec = "~0.2.0";
+    version = "0.2.6";
+    topLevel = false;
+    dependencies = [
+      { name = "traverse"; spec = "0.6.x"; }
+      { name = "charm"; spec = "0.1.x"; }
+      { name = "deep-is"; spec = "0.1.x"; }
+    ];
     patchLatest = false;
+    sha1 = "ab23b31f5649b6faa8e3d2acbd334467365ca6fa";
+    tarball = "http://registry.npmjs.org/difflet/-/difflet-0.2.6.tgz";
+  }
+  {
+    name = "director";
+    spec = "1.1.10";
+    version = "1.1.10";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "e6c1d64f2f079216f19ea83b566035dde9901179";
+    tarball = "http://registry.npmjs.org/director/-/director-1.1.10.tgz";
   }
   {
-    baseName = "dtrace-provider";
+    name = "dtrace-provider";
+    spec = "0.2.8";
     version = "0.2.8";
-    fullName = "dtrace-provider-0.2.8";
-    hash = "200941239983fa0953415cf28e96d9347c50218d31280604cfc9252e448e714c";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
+    tarball = "http://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
+  }
+  {
+    name = "editor";
+    spec = "0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "478920f77bca6c1c1749d5e3edde4bd5966efda8";
+    tarball = "http://registry.npmjs.org/editor/-/editor-0.0.4.tgz";
+  }
+  {
+    name = "ejs";
+    spec = "0.8.3";
+    version = "0.8.3";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
+    tarball = "http://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
   }
   {
-    baseName = "emitter-component";
+    name = "emitter-component";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "emitter-component-1.0.0";
-    hash = "1ffc29fc11b2e4ccbac6064443e65a606a21d826e313886932596bf11784dcdb";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f04dd18fc3dc3e9a74cbc0f310b088666e4c016f";
+    tarball = "http://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz";
+  }
+  {
+    name = "encoding";
+    spec = "~0.1";
+    version = "0.1.6";
     topLevel = false;
     dependencies = [
+      { name = "iconv-lite"; spec = "0.2.7"; }
     ];
+    patchLatest = false;
+    sha1 = "fec66b6d1c6b8cc554aa78c05ece35bef11a913f";
+    tarball = "http://registry.npmjs.org/encoding/-/encoding-0.1.6.tgz";
   }
   {
-    baseName = "escape-html";
+    name = "escape-html";
+    spec = "*";
     version = "1.0.0";
-    fullName = "escape-html-*";
-    hash = "c763095c6b27fddf666f34d48a4f09f95009a76a6d16d1799175ecd0c1912456";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fedcd79564444ddaf2bd85b22c9961b3a3a38bf5";
+    tarball = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.0.tgz";
   }
   {
-    baseName = "event-stream";
-    version = "0.5.3";
-    fullName = "event-stream-~0.5";
-    hash = "988f4ee3e8f86d6f5f267b56de88bf733e05fe6f1adc0e135090c308822e9e86";
+    name = "esprima";
+    spec = "~ 1.0.2";
+    version = "1.0.3";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "7bdb544f95526d424808654d3b8fbe928650c0fe";
+    tarball = "http://registry.npmjs.org/esprima/-/esprima-1.0.3.tgz";
+  }
+  {
+    name = "event-stream";
+    spec = "~0.5";
+    version = "0.5.3";
     topLevel = false;
     dependencies = [
-      { name = "optimist"; range = "0.2"; }
+      { name = "optimist"; spec = "0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
+    tarball = "http://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
   }
   {
-    baseName = "eventemitter2";
+    name = "eventemitter2";
+    spec = "0.4.11";
     version = "0.4.11";
-    fullName = "eventemitter2-0.4.11";
-    hash = "2825d48a2313f703dfb6829e8a3bc89fe6442272b7dbec9d9c51e4794da81a83";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "8bbf2b6ac7b31e2eea0c8d8f533ef41f849a9e2c";
+    tarball = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.11.tgz";
   }
   {
-    baseName = "eventemitter2";
+    name = "eventemitter2";
+    spec = "~0.4.11";
     version = "0.4.12";
-    fullName = "eventemitter2-~0.4.11";
-    hash = "466b3aa03fe384b46c8384ec7cc42248117a70e9b48c0e20706889b97edcdeac";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6cf14249fdc8799be7416e871e73fd2bb89e35e0";
+    tarball = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.12.tgz";
   }
   {
-    baseName = "events.node";
+    name = "events.node";
+    spec = ">= 0.4.0";
     version = "0.4.9";
-    fullName = "events.node->= 0.4.0";
-    hash = "aedaf9faa7a33f16e2bf1754ed988a836570d00064748a8c1c8ee48805b9f0b6";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
+    tarball = "http://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
   }
   {
-    baseName = "express";
-    version = "3.3.1";
-    fullName = "express-*";
-    hash = "8ca5ce06324343402e5186263c2dca3a28f055093bc6e7bd7270ce4a7356ae8b";
-    patchLatest = false;
+    name = "express";
+    spec = "*";
+    version = "3.3.4";
     topLevel = true;
     dependencies = [
-      { name = "connect"; range = "2.8.1"; }
-      { name = "commander"; range = "0.6.1"; }
-      { name = "range-parser"; range = "0.0.4"; }
-      { name = "mkdirp"; range = "0.3.4"; }
-      { name = "cookie"; range = "0.1.0"; }
-      { name = "buffer-crc32"; range = "0.2.1"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "methods"; range = "0.0.1"; }
-      { name = "send"; range = "0.1.1"; }
-      { name = "cookie-signature"; range = "1.0.1"; }
-      { name = "debug"; range = "*"; }
+      { name = "connect"; spec = "2.8.4"; }
+      { name = "commander"; spec = "1.2.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+      { name = "mkdirp"; spec = "0.3.5"; }
+      { name = "cookie"; spec = "0.1.0"; }
+      { name = "buffer-crc32"; spec = "0.2.1"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "send"; spec = "0.1.3"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "9abf22017213a8f6f54a421ce22b8ec27b7def62";
+    tarball = "http://registry.npmjs.org/express/-/express-3.3.4.tgz";
   }
   {
-    baseName = "express";
+    name = "express";
+    spec = "3.2.0";
+    version = "3.2.0";
+    topLevel = false;
+    dependencies = [
+      { name = "connect"; spec = "2.7.6"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+      { name = "mkdirp"; spec = "~0.3.4"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "buffer-crc32"; spec = "~0.2.1"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "cookie-signature"; spec = "1.0.1"; }
+      { name = "debug"; spec = "*"; }
+    ];
+    patchLatest = false;
+    sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
+    tarball = "http://registry.npmjs.org/express/-/express-3.2.0.tgz";
+  }
+  {
+    name = "express";
+    spec = "~3.1.1";
     version = "3.1.2";
-    fullName = "express-~3.1.1";
-    hash = "d72eb1b799ddfe78afc369168881bfef866213baf5cd47a56902fd732dbbd2b6";
+    topLevel = false;
+    dependencies = [
+      { name = "connect"; spec = "2.7.5"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+      { name = "mkdirp"; spec = "~0.3.4"; }
+      { name = "cookie"; spec = "0.0.5"; }
+      { name = "buffer-crc32"; spec = "~0.2.1"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "send"; spec = "0.1.0"; }
+      { name = "cookie-signature"; spec = "1.0.0"; }
+      { name = "debug"; spec = "*"; }
+    ];
     patchLatest = false;
+    sha1 = "52a02c8db8f22bbfa0d7478d847cd45161f985f7";
+    tarball = "http://registry.npmjs.org/express/-/express-3.1.2.tgz";
+  }
+  {
+    name = "express-partials";
+    spec = "0.0.6";
+    version = "0.0.6";
     topLevel = false;
     dependencies = [
-      { name = "connect"; range = "2.7.5"; }
-      { name = "commander"; range = "0.6.1"; }
-      { name = "range-parser"; range = "0.0.4"; }
-      { name = "mkdirp"; range = "~0.3.4"; }
-      { name = "cookie"; range = "0.0.5"; }
-      { name = "buffer-crc32"; range = "~0.2.1"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "methods"; range = "0.0.1"; }
-      { name = "send"; range = "0.1.0"; }
-      { name = "cookie-signature"; range = "1.0.0"; }
-      { name = "debug"; range = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
+    tarball = "http://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
   }
   {
-    baseName = "extend";
+    name = "extend";
+    spec = "*";
     version = "1.1.3";
-    fullName = "extend-*";
-    hash = "0b27709829110f2e84926ebe3494b82df6e79ad49a618ad3444e4edf62b57a57";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "5ae3d12e33009879dfb574e911a2da1e3da29ef4";
+    tarball = "http://registry.npmjs.org/extend/-/extend-1.1.3.tgz";
   }
   {
-    baseName = "extsprintf";
+    name = "extsprintf";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "extsprintf-1.0.0";
-    hash = "9cae7f1f192e5f35746e13047ab4c13e8b5b686469feeaec301ba7d370df5670";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
+    tarball = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
   }
   {
-    baseName = "extsprintf";
+    name = "extsprintf";
+    spec = "1.0.2";
     version = "1.0.2";
-    fullName = "extsprintf-1.0.2";
-    hash = "ea000cf3e51cba7fac7fb1e425ddb79bf46f3ce40955955bf35fd487184a04ab";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+    tarball = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
   }
   {
-    baseName = "eyes";
+    name = "eyes";
+    spec = "0.1.x";
     version = "0.1.8";
-    fullName = "eyes-0.1.x";
-    hash = "4fa6db8f2c9926fb39a211c622d7eb3a76efbc4878559f9bd155d647a6963735";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    tarball = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
   }
   {
-    baseName = "faye-websocket";
-    version = "0.6.0";
-    fullName = "faye-websocket-*";
-    hash = "192f09ecd1c52fc357d2ad3ae3121be35556b7b09e30ce74117d80b9dbae3f60";
+    name = "eyes";
+    spec = ">=0.1.6";
+    version = "0.1.8";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+    tarball = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+  }
+  {
+    name = "faye-websocket";
+    spec = "*";
+    version = "0.6.1";
     topLevel = true;
     dependencies = [
-      { name = "websocket-driver"; range = ">=0.2.0"; }
+      { name = "websocket-driver"; spec = ">=0.2.0"; }
     ];
+    patchLatest = false;
+    sha1 = "43a54b2ab807761d7ec335d12f48eb69ec4ab61c";
+    tarball = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.6.1.tgz";
   }
   {
-    baseName = "faye-websocket";
+    name = "faye-websocket";
+    spec = "0.4.4";
     version = "0.4.4";
-    fullName = "faye-websocket-0.4.4";
-    hash = "c682f6269bcaba0667ef4ae0ecb0b662e35ea6338b075e25ebce9e13019bc3a2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc";
+    tarball = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz";
   }
   {
-    baseName = "flatiron";
-    version = "0.3.5";
-    fullName = "flatiron-0.3.5";
-    hash = "8f1e074d3f678fe3d4720e27b260f95ee9d69deb2ab3059c6b9854531d8b247f";
+    name = "flatiron";
+    spec = "*";
+    version = "0.3.8";
+    topLevel = true;
+    dependencies = [
+      { name = "broadway"; spec = "0.2.7"; }
+      { name = "optimist"; spec = "0.3.5"; }
+      { name = "prompt"; spec = "0.2.11"; }
+      { name = "director"; spec = "1.1.10"; }
+      { name = "pkginfo"; spec = "0.3.0"; }
+    ];
     patchLatest = false;
+    sha1 = "235d691f19154eff033610c12bcd51f304ff09c6";
+    tarball = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.8.tgz";
+  }
+  {
+    name = "flatiron";
+    spec = "0.3.5";
+    version = "0.3.5";
     topLevel = false;
     dependencies = [
-      { name = "broadway"; range = "0.2.7"; }
-      { name = "optimist"; range = "0.3.5"; }
-      { name = "prompt"; range = "0.2.9"; }
-      { name = "director"; range = "1.1.10"; }
-      { name = "pkginfo"; range = "0.3.0"; }
+      { name = "broadway"; spec = "0.2.7"; }
+      { name = "optimist"; spec = "0.3.5"; }
+      { name = "prompt"; spec = "0.2.9"; }
+      { name = "director"; spec = "1.1.10"; }
+      { name = "pkginfo"; spec = "0.3.0"; }
     ];
+    patchLatest = false;
+    sha1 = "a91fe730f6a7fc1ea655a0ca48eaa977bef64625";
+    tarball = "http://registry.npmjs.org/flatiron/-/flatiron-0.3.5.tgz";
   }
   {
-    baseName = "forEachAsync";
+    name = "forEachAsync";
+    spec = "~2.2";
     version = "2.2.0";
-    fullName = "forEachAsync-~2.2";
-    hash = "43367e7aad92f59595f22ad3e586ba2b370fd03b7f55da381503494528693e05";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sequence"; range = ">= 2.2.1"; }
+      { name = "sequence"; spec = ">= 2.2.1"; }
     ];
+    patchLatest = false;
+    sha1 = "093b32ce868cb69f5166dcf331fae074adc71cee";
+    tarball = "http://registry.npmjs.org/forEachAsync/-/forEachAsync-2.2.0.tgz";
   }
   {
-    baseName = "forever";
+    name = "forever";
+    spec = "*";
     version = "0.10.8";
-    fullName = "forever-*";
-    hash = "858a7405a72d55fea21a3f3396d34ad0cfb35f15dd6ded76e2856b828ff20cae";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "colors"; range = "0.6.0-1"; }
-      { name = "cliff"; range = "0.1.8"; }
-      { name = "flatiron"; range = "0.3.5"; }
-      { name = "forever-monitor"; range = "1.2.2"; }
-      { name = "nconf"; range = "0.6.7"; }
-      { name = "nssocket"; range = "~0.5.1"; }
-      { name = "optimist"; range = "0.4.0"; }
-      { name = "pkginfo"; range = "0.3.0"; }
-      { name = "timespan"; range = "2.0.1"; }
-      { name = "watch"; range = "0.7.0"; }
-      { name = "utile"; range = "0.1.7"; }
-      { name = "winston"; range = "0.7.1"; }
+      { name = "colors"; spec = "0.6.0-1"; }
+      { name = "cliff"; spec = "0.1.8"; }
+      { name = "flatiron"; spec = "0.3.5"; }
+      { name = "forever-monitor"; spec = "1.2.2"; }
+      { name = "nconf"; spec = "0.6.7"; }
+      { name = "nssocket"; spec = "~0.5.1"; }
+      { name = "optimist"; spec = "0.4.0"; }
+      { name = "pkginfo"; spec = "0.3.0"; }
+      { name = "timespan"; spec = "2.0.1"; }
+      { name = "watch"; spec = "0.7.0"; }
+      { name = "utile"; spec = "0.1.7"; }
+      { name = "winston"; spec = "0.7.1"; }
     ];
+    patchLatest = false;
+    sha1 = "a78137a46fb8ca4adbf2f497d98816a526bb1f82";
+    tarball = "http://registry.npmjs.org/forever/-/forever-0.10.8.tgz";
   }
   {
-    baseName = "forever-agent";
+    name = "forever-agent";
+    spec = "~0.2.0";
     version = "0.2.0";
-    fullName = "forever-agent-~0.2.0";
-    hash = "d6fac115c60bb3aa6b5b653ea6612e9c1c1d172e08c98251fcfd2d066c1fcda3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
+    tarball = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
   }
   {
-    baseName = "forever-agent";
+    name = "forever-agent";
+    spec = "~0.5.0";
     version = "0.5.0";
-    fullName = "forever-agent-~0.5.0";
-    hash = "0a7eda1f87f3cfa7fad8ba655a642992033b38a1929becfa0bfcab8241b7d78b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0c1647a74f3af12d76a07a99490ade7c7249c8f0";
+    tarball = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.0.tgz";
   }
   {
-    baseName = "forever-monitor";
+    name = "forever-monitor";
+    spec = "1.2.2";
     version = "1.2.2";
-    fullName = "forever-monitor-1.2.2";
-    hash = "ff2f10f179ec6003278a250f76dd53ebaaace37c3c2409478b7b36ecee650a0c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "broadway"; range = "0.2.x"; }
-      { name = "minimatch"; range = "0.0.x"; }
-      { name = "pkginfo"; range = "0.x.x"; }
-      { name = "ps-tree"; range = "0.0.x"; }
-      { name = "watch"; range = "0.5.x"; }
-      { name = "utile"; range = "0.1.x"; }
+      { name = "broadway"; spec = "0.2.x"; }
+      { name = "minimatch"; spec = "0.0.x"; }
+      { name = "pkginfo"; spec = "0.x.x"; }
+      { name = "ps-tree"; spec = "0.0.x"; }
+      { name = "watch"; spec = "0.5.x"; }
+      { name = "utile"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "c1ad6c6ab837a89fa2d47bb439727ca968235684";
+    tarball = "http://registry.npmjs.org/forever-monitor/-/forever-monitor-1.2.2.tgz";
   }
   {
-    baseName = "form-data";
+    name = "form-data";
+    spec = "0.0.8";
     version = "0.0.8";
-    fullName = "form-data-0.0.8";
-    hash = "cf7d5669259ec4c5474b9c2100127ba065a4757ff33b878a1d99509b8e448220";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "combined-stream"; range = "~0.0.4"; }
-      { name = "mime"; range = "~1.2.2"; }
-      { name = "async"; range = "~0.2.7"; }
+      { name = "combined-stream"; spec = "~0.0.4"; }
+      { name = "mime"; spec = "~1.2.2"; }
+      { name = "async"; spec = "~0.2.7"; }
     ];
+    patchLatest = false;
+    sha1 = "0890cd1005c5ccecc0b9d24a88052c92442d0db5";
+    tarball = "http://registry.npmjs.org/form-data/-/form-data-0.0.8.tgz";
   }
   {
-    baseName = "form-data";
+    name = "form-data";
+    spec = "~0.0.3";
     version = "0.0.10";
-    fullName = "form-data-~0.0.3";
-    hash = "d49669b81c27dd6c7e359ee9892880c6741dae6c325b617ab3eb5a78bf103822";
+    topLevel = false;
+    dependencies = [
+      { name = "combined-stream"; spec = "~0.0.4"; }
+      { name = "mime"; spec = "~1.2.2"; }
+      { name = "async"; spec = "~0.2.7"; }
+    ];
     patchLatest = false;
+    sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
+    tarball = "http://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
+  }
+  {
+    name = "form-data";
+    spec = "~0.1.0";
+    version = "0.1.0";
     topLevel = false;
     dependencies = [
-      { name = "combined-stream"; range = "~0.0.4"; }
-      { name = "mime"; range = "~1.2.2"; }
-      { name = "async"; range = "~0.2.7"; }
+      { name = "combined-stream"; spec = "~0.0.4"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "async"; spec = "~0.2.9"; }
     ];
+    patchLatest = false;
+    sha1 = "d36b59baf9b292bb2e5034d7a6079b2bd1e9df83";
+    tarball = "http://registry.npmjs.org/form-data/-/form-data-0.1.0.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.11";
     version = "1.0.11";
-    fullName = "formidable-1.0.11";
-    hash = "39b345d14d69c27fe262e12f16900cef6be220510788866e0a12c9fedd03766e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.13";
     version = "1.0.13";
-    fullName = "formidable-1.0.13";
-    hash = "c3c7c6ecdd4b1ad9ec9b1c273d8dd1db2bc12f9a699c233d3885fcded58ceec6";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "70caf0f9d69692a77e04021ddab4f46b01c82aea";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.13.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.14";
     version = "1.0.14";
-    fullName = "formidable-1.0.14";
-    hash = "b36e58f659fd0d7c734b4ab2c611fa6e40bd988c2237a29d25025460f18f7ea1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
   }
   {
-    baseName = "formidable";
+    name = "formidable";
+    spec = "1.0.9";
     version = "1.0.9";
-    fullName = "formidable-1.0.9";
-    hash = "3b54deef3897d910d1e6dedd81fa2f4a65b7e93b5dd5cf1c8c098b63260c214c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "419e3bccead3e8874d539f5b3e72a4c503b31a98";
+    tarball = "http://registry.npmjs.org/formidable/-/formidable-1.0.9.tgz";
   }
   {
-    baseName = "fresh";
+    name = "fresh";
+    spec = "0.1.0";
     version = "0.1.0";
-    fullName = "fresh-0.1.0";
-    hash = "c402fbd25e26c0167bf288e1ba791716808bfaa5de32b76ae68e8e8a3d7e2b33";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+    tarball = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
   }
   {
-    baseName = "fstream";
-    version = "0.1.22";
-    fullName = "fstream-0";
-    hash = "2ace3993d34cbf5e97bcb9c7eec3f011fa2041ce66cb688e39e747285084496a";
+    name = "fstream";
+    spec = "0";
+    version = "0.1.24";
+    topLevel = false;
+    dependencies = [
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
+  }
+  {
+    name = "fstream";
+    spec = "~0.1.17";
+    version = "0.1.24";
     topLevel = false;
     dependencies = [
-      { name = "rimraf"; range = "2"; }
-      { name = "mkdirp"; range = "0.3"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "~1.0.0"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
   }
   {
-    baseName = "fstream";
-    version = "0.1.22";
-    fullName = "fstream-~0.1.8";
-    hash = "2ace3993d34cbf5e97bcb9c7eec3f011fa2041ce66cb688e39e747285084496a";
+    name = "fstream";
+    spec = "~0.1.23";
+    version = "0.1.24";
+    topLevel = false;
+    dependencies = [
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
+  }
+  {
+    name = "fstream";
+    spec = "~0.1.8";
+    version = "0.1.24";
     topLevel = false;
     dependencies = [
-      { name = "rimraf"; range = "2"; }
-      { name = "mkdirp"; range = "0.3"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "~1.0.0"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "mkdirp"; spec = "0.3"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "inherits"; spec = "~2.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "267fe9d034f46bc99f824789d38b987ad01be884";
+    tarball = "http://registry.npmjs.org/fstream/-/fstream-0.1.24.tgz";
   }
   {
-    baseName = "glob";
-    version = "3.2.1";
-    fullName = "glob-3";
-    hash = "a457c2115213ce2cb59582ddc3a25eb3ae7490af687e412111c0032f72966f51";
+    name = "fstream-ignore";
+    spec = "~0.0.5";
+    version = "0.0.7";
+    topLevel = false;
+    dependencies = [
+      { name = "minimatch"; spec = "~0.2.0"; }
+      { name = "fstream"; spec = "~0.1.17"; }
+      { name = "inherits"; spec = "2"; }
+    ];
     patchLatest = false;
+    sha1 = "eea3033f0c3728139de7b57ab1b0d6d89c353c63";
+    tarball = "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.7.tgz";
+  }
+  {
+    name = "fstream-npm";
+    spec = "~0.1.3";
+    version = "0.1.5";
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = "~0.2.11"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "1"; }
+      { name = "fstream-ignore"; spec = "~0.0.5"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "8f9fdd38c0940f91f7b6ebda4b6611be88f97ec9";
+    tarball = "http://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.5.tgz";
   }
   {
-    baseName = "glob";
-    version = "3.2.1";
-    fullName = "glob-3.2.1";
-    hash = "a457c2115213ce2cb59582ddc3a25eb3ae7490af687e412111c0032f72966f51";
+    name = "github-url-from-git";
+    spec = "~1.1.1";
+    version = "1.1.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1f89623453123ef9623956e264c60bf4c3cf5ccf";
+    tarball = "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz";
+  }
+  {
+    name = "glob";
+    spec = "3";
+    version = "3.2.6";
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = "~0.2.11"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "1"; }
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
   }
   {
-    baseName = "glob";
+    name = "glob";
+    spec = "3.2.1";
     version = "3.2.1";
-    fullName = "glob->= 3.1.4";
-    hash = "a457c2115213ce2cb59582ddc3a25eb3ae7490af687e412111c0032f72966f51";
+    topLevel = false;
+    dependencies = [
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "graceful-fs"; spec = "~1.2.0"; }
+      { name = "inherits"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "57af70ec73ba2323bfe3f29a067765db64c5d758";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.1.tgz";
+  }
+  {
+    name = "glob";
+    spec = ">= 3.1.4";
+    version = "3.2.6";
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = "~0.2.11"; }
-      { name = "graceful-fs"; range = "~1.2.0"; }
-      { name = "inherits"; range = "1"; }
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
   }
   {
-    baseName = "graceful-fs";
-    version = "1.2.2";
-    fullName = "graceful-fs-1";
-    hash = "a23fe552c6b0a221fc961e1ef0ed567e081ad948f4fcac6be660fa6741c0dbd6";
+    name = "glob";
+    spec = "~3.2.1";
+    version = "3.2.6";
+    topLevel = false;
+    dependencies = [
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
+    ];
     patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
+  }
+  {
+    name = "glob";
+    spec = "~3.2.3";
+    version = "3.2.6";
     topLevel = false;
     dependencies = [
+      { name = "minimatch"; spec = "~0.2.11"; }
+      { name = "inherits"; spec = "2"; }
     ];
+    patchLatest = false;
+    sha1 = "28c805b47bc6c19ba3059cbdf079b98ff62442f2";
+    tarball = "http://registry.npmjs.org/glob/-/glob-3.2.6.tgz";
   }
   {
-    baseName = "graceful-fs";
-    version = "1.2.2";
-    fullName = "graceful-fs-~1";
-    hash = "a23fe552c6b0a221fc961e1ef0ed567e081ad948f4fcac6be660fa6741c0dbd6";
+    name = "graceful-fs";
+    spec = "2";
+    version = "2.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz";
+  }
+  {
+    name = "graceful-fs";
+    spec = "~1";
+    version = "1.2.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
   }
   {
-    baseName = "graceful-fs";
-    version = "1.2.2";
-    fullName = "graceful-fs-~1.2.0";
-    hash = "a23fe552c6b0a221fc961e1ef0ed567e081ad948f4fcac6be660fa6741c0dbd6";
+    name = "graceful-fs";
+    spec = "~1.2.0";
+    version = "1.2.3";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+  }
+  {
+    name = "graceful-fs";
+    spec = "~2";
+    version = "2.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz";
+  }
+  {
+    name = "graceful-fs";
+    spec = "~2.0.0";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef";
+    tarball = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz";
   }
   {
-    baseName = "growl";
-    version = "1.7.0";
-    fullName = "growl-1.7.x";
-    hash = "52a6e9edae2fd5a66ddb87c52a398a17ee697eb0e8e1480e9506a6dcdbf3ffcf";
+    name = "gridfs-stream";
+    spec = "*";
+    version = "0.4.0";
+    topLevel = true;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f76f791e0d1b22649e11beeacddf8e62bd89ca2a";
+    tarball = "http://registry.npmjs.org/gridfs-stream/-/gridfs-stream-0.4.0.tgz";
+  }
+  {
+    name = "growl";
+    spec = "1.7.x";
+    version = "1.7.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de2d66136d002e112ba70f3f10c31cf7c350b2da";
+    tarball = "http://registry.npmjs.org/growl/-/growl-1.7.0.tgz";
   }
   {
-    baseName = "gzippo";
-    version = "0.2.0";
-    fullName = "gzippo-*";
-    hash = "844f214312ef8ec2dee4543e6da383728ae081e96961f5ccb6786f0eed8474ab";
+    name = "guifi-earth";
+    spec = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 ";
+    version = "0.2.1";
+    topLevel = true;
+    dependencies = [
+      { name = "coffee-script"; spec = ">= 0.0.1"; }
+      { name = "jade"; spec = ">= 0.0.1"; }
+      { name = "q"; spec = ">= 0.0.1"; }
+      { name = "xml2js"; spec = ">= 0.0.1"; }
+      { name = "msgpack"; spec = ">= 0.0.1"; }
+    ];
     patchLatest = false;
+    sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
+    tarball = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
+  }
+  {
+    name = "gzippo";
+    spec = "*";
+    version = "0.2.0";
     topLevel = true;
     dependencies = [
-      { name = "send"; range = "*"; }
+      { name = "send"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
+    tarball = "http://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
   }
   {
-    baseName = "hat";
+    name = "hat";
+    spec = "*";
     version = "0.0.3";
-    fullName = "hat-*";
-    hash = "7bf52b3b020ca333a42eb67411090912b21abb6ac746d587022a0955b16e5f5c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
+    tarball = "http://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
   }
   {
-    baseName = "hawk";
+    name = "hawk";
+    spec = "~0.10.2";
     version = "0.10.2";
-    fullName = "hawk-~0.10.2";
-    hash = "a55c7f967a8e01b6307185abc796320b54a9d6126952e41281dca3c1841affb8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.7.x"; }
-      { name = "boom"; range = "0.3.x"; }
-      { name = "cryptiles"; range = "0.1.x"; }
-      { name = "sntp"; range = "0.1.x"; }
+      { name = "hoek"; spec = "0.7.x"; }
+      { name = "boom"; spec = "0.3.x"; }
+      { name = "cryptiles"; spec = "0.1.x"; }
+      { name = "sntp"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
+    tarball = "http://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
   }
   {
-    baseName = "hawk";
+    name = "hawk";
+    spec = "~0.13.0";
     version = "0.13.1";
-    fullName = "hawk-~0.13.0";
-    hash = "659e5ada1e9dc44a634e07899937d5eaeaa1c06658f181ca187f7f6faa0c592a";
+    topLevel = false;
+    dependencies = [
+      { name = "hoek"; spec = "0.8.x"; }
+      { name = "boom"; spec = "0.4.x"; }
+      { name = "cryptiles"; spec = "0.2.x"; }
+      { name = "sntp"; spec = "0.2.x"; }
+    ];
     patchLatest = false;
+    sha1 = "3617958821f58311e4d7f6de291fca662b412ef4";
+    tarball = "http://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz";
+  }
+  {
+    name = "hawk";
+    spec = "~1.0.0";
+    version = "1.0.0";
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.8.x"; }
-      { name = "boom"; range = "0.4.x"; }
-      { name = "cryptiles"; range = "0.2.x"; }
-      { name = "sntp"; range = "0.2.x"; }
+      { name = "hoek"; spec = "0.9.x"; }
+      { name = "boom"; spec = "0.4.x"; }
+      { name = "cryptiles"; spec = "0.2.x"; }
+      { name = "sntp"; spec = "0.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+    tarball = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
   }
   {
-    baseName = "hiredis";
+    name = "hiredis";
+    spec = "*";
     version = "0.1.15";
-    fullName = "hiredis-*";
-    hash = "621bb738d1ef8335fe2f373d5446a4817a62bf8ab6e956fb6a7aa4932f8ccb08";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "bindings"; range = "*"; }
+      { name = "bindings"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "00eb2205c85dcf50de838203e513896dc304dd49";
+    tarball = "http://registry.npmjs.org/hiredis/-/hiredis-0.1.15.tgz";
   }
   {
-    baseName = "hoek";
+    name = "hoek";
+    spec = "0.7.x";
     version = "0.7.6";
-    fullName = "hoek-0.7.x";
-    hash = "135068c73cf7f0db625d95461991db113b9b4a09c6d118a80f4b33d1cad41d9b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
+    tarball = "http://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
   }
   {
-    baseName = "hoek";
+    name = "hoek";
+    spec = "0.8.x";
     version = "0.8.5";
-    fullName = "hoek-0.8.x";
-    hash = "637e524cd4b48b66db137d6fa93cbe254f112ce638ea9fd399bab73591ede965";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1e9fd770ef7ebe0274adfcb5b0806a025a5e4e9f";
+    tarball = "http://registry.npmjs.org/hoek/-/hoek-0.8.5.tgz";
   }
   {
-    baseName = "hoek";
+    name = "hoek";
+    spec = "0.9.x";
     version = "0.9.1";
-    fullName = "hoek-0.9.x";
-    hash = "34480468d2e85781ecdd7134523b4d6fea978d333edd2bcb828edd33bbbe8a3f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+    tarball = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
   }
   {
-    baseName = "hooks";
+    name = "hooks";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "hooks-0.2.1";
-    hash = "65b9c6940a0edc5324e9c7f2422cdf2700436a1d2e9008e2a9f5dcc732cd46bd";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
+    tarball = "http://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
   }
   {
-    baseName = "htdigest";
+    name = "htdigest";
+    spec = "1.0.7";
     version = "1.0.7";
-    fullName = "htdigest-1.0.7";
-    hash = "10fb047addf1c4f1089a26389066d5ff8f5ffa1ccce272a701bb4c2a30d90c58";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "commander"; range = "0.5.1"; }
+      { name = "commander"; spec = "0.5.1"; }
     ];
+    patchLatest = false;
+    sha1 = "0c55ba3a018855e134fd82f7a4aa6235167181b2";
+    tarball = "http://registry.npmjs.org/htdigest/-/htdigest-1.0.7.tgz";
   }
   {
-    baseName = "htpasswd";
+    name = "htpasswd";
+    spec = "1.1.0";
     version = "1.1.0";
-    fullName = "htpasswd-1.1.0";
-    hash = "cee9c0a525e717e3565ba6ffea8a64c480bc8a9e7800cb9bfc385d1a8e713ec9";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "commander"; range = "0.5.1"; }
+      { name = "commander"; spec = "0.5.1"; }
     ];
+    patchLatest = false;
+    sha1 = "4e9e6a2203405005aa1ae7dee80d3b6d6a8d93d6";
+    tarball = "http://registry.npmjs.org/htpasswd/-/htpasswd-1.1.0.tgz";
   }
   {
-    baseName = "http-auth";
+    name = "http-auth";
+    spec = "1.2.7";
     version = "1.2.7";
-    fullName = "http-auth-1.2.7";
-    hash = "874dbb5907d03602f31eae959a0927a3112da8e868231d9a2119bb50d2fe63d2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "node-uuid"; range = "1.2.0"; }
-      { name = "htpasswd"; range = "1.1.0"; }
-      { name = "htdigest"; range = "1.0.7"; }
+      { name = "node-uuid"; spec = "1.2.0"; }
+      { name = "htpasswd"; spec = "1.1.0"; }
+      { name = "htdigest"; spec = "1.0.7"; }
     ];
+    patchLatest = false;
+    sha1 = "d15b9c08646c9fdcc4f92edb9888f57cb6cf9ca7";
+    tarball = "http://registry.npmjs.org/http-auth/-/http-auth-1.2.7.tgz";
   }
   {
-    baseName = "http-signature";
+    name = "http-signature";
+    spec = "0.9.11";
     version = "0.9.11";
-    fullName = "http-signature-0.9.11";
-    hash = "44b89f3c1917bf02723a5720f08fbe47448e0370a5d3498d1be860eaf28beb3b";
+    topLevel = false;
+    dependencies = [
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "asn1"; spec = "0.1.11"; }
+      { name = "ctype"; spec = "0.5.2"; }
+    ];
     patchLatest = false;
+    sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+    tarball = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
+  }
+  {
+    name = "http-signature";
+    spec = "~0.10.0";
+    version = "0.10.0";
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "asn1"; range = "0.1.11"; }
-      { name = "ctype"; range = "0.5.2"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "asn1"; spec = "0.1.11"; }
+      { name = "ctype"; spec = "0.5.2"; }
     ];
+    patchLatest = false;
+    sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
+    tarball = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
   }
   {
-    baseName = "http-signature";
+    name = "http-signature";
+    spec = "~0.9.11";
     version = "0.9.11";
-    fullName = "http-signature-~0.9.11";
-    hash = "44b89f3c1917bf02723a5720f08fbe47448e0370a5d3498d1be860eaf28beb3b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "asn1"; range = "0.1.11"; }
-      { name = "ctype"; range = "0.5.2"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "asn1"; spec = "0.1.11"; }
+      { name = "ctype"; spec = "0.5.2"; }
     ];
+    patchLatest = false;
+    sha1 = "9e882714572315e6790a5d0a7955efff1f19e653";
+    tarball = "http://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz";
   }
   {
-    baseName = "i";
+    name = "i";
+    spec = "0.3.x";
     version = "0.3.1";
-    fullName = "i-0.3.x";
-    hash = "9dbd68b705366f5bdda60b9cf80149c89255d444649e21cc12556b14fb7ee784";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "6ecf7847caed3168b17b86ccc390d7b805be0ee4";
+    tarball = "http://registry.npmjs.org/i/-/i-0.3.1.tgz";
+  }
+  {
+    name = "i18next";
+    spec = "*";
+    version = "1.6.8";
+    topLevel = true;
+    dependencies = [
+      { name = "cookies"; spec = ">= 0.2.2"; }
+    ];
+    patchLatest = false;
+    sha1 = "9c5806d50d374d09ad76e13da4c6d7357e8c555b";
+    tarball = "http://registry.npmjs.org/i18next/-/i18next-1.6.8.tgz";
+  }
+  {
+    name = "iconv-lite";
+    spec = "0.2.7";
+    version = "0.2.7";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "45be2390d27af4b7613aac4ee4d957e3f4cbdb54";
+    tarball = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.7.tgz";
+  }
+  {
+    name = "inherits";
+    spec = "*";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "76c81b3b1c10ddee3a60bf2c247162bc369f8ba8";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz";
   }
   {
-    baseName = "inherits";
+    name = "inherits";
+    spec = "1";
     version = "1.0.0";
-    fullName = "inherits-1";
-    hash = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
   }
   {
-    baseName = "inherits";
+    name = "inherits";
+    spec = "1.x";
     version = "1.0.0";
-    fullName = "inherits-1.x";
-    hash = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+  }
+  {
+    name = "inherits";
+    spec = "2";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "76c81b3b1c10ddee3a60bf2c247162bc369f8ba8";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz";
   }
   {
-    baseName = "inherits";
+    name = "inherits";
+    spec = "~1.0.0";
     version = "1.0.0";
-    fullName = "inherits-~1.0.0";
-    hash = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
+  }
+  {
+    name = "inherits";
+    spec = "~2.0.0";
+    version = "2.0.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "76c81b3b1c10ddee3a60bf2c247162bc369f8ba8";
+    tarball = "http://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz";
   }
   {
-    baseName = "ini";
+    name = "ini";
+    spec = "1";
     version = "1.1.0";
-    fullName = "ini-1.x.x";
-    hash = "307ecc5f8664773587a0d74165d1dbdb226754b638542596b7a1e2ed0a578a28";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    tarball = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+  }
+  {
+    name = "ini";
+    spec = "1.x.x";
+    version = "1.1.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    tarball = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
   }
   {
-    baseName = "is-promise";
-    version = "1.0.0";
-    fullName = "is-promise-~1";
-    hash = "65806ec461b83060a8857d2571c84bd66451db0683969ed3f9180f8a2c1a915f";
+    name = "ini";
+    spec = "~1.1.0";
+    version = "1.1.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
+    tarball = "http://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
+  }
+  {
+    name = "init-package-json";
+    spec = "0.0.10";
+    version = "0.0.10";
     topLevel = false;
     dependencies = [
+      { name = "promzard"; spec = "~0.2.0"; }
+      { name = "read"; spec = "~1.0.1"; }
+      { name = "read-package-json"; spec = "1"; }
+      { name = "semver"; spec = "2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "7baf10535227e0878105a04e44b78f132475da6a";
+    tarball = "http://registry.npmjs.org/init-package-json/-/init-package-json-0.0.10.tgz";
   }
   {
-    baseName = "jade";
-    version = "0.32.0";
-    fullName = "jade-*";
-    hash = "25bd8ad332bdf7dba4bcd2bf38b6f5ff49e1a9401668a4c4edf50e1277031e2d";
+    name = "ironhorse";
+    spec = "*";
+    version = "0.0.2";
+    topLevel = true;
+    dependencies = [
+      { name = "winston"; spec = "*"; }
+    ];
     patchLatest = false;
+    sha1 = "9a8e27407ecfba7cd4d1d5886c7d97e65d44da9c";
+    tarball = "http://registry.npmjs.org/ironhorse/-/ironhorse-0.0.2.tgz";
+  }
+  {
+    name = "is-promise";
+    spec = "~1";
+    version = "1.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "b998d17551f16f69f7bd4828f58f018cc81e064f";
+    tarball = "http://registry.npmjs.org/is-promise/-/is-promise-1.0.0.tgz";
+  }
+  {
+    name = "jade";
+    spec = "*";
+    version = "0.33.0";
     topLevel = true;
     dependencies = [
-      { name = "commander"; range = "1.2.0"; }
-      { name = "mkdirp"; range = "0.3.x"; }
-      { name = "transformers"; range = "2.0.1"; }
-      { name = "character-parser"; range = "1.0.2"; }
-      { name = "monocle"; range = "0.1.48"; }
-      { name = "with"; range = "~1.1.0"; }
-      { name = "constantinople"; range = "~1.0.1"; }
+      { name = "commander"; spec = "1.2.0"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "transformers"; spec = "2.0.1"; }
+      { name = "character-parser"; spec = "1.0.2"; }
+      { name = "monocle"; spec = "0.1.48"; }
+      { name = "with"; spec = "~1.1.0"; }
+      { name = "constantinople"; spec = "~1.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "1b0bb45f9dd4ce57723605177713d80bccd4e429";
+    tarball = "http://registry.npmjs.org/jade/-/jade-0.33.0.tgz";
   }
   {
-    baseName = "jade";
+    name = "jade";
+    spec = "0.26.3";
     version = "0.26.3";
-    fullName = "jade-0.26.3";
-    hash = "ea314287eb192b6987f7bb9d7010bf2c35ff6288f125fa00796ad93bdba14d0b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "commander"; range = "0.6.1"; }
-      { name = "mkdirp"; range = "0.3.0"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "mkdirp"; spec = "0.3.0"; }
     ];
+    patchLatest = false;
+    sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
+    tarball = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
   }
   {
-    baseName = "jayschema";
-    version = "0.1.5";
-    fullName = "jayschema-*";
-    hash = "66e17d82f0b24d882321d42da2f094ab2b14df8a3f558b88867800e672f5c80d";
+    name = "jade";
+    spec = ">= 0.0.1";
+    version = "0.33.0";
+    topLevel = false;
+    dependencies = [
+      { name = "commander"; spec = "1.2.0"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "transformers"; spec = "2.0.1"; }
+      { name = "character-parser"; spec = "1.0.2"; }
+      { name = "monocle"; spec = "0.1.48"; }
+      { name = "with"; spec = "~1.1.0"; }
+      { name = "constantinople"; spec = "~1.0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "1b0bb45f9dd4ce57723605177713d80bccd4e429";
+    tarball = "http://registry.npmjs.org/jade/-/jade-0.33.0.tgz";
+  }
+  {
+    name = "jayschema";
+    spec = "*";
+    version = "0.2.0";
     topLevel = true;
     dependencies = [
+      { name = "when"; spec = "~2.2.1"; }
     ];
+    patchLatest = false;
+    sha1 = "ab250dd51224ef36ac8119ce143e0525300d99d4";
+    tarball = "http://registry.npmjs.org/jayschema/-/jayschema-0.2.0.tgz";
   }
   {
-    baseName = "jshint";
-    version = "2.1.4";
-    fullName = "jshint-*";
-    hash = "ff5afb38e1e82801b670a18033dc29a903fe883ca6073459360178871f8d71db";
+    name = "js-yaml";
+    spec = "0.3.x";
+    version = "0.3.7";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
+    tarball = "http://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
+  }
+  {
+    name = "js-yaml";
+    spec = "2.1.0";
+    version = "2.1.0";
+    topLevel = false;
+    dependencies = [
+      { name = "argparse"; spec = "~ 0.1.11"; }
+      { name = "esprima"; spec = "~ 1.0.2"; }
+    ];
+    patchLatest = false;
+    sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
+    tarball = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
+  }
+  {
+    name = "jshint";
+    spec = "*";
+    version = "2.1.4";
     topLevel = true;
     dependencies = [
-      { name = "shelljs"; range = "0.1.x"; }
-      { name = "underscore"; range = "1.4.x"; }
-      { name = "cli"; range = "0.4.x"; }
-      { name = "minimatch"; range = "0.x.x"; }
-      { name = "console-browserify"; range = "0.1.x"; }
+      { name = "shelljs"; spec = "0.1.x"; }
+      { name = "underscore"; spec = "1.4.x"; }
+      { name = "cli"; spec = "0.4.x"; }
+      { name = "minimatch"; spec = "0.x.x"; }
+      { name = "console-browserify"; spec = "0.1.x"; }
     ];
+    patchLatest = false;
+    sha1 = "8d5be86628eea91c073c8700dd6e4c90afd9ab38";
+    tarball = "http://registry.npmjs.org/jshint/-/jshint-2.1.4.tgz";
   }
   {
-    baseName = "json-schema";
+    name = "json-schema";
+    spec = "0.2.2";
     version = "0.2.2";
-    fullName = "json-schema-0.2.2";
-    hash = "41b873a8fb542caf337ec17ad5593761e8db5ce8e33f4074b733b34ec656f0e8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
+    tarball = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
   }
   {
-    baseName = "json-stringify-safe";
+    name = "json-stringify-safe";
+    spec = "~3.0.0";
     version = "3.0.0";
-    fullName = "json-stringify-safe-~3.0.0";
-    hash = "77580345a4d3d5db0e530757c86a6bd032b69b31f509f58a8d1232abc14690c0";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
+    tarball = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
   }
   {
-    baseName = "json-stringify-safe";
+    name = "json-stringify-safe";
+    spec = "~4.0.0";
     version = "4.0.0";
-    fullName = "json-stringify-safe-~4.0.0";
-    hash = "2461befc8dab37d1d83927ab4bf4aa68b162a35b5a85c1a90c70f86500091b60";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "77c271aaea54302e68efeaccb56abbf06a9b1a54";
+    tarball = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-4.0.0.tgz";
   }
   {
-    baseName = "jsontool";
-    version = "5.1.3";
-    fullName = "jsontool-*";
-    hash = "097889f294920e43c2a8f8d9156971860c67c61ecfe5a1e411c4d641e521985c";
+    name = "json-stringify-safe";
+    spec = "~5.0.0";
+    version = "5.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "156515f55e62ed4cd912ec13bfc79d5013dfd1e7";
+    tarball = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
+  }
+  {
+    name = "jsontool";
+    spec = "*";
+    version = "6.0.0";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "dc2a535b2aa8a10b0b7359c76fa8920cdb92ce6d";
+    tarball = "http://registry.npmjs.org/jsontool/-/jsontool-6.0.0.tgz";
   }
   {
-    baseName = "jsprim";
+    name = "jsprim";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "jsprim-0.3.0";
-    hash = "0fd12872374ee55cc0c005a1590ef65def0e96de04734a753e0d1480c3ffc4bd";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.0"; }
-      { name = "json-schema"; range = "0.2.2"; }
-      { name = "verror"; range = "1.3.3"; }
+      { name = "extsprintf"; spec = "1.0.0"; }
+      { name = "json-schema"; spec = "0.2.2"; }
+      { name = "verror"; spec = "1.3.3"; }
     ];
+    patchLatest = false;
+    sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
+    tarball = "http://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
   }
   {
-    baseName = "keep-alive-agent";
+    name = "keep-alive-agent";
+    spec = "0.0.1";
     version = "0.0.1";
-    fullName = "keep-alive-agent-0.0.1";
-    hash = "481f10eeb5b9759ad28d9556f30c1747a5e71fbbad55fb130b96eacc7ac1c7a1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
+    tarball = "http://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
   }
   {
-    baseName = "kerberos";
+    name = "kerberos";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "kerberos-*";
-    hash = "40300bf5e4ca224127b7e88586dce003c58e59cf4972f699fdc95079135a76fe";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3c44078eca649501babab04938c948b1252d1b";
+    tarball = "http://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
   }
   {
-    baseName = "keypress";
+    name = "keypress";
+    spec = "0.1.x";
     version = "0.1.0";
-    fullName = "keypress-0.1.x";
-    hash = "2e43d67e9df19176f874e1a44693f2ea802df77e255d3fc272a0de8124f83be5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
+    tarball = "http://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
   }
   {
-    baseName = "knox";
-    version = "0.8.3";
-    fullName = "knox-*";
-    hash = "fe3cb0d94b3e85413626ffee386c751931afe200b170bd555173e413d7044c75";
-    patchLatest = false;
+    name = "knox";
+    spec = "*";
+    version = "0.8.4";
     topLevel = true;
     dependencies = [
-      { name = "mime"; range = "*"; }
-      { name = "xml2js"; range = "0.2.x"; }
-      { name = "debug"; range = "~0.7.0"; }
-      { name = "stream-counter"; range = "~0.1.0"; }
+      { name = "mime"; spec = "*"; }
+      { name = "xml2js"; spec = "0.2.x"; }
+      { name = "debug"; spec = "~0.7.0"; }
+      { name = "stream-counter"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "4e1e98e9942120c3e7fd36286ee4a249b00ac370";
+    tarball = "http://registry.npmjs.org/knox/-/knox-0.8.4.tgz";
   }
   {
-    baseName = "kue";
+    name = "kue";
+    spec = "*";
     version = "0.6.2";
-    fullName = "kue-*";
-    hash = "c52cb0ebc11226bff8d1fb8068cc4cc562c3970d1d24c201d8a8ed68847b9115";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "redis"; range = "0.7.2"; }
-      { name = "express"; range = "~3.1.1"; }
-      { name = "jade"; range = "0.26.3"; }
-      { name = "stylus"; range = "0.27.2"; }
-      { name = "nib"; range = "0.5.0"; }
-      { name = "reds"; range = "0.1.4"; }
+      { name = "redis"; spec = "0.7.2"; }
+      { name = "express"; spec = "~3.1.1"; }
+      { name = "jade"; spec = "0.26.3"; }
+      { name = "stylus"; spec = "0.27.2"; }
+      { name = "nib"; spec = "0.5.0"; }
+      { name = "reds"; spec = "0.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "9a6a95081842cf4ee3da5c61770bc23616a943f2";
+    tarball = "http://registry.npmjs.org/kue/-/kue-0.6.2.tgz";
   }
   {
-    baseName = "lazy";
+    name = "lazy";
+    spec = "~1.0.11";
     version = "1.0.11";
-    fullName = "lazy-~1.0.11";
-    hash = "05a9685292102599629d3212fbd04102ff71b0cf306cee9773ab1602c75a4ab0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "daa068206282542c088288e975c297c1ae77b690";
+    tarball = "http://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
+  }
+  {
+    name = "libyaml";
+    spec = "*";
+    version = "0.2.2";
+    topLevel = true;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "a22d5f699911b6b622d6dc323fb62320c877c9c8";
+    tarball = "http://registry.npmjs.org/libyaml/-/libyaml-0.2.2.tgz";
+  }
+  {
+    name = "lockfile";
+    spec = "~0.4.0";
+    version = "0.4.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0f815a7ee7c3d603ddec6fbfa8a212b5645d54c5";
+    tarball = "http://registry.npmjs.org/lockfile/-/lockfile-0.4.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "2";
     version = "2.3.0";
-    fullName = "lru-cache-2";
-    hash = "fbb1a14e0314095b7999a3a7489c92983f3d95b188857af697487ac8a778e942";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "2.2.0";
     version = "2.2.0";
-    fullName = "lru-cache-2.2.0";
-    hash = "bdfb66f74cc4097f3bfd6062b2edbb7790d709f414c7d0f3419241840b1bffed";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "2.3.0";
     version = "2.3.0";
-    fullName = "lru-cache-2.3.0";
-    hash = "fbb1a14e0314095b7999a3a7489c92983f3d95b188857af697487ac8a778e942";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
   }
   {
-    baseName = "lru-cache";
+    name = "lru-cache";
+    spec = "~1.0.2";
     version = "1.0.6";
-    fullName = "lru-cache-~1.0.2";
-    hash = "f3a419d4989d9db292a7207f04b6108eed6d8316553d888a462cccd4c9e8855e";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
+  }
+  {
+    name = "lru-cache";
+    spec = "~2.3.0";
+    version = "2.3.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1cee12d5a9f28ed1ee37e9c332b8888e6b85412a";
+    tarball = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.3.0.tgz";
   }
   {
-    baseName = "methods";
-    version = "0.0.1";
-    fullName = "methods-0.0.1";
-    hash = "2f7e32954dff5991dd8220e8f5dcdd32aeec5ec56ce9f7235872444af51b3adb";
+    name = "mailcomposer";
+    spec = ">= 0.1.27";
+    version = "0.2.1";
+    topLevel = false;
+    dependencies = [
+      { name = "mimelib"; spec = "~0.2"; }
+      { name = "mime"; spec = "1.2.9"; }
+    ];
     patchLatest = false;
+    sha1 = "89e1326147fb2c222feb931b40e98b6be133f14a";
+    tarball = "http://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.1.tgz";
+  }
+  {
+    name = "methods";
+    spec = "0.0.1";
+    version = "0.0.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+    tarball = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "*";
     version = "1.2.9";
-    fullName = "mime-*";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "1.2.5";
     version = "1.2.5";
-    fullName = "mime-1.2.5";
-    hash = "ccf05a6c47146e8acb9d0671eee09d2eb077cf9ddd1f7e8eccf49dbf969d6c72";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9eed073022a8bf5e16c8566c6867b8832bfbfa13";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.5.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "1.2.6";
     version = "1.2.6";
-    fullName = "mime-1.2.6";
-    hash = "7460134d6b4686d64fd1e7b878d34e2bdd258ad29b6665cf62e6d92659e81591";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "1.2.9";
     version = "1.2.9";
-    fullName = "mime-1.2.9";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "~1.2.2";
     version = "1.2.9";
-    fullName = "mime-~1.2.2";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "~1.2.7";
     version = "1.2.9";
-    fullName = "mime-~1.2.7";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "mime";
+    name = "mime";
+    spec = "~1.2.9";
     version = "1.2.9";
-    fullName = "mime-~1.2.9";
-    hash = "60120b9859a92a94480a76327a9406b4a72a34f2317bc7fa33dcb99b9c72678a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "009cd40867bd35de521b3b966f04e2f8d4d13d09";
+    tarball = "http://registry.npmjs.org/mime/-/mime-1.2.9.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "mimelib";
+    spec = "~0.2";
     version = "0.2.12";
-    fullName = "minimatch-0";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
+    topLevel = false;
+    dependencies = [
+      { name = "encoding"; spec = "~0.1"; }
+      { name = "addressparser"; spec = "~0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "5dcbb99c7369e5d62d7e12e71fa334179aebd748";
+    tarball = "http://registry.npmjs.org/mimelib/-/mimelib-0.2.12.tgz";
+  }
+  {
+    name = "minimatch";
+    spec = "0";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = "0.0.x";
     version = "0.0.5";
-    fullName = "minimatch-0.0.x";
-    hash = "063694baa9f9ab077e687ff59031f461998ef38fda656ec7c3475931177ccf36";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "~1.0.2"; }
+      { name = "lru-cache"; spec = "~1.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = "0.x.x";
     version = "0.2.12";
-    fullName = "minimatch-0.x.x";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = ">=0.2.4";
     version = "0.2.12";
-    fullName = "minimatch->=0.2.4";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
+    topLevel = false;
+    dependencies = [
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+  }
+  {
+    name = "minimatch";
+    spec = "~0.2.0";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimatch";
+    name = "minimatch";
+    spec = "~0.2.11";
     version = "0.2.12";
-    fullName = "minimatch-~0.2.11";
-    hash = "205cff8b4ba926e86ff0e6f7f566553906113892028083ea221989a42500c246";
+    topLevel = false;
+    dependencies = [
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
+  }
+  {
+    name = "minimatch";
+    spec = "~0.2.12";
+    version = "0.2.12";
     topLevel = false;
     dependencies = [
-      { name = "lru-cache"; range = "2"; }
-      { name = "sigmund"; range = "~1.0.0"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "sigmund"; spec = "~1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "ea82a012ac662c7ddfaa144f1c147e6946f5dafb";
+    tarball = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz";
   }
   {
-    baseName = "minimist";
+    name = "minimist";
+    spec = "~0.0.1";
     version = "0.0.1";
-    fullName = "minimist-~0.0.1";
-    hash = "4afcfc7d9ed3d2ff113bf93d777507e2ff7ddfef7ed282e4573ab5dd8422b0d3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "fa2439fbf7da8525c51b2a74e2815b380abc8ab6";
+    tarball = "http://registry.npmjs.org/minimist/-/minimist-0.0.1.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "*";
     version = "0.3.5";
-    fullName = "mkdirp-*";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0";
     version = "0.3.5";
-    fullName = "mkdirp-0";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.3";
     version = "0.3.5";
-    fullName = "mkdirp-0.3";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "mkdirp-0.3.0";
-    hash = "708366e3a89c976ae8418056f2c5f784147b9310e8093f9bb7246d2f55f7c27d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
   }
   {
-    baseName = "mkdirp";
-    version = "0.3.4";
-    fullName = "mkdirp-0.3.4";
-    hash = "f87444f2376c56bf47846f3b885aae926c5d9504328923b166794b78c0e08425";
-    patchLatest = false;
+    name = "mkdirp";
+    spec = "0.3.5";
+    version = "0.3.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.3.x";
     version = "0.3.5";
-    fullName = "mkdirp-0.3.5";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "0.x.x";
     version = "0.3.5";
-    fullName = "mkdirp-0.3.x";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "~0.3";
     version = "0.3.5";
-    fullName = "mkdirp-0.x.x";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mkdirp";
+    name = "mkdirp";
+    spec = "~0.3.3";
     version = "0.3.5";
-    fullName = "mkdirp-~0.3.4";
-    hash = "8ae9c5107acb41110106224f5e7be2b50b00d15d062ea7941301c111b863fd26";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
+  }
+  {
+    name = "mkdirp";
+    spec = "~0.3.4";
+    version = "0.3.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
+    tarball = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
   }
   {
-    baseName = "mocha";
+    name = "mocha";
+    spec = "*";
     version = "1.12.0";
-    fullName = "mocha-*";
-    hash = "657b833347df35fc39cd1fb0e420f2713db57c4430cbebd10e2f6b37548e4f20";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "commander"; range = "0.6.1"; }
-      { name = "growl"; range = "1.7.x"; }
-      { name = "jade"; range = "0.26.3"; }
-      { name = "diff"; range = "1.0.2"; }
-      { name = "debug"; range = "*"; }
-      { name = "mkdirp"; range = "0.3.5"; }
-      { name = "ms"; range = "0.3.0"; }
-      { name = "glob"; range = "3.2.1"; }
+      { name = "commander"; spec = "0.6.1"; }
+      { name = "growl"; spec = "1.7.x"; }
+      { name = "jade"; spec = "0.26.3"; }
+      { name = "diff"; spec = "1.0.2"; }
+      { name = "debug"; spec = "*"; }
+      { name = "mkdirp"; spec = "0.3.5"; }
+      { name = "ms"; spec = "0.3.0"; }
+      { name = "glob"; spec = "3.2.1"; }
+    ];
+    patchLatest = false;
+    sha1 = "95fc936622ce156b8b19ff8def466ac2f3a3f29e";
+    tarball = "http://registry.npmjs.org/mocha/-/mocha-1.12.0.tgz";
+  }
+  {
+    name = "moment";
+    spec = "2.1.0";
+    version = "2.1.0";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
+    tarball = "http://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
+  }
+  {
+    name = "mongodb";
+    spec = "1.2.14";
+    version = "1.2.14";
+    topLevel = false;
+    dependencies = [
+      { name = "bson"; spec = "0.1.8"; }
     ];
+    patchLatest = false;
+    sha1 = "269665552066437308d0942036646e6795c3a9a3";
+    tarball = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
   }
   {
-    baseName = "mongodb";
+    name = "mongodb";
+    spec = "1.2.x";
     version = "1.2.14";
-    fullName = "mongodb-1.2.x";
-    hash = "011e76d49fb99a58659db12e55d340c4731184dd635b769717db374db3f701a0";
+    topLevel = false;
+    dependencies = [
+      { name = "bson"; spec = "0.1.8"; }
+    ];
     patchLatest = false;
+    sha1 = "269665552066437308d0942036646e6795c3a9a3";
+    tarball = "http://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
+  }
+  {
+    name = "mongodb";
+    spec = "1.3.11";
+    version = "1.3.11";
     topLevel = false;
     dependencies = [
-      { name = "bson"; range = "0.1.8"; }
+      { name = "bson"; spec = "0.1.9"; }
+      { name = "kerberos"; spec = "0.0.3"; }
     ];
+    patchLatest = false;
+    sha1 = "dba6f669dd30612b3d07fc13e2181b9d2b105da2";
+    tarball = "http://registry.npmjs.org/mongodb/-/mongodb-1.3.11.tgz";
   }
   {
-    baseName = "mongodb";
-    version = "1.3.10";
-    fullName = "mongodb-1.3.10";
-    hash = "ea6f279c0bebedec94f0d757fef775302dba6dd4a3792f59696d094bd2c2f113";
-    patchLatest = true;
+    name = "mongoose";
+    spec = "*";
+    version = "3.6.15";
+    topLevel = true;
+    dependencies = [
+      { name = "hooks"; spec = "0.2.1"; }
+      { name = "mongodb"; spec = "1.3.11"; }
+      { name = "ms"; spec = "0.1.0"; }
+      { name = "sliced"; spec = "0.0.3"; }
+      { name = "muri"; spec = "0.3.1"; }
+      { name = "mpromise"; spec = "0.2.1"; }
+      { name = "mpath"; spec = "0.1.1"; }
+      { name = "regexp-clone"; spec = "0.0.1"; }
+    ];
+    patchLatest = false;
+    sha1 = "272f1575da3b48ec31467abdf15baa61854ba5f1";
+    tarball = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.15.tgz";
+  }
+  {
+    name = "mongoose";
+    spec = "3.6.7";
+    version = "3.6.7";
     topLevel = false;
     dependencies = [
-      { name = "bson"; range = "0.1.9"; }
-      { name = "kerberos"; range = "*"; }
+      { name = "hooks"; spec = "0.2.1"; }
+      { name = "mongodb"; spec = "1.2.14"; }
+      { name = "ms"; spec = "0.1.0"; }
+      { name = "sliced"; spec = "0.0.3"; }
+      { name = "muri"; spec = "0.3.1"; }
+      { name = "mpromise"; spec = "0.2.1"; }
+      { name = "mpath"; spec = "0.1.1"; }
     ];
+    patchLatest = false;
+    sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
+    tarball = "http://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
   }
   {
-    baseName = "mongoose";
-    version = "3.6.13";
-    fullName = "mongoose-*";
-    hash = "b6d79ace01b4acbabb0c07d4c053f6fdf4a6b7252cc506ccbbc7a6db5e6bbe36";
+    name = "mongoose-lifecycle";
+    spec = "1.0.0";
+    version = "1.0.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
+    tarball = "http://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
+  }
+  {
+    name = "mongoose-schema-extend";
+    spec = "*";
+    version = "0.1.4";
     topLevel = true;
     dependencies = [
-      { name = "hooks"; range = "0.2.1"; }
-      { name = "mongodb"; range = "1.3.10"; }
-      { name = "ms"; range = "0.1.0"; }
-      { name = "sliced"; range = "0.0.3"; }
-      { name = "muri"; range = "0.3.1"; }
-      { name = "mpromise"; range = "0.2.1"; }
-      { name = "mpath"; range = "0.1.1"; }
-      { name = "regexp-clone"; range = "0.0.1"; }
+      { name = "owl-deepcopy"; spec = "~0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "9f61b2abba5352fcd3d7b1193ee4b4d9f2a83804";
+    tarball = "http://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.1.4.tgz";
   }
   {
-    baseName = "monocle";
+    name = "monocle";
+    spec = "0.1.48";
     version = "0.1.48";
-    fullName = "monocle-0.1.48";
-    hash = "3a94a890f37ff135ea82f640d8e693f10a11bca3d30c3ec7456a9f97683f15d5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "readdirp"; range = "~0.2.3"; }
+      { name = "readdirp"; spec = "~0.2.3"; }
     ];
+    patchLatest = false;
+    sha1 = "b96730f5ca900fa75a56041eb6db10aad980a383";
+    tarball = "http://registry.npmjs.org/monocle/-/monocle-0.1.48.tgz";
   }
   {
-    baseName = "mpath";
+    name = "mpath";
+    spec = "0.1.1";
     version = "0.1.1";
-    fullName = "mpath-0.1.1";
-    hash = "23e83ac6c4b3d67cc34dc1ba05d1085a3d9ef8243caa756b1ca4af12b4370751";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "23da852b7c232ee097f4759d29c0ee9cd22d5e46";
+    tarball = "http://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
   }
   {
-    baseName = "mpromise";
+    name = "mpromise";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "mpromise-0.2.1";
-    hash = "56d035a66b1a19a8ad64e99354355e128b18394f69d545597bb5a25fe80147bf";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sliced"; range = "0.0.4"; }
+      { name = "sliced"; spec = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "fbbdc28cb0207e49b8a4eb1a4c0cea6c2de794c8";
+    tarball = "http://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
   }
   {
-    baseName = "ms";
+    name = "ms";
+    spec = "0.1.0";
     version = "0.1.0";
-    fullName = "ms-0.1.0";
-    hash = "474bcdb7965551c5a111be2fcdb5e4607491c70a601d04d818ec7e1e1c2ff88b";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f21fac490daf1d7667fd180fe9077389cc9442b2";
+    tarball = "http://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
   }
   {
-    baseName = "ms";
+    name = "ms";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "ms-0.3.0";
-    hash = "f72eab0186a6dabbbea7118f83d4e2c01119e427f6671096a0c7ed522abe07f2";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "03edc348d613e66a56486cfdac53bcbe899cbd61";
+    tarball = "http://registry.npmjs.org/ms/-/ms-0.3.0.tgz";
+  }
+  {
+    name = "msgpack";
+    spec = ">= 0.0.1";
+    version = "0.1.10";
     topLevel = false;
     dependencies = [
+      { name = "nodeunit"; spec = "https://github.com/godsflaw/nodeunit/tarball/master"; }
     ];
+    patchLatest = false;
+    sha1 = "ebb2edea5ebc3616a2ce003d8d8ef73b52bf7318";
+    tarball = "http://registry.npmjs.org/msgpack/-/msgpack-0.1.10.tgz";
   }
   {
-    baseName = "muri";
+    name = "muri";
+    spec = "0.3.1";
     version = "0.3.1";
-    fullName = "muri-0.3.1";
-    hash = "5e1b7ac7790350f6043fc8fa1b18f85818fefe0adda18d0c058460413757f959";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "861889c5c857f1a43700bee85d50731f61727c9a";
+    tarball = "http://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
   }
   {
-    baseName = "mute-stream";
-    version = "0.0.3";
-    fullName = "mute-stream-~0.0.2";
-    hash = "7bb2401ad9afaa6f04bc1d2d9411a6e41d7a6198de929d4522e95eeae78b1082";
-    patchLatest = false;
+    name = "mute-stream";
+    spec = "~0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
+    tarball = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
   }
   {
-    baseName = "mv";
+    name = "mv";
+    spec = "0.0.5";
     version = "0.0.5";
-    fullName = "mv-0.0.5";
-    hash = "6ddbf4770ffd02170a8fc492cee418ad92ce2f1e2eb4c549febac1f60e6533b9";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "15eac759479884df1131d6de56bce20b654f5391";
+    tarball = "http://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
   }
   {
-    baseName = "natural";
+    name = "natural";
+    spec = "0.0.69";
     version = "0.0.69";
-    fullName = "natural-0.0.69";
-    hash = "1cd394575cbeba7963378fc572a85a3279c4359b75740f9062dddb5b64d6c402";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sylvester"; range = ">= 0.0.12"; }
-      { name = "apparatus"; range = ">= 0.0.4"; }
-      { name = "underscore"; range = "*"; }
+      { name = "sylvester"; spec = ">= 0.0.12"; }
+      { name = "apparatus"; spec = ">= 0.0.4"; }
+      { name = "underscore"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "60d9ce23797a54ec211600eb721cc66779b954d3";
+    tarball = "http://registry.npmjs.org/natural/-/natural-0.0.69.tgz";
   }
   {
-    baseName = "nconf";
+    name = "nconf";
+    spec = "*";
     version = "0.6.7";
-    fullName = "nconf-*";
-    hash = "1ec390b8fa439e1160e432edc0f9ccec544b8216dfaba3db7002d38351ccfa1c";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "ini"; range = "1.x.x"; }
-      { name = "optimist"; range = "0.3.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "ini"; spec = "1.x.x"; }
+      { name = "optimist"; spec = "0.3.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+    tarball = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
   }
   {
-    baseName = "nconf";
+    name = "nconf";
+    spec = "0.6.7";
     version = "0.6.7";
-    fullName = "nconf-0.6.7";
-    hash = "1ec390b8fa439e1160e432edc0f9ccec544b8216dfaba3db7002d38351ccfa1c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "ini"; range = "1.x.x"; }
-      { name = "optimist"; range = "0.3.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "ini"; spec = "1.x.x"; }
+      { name = "optimist"; spec = "0.3.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
     ];
+    patchLatest = false;
+    sha1 = "f2ffce75f4573857429c719d9f6ed0a9a231a47c";
+    tarball = "http://registry.npmjs.org/nconf/-/nconf-0.6.7.tgz";
   }
   {
-    baseName = "ncp";
+    name = "ncp";
+    spec = "0.2.x";
     version = "0.2.7";
-    fullName = "ncp-0.2.x";
-    hash = "9bae6495de613c5adb418348224512b9dc42f2b74c7a2fabecf02f8b7d08343d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "46fac2b7dda2560a4cb7e628677bd5f64eac5be1";
+    tarball = "http://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
   }
   {
-    baseName = "negotiator";
+    name = "negotiator";
+    spec = "0.2.5";
     version = "0.2.5";
-    fullName = "negotiator-0.2.5";
-    hash = "37f567acba03ef7748802c4f6b41ca7e57a3fb556c4435cda515028c73d76542";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "12ec7b4a9f3b4c894c31d8c4ec015925ba547eec";
+    tarball = "http://registry.npmjs.org/negotiator/-/negotiator-0.2.5.tgz";
+  }
+  {
+    name = "net-ping";
+    spec = "1.1.7";
+    version = "1.1.7";
     topLevel = false;
     dependencies = [
+      { name = "raw-socket"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "49f5bca55a30a3726d69253557f231135a637075";
+    tarball = "http://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
   }
   {
-    baseName = "nib";
+    name = "nib";
+    spec = "0.5.0";
     version = "0.5.0";
-    fullName = "nib-0.5.0";
-    hash = "9e3ebce2cfb055b8eadcb2fcac3e49570e429a5262ce5a59844857fbcb27f4c7";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "ad0a7dfa2bca8680c8cb8adaa6ab68c80e5221e5";
+    tarball = "http://registry.npmjs.org/nib/-/nib-0.5.0.tgz";
   }
   {
-    baseName = "nijs";
-    version = "0.0.8";
-    fullName = "nijs-*";
-    hash = "134a4f764835280487334f5cfd5a0d271cdd784fe954ad619fad250f54c3b3b9";
-    patchLatest = false;
+    name = "nijs";
+    spec = "*";
+    version = "0.0.10";
     topLevel = true;
     dependencies = [
-      { name = "optparse"; range = ">= 1.0.3"; }
+      { name = "optparse"; spec = ">= 1.0.3"; }
     ];
+    patchLatest = false;
+    sha1 = "79d09c5c9a2f1f3e96708c9dc6b4547b89cf8177";
+    tarball = "http://registry.npmjs.org/nijs/-/nijs-0.0.10.tgz";
   }
   {
-    baseName = "node-expat";
+    name = "node-expat";
+    spec = "*";
     version = "2.0.0";
-    fullName = "node-expat-*";
-    hash = "9d5b7efd708fc546f5c17e98f4ee322abafaaa02fbb6c281f651d10d9523c83f";
+    topLevel = true;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "a10271b3463484fa4b59895df61693a1de4ac735";
+    tarball = "http://registry.npmjs.org/node-expat/-/node-expat-2.0.0.tgz";
+  }
+  {
+    name = "node-gyp";
+    spec = "*";
+    version = "0.10.6";
     topLevel = true;
     dependencies = [
+      { name = "glob"; spec = "3"; }
+      { name = "graceful-fs"; spec = "2"; }
+      { name = "fstream"; spec = "0"; }
+      { name = "minimatch"; spec = "0"; }
+      { name = "mkdirp"; spec = "0"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "npmlog"; spec = "0"; }
+      { name = "osenv"; spec = "0"; }
+      { name = "request"; spec = "2"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "semver"; spec = "~2.0.7"; }
+      { name = "tar"; spec = "0"; }
+      { name = "which"; spec = "1"; }
     ];
+    patchLatest = false;
+    sha1 = "2b81f9c1b9cd3cc8fd56fe776744814e394d3427";
+    tarball = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.6.tgz";
   }
   {
-    baseName = "node-gyp";
-    version = "0.10.4";
-    fullName = "node-gyp-*";
-    hash = "b8bd44e4f5143fff5c22d5961982ae1504467dff17624be4525728c0500fd3a4";
+    name = "node-gyp";
+    spec = "~0.10.6";
+    version = "0.10.6";
+    topLevel = false;
+    dependencies = [
+      { name = "glob"; spec = "3"; }
+      { name = "graceful-fs"; spec = "2"; }
+      { name = "fstream"; spec = "0"; }
+      { name = "minimatch"; spec = "0"; }
+      { name = "mkdirp"; spec = "0"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "npmlog"; spec = "0"; }
+      { name = "osenv"; spec = "0"; }
+      { name = "request"; spec = "2"; }
+      { name = "rimraf"; spec = "2"; }
+      { name = "semver"; spec = "~2.0.7"; }
+      { name = "tar"; spec = "0"; }
+      { name = "which"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "2b81f9c1b9cd3cc8fd56fe776744814e394d3427";
+    tarball = "http://registry.npmjs.org/node-gyp/-/node-gyp-0.10.6.tgz";
+  }
+  {
+    name = "node-uptime";
+    spec = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
+    version = "3.2.0";
     topLevel = true;
     dependencies = [
-      { name = "glob"; range = "3"; }
-      { name = "graceful-fs"; range = "1"; }
-      { name = "fstream"; range = "0"; }
-      { name = "minimatch"; range = "0"; }
-      { name = "mkdirp"; range = "0"; }
-      { name = "nopt"; range = "2"; }
-      { name = "npmlog"; range = "0"; }
-      { name = "osenv"; range = "0"; }
-      { name = "request"; range = "2"; }
-      { name = "rimraf"; range = "2"; }
-      { name = "semver"; range = "~2.0.7"; }
-      { name = "tar"; range = "0"; }
-      { name = "which"; range = "1"; }
+      { name = "mongoose"; spec = "3.6.7"; }
+      { name = "mongoose-lifecycle"; spec = "1.0.0"; }
+      { name = "express"; spec = "3.2.0"; }
+      { name = "express-partials"; spec = "0.0.6"; }
+      { name = "connect-flash"; spec = "0.1.0"; }
+      { name = "ejs"; spec = "0.8.3"; }
+      { name = "config"; spec = "0.4.15"; }
+      { name = "async"; spec = "0.1.22"; }
+      { name = "socket.io"; spec = "0.9.14"; }
+      { name = "semver"; spec = "1.1.0"; }
+      { name = "moment"; spec = "2.1.0"; }
+      { name = "nodemailer"; spec = "0.3.35"; }
+      { name = "net-ping"; spec = "1.1.7"; }
+      { name = "js-yaml"; spec = "2.1.0"; }
     ];
+    patchLatest = false;
+    sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
+    tarball = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "*";
     version = "1.4.0";
-    fullName = "node-uuid-*";
-    hash = "87a1944b5334351ddd1d3e44d2e423ebfc027e858111efb72324054092cfd1bc";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "1.2.0";
     version = "1.2.0";
-    fullName = "node-uuid-1.2.0";
-    hash = "96d3ce178ea0825d27a855630de74243a577dc988512512eea572829b208a3d2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "81a9fe32934719852499b58b2523d2cd5fdfd65b";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.2.0.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "1.3.3";
     version = "1.3.3";
-    fullName = "node-uuid-1.3.3";
-    hash = "a3fbccc904944a9c8eadc59e55aaac908cc458569f539b50077d9672a84587a8";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "1.4.0";
     version = "1.4.0";
-    fullName = "node-uuid-1.4.0";
-    hash = "87a1944b5334351ddd1d3e44d2e423ebfc027e858111efb72324054092cfd1bc";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
   }
   {
-    baseName = "node-uuid";
+    name = "node-uuid";
+    spec = "~1.4.0";
     version = "1.4.0";
-    fullName = "node-uuid-~1.4.0";
-    hash = "87a1944b5334351ddd1d3e44d2e423ebfc027e858111efb72324054092cfd1bc";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "07f9b2337572ff6275c775e1d48513f3a45d7a65";
+    tarball = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz";
+  }
+  {
+    name = "nodemailer";
+    spec = "0.3.35";
+    version = "0.3.35";
     topLevel = false;
     dependencies = [
+      { name = "mailcomposer"; spec = ">= 0.1.27"; }
+      { name = "simplesmtp"; spec = ">= 0.1.22"; }
+      { name = "optimist"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "4d38cdc0ad230bdf88cc27d1256ef49fcb422e19";
+    tarball = "http://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
   }
   {
-    baseName = "nodemon";
+    name = "nodemon";
+    spec = "*";
     version = "0.7.8";
-    fullName = "nodemon-*";
-    hash = "123a54f51297e5186061846a5dae5117c2a218a8a477364055828a0c2ea39bed";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c0667a000f208dbf6a4dad08a5186595a9889590";
+    tarball = "http://registry.npmjs.org/nodemon/-/nodemon-0.7.8.tgz";
   }
   {
-    baseName = "nopt";
-    version = "2.1.1";
-    fullName = "nopt-2";
-    hash = "a7a84f3fe51cb8fb97c678bc73130b53d6782ee90dc0e9b15ae39630ce2fa203";
+    name = "nodeunit";
+    spec = "https://github.com/godsflaw/nodeunit/tarball/master";
+    version = "0.7.4";
+    topLevel = false;
+    dependencies = [
+      { name = "tap"; spec = ">=0.2.3"; }
+    ];
     patchLatest = false;
+    sha256 = "c79333b5b54ca3b9eb42e42d6ea48d261aa9e015c0ad9cf340abacb528d0ee3a";
+    tarball = "https://github.com/godsflaw/nodeunit/tarball/master";
+  }
+  {
+    name = "nopt";
+    spec = "2";
+    version = "2.1.2";
     topLevel = false;
     dependencies = [
-      { name = "abbrev"; range = "1"; }
+      { name = "abbrev"; spec = "1"; }
     ];
+    patchLatest = false;
+    sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
   }
   {
-    baseName = "nopt";
+    name = "nopt";
+    spec = "2.0.0";
     version = "2.0.0";
-    fullName = "nopt-2.0.0";
-    hash = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5";
+    topLevel = false;
+    dependencies = [
+      { name = "abbrev"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
+  }
+  {
+    name = "nopt";
+    spec = "~2";
+    version = "2.1.2";
     topLevel = false;
     dependencies = [
-      { name = "abbrev"; range = "1"; }
+      { name = "abbrev"; spec = "1"; }
     ];
+    patchLatest = false;
+    sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
   }
   {
-    baseName = "npm2nix";
-    version = "1.2.0";
-    fullName = "npm2nix-*";
-    hash = "b79bd319e4030704bb41078dbbec0db9eebb984966c6bd3cad55ba4c76ec622c";
+    name = "nopt";
+    spec = "~2.1.2";
+    version = "2.1.2";
+    topLevel = false;
+    dependencies = [
+      { name = "abbrev"; spec = "1"; }
+    ];
     patchLatest = false;
-    topLevel = true;
+    sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+    tarball = "http://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
+  }
+  {
+    name = "normalize-package-data";
+    spec = "~0.2";
+    version = "0.2.1";
+    topLevel = false;
     dependencies = [
-      { name = "semver"; range = "1"; }
+      { name = "semver"; spec = "2"; }
+      { name = "github-url-from-git"; spec = "~1.1.1"; }
     ];
+    patchLatest = false;
+    sha1 = "6c13a4b7ab1bca0323265418d354666da2e5ad43";
+    tarball = "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.2.1.tgz";
   }
   {
-    baseName = "npmlog";
+    name = "npm";
+    spec = "*";
+    version = "1.3.5";
+    topLevel = true;
+    dependencies = [
+      { name = "semver"; spec = "~2.0.8"; }
+      { name = "ini"; spec = "~1.1.0"; }
+      { name = "slide"; spec = "~1.1.4"; }
+      { name = "abbrev"; spec = "~1.0.4"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "minimatch"; spec = "~0.2.12"; }
+      { name = "nopt"; spec = "~2.1.2"; }
+      { name = "rimraf"; spec = "~2.2.0"; }
+      { name = "request"; spec = "~2.21.0"; }
+      { name = "which"; spec = "1"; }
+      { name = "tar"; spec = "~0.1.18"; }
+      { name = "fstream"; spec = "~0.1.23"; }
+      { name = "block-stream"; spec = "0.0.7"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "read"; spec = "~1.0.4"; }
+      { name = "lru-cache"; spec = "~2.3.0"; }
+      { name = "node-gyp"; spec = "~0.10.6"; }
+      { name = "fstream-npm"; spec = "~0.1.3"; }
+      { name = "uid-number"; spec = "0"; }
+      { name = "archy"; spec = "0"; }
+      { name = "chownr"; spec = "0"; }
+      { name = "npmlog"; spec = "0.0.4"; }
+      { name = "ansi"; spec = "~0.1.2"; }
+      { name = "npm-registry-client"; spec = "~0.2.27"; }
+      { name = "read-package-json"; spec = "~1.1.0"; }
+      { name = "read-installed"; spec = "~0.2.2"; }
+      { name = "glob"; spec = "~3.2.3"; }
+      { name = "init-package-json"; spec = "0.0.10"; }
+      { name = "osenv"; spec = "0"; }
+      { name = "lockfile"; spec = "~0.4.0"; }
+      { name = "retry"; spec = "~0.6.0"; }
+      { name = "once"; spec = "~1.1.1"; }
+      { name = "npmconf"; spec = "~0.1.2"; }
+      { name = "opener"; spec = "~1.3.0"; }
+      { name = "chmodr"; spec = "~0.1.0"; }
+      { name = "cmd-shim"; spec = "~1.0.1"; }
+      { name = "sha"; spec = "~1.2.1"; }
+      { name = "editor"; spec = "0.0.4"; }
+      { name = "child-process-close"; spec = "~0.1.1"; }
+      { name = "npm-user-validate"; spec = "0.0.3"; }
+    ];
+    patchLatest = false;
+    sha1 = "05d6c4d01d2bc3f1adf15948adf2f7110553f471";
+    tarball = "http://registry.npmjs.org/npm/-/npm-1.3.5.tgz";
+  }
+  {
+    name = "npm-registry-client";
+    spec = "0.2.27";
+    version = "0.2.27";
+    topLevel = false;
+    dependencies = [
+      { name = "request"; spec = "2 >=2.20.0"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "semver"; spec = "~2.0.5"; }
+      { name = "slide"; spec = "~1.1.3"; }
+      { name = "chownr"; spec = "0"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "rimraf"; spec = "~2"; }
+      { name = "retry"; spec = "0.6.0"; }
+      { name = "couch-login"; spec = "~0.1.15"; }
+      { name = "npmlog"; spec = ""; }
+    ];
+    patchLatest = false;
+    sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
+    tarball = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
+  }
+  {
+    name = "npm-registry-client";
+    spec = "~0.2.27";
+    version = "0.2.27";
+    topLevel = false;
+    dependencies = [
+      { name = "request"; spec = "2 >=2.20.0"; }
+      { name = "graceful-fs"; spec = "~2.0.0"; }
+      { name = "semver"; spec = "~2.0.5"; }
+      { name = "slide"; spec = "~1.1.3"; }
+      { name = "chownr"; spec = "0"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "rimraf"; spec = "~2"; }
+      { name = "retry"; spec = "0.6.0"; }
+      { name = "couch-login"; spec = "~0.1.15"; }
+      { name = "npmlog"; spec = ""; }
+    ];
+    patchLatest = false;
+    sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
+    tarball = "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
+  }
+  {
+    name = "npm-user-validate";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "npmlog-0";
-    hash = "3214a04d9a54c588d2585b657c7068f9561dba34dd2323c4ac7ec98e69e3e9cd";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "818eca4312d13da648f9bc1d7f80bb4f151e0c2e";
+    tarball = "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.0.3.tgz";
+  }
+  {
+    name = "npm2nix";
+    spec = "*";
+    version = "3.0.3";
+    topLevel = true;
+    dependencies = [
+      { name = "semver"; spec = ">=2.0.10 <3.0.0"; }
+      { name = "argparse"; spec = "0.1.15"; }
+      { name = "npm-registry-client"; spec = "0.2.27"; }
+      { name = "npmconf"; spec = "0.1.1"; }
+      { name = "tar"; spec = "0.1.17"; }
+    ];
+    patchLatest = false;
+    sha1 = "425e47672a9088dbd00a325eda6b7b1e92a3190b";
+    tarball = "http://registry.npmjs.org/npm2nix/-/npm2nix-3.0.3.tgz";
+  }
+  {
+    name = "npmconf";
+    spec = "0.1.1";
+    version = "0.1.1";
     topLevel = false;
     dependencies = [
-      { name = "ansi"; range = "~0.1.2"; }
+      { name = "config-chain"; spec = "~1.1.1"; }
+      { name = "inherits"; spec = "~1.0.0"; }
+      { name = "once"; spec = "~1.1.1"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "osenv"; spec = "0.0.3"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "semver"; spec = "2"; }
+      { name = "ini"; spec = "~1.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
+    tarball = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
   }
   {
-    baseName = "nssocket";
-    version = "0.5.1";
-    fullName = "nssocket-~0.5.1";
-    hash = "aaf06b612cd99bf9e5790b2bf9b0f1963c2b605eaf3529b905c1fbdc1dee5333";
+    name = "npmconf";
+    spec = "~0.1.2";
+    version = "0.1.2";
+    topLevel = false;
+    dependencies = [
+      { name = "config-chain"; spec = "~1.1.1"; }
+      { name = "inherits"; spec = "~2.0.0"; }
+      { name = "once"; spec = "~1.1.1"; }
+      { name = "mkdirp"; spec = "~0.3.3"; }
+      { name = "osenv"; spec = "0.0.3"; }
+      { name = "nopt"; spec = "2"; }
+      { name = "semver"; spec = "2"; }
+      { name = "ini"; spec = "~1.1.0"; }
+    ];
     patchLatest = false;
+    sha1 = "99af8122f0067802436a5b71dbf8c3539697e62c";
+    tarball = "http://registry.npmjs.org/npmconf/-/npmconf-0.1.2.tgz";
+  }
+  {
+    name = "npmlog";
+    spec = "";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
-      { name = "eventemitter2"; range = "~0.4.11"; }
-      { name = "lazy"; range = "~1.0.11"; }
+      { name = "ansi"; spec = "~0.1.2"; }
     ];
+    patchLatest = false;
+    sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+    tarball = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
   }
   {
-    baseName = "oauth-sign";
-    version = "0.2.0";
-    fullName = "oauth-sign-~0.2.0";
-    hash = "ef91b4266c71c68478dd7c50767085210006ebfb9e9263c72d42f47972991580";
+    name = "npmlog";
+    spec = "0";
+    version = "0.0.4";
+    topLevel = false;
+    dependencies = [
+      { name = "ansi"; spec = "~0.1.2"; }
+    ];
     patchLatest = false;
+    sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+    tarball = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
+  }
+  {
+    name = "npmlog";
+    spec = "0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
+      { name = "ansi"; spec = "~0.1.2"; }
     ];
+    patchLatest = false;
+    sha1 = "a12a7418606b7e0183a2851d97a8729b9a0f3837";
+    tarball = "http://registry.npmjs.org/npmlog/-/npmlog-0.0.4.tgz";
   }
   {
-    baseName = "oauth-sign";
+    name = "nssocket";
+    spec = "~0.5.1";
+    version = "0.5.1";
+    topLevel = false;
+    dependencies = [
+      { name = "eventemitter2"; spec = "~0.4.11"; }
+      { name = "lazy"; spec = "~1.0.11"; }
+    ];
+    patchLatest = false;
+    sha1 = "11f0428335ad8d89ff9cf96ab2852a23b1b33b71";
+    tarball = "http://registry.npmjs.org/nssocket/-/nssocket-0.5.1.tgz";
+  }
+  {
+    name = "oauth-sign";
+    spec = "~0.2.0";
+    version = "0.2.0";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
+    tarball = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
+  }
+  {
+    name = "oauth-sign";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "oauth-sign-~0.3.0";
-    hash = "a202acb9ea84ef53e6a82a6ee5113328cd4bfd68d6ba04d15f1da933660b087e";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+    tarball = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+  }
+  {
+    name = "once";
+    spec = "1.1.1";
+    version = "1.1.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+    tarball = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
   }
   {
-    baseName = "once";
+    name = "once";
+    spec = "~1.1.1";
     version = "1.1.1";
-    fullName = "once-1.1.1";
-    hash = "3fdc1a246f2522991fd9a6554a93c012c3192ea99918fdd893a2d4f2d546fe93";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
+    tarball = "http://registry.npmjs.org/once/-/once-1.1.1.tgz";
+  }
+  {
+    name = "opener";
+    spec = "~1.3.0";
+    version = "1.3.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "130ba662213fa842edb4cd0361d31a15301a43e2";
+    tarball = "http://registry.npmjs.org/opener/-/opener-1.3.0.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "*";
     version = "0.6.0";
-    fullName = "optimist-*";
-    hash = "a75df1152906f1b66583c957cbffba34aaead644547d4a0300b713281279d4cf";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
-      { name = "minimist"; range = "~0.0.1"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
+      { name = "minimist"; spec = "~0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.2";
     version = "0.2.8";
-    fullName = "optimist-0.2";
-    hash = "5ee9f3bbd03239903831ccc33c6c365251550cbfd88d9fb92011feac4376cf84";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = ">=0.0.1 <0.1.0"; }
+      { name = "wordwrap"; spec = ">=0.0.1 <0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "e981ab7e268b457948593b55674c099a815cac31";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.3.5";
     version = "0.3.5";
-    fullName = "optimist-0.3.5";
-    hash = "a407715c9745c9242923f282a70d55947e21f5c4800c99b09d2eb6e48735a09d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "03654b52417030312d109f39b159825b60309304";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.3.5.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.3.x";
     version = "0.3.7";
-    fullName = "optimist-0.3.x";
-    hash = "ba534aa013072a9650a18da311de8025d73b58b71dcea7c7ade4d8e8f274dd33";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "0.4.0";
     version = "0.4.0";
-    fullName = "optimist-0.4.0";
-    hash = "bbbd3c9e8c1e8f59e7097271a78fa628c6dc76de894a02fc625872b72bc99555";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
+      { name = "wordwrap"; spec = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "cb8ec37f2fe3aa9864cb67a275250e7e19620a25";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.4.0.tgz";
   }
   {
-    baseName = "optimist";
+    name = "optimist";
+    spec = "~0.3.5";
     version = "0.3.7";
-    fullName = "optimist-~0.3.5";
-    hash = "ba534aa013072a9650a18da311de8025d73b58b71dcea7c7ade4d8e8f274dd33";
+    topLevel = false;
+    dependencies = [
+      { name = "wordwrap"; spec = "~0.0.2"; }
+    ];
     patchLatest = false;
+    sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+    tarball = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+  }
+  {
+    name = "options";
+    spec = ">=0.0.5";
+    version = "0.0.5";
     topLevel = false;
     dependencies = [
-      { name = "wordwrap"; range = "~0.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "9a3806378f316536d79038038ba90ccb724816c3";
+    tarball = "http://registry.npmjs.org/options/-/options-0.0.5.tgz";
   }
   {
-    baseName = "optparse";
+    name = "optparse";
+    spec = "*";
     version = "1.0.4";
-    fullName = "optparse-*";
-    hash = "8413ed6a2318ffecdb428181a6966013d1853ff62644afcbcff682c1efc9367a";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
+    tarball = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
   }
   {
-    baseName = "optparse";
+    name = "optparse";
+    spec = ">= 1.0.3";
     version = "1.0.4";
-    fullName = "optparse->= 1.0.3";
-    hash = "8413ed6a2318ffecdb428181a6966013d1853ff62644afcbcff682c1efc9367a";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "c062579d2d05d243c221a304a71e0c979623ccf1";
+    tarball = "http://registry.npmjs.org/optparse/-/optparse-1.0.4.tgz";
+  }
+  {
+    name = "osenv";
+    spec = "0";
+    version = "0.0.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+    tarball = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
   }
   {
-    baseName = "osenv";
+    name = "osenv";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "osenv-0";
-    hash = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
+    tarball = "http://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
+  }
+  {
+    name = "owl-deepcopy";
+    spec = "~0.0.1";
+    version = "0.0.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "056c40e1af73dff6e2c7afae983d2a7760fdff88";
+    tarball = "http://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.2.tgz";
   }
   {
-    baseName = "passport";
+    name = "passport";
+    spec = "*";
     version = "0.1.17";
-    fullName = "passport-*";
-    hash = "65c15a1666abc16a86d586233f40b89b68b50bf88107809878742973af8b516e";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "pause"; range = "0.0.1"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "pause"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+    tarball = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
   }
   {
-    baseName = "passport-local";
-    version = "0.1.6";
-    fullName = "passport-local-*";
-    hash = "de7dbe29a63fc648686425ba4ef23b99195372ae322037977864db08657e262d";
-    patchLatest = false;
-    topLevel = true;
+    name = "passport";
+    spec = "~0.1.1";
+    version = "0.1.17";
+    topLevel = false;
     dependencies = [
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "passport"; range = "~0.1.1"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "pause"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+    tarball = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
   }
   {
-    baseName = "passport";
+    name = "passport";
+    spec = "~0.1.3";
     version = "0.1.17";
-    fullName = "passport-~0.1.1";
-    hash = "65c15a1666abc16a86d586233f40b89b68b50bf88107809878742973af8b516e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "pause"; range = "0.0.1"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "pause"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "2cd503be0d35f33a9726d00ad2654786643a23fc";
+    tarball = "http://registry.npmjs.org/passport/-/passport-0.1.17.tgz";
   }
   {
-    baseName = "pause";
-    version = "0.0.1";
-    fullName = "pause-0.0.1";
-    hash = "d37b84046db0c28c9768be649e8f02bd991ede34b276b5dba7bade23b523235e";
+    name = "passport-http";
+    spec = "*";
+    version = "0.2.2";
+    topLevel = true;
+    dependencies = [
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "passport"; spec = "~0.1.3"; }
+    ];
     patchLatest = false;
+    sha1 = "2501314c0ff4a831e8a51ccfdb1b68f5c7cbc9f6";
+    tarball = "http://registry.npmjs.org/passport-http/-/passport-http-0.2.2.tgz";
+  }
+  {
+    name = "passport-local";
+    spec = "*";
+    version = "0.1.6";
+    topLevel = true;
+    dependencies = [
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "passport"; spec = "~0.1.1"; }
+    ];
+    patchLatest = false;
+    sha1 = "fb0cf828048db931b67d19985c7aa06dd377a9db";
+    tarball = "http://registry.npmjs.org/passport-local/-/passport-local-0.1.6.tgz";
+  }
+  {
+    name = "pause";
+    spec = "0.0.1";
+    version = "0.0.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+    tarball = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.2.x";
     version = "0.2.3";
-    fullName = "pkginfo-0.2.x";
-    hash = "0685c2cd94db8515a95b8127d1ab4e2a82d37deb4f808b41c9e0c033e34fe77f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.3.0";
     version = "0.3.0";
-    fullName = "pkginfo-0.3.0";
-    hash = "e55f5e0f767cabc55b638808736f952d6d74157938a87192106ce83c66a195a5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.3.x";
     version = "0.3.0";
-    fullName = "pkginfo-0.3.x";
-    hash = "e55f5e0f767cabc55b638808736f952d6d74157938a87192106ce83c66a195a5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
   }
   {
-    baseName = "pkginfo";
+    name = "pkginfo";
+    spec = "0.x.x";
     version = "0.3.0";
-    fullName = "pkginfo-0.x.x";
-    hash = "e55f5e0f767cabc55b638808736f952d6d74157938a87192106ce83c66a195a5";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+    tarball = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.0.tgz";
+  }
+  {
+    name = "policyfile";
+    spec = "0.0.4";
+    version = "0.0.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
+    tarball = "http://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
   }
   {
-    baseName = "posix-getopt";
+    name = "posix-getopt";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "posix-getopt-1.0.0";
-    hash = "134cea188854422ab047db9ebfcb7e2610f0a239fe27382b55c10894c4f5ba9d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "42a90eca6119014c78bc4b9b70463d294db1aa87";
+    tarball = "http://registry.npmjs.org/posix-getopt/-/posix-getopt-1.0.0.tgz";
   }
   {
-    baseName = "promise";
+    name = "promise";
+    spec = "~2.0";
     version = "2.0.0";
-    fullName = "promise-~2.0";
-    hash = "ccc3f345cd6facd0bcb0e599320e1da06b447ee573982b04f6b615a3da1ba7df";
+    topLevel = false;
+    dependencies = [
+      { name = "is-promise"; spec = "~1"; }
+    ];
     patchLatest = false;
+    sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
+    tarball = "http://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+  }
+  {
+    name = "prompt";
+    spec = "0.2.11";
+    version = "0.2.11";
     topLevel = false;
     dependencies = [
-      { name = "is-promise"; range = "~1"; }
+      { name = "pkginfo"; spec = "0.x.x"; }
+      { name = "read"; spec = "1.0.x"; }
+      { name = "revalidator"; spec = "0.1.x"; }
+      { name = "utile"; spec = "0.2.x"; }
+      { name = "winston"; spec = "0.6.x"; }
     ];
+    patchLatest = false;
+    sha1 = "26d455af4b7fac15291dfcdddf2400328c1fa446";
+    tarball = "http://registry.npmjs.org/prompt/-/prompt-0.2.11.tgz";
   }
   {
-    baseName = "prompt";
+    name = "prompt";
+    spec = "0.2.9";
     version = "0.2.9";
-    fullName = "prompt-0.2.9";
-    hash = "2444c21920d4169c51cae11fafed129c09df11f4bdda8e7ad76ea626a8828878";
+    topLevel = false;
+    dependencies = [
+      { name = "pkginfo"; spec = "0.x.x"; }
+      { name = "read"; spec = "1.0.x"; }
+      { name = "revalidator"; spec = "0.1.x"; }
+      { name = "utile"; spec = "0.1.x"; }
+      { name = "winston"; spec = "0.6.x"; }
+    ];
+    patchLatest = false;
+    sha1 = "fdd01e3f9654d0c44fbb8671f8d3f6ca009e3c16";
+    tarball = "http://registry.npmjs.org/prompt/-/prompt-0.2.9.tgz";
+  }
+  {
+    name = "promzard";
+    spec = "~0.2.0";
+    version = "0.2.0";
+    topLevel = false;
+    dependencies = [
+      { name = "read"; spec = "1"; }
+    ];
     patchLatest = false;
+    sha1 = "766f33807faadeeecacf8057024fe5f753cfa3c1";
+    tarball = "http://registry.npmjs.org/promzard/-/promzard-0.2.0.tgz";
+  }
+  {
+    name = "proto-list";
+    spec = "~1.2.1";
+    version = "1.2.2";
     topLevel = false;
     dependencies = [
-      { name = "pkginfo"; range = "0.x.x"; }
-      { name = "read"; range = "1.0.x"; }
-      { name = "revalidator"; range = "0.1.x"; }
-      { name = "utile"; range = "0.1.x"; }
-      { name = "winston"; range = "0.6.x"; }
     ];
+    patchLatest = false;
+    sha1 = "48b88798261ec2c4a785720cdfec6200d57d3326";
+    tarball = "http://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz";
   }
   {
-    baseName = "ps-tree";
+    name = "ps-tree";
+    spec = "0.0.x";
     version = "0.0.3";
-    fullName = "ps-tree-0.0.x";
-    hash = "d6af58e1062457f3aa92306c8eb970f32d2d52b93ecca4920c7409afd419a78d";
+    topLevel = false;
+    dependencies = [
+      { name = "event-stream"; spec = "~0.5"; }
+    ];
     patchLatest = false;
+    sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
+    tarball = "http://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
+  }
+  {
+    name = "q";
+    spec = ">= 0.0.1";
+    version = "0.9.6";
     topLevel = false;
     dependencies = [
-      { name = "event-stream"; range = "~0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "5884b2154bdb3b6d5765e0fafddcb1506e133619";
+    tarball = "http://registry.npmjs.org/q/-/q-0.9.6.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "0.5.1";
     version = "0.5.1";
-    fullName = "qs-0.5.1";
-    hash = "85bf27180b586499902d4e2bea83974b337924c870f6b790a23e6bfeb982c2e5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "0.5.5";
     version = "0.5.5";
-    fullName = "qs-0.5.5";
-    hash = "8ed820b83bf4aff299422dc406c7a52793e05f510803cc1cc2da7de1528837f1";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b07f0d7ffe3efc6fc2fcde6c66a20775641423f3";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.5.5.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "0.6.5";
     version = "0.6.5";
-    fullName = "qs-0.6.5";
-    hash = "293e5dfd16bfe0aee8b3fe130abb951ac9c8c084d1103f7d81c4e5c312b2940d";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "~0.5.4";
     version = "0.5.6";
-    fullName = "qs-~0.5.4";
-    hash = "3c7b49a51d52e5c8b988c2a53f8605d03a18d5e29b55b4f187c6a0fc714d00e9";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
   }
   {
-    baseName = "qs";
+    name = "qs";
+    spec = "~0.6.0";
     version = "0.6.5";
-    fullName = "qs-~0.6.0";
-    hash = "293e5dfd16bfe0aee8b3fe130abb951ac9c8c084d1103f7d81c4e5c312b2940d";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
+    tarball = "http://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
+  }
+  {
+    name = "rai";
+    spec = "~0.1";
+    version = "0.1.7";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "1b50f1dcb4a493a67ef7a0a8c72167d789df52a0";
+    tarball = "http://registry.npmjs.org/rai/-/rai-0.1.7.tgz";
   }
   {
-    baseName = "range-parser";
+    name = "range-parser";
+    spec = "0.0.4";
     version = "0.0.4";
-    fullName = "range-parser-0.0.4";
-    hash = "8e1bcce3544330b51644ea0cb4d25f0daa4b43008a75da27e285635f4ac4b1ce";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+    tarball = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
   }
   {
-    baseName = "rbytes";
-    version = "0.0.2";
-    fullName = "rbytes-*";
-    hash = "0fd4697be996ee12c65f8fb13b2edc7a554d22c31d1a344539bc611ce73b69aa";
+    name = "raw-socket";
+    spec = "*";
+    version = "1.2.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "586a3acba952922aff9e19ef3b9665aba1f6d152";
+    tarball = "http://registry.npmjs.org/raw-socket/-/raw-socket-1.2.0.tgz";
+  }
+  {
+    name = "rbytes";
+    spec = "*";
+    version = "1.0.0";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4eeb85c457f710d8147329d5eed5cd02c798fa4d";
+    tarball = "http://registry.npmjs.org/rbytes/-/rbytes-1.0.0.tgz";
   }
   {
-    baseName = "read";
-    version = "1.0.4";
-    fullName = "read-1.0.x";
-    hash = "8be269afeaa7cc62feb4672e8e61e5133152266dc5347b23cf5b05bc40789601";
+    name = "read";
+    spec = "1";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+      { name = "mute-stream"; spec = "~0.0.4"; }
+    ];
     patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+  }
+  {
+    name = "read";
+    spec = "1.0.x";
+    version = "1.0.5";
     topLevel = false;
     dependencies = [
-      { name = "mute-stream"; range = "~0.0.2"; }
+      { name = "mute-stream"; spec = "~0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+  }
+  {
+    name = "read";
+    spec = "~1.0.1";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+      { name = "mute-stream"; spec = "~0.0.4"; }
+    ];
+    patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
   }
   {
-    baseName = "readable-stream";
+    name = "read";
+    spec = "~1.0.4";
+    version = "1.0.5";
+    topLevel = false;
+    dependencies = [
+      { name = "mute-stream"; spec = "~0.0.4"; }
+    ];
+    patchLatest = false;
+    sha1 = "007a3d169478aa710a491727e453effb92e76203";
+    tarball = "http://registry.npmjs.org/read/-/read-1.0.5.tgz";
+  }
+  {
+    name = "read-installed";
+    spec = "~0.2.2";
+    version = "0.2.3";
+    topLevel = false;
+    dependencies = [
+      { name = "semver"; spec = "2"; }
+      { name = "slide"; spec = "~1.1.3"; }
+      { name = "read-package-json"; spec = "1"; }
+      { name = "graceful-fs"; spec = "~2"; }
+    ];
+    patchLatest = false;
+    sha1 = "234204b47f6a0eb82c662fc04f7b7c5f7e795239";
+    tarball = "http://registry.npmjs.org/read-installed/-/read-installed-0.2.3.tgz";
+  }
+  {
+    name = "read-package-json";
+    spec = "1";
+    version = "1.1.1";
+    topLevel = false;
+    dependencies = [
+      { name = "glob"; spec = "~3.2.1"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "normalize-package-data"; spec = "~0.2"; }
+      { name = "graceful-fs"; spec = "2"; }
+    ];
+    patchLatest = false;
+    sha1 = "5d679b34ddf53ac3bc232aeb421f6b6857f925e5";
+    tarball = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.1.tgz";
+  }
+  {
+    name = "read-package-json";
+    spec = "~1.1.0";
+    version = "1.1.1";
+    topLevel = false;
+    dependencies = [
+      { name = "glob"; spec = "~3.2.1"; }
+      { name = "lru-cache"; spec = "2"; }
+      { name = "normalize-package-data"; spec = "~0.2"; }
+      { name = "graceful-fs"; spec = "2"; }
+    ];
+    patchLatest = false;
+    sha1 = "5d679b34ddf53ac3bc232aeb421f6b6857f925e5";
+    tarball = "http://registry.npmjs.org/read-package-json/-/read-package-json-1.1.1.tgz";
+  }
+  {
+    name = "readable-stream";
+    spec = "1.0";
     version = "1.0.2";
-    fullName = "readable-stream-~1.0.2";
-    hash = "45a918b25f0799f87d7144dbbb7d2b5974dc079fcb1a2149a305d080f1155754";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "213ce36864fc1f0d4e98e03b9eb92c64042299d4";
+    tarball = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz";
+  }
+  {
+    name = "readable-stream";
+    spec = "~1.0.2";
+    version = "1.0.2";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "213ce36864fc1f0d4e98e03b9eb92c64042299d4";
+    tarball = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz";
   }
   {
-    baseName = "readdirp";
+    name = "readdirp";
+    spec = "~0.2.3";
     version = "0.2.5";
-    fullName = "readdirp-~0.2.3";
-    hash = "22d8e0e38c0d358c951221d0051d1e9e1eafeaf2136ac7fe0aa3bfd36238052c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "minimatch"; range = ">=0.2.4"; }
+      { name = "minimatch"; spec = ">=0.2.4"; }
     ];
+    patchLatest = false;
+    sha1 = "c4c276e52977ae25db5191fe51d008550f15d9bb";
+    tarball = "http://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz";
   }
   {
-    baseName = "redis";
+    name = "redis";
+    spec = "*";
     version = "0.8.4";
-    fullName = "redis-*";
-    hash = "077932b14c6b0a4985b7a41cf20e4495463c693c7b9932ebc46e0144918ff3c3";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "14609f26414e211c31e3cd07dc79b04bf9ff1980";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.8.4.tgz";
   }
   {
-    baseName = "redis";
+    name = "redis";
+    spec = "0.7.2";
     version = "0.7.2";
-    fullName = "redis-0.7.2";
-    hash = "d56d99e15dd35f6fabf545d9e91545553d60eaeb32ecf5caa1f357458df161ab";
+    topLevel = false;
+    dependencies = [
+      { name = "hiredis"; spec = "*"; }
+    ];
     patchLatest = false;
+    sha1 = "fa557fef4985ab3e3384fdc5be6e2541a0bb49af";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.7.2.tgz";
+  }
+  {
+    name = "redis";
+    spec = "0.7.3";
+    version = "0.7.3";
     topLevel = false;
     dependencies = [
-      { name = "hiredis"; range = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "ee57b7a44d25ec1594e44365d8165fa7d1d4811a";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
   }
   {
-    baseName = "redis";
+    name = "redis";
+    spec = ">= 0.6.6";
     version = "0.8.4";
-    fullName = "redis->= 0.6.6";
-    hash = "077932b14c6b0a4985b7a41cf20e4495463c693c7b9932ebc46e0144918ff3c3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "14609f26414e211c31e3cd07dc79b04bf9ff1980";
+    tarball = "http://registry.npmjs.org/redis/-/redis-0.8.4.tgz";
   }
   {
-    baseName = "reds";
+    name = "reds";
+    spec = "0.1.4";
     version = "0.1.4";
-    fullName = "reds-0.1.4";
-    hash = "3166c2f0f82efc624dac4e9058bc0ffa3bb864499785a746c461b813b90640ac";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "natural"; range = "0.0.69"; }
-      { name = "redis"; range = ">= 0.6.6"; }
+      { name = "natural"; spec = "0.0.69"; }
+      { name = "redis"; spec = ">= 0.6.6"; }
     ];
+    patchLatest = false;
+    sha1 = "a97819180c30f6ecd01cad03cecb574eaabb4bee";
+    tarball = "http://registry.npmjs.org/reds/-/reds-0.1.4.tgz";
   }
   {
-    baseName = "regexp-clone";
+    name = "regexp-clone";
+    spec = "0.0.1";
     version = "0.0.1";
-    fullName = "regexp-clone-0.0.1";
-    hash = "e11276212cce9fa15aa07276b800f750ec7d9c25e76ace7cf07f3e713d6d79e0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
+    tarball = "http://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
+  }
+  {
+    name = "request";
+    spec = "2";
+    version = "2.25.0";
     topLevel = false;
     dependencies = [
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
   }
   {
-    baseName = "request";
-    version = "2.21.0";
-    fullName = "request-2";
-    hash = "fe31c3119bc4423f07aa7c9849cb642d5ad22bdf2a2700eab56fb83fa8ed429c";
+    name = "request";
+    spec = "2 >=2.14";
+    version = "2.25.0";
+    topLevel = false;
+    dependencies = [
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
+    ];
     patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
+  }
+  {
+    name = "request";
+    spec = "2 >=2.20.0";
+    version = "2.25.0";
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "~0.6.0"; }
-      { name = "json-stringify-safe"; range = "~4.0.0"; }
-      { name = "forever-agent"; range = "~0.5.0"; }
-      { name = "tunnel-agent"; range = "~0.3.0"; }
-      { name = "http-signature"; range = "~0.9.11"; }
-      { name = "hawk"; range = "~0.13.0"; }
-      { name = "aws-sign"; range = "~0.3.0"; }
-      { name = "oauth-sign"; range = "~0.3.0"; }
-      { name = "cookie-jar"; range = "~0.3.0"; }
-      { name = "node-uuid"; range = "~1.4.0"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "form-data"; range = "0.0.8"; }
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
   }
   {
-    baseName = "request";
+    name = "request";
+    spec = "2.16.x";
     version = "2.16.6";
-    fullName = "request-2.16.x";
-    hash = "9424cb952b4c5723678d0c5a6daf3ea6fa76ccad4cbd175f0a489dc54c6e1453";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "form-data"; range = "~0.0.3"; }
-      { name = "mime"; range = "~1.2.7"; }
-      { name = "hawk"; range = "~0.10.2"; }
-      { name = "node-uuid"; range = "~1.4.0"; }
-      { name = "cookie-jar"; range = "~0.2.0"; }
-      { name = "aws-sign"; range = "~0.2.0"; }
-      { name = "oauth-sign"; range = "~0.2.0"; }
-      { name = "forever-agent"; range = "~0.2.0"; }
-      { name = "tunnel-agent"; range = "~0.2.0"; }
-      { name = "json-stringify-safe"; range = "~3.0.0"; }
-      { name = "qs"; range = "~0.5.4"; }
+      { name = "form-data"; spec = "~0.0.3"; }
+      { name = "mime"; spec = "~1.2.7"; }
+      { name = "hawk"; spec = "~0.10.2"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "cookie-jar"; spec = "~0.2.0"; }
+      { name = "aws-sign"; spec = "~0.2.0"; }
+      { name = "oauth-sign"; spec = "~0.2.0"; }
+      { name = "forever-agent"; spec = "~0.2.0"; }
+      { name = "tunnel-agent"; spec = "~0.2.0"; }
+      { name = "json-stringify-safe"; spec = "~3.0.0"; }
+      { name = "qs"; spec = "~0.5.4"; }
     ];
+    patchLatest = false;
+    sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
+    tarball = "http://registry.npmjs.org/request/-/request-2.16.6.tgz";
   }
   {
-    baseName = "request";
+    name = "request";
+    spec = "2.9.x";
     version = "2.9.203";
-    fullName = "request-2.9.x";
-    hash = "2af8f83a63c7227383fbdd6114e470e0921af86a037c4e82f42883120f35f836";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "6c1711a5407fb94a114219563e44145bcbf4723a";
+    tarball = "http://registry.npmjs.org/request/-/request-2.9.203.tgz";
+  }
+  {
+    name = "request";
+    spec = "~2";
+    version = "2.25.0";
     topLevel = false;
     dependencies = [
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~5.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.10.0"; }
+      { name = "hawk"; spec = "~1.0.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "~0.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "dac1673181887fe0b2ce6bd7e12f46d554a02ce9";
+    tarball = "http://registry.npmjs.org/request/-/request-2.25.0.tgz";
   }
   {
-    baseName = "request";
+    name = "request";
+    spec = "~2.21.0";
     version = "2.21.0";
-    fullName = "request-~2";
-    hash = "fe31c3119bc4423f07aa7c9849cb642d5ad22bdf2a2700eab56fb83fa8ed429c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "~0.6.0"; }
-      { name = "json-stringify-safe"; range = "~4.0.0"; }
-      { name = "forever-agent"; range = "~0.5.0"; }
-      { name = "tunnel-agent"; range = "~0.3.0"; }
-      { name = "http-signature"; range = "~0.9.11"; }
-      { name = "hawk"; range = "~0.13.0"; }
-      { name = "aws-sign"; range = "~0.3.0"; }
-      { name = "oauth-sign"; range = "~0.3.0"; }
-      { name = "cookie-jar"; range = "~0.3.0"; }
-      { name = "node-uuid"; range = "~1.4.0"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "form-data"; range = "0.0.8"; }
+      { name = "qs"; spec = "~0.6.0"; }
+      { name = "json-stringify-safe"; spec = "~4.0.0"; }
+      { name = "forever-agent"; spec = "~0.5.0"; }
+      { name = "tunnel-agent"; spec = "~0.3.0"; }
+      { name = "http-signature"; spec = "~0.9.11"; }
+      { name = "hawk"; spec = "~0.13.0"; }
+      { name = "aws-sign"; spec = "~0.3.0"; }
+      { name = "oauth-sign"; spec = "~0.3.0"; }
+      { name = "cookie-jar"; spec = "~0.3.0"; }
+      { name = "node-uuid"; spec = "~1.4.0"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "form-data"; spec = "0.0.8"; }
     ];
+    patchLatest = false;
+    sha1 = "5728ab9c45e5a87c99daccd530298b6673a868d7";
+    tarball = "http://registry.npmjs.org/request/-/request-2.21.0.tgz";
   }
   {
-    baseName = "restify";
+    name = "restify";
+    spec = "2.4.1";
     version = "2.4.1";
-    fullName = "restify-2.4.1";
-    hash = "b46ed86ef17f1896a4dd961de8cc8ec96b57b7f44ef7421f3804764289f5b563";
+    topLevel = false;
+    dependencies = [
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "backoff"; spec = "2.1.0"; }
+      { name = "bunyan"; spec = "0.21.1"; }
+      { name = "deep-equal"; spec = "0.0.0"; }
+      { name = "formidable"; spec = "1.0.13"; }
+      { name = "http-signature"; spec = "0.9.11"; }
+      { name = "keep-alive-agent"; spec = "0.0.1"; }
+      { name = "lru-cache"; spec = "2.3.0"; }
+      { name = "mime"; spec = "1.2.9"; }
+      { name = "negotiator"; spec = "0.2.5"; }
+      { name = "node-uuid"; spec = "1.4.0"; }
+      { name = "once"; spec = "1.1.1"; }
+      { name = "qs"; spec = "0.5.5"; }
+      { name = "semver"; spec = "1.1.4"; }
+      { name = "spdy"; spec = "1.7.1"; }
+      { name = "verror"; spec = "1.3.6"; }
+      { name = "dtrace-provider"; spec = "0.2.8"; }
+    ];
+    patchLatest = false;
+    sha1 = "35790a052bd0927e7f6a06cc3d079e56fabc9371";
+    tarball = "http://registry.npmjs.org/restify/-/restify-2.4.1.tgz";
+  }
+  {
+    name = "retry";
+    spec = "0.6.0";
+    version = "0.6.0";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+    tarball = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
+  }
+  {
+    name = "retry";
+    spec = "~0.6.0";
+    version = "0.6.0";
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "backoff"; range = "2.1.0"; }
-      { name = "bunyan"; range = "0.21.1"; }
-      { name = "deep-equal"; range = "0.0.0"; }
-      { name = "formidable"; range = "1.0.13"; }
-      { name = "http-signature"; range = "0.9.11"; }
-      { name = "keep-alive-agent"; range = "0.0.1"; }
-      { name = "lru-cache"; range = "2.3.0"; }
-      { name = "mime"; range = "1.2.9"; }
-      { name = "negotiator"; range = "0.2.5"; }
-      { name = "node-uuid"; range = "1.4.0"; }
-      { name = "once"; range = "1.1.1"; }
-      { name = "qs"; range = "0.5.5"; }
-      { name = "semver"; range = "1.1.4"; }
-      { name = "spdy"; range = "1.7.1"; }
-      { name = "verror"; range = "1.3.6"; }
-      { name = "dtrace-provider"; range = "0.2.8"; }
     ];
+    patchLatest = false;
+    sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
+    tarball = "http://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
   }
   {
-    baseName = "revalidator";
+    name = "revalidator";
+    spec = "0.1.x";
     version = "0.1.5";
-    fullName = "revalidator-0.1.x";
-    hash = "54938a414b54882f9459e93b9bfd5d267c41985c1191a9a913c713e369ec639e";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "205bc02e4186e63e82a0837498f29ba287be3861";
+    tarball = "http://registry.npmjs.org/revalidator/-/revalidator-0.1.5.tgz";
   }
   {
-    baseName = "rimraf";
+    name = "rimraf";
+    spec = "1.x.x";
     version = "1.0.9";
-    fullName = "rimraf-1.x.x";
-    hash = "3ef93e5f75d1fc4778b8f5409e07c72510ee2f86c926abe4e9acff9825f14c5b";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "be4801ff76c2ba6f1c50c78e9700eb1d21f239f1";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
+  }
+  {
+    name = "rimraf";
+    spec = "2";
+    version = "2.2.2";
     topLevel = false;
     dependencies = [
+      { name = "graceful-fs"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
   }
   {
-    baseName = "rimraf";
-    version = "2.2.0";
-    fullName = "rimraf-2";
-    hash = "4d250a91e5da8f0e839647149268d3682c868a65e920477ff5baae26591ebeb2";
+    name = "rimraf";
+    spec = "2.x.x";
+    version = "2.2.2";
+    topLevel = false;
+    dependencies = [
+      { name = "graceful-fs"; spec = "~2"; }
+    ];
     patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
+  }
+  {
+    name = "rimraf";
+    spec = "~2";
+    version = "2.2.2";
     topLevel = false;
     dependencies = [
-      { name = "graceful-fs"; range = "~1"; }
+      { name = "graceful-fs"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
   }
   {
-    baseName = "rimraf";
+    name = "rimraf";
+    spec = "~2.1.4";
     version = "2.1.4";
-    fullName = "rimraf-~2.1.4";
-    hash = "093154365aab3c09aea8e83dda7c5a7fd785c787ebbf1fcdc415cb5f74d1acac";
+    topLevel = false;
+    dependencies = [
+      { name = "graceful-fs"; spec = "~1"; }
+    ];
     patchLatest = false;
+    sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
+  }
+  {
+    name = "rimraf";
+    spec = "~2.2.0";
+    version = "2.2.2";
     topLevel = false;
     dependencies = [
-      { name = "graceful-fs"; range = "~1"; }
+      { name = "graceful-fs"; spec = "~2"; }
     ];
+    patchLatest = false;
+    sha1 = "d99ec41dc646e55bf7a7a44a255c28bef33a8abf";
+    tarball = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.2.tgz";
   }
   {
-    baseName = "s3http";
+    name = "runforcover";
+    spec = "~0.0.2";
     version = "0.0.2";
-    fullName = "s3http-*";
-    hash = "03cbaa20c8920371c94333d6424c3d3b09824d1c6e30a9e1567805f53d1cd16d";
+    topLevel = false;
+    dependencies = [
+      { name = "bunker"; spec = "0.1.X"; }
+    ];
     patchLatest = false;
+    sha1 = "344f057d8d45d33aebc6cc82204678f69c4857cc";
+    tarball = "http://registry.npmjs.org/runforcover/-/runforcover-0.0.2.tgz";
+  }
+  {
+    name = "s3http";
+    spec = "*";
+    version = "0.0.2";
     topLevel = true;
     dependencies = [
-      { name = "aws-sdk"; range = ">=1.2.0 <2"; }
-      { name = "commander"; range = "0.5.1"; }
-      { name = "http-auth"; range = "1.2.7"; }
+      { name = "aws-sdk"; spec = ">=1.2.0 <2"; }
+      { name = "commander"; spec = "0.5.1"; }
+      { name = "http-auth"; spec = "1.2.7"; }
     ];
+    patchLatest = false;
+    sha1 = "e0c8bdee66981c6ddef2dfc41bb1fe51765984e5";
+    tarball = "http://registry.npmjs.org/s3http/-/s3http-0.0.2.tgz";
   }
   {
-    baseName = "sax";
+    name = "sax";
+    spec = "0.5.x";
     version = "0.5.4";
-    fullName = "sax-0.5.x";
-    hash = "5c4f074b559f56a7170663142e4ccbcf8cbef229ad7eb787b6c6e0b79ddb936a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "a3a4e1a9cf182bb547156c5232a49a1c3732ff7d";
+    tarball = "http://registry.npmjs.org/sax/-/sax-0.5.4.tgz";
   }
   {
-    baseName = "sax";
+    name = "sax";
+    spec = ">=0.4.2";
     version = "0.5.4";
-    fullName = "sax->=0.4.2";
-    hash = "5c4f074b559f56a7170663142e4ccbcf8cbef229ad7eb787b6c6e0b79ddb936a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "a3a4e1a9cf182bb547156c5232a49a1c3732ff7d";
+    tarball = "http://registry.npmjs.org/sax/-/sax-0.5.4.tgz";
   }
   {
-    baseName = "semver";
-    version = "2.0.8";
-    fullName = "semver-*";
-    hash = "7eefaea9185bc43025725a55179425f04abc80c33f9d90b10385e0bf54710876";
-    patchLatest = false;
+    name = "semver";
+    spec = "*";
+    version = "2.0.11";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "semver";
-    version = "1.1.4";
-    fullName = "semver-1";
-    hash = "59c0180521d0d4cee57caa5f6ef190500b04099bfa5786edb3e21e364ae8e989";
-    patchLatest = false;
+    name = "semver";
+    spec = "1.1.0";
+    version = "1.1.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
+    tarball = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
   }
   {
-    baseName = "semver";
+    name = "semver";
+    spec = "1.1.4";
     version = "1.1.4";
-    fullName = "semver-1.1.4";
-    hash = "59c0180521d0d4cee57caa5f6ef190500b04099bfa5786edb3e21e364ae8e989";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
+    tarball = "http://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
+  }
+  {
+    name = "semver";
+    spec = "2";
+    version = "2.0.11";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "semver";
-    version = "2.0.8";
-    fullName = "semver-~2.0.7";
-    hash = "7eefaea9185bc43025725a55179425f04abc80c33f9d90b10385e0bf54710876";
+    name = "semver";
+    spec = "2.x";
+    version = "2.0.11";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+  }
+  {
+    name = "semver";
+    spec = ">=2.0.10 <3.0.0";
+    version = "2.0.11";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "send";
-    version = "0.1.1";
-    fullName = "send-*";
-    hash = "4d237af8bc86148952d0577bed44bd41928a4422c9a6e25e45fc35103aa6e872";
+    name = "semver";
+    spec = "~2.0.5";
+    version = "2.0.11";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+  }
+  {
+    name = "semver";
+    spec = "~2.0.7";
+    version = "2.0.11";
     topLevel = false;
     dependencies = [
-      { name = "debug"; range = "*"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "range-parser"; range = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
   }
   {
-    baseName = "send";
-    version = "0.1.0";
-    fullName = "send-0.1.0";
-    hash = "28b5a6ec41b5072521eb792cc901b92cdbb6b743c578d7008727dbbd3eb717de";
+    name = "semver";
+    spec = "~2.0.8";
+    version = "2.0.11";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
+    tarball = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+  }
+  {
+    name = "send";
+    spec = "*";
+    version = "0.1.3";
     topLevel = false;
     dependencies = [
-      { name = "debug"; range = "*"; }
-      { name = "mime"; range = "1.2.6"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "range-parser"; range = "0.0.4"; }
+      { name = "debug"; spec = "*"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "a7875daa6802d31e2ce32fdad98d3664c51ecea3";
+    tarball = "http://registry.npmjs.org/send/-/send-0.1.3.tgz";
   }
   {
-    baseName = "send";
-    version = "0.1.1";
-    fullName = "send-0.1.1";
-    hash = "4d237af8bc86148952d0577bed44bd41928a4422c9a6e25e45fc35103aa6e872";
+    name = "send";
+    spec = "0.1.0";
+    version = "0.1.0";
+    topLevel = false;
+    dependencies = [
+      { name = "debug"; spec = "*"; }
+      { name = "mime"; spec = "1.2.6"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
+    ];
     patchLatest = false;
+    sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+    tarball = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
+  }
+  {
+    name = "send";
+    spec = "0.1.3";
+    version = "0.1.3";
     topLevel = false;
     dependencies = [
-      { name = "debug"; range = "*"; }
-      { name = "mime"; range = "~1.2.9"; }
-      { name = "fresh"; range = "0.1.0"; }
-      { name = "range-parser"; range = "0.0.4"; }
+      { name = "debug"; spec = "*"; }
+      { name = "mime"; spec = "~1.2.9"; }
+      { name = "fresh"; spec = "0.1.0"; }
+      { name = "range-parser"; spec = "0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "a7875daa6802d31e2ce32fdad98d3664c51ecea3";
+    tarball = "http://registry.npmjs.org/send/-/send-0.1.3.tgz";
   }
   {
-    baseName = "sequence";
+    name = "sequence";
+    spec = ">= 2.2.1";
     version = "2.2.1";
-    fullName = "sequence->= 2.2.1";
-    hash = "f14e1262b6a234acc3f50fdd5bd28c02f0cc8cbf882922b5af994babf4206b62";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "7f5617895d44351c0a047e764467690490a16b03";
+    tarball = "http://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
+  }
+  {
+    name = "sha";
+    spec = "~1.2.1";
+    version = "1.2.1";
     topLevel = false;
     dependencies = [
+      { name = "graceful-fs"; spec = "2"; }
+      { name = "readable-stream"; spec = "1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "30bd5f770852fa6ac2b110ab3698fd4840f7f1cd";
+    tarball = "http://registry.npmjs.org/sha/-/sha-1.2.1.tgz";
   }
   {
-    baseName = "shelljs";
+    name = "shelljs";
+    spec = "0.1.x";
     version = "0.1.4";
-    fullName = "shelljs-0.1.x";
-    hash = "21a6f3dc5eaeb1c10efbe62e31aeb6762241f707fb1fdcda4766c8bccde3eaf0";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "dfbbe78d56c3c0168d2fb79e10ecd1dbcb07ec0e";
+    tarball = "http://registry.npmjs.org/shelljs/-/shelljs-0.1.4.tgz";
   }
   {
-    baseName = "should";
+    name = "should";
+    spec = "*";
     version = "1.2.2";
-    fullName = "should-*";
-    hash = "af7916b687bf54b95bd8ff2837f430ab2758f1db22b5cde5b4ae30dac472f330";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "0f03f775066d9ea2632690c917b12824fcc1d582";
+    tarball = "http://registry.npmjs.org/should/-/should-1.2.2.tgz";
   }
   {
-    baseName = "sigmund";
+    name = "sigmund";
+    spec = "~1.0.0";
     version = "1.0.0";
-    fullName = "sigmund-~1.0.0";
-    hash = "ddf823295db284ac4720b9d40f381d7375dc0b05881b98269346b33fe9835e25";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "66a2b3a749ae8b5fb89efd4fcc01dc94fbe02296";
+    tarball = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz";
+  }
+  {
+    name = "simplesmtp";
+    spec = ">= 0.1.22";
+    version = "0.3.4";
     topLevel = false;
     dependencies = [
+      { name = "rai"; spec = "~0.1"; }
+      { name = "xoauth2"; spec = "~0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "fe8bfe63c2f96e0bbe54bd373a0dc0d09b594133";
+    tarball = "http://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.4.tgz";
   }
   {
-    baseName = "sliced";
+    name = "sliced";
+    spec = "0.0.3";
     version = "0.0.3";
-    fullName = "sliced-0.0.3";
-    hash = "ce5765e669217d4c9500d79d6ffaf8d22b6507e826fd1dc0bb05bb746ab6227c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
+    tarball = "http://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
   }
   {
-    baseName = "sliced";
+    name = "sliced";
+    spec = "0.0.4";
     version = "0.0.4";
-    fullName = "sliced-0.0.4";
-    hash = "b9320aec8a9c5796d34b4c95b1289912548fcc8682fe9fed09749847b7dc0d85";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
+    tarball = "http://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
+  }
+  {
+    name = "slide";
+    spec = "*";
+    version = "1.1.4";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2b23f1949b369ed61d22bd6570ff0320302fc8df";
+    tarball = "http://registry.npmjs.org/slide/-/slide-1.1.4.tgz";
   }
   {
-    baseName = "smartdc";
-    version = "7.0.0";
-    fullName = "smartdc-*";
-    hash = "add769b05ecef4ea657d7bc473d96ee3e67b8ad8bc77077120bd5ae1efe94911";
+    name = "slide";
+    spec = "~1.1.3";
+    version = "1.1.4";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "2b23f1949b369ed61d22bd6570ff0320302fc8df";
+    tarball = "http://registry.npmjs.org/slide/-/slide-1.1.4.tgz";
+  }
+  {
+    name = "slide";
+    spec = "~1.1.4";
+    version = "1.1.4";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "2b23f1949b369ed61d22bd6570ff0320302fc8df";
+    tarball = "http://registry.npmjs.org/slide/-/slide-1.1.4.tgz";
+  }
+  {
+    name = "smartdc";
+    spec = "*";
+    version = "7.0.0";
     topLevel = true;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "lru-cache"; range = "2.2.0"; }
-      { name = "nopt"; range = "2.0.0"; }
-      { name = "restify"; range = "2.4.1"; }
-      { name = "bunyan"; range = "0.21.1"; }
-      { name = "clone"; range = "0.1.6"; }
-      { name = "smartdc-auth"; range = "1.0.0"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "lru-cache"; spec = "2.2.0"; }
+      { name = "nopt"; spec = "2.0.0"; }
+      { name = "restify"; spec = "2.4.1"; }
+      { name = "bunyan"; spec = "0.21.1"; }
+      { name = "clone"; spec = "0.1.6"; }
+      { name = "smartdc-auth"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "367ce274e10e3400e19ec62697f9b5ecb3f25c39";
+    tarball = "http://registry.npmjs.org/smartdc/-/smartdc-7.0.0.tgz";
   }
   {
-    baseName = "smartdc-auth";
+    name = "smartdc-auth";
+    spec = "1.0.0";
     version = "1.0.0";
-    fullName = "smartdc-auth-1.0.0";
-    hash = "7611510ac66507398f6e371b25068c7ad193ecd69a3031fdfca0e3c652cfdcbf";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "assert-plus"; range = "0.1.2"; }
-      { name = "clone"; range = "0.1.5"; }
-      { name = "ssh-agent"; range = "0.2.1"; }
-      { name = "once"; range = "1.1.1"; }
-      { name = "vasync"; range = "1.3.3"; }
+      { name = "assert-plus"; spec = "0.1.2"; }
+      { name = "clone"; spec = "0.1.5"; }
+      { name = "ssh-agent"; spec = "0.2.1"; }
+      { name = "once"; spec = "1.1.1"; }
+      { name = "vasync"; spec = "1.3.3"; }
     ];
+    patchLatest = false;
+    sha1 = "9b8569b914f25da53816fe158f80b6571470f270";
+    tarball = "http://registry.npmjs.org/smartdc-auth/-/smartdc-auth-1.0.0.tgz";
   }
   {
-    baseName = "sntp";
+    name = "sntp";
+    spec = "0.1.x";
     version = "0.1.4";
-    fullName = "sntp-0.1.x";
-    hash = "5fc290630e8a4599dfb1ee4ed67fdc3c94fc97c6c0cbbc188691669ff55dcb4f";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.7.x"; }
+      { name = "hoek"; spec = "0.7.x"; }
     ];
+    patchLatest = false;
+    sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
+    tarball = "http://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
   }
   {
-    baseName = "sntp";
+    name = "sntp";
+    spec = "0.2.x";
     version = "0.2.4";
-    fullName = "sntp-0.2.x";
-    hash = "1f91a8d60fd48751e4b169885f530012ce2a8223ed29006abcee175f2b10d779";
+    topLevel = false;
+    dependencies = [
+      { name = "hoek"; spec = "0.9.x"; }
+    ];
     patchLatest = false;
+    sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+    tarball = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+  }
+  {
+    name = "socket.io";
+    spec = "0.9.14";
+    version = "0.9.14";
     topLevel = false;
     dependencies = [
-      { name = "hoek"; range = "0.9.x"; }
+      { name = "socket.io-client"; spec = "0.9.11"; }
+      { name = "policyfile"; spec = "0.0.4"; }
+      { name = "base64id"; spec = "0.1.0"; }
+      { name = "redis"; spec = "0.7.3"; }
     ];
+    patchLatest = false;
+    sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
+    tarball = "http://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
   }
   {
-    baseName = "sockjs";
-    version = "0.3.7";
-    fullName = "sockjs-*";
-    hash = "711a6c41e6a7b2a9cd0dc44abc7407f09729d400be450d94887391997b07a1a5";
+    name = "socket.io-client";
+    spec = "0.9.11";
+    version = "0.9.11";
+    topLevel = false;
+    dependencies = [
+      { name = "uglify-js"; spec = "1.2.5"; }
+      { name = "ws"; spec = "0.4.x"; }
+      { name = "xmlhttprequest"; spec = "1.4.2"; }
+      { name = "active-x-obfuscator"; spec = "0.0.1"; }
+    ];
     patchLatest = false;
+    sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
+    tarball = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
+  }
+  {
+    name = "sockjs";
+    spec = "*";
+    version = "0.3.7";
     topLevel = true;
     dependencies = [
-      { name = "node-uuid"; range = "1.3.3"; }
-      { name = "faye-websocket"; range = "0.4.4"; }
+      { name = "node-uuid"; spec = "1.3.3"; }
+      { name = "faye-websocket"; spec = "0.4.4"; }
     ];
+    patchLatest = false;
+    sha1 = "2950e0586d8a9d3044958a831ade68db197749cb";
+    tarball = "http://registry.npmjs.org/sockjs/-/sockjs-0.3.7.tgz";
   }
   {
-    baseName = "source-map";
-    version = "0.1.25";
-    fullName = "source-map-*";
-    hash = "3ef1ff114aa3504871ad8b16a38ac744b293c6d8f37b0b6e673b44592a08626d";
-    patchLatest = false;
+    name = "source-map";
+    spec = "*";
+    version = "0.1.27";
     topLevel = true;
     dependencies = [
-      { name = "amdefine"; range = ">=0.0.4"; }
+      { name = "amdefine"; spec = ">=0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "f114e06a8b5c05cbc51aa1fa600e728162455eda";
+    tarball = "http://registry.npmjs.org/source-map/-/source-map-0.1.27.tgz";
   }
   {
-    baseName = "source-map";
-    version = "0.1.25";
-    fullName = "source-map-~0.1.7";
-    hash = "3ef1ff114aa3504871ad8b16a38ac744b293c6d8f37b0b6e673b44592a08626d";
-    patchLatest = false;
+    name = "source-map";
+    spec = "~0.1.7";
+    version = "0.1.27";
     topLevel = false;
     dependencies = [
-      { name = "amdefine"; range = ">=0.0.4"; }
+      { name = "amdefine"; spec = ">=0.0.4"; }
     ];
+    patchLatest = false;
+    sha1 = "f114e06a8b5c05cbc51aa1fa600e728162455eda";
+    tarball = "http://registry.npmjs.org/source-map/-/source-map-0.1.27.tgz";
   }
   {
-    baseName = "spdy";
+    name = "spdy";
+    spec = "1.7.1";
     version = "1.7.1";
-    fullName = "spdy-1.7.1";
-    hash = "d90516bb6b6cf39fb52face8ec332be98de116ce84d7d400fbb19529a30fa678";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "4fde77e602b20c4ecc39ee8619373dd9bf669152";
+    tarball = "http://registry.npmjs.org/spdy/-/spdy-1.7.1.tgz";
   }
   {
-    baseName = "ssh-agent";
+    name = "ssh-agent";
+    spec = "0.2.1";
     version = "0.2.1";
-    fullName = "ssh-agent-0.2.1";
-    hash = "b420d5816d4a8a242a8d1454f064954eab8fec9856310e867a2e7f1b2432f934";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "ctype"; range = "0.5.0"; }
-      { name = "posix-getopt"; range = "1.0.0"; }
+      { name = "ctype"; spec = "0.5.0"; }
+      { name = "posix-getopt"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "3044e9eaeca88a9e6971dd7deb19bdcc20012929";
+    tarball = "http://registry.npmjs.org/ssh-agent/-/ssh-agent-0.2.1.tgz";
   }
   {
-    baseName = "stack-trace";
-    version = "0.0.6";
-    fullName = "stack-trace-0.0.x";
-    hash = "398b3307d34c25b9249049229cd4a340ce8587dc3e3ab5cec830af19031c10a4";
-    patchLatest = false;
+    name = "stack-trace";
+    spec = "0.0.x";
+    version = "0.0.7";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
+    tarball = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
   }
   {
-    baseName = "stream-counter";
+    name = "stream-counter";
+    spec = "~0.1.0";
     version = "0.1.0";
-    fullName = "stream-counter-~0.1.0";
-    hash = "8c51bd894bf905ec607654a1d7d3fe4fdc4763ccec4d37723cb8d0a0fd7cb69c";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "readable-stream"; range = "~1.0.2"; }
+      { name = "readable-stream"; spec = "~1.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "a035e429361fb57f361606e17fcd8a8b9677327b";
+    tarball = "http://registry.npmjs.org/stream-counter/-/stream-counter-0.1.0.tgz";
   }
   {
-    baseName = "stream-splitter-transform";
+    name = "stream-splitter-transform";
+    spec = "*";
     version = "0.0.3";
-    fullName = "stream-splitter-transform-*";
-    hash = "613ca5994f2fe645cbb21dcac24f034ed8546d6cc49097d8ee0b4501e6d9a887";
+    topLevel = true;
+    dependencies = [
+      { name = "buffertools"; spec = ">=1.1.1 <2.0.0"; }
+    ];
     patchLatest = false;
+    sha1 = "5ccd3bd497ffee4c2fc7c1cc9d7b697b54c42eef";
+    tarball = "http://registry.npmjs.org/stream-splitter-transform/-/stream-splitter-transform-0.0.3.tgz";
+  }
+  {
+    name = "stylus";
+    spec = "*";
+    version = "0.34.1";
     topLevel = true;
     dependencies = [
-      { name = "buffertools"; range = ">=1.1.1 <2.0.0"; }
+      { name = "cssom"; spec = "0.2.x"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "937d8502a3be4e617d5ad493f204c70a93d95b14";
+    tarball = "http://registry.npmjs.org/stylus/-/stylus-0.34.1.tgz";
   }
   {
-    baseName = "stylus";
+    name = "stylus";
+    spec = "0.27.2";
     version = "0.27.2";
-    fullName = "stylus-0.27.2";
-    hash = "8e18cc51592e04e42096e324d3409a132dbb3b40b0a606a746c4c57268bb63ea";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "cssom"; range = "0.2.x"; }
-      { name = "mkdirp"; range = "0.3.x"; }
-      { name = "debug"; range = "*"; }
+      { name = "cssom"; spec = "0.2.x"; }
+      { name = "mkdirp"; spec = "0.3.x"; }
+      { name = "debug"; spec = "*"; }
     ];
+    patchLatest = false;
+    sha1 = "1121f7f8cd152b0f8a4aa6a24a9adea10c825117";
+    tarball = "http://registry.npmjs.org/stylus/-/stylus-0.27.2.tgz";
   }
   {
-    baseName = "superagent";
+    name = "superagent";
+    spec = "0.15.1";
     version = "0.15.1";
-    fullName = "superagent-0.15.1";
-    hash = "8306a3c7476e9f9d61ffe33117ffcf2a4fba6c9fcc59a2b8eee059f57d7d5614";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "qs"; range = "0.6.5"; }
-      { name = "formidable"; range = "1.0.9"; }
-      { name = "mime"; range = "1.2.5"; }
-      { name = "emitter-component"; range = "1.0.0"; }
-      { name = "methods"; range = "0.0.1"; }
-      { name = "cookiejar"; range = "1.3.0"; }
-      { name = "debug"; range = "~0.7.2"; }
+      { name = "qs"; spec = "0.6.5"; }
+      { name = "formidable"; spec = "1.0.9"; }
+      { name = "mime"; spec = "1.2.5"; }
+      { name = "emitter-component"; spec = "1.0.0"; }
+      { name = "methods"; spec = "0.0.1"; }
+      { name = "cookiejar"; spec = "1.3.0"; }
+      { name = "debug"; spec = "~0.7.2"; }
     ];
+    patchLatest = false;
+    sha1 = "f0df9954c2b90f29e4ae54ad308e4a2b432cc56a";
+    tarball = "http://registry.npmjs.org/superagent/-/superagent-0.15.1.tgz";
   }
   {
-    baseName = "supertest";
+    name = "supertest";
+    spec = "*";
     version = "0.7.1";
-    fullName = "supertest-*";
-    hash = "85246177740d16565f6ed4a932f0c85aca55c897ae352e3bb404da0cdad60a16";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "superagent"; range = "0.15.1"; }
-      { name = "methods"; range = "0.0.1"; }
+      { name = "superagent"; spec = "0.15.1"; }
+      { name = "methods"; spec = "0.0.1"; }
     ];
+    patchLatest = false;
+    sha1 = "349a65a8bfb5207250658f71761279ad3a671d88";
+    tarball = "http://registry.npmjs.org/supertest/-/supertest-0.7.1.tgz";
   }
   {
-    baseName = "swig";
+    name = "swig";
+    spec = "*";
     version = "0.14.0";
-    fullName = "swig-*";
-    hash = "9eeafb591606008c7ab33501ebfdb6ed80830cca5736513c6c5874ded65cfb3f";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "underscore"; range = ">=1.1.7"; }
+      { name = "underscore"; spec = ">=1.1.7"; }
     ];
+    patchLatest = false;
+    sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+    tarball = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
   }
   {
-    baseName = "sylvester";
+    name = "sylvester";
+    spec = ">= 0.0.12";
     version = "0.0.21";
-    fullName = "sylvester->= 0.0.12";
-    hash = "8b97514fbb01de0f73b9104091bb79e835d227eb4c2ca88a843696b22f347022";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+    tarball = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
   }
   {
-    baseName = "sylvester";
+    name = "sylvester";
+    spec = ">= 0.0.8";
     version = "0.0.21";
-    fullName = "sylvester->= 0.0.8";
-    hash = "8b97514fbb01de0f73b9104091bb79e835d227eb4c2ca88a843696b22f347022";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
+    tarball = "http://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
+  }
+  {
+    name = "tap";
+    spec = ">=0.2.3";
+    version = "0.4.3";
     topLevel = false;
     dependencies = [
+      { name = "inherits"; spec = "*"; }
+      { name = "yamlish"; spec = "*"; }
+      { name = "slide"; spec = "*"; }
+      { name = "runforcover"; spec = "~0.0.2"; }
+      { name = "nopt"; spec = "~2"; }
+      { name = "mkdirp"; spec = "~0.3"; }
+      { name = "difflet"; spec = "~0.2.0"; }
+      { name = "deep-equal"; spec = "~0.0.0"; }
+      { name = "buffer-equal"; spec = "~0.0.0"; }
+      { name = "glob"; spec = "~3.2.1"; }
     ];
+    patchLatest = false;
+    sha1 = "5ead7ede530658167fe28e3cdb9b0f96d3cf0c76";
+    tarball = "http://registry.npmjs.org/tap/-/tap-0.4.3.tgz";
   }
   {
-    baseName = "tar";
+    name = "tar";
+    spec = "*";
+    version = "0.1.18";
+    topLevel = true;
+    dependencies = [
+      { name = "inherits"; spec = "2"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
+    ];
+    patchLatest = false;
+    sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
+  }
+  {
+    name = "tar";
+    spec = "0";
+    version = "0.1.18";
+    topLevel = false;
+    dependencies = [
+      { name = "inherits"; spec = "2"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
+    ];
+    patchLatest = false;
+    sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
+  }
+  {
+    name = "tar";
+    spec = "0.1.17";
     version = "0.1.17";
-    fullName = "tar-0";
-    hash = "577832975440eba0a9293244d53fa2c383e5c27ec2f68e3defde0cc23910b978";
+    topLevel = false;
+    dependencies = [
+      { name = "inherits"; spec = "1.x"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
+    ];
     patchLatest = false;
+    sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
+  }
+  {
+    name = "tar";
+    spec = "~0.1.18";
+    version = "0.1.18";
     topLevel = false;
     dependencies = [
-      { name = "inherits"; range = "1.x"; }
-      { name = "block-stream"; range = "*"; }
-      { name = "fstream"; range = "~0.1.8"; }
+      { name = "inherits"; spec = "2"; }
+      { name = "block-stream"; spec = "*"; }
+      { name = "fstream"; spec = "~0.1.8"; }
     ];
+    patchLatest = false;
+    sha1 = "b76c3b23c5e90f9e3e344462f537047c695ba635";
+    tarball = "http://registry.npmjs.org/tar/-/tar-0.1.18.tgz";
   }
   {
-    baseName = "temp";
+    name = "temp";
+    spec = "*";
     version = "0.5.1";
-    fullName = "temp-*";
-    hash = "04bb3c0bde8f3ffab53bc4935b5c1ca306735e4da8844c1dc25e74b0ae8f6540";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "rimraf"; range = "~2.1.4"; }
+      { name = "rimraf"; spec = "~2.1.4"; }
     ];
+    patchLatest = false;
+    sha1 = "77ab19c79aa7b593cbe4fac2441768cad987b8df";
+    tarball = "http://registry.npmjs.org/temp/-/temp-0.5.1.tgz";
   }
   {
-    baseName = "timespan";
+    name = "timespan";
+    spec = "2.0.1";
     version = "2.0.1";
-    fullName = "timespan-2.0.1";
-    hash = "2c9693ac1c16e4bf0061904f487ab5fbf13f3d35817de1575dbfd9eaf85d452c";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "479b45875937e14d0f4be1625f2abd08d801f68a";
+    tarball = "http://registry.npmjs.org/timespan/-/timespan-2.0.1.tgz";
+  }
+  {
+    name = "timezone";
+    spec = "*";
+    version = "0.0.22";
+    topLevel = true;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "933c3d1950224957a349183e124147dd99e182f5";
+    tarball = "http://registry.npmjs.org/timezone/-/timezone-0.0.22.tgz";
+  }
+  {
+    name = "tinycolor";
+    spec = "0.x";
+    version = "0.0.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+    tarball = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
   }
   {
-    baseName = "transformers";
+    name = "transformers";
+    spec = "2.0.1";
     version = "2.0.1";
-    fullName = "transformers-2.0.1";
-    hash = "503430f608716eb2d55764c27f1417e363049aadd08988ad9e26ecb2daa33cb9";
+    topLevel = false;
+    dependencies = [
+      { name = "promise"; spec = "~2.0"; }
+      { name = "css"; spec = "~1.0.8"; }
+      { name = "uglify-js"; spec = "~2.2.5"; }
+    ];
     patchLatest = false;
+    sha1 = "352131dfceb93a7532dc7535a4f142510435a394";
+    tarball = "http://registry.npmjs.org/transformers/-/transformers-2.0.1.tgz";
+  }
+  {
+    name = "traverse";
+    spec = "0.6.x";
+    version = "0.6.3";
     topLevel = false;
     dependencies = [
-      { name = "promise"; range = "~2.0"; }
-      { name = "css"; range = "~1.0.8"; }
-      { name = "uglify-js"; range = "~2.2.5"; }
     ];
+    patchLatest = false;
+    sha1 = "a053ffa1b6179b9240ea16d74bfd604bd6b6e41b";
+    tarball = "http://registry.npmjs.org/traverse/-/traverse-0.6.3.tgz";
   }
   {
-    baseName = "tunnel-agent";
-    version = "0.2.0";
-    fullName = "tunnel-agent-~0.2.0";
-    hash = "d5c7fe6b4cd377ac54ff994f3b53b368fb4c0edafceddcf0e575402aa2451808";
+    name = "traverse";
+    spec = "~0.5.1";
+    version = "0.5.2";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "e203c58d5f7f0e37db6e74c0acb929bb09b61d85";
+    tarball = "http://registry.npmjs.org/traverse/-/traverse-0.5.2.tgz";
+  }
+  {
+    name = "tunnel-agent";
+    spec = "~0.2.0";
+    version = "0.2.0";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
+    tarball = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
   }
   {
-    baseName = "tunnel-agent";
+    name = "tunnel-agent";
+    spec = "~0.3.0";
     version = "0.3.0";
-    fullName = "tunnel-agent-~0.3.0";
-    hash = "5b23c1d29e85143e213ba5aca118419ab42d25774da92e816074a73f423bcabd";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+    tarball = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+  }
+  {
+    name = "uglify-js";
+    spec = "1.2.5";
+    version = "1.2.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b542c2c76f78efb34b200b20177634330ff702b6";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
   }
   {
-    baseName = "uglify-js";
+    name = "uglify-js";
+    spec = "2.3.6";
     version = "2.3.6";
-    fullName = "uglify-js-2.3.6";
-    hash = "a361bc8092c8400d99d73d071c46fcfceb7156a557effd82abd8ca8a5c5ad09e";
+    topLevel = false;
+    dependencies = [
+      { name = "async"; spec = "~0.2.6"; }
+      { name = "source-map"; spec = "~0.1.7"; }
+      { name = "optimist"; spec = "~0.3.5"; }
+    ];
     patchLatest = false;
+    sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+  }
+  {
+    name = "uglify-js";
+    spec = "~1.1.1";
+    version = "1.1.1";
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "~0.2.6"; }
-      { name = "source-map"; range = "~0.1.7"; }
-      { name = "optimist"; range = "~0.3.5"; }
     ];
+    patchLatest = false;
+    sha1 = "ee71a97c4cefd06a1a9b20437f34118982aa035b";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-1.1.1.tgz";
   }
   {
-    baseName = "uglify-js";
+    name = "uglify-js";
+    spec = "~2.2.5";
     version = "2.2.5";
-    fullName = "uglify-js-~2.2.5";
-    hash = "f9d166cda4c881a396b53f8b8892b17bb1bc09ffb531ba1fa16e7bf9022a2ca2";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "source-map"; range = "~0.1.7"; }
-      { name = "optimist"; range = "~0.3.5"; }
+      { name = "source-map"; spec = "~0.1.7"; }
+      { name = "optimist"; spec = "~0.3.5"; }
     ];
+    patchLatest = false;
+    sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
   }
   {
-    baseName = "uglify-js";
+    name = "uglify-js";
+    spec = "~2.3.6";
     version = "2.3.6";
-    fullName = "uglify-js-~2.3.6";
-    hash = "a361bc8092c8400d99d73d071c46fcfceb7156a557effd82abd8ca8a5c5ad09e";
+    topLevel = false;
+    dependencies = [
+      { name = "async"; spec = "~0.2.6"; }
+      { name = "source-map"; spec = "~0.1.7"; }
+      { name = "optimist"; spec = "~0.3.5"; }
+    ];
     patchLatest = false;
+    sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
+    tarball = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
+  }
+  {
+    name = "uid-number";
+    spec = "0";
+    version = "0.0.3";
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "~0.2.6"; }
-      { name = "source-map"; range = "~0.1.7"; }
-      { name = "optimist"; range = "~0.3.5"; }
     ];
+    patchLatest = false;
+    sha1 = "cefb0fa138d8d8098da71a40a0d04a8327d6e1cc";
+    tarball = "http://registry.npmjs.org/uid-number/-/uid-number-0.0.3.tgz";
   }
   {
-    baseName = "uid2";
+    name = "uid2";
+    spec = "0.0.2";
     version = "0.0.2";
-    fullName = "uid2-0.0.2";
-    hash = "8a3b12223830ed536ce022271a4059cedfbb21d0f63149742347c4f7fc0ed442";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "107fb155c82c1136620797ed4c88cf2b08f6aab8";
+    tarball = "http://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz";
   }
   {
-    baseName = "underscore";
-    version = "1.4.4";
-    fullName = "underscore-*";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
-    patchLatest = false;
+    name = "underscore";
+    spec = "*";
+    version = "1.5.1";
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d2bde817d176ffade894ab71458e682a14b86dc9";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.5.1.tgz";
   }
   {
-    baseName = "underscore";
+    name = "underscore";
+    spec = "1.4.x";
     version = "1.4.4";
-    fullName = "underscore-1.4.x";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
   }
   {
-    baseName = "underscore";
-    version = "1.4.4";
-    fullName = "underscore->=1.1.7";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
+    name = "underscore";
+    spec = ">=1.1.7";
+    version = "1.5.1";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "d2bde817d176ffade894ab71458e682a14b86dc9";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.5.1.tgz";
+  }
+  {
+    name = "underscore";
+    spec = ">=1.4.3";
+    version = "1.5.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "d2bde817d176ffade894ab71458e682a14b86dc9";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.5.1.tgz";
   }
   {
-    baseName = "underscore";
+    name = "underscore";
+    spec = "~1.4.3";
     version = "1.4.4";
-    fullName = "underscore->=1.4.3";
-    hash = "a848a28193850d58d7b98249d70844bc7f35a7d8b6b5ed75e08e829aa6e763d3";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+    tarball = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+  }
+  {
+    name = "underscore.string";
+    spec = "~2.3.1";
+    version = "2.3.3";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+    tarball = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
   }
   {
-    baseName = "util";
+    name = "util";
+    spec = ">= 0.4.9";
     version = "0.4.9";
-    fullName = "util->= 0.4.9";
-    hash = "30ecc26c9e749650562c1ef20bc3f1a0d8d7c109134b510be34526d1ceae90e5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "events.node"; range = ">= 0.4.0"; }
+      { name = "events.node"; spec = ">= 0.4.0"; }
     ];
+    patchLatest = false;
+    sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
+    tarball = "http://registry.npmjs.org/util/-/util-0.4.9.tgz";
   }
   {
-    baseName = "utile";
+    name = "utile";
+    spec = "0.1.7";
     version = "0.1.7";
-    fullName = "utile-0.1.7";
-    hash = "5e5dc150fa657729c288a211389cdf47419b73f4f8b4304a0c84dc584bf804b5";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "deep-equal"; range = "*"; }
-      { name = "i"; range = "0.3.x"; }
-      { name = "mkdirp"; range = "0.x.x"; }
-      { name = "ncp"; range = "0.2.x"; }
-      { name = "rimraf"; range = "1.x.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "deep-equal"; spec = "*"; }
+      { name = "i"; spec = "0.3.x"; }
+      { name = "mkdirp"; spec = "0.x.x"; }
+      { name = "ncp"; spec = "0.2.x"; }
+      { name = "rimraf"; spec = "1.x.x"; }
     ];
+    patchLatest = false;
+    sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+    tarball = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
   }
   {
-    baseName = "utile";
+    name = "utile";
+    spec = "0.1.x";
     version = "0.1.7";
-    fullName = "utile-0.1.x";
-    hash = "5e5dc150fa657729c288a211389cdf47419b73f4f8b4304a0c84dc584bf804b5";
+    topLevel = false;
+    dependencies = [
+      { name = "async"; spec = "0.1.x"; }
+      { name = "deep-equal"; spec = "*"; }
+      { name = "i"; spec = "0.3.x"; }
+      { name = "mkdirp"; spec = "0.x.x"; }
+      { name = "ncp"; spec = "0.2.x"; }
+      { name = "rimraf"; spec = "1.x.x"; }
+    ];
     patchLatest = false;
+    sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
+    tarball = "http://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
+  }
+  {
+    name = "utile";
+    spec = "0.2.x";
+    version = "0.2.0";
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "deep-equal"; range = "*"; }
-      { name = "i"; range = "0.3.x"; }
-      { name = "mkdirp"; range = "0.x.x"; }
-      { name = "ncp"; range = "0.2.x"; }
-      { name = "rimraf"; range = "1.x.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "deep-equal"; spec = "*"; }
+      { name = "i"; spec = "0.3.x"; }
+      { name = "mkdirp"; spec = "0.x.x"; }
+      { name = "ncp"; spec = "0.2.x"; }
+      { name = "rimraf"; spec = "2.x.x"; }
     ];
+    patchLatest = false;
+    sha1 = "91a2423ca2eb3322390e211ee3d71cf4fa193aea";
+    tarball = "http://registry.npmjs.org/utile/-/utile-0.2.0.tgz";
   }
   {
-    baseName = "vasync";
+    name = "vasync";
+    spec = "1.3.3";
     version = "1.3.3";
-    fullName = "vasync-1.3.3";
-    hash = "603d15b81e25b6a634d7ff2025487b3460a60d0d7e1a1ed02e66faff5ef7b699";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "jsprim"; range = "0.3.0"; }
-      { name = "verror"; range = "1.1.0"; }
+      { name = "jsprim"; spec = "0.3.0"; }
+      { name = "verror"; spec = "1.1.0"; }
     ];
+    patchLatest = false;
+    sha1 = "84917680717020b67e043902e63bc143174c8728";
+    tarball = "http://registry.npmjs.org/vasync/-/vasync-1.3.3.tgz";
   }
   {
-    baseName = "verror";
+    name = "verror";
+    spec = "1.1.0";
     version = "1.1.0";
-    fullName = "verror-1.1.0";
-    hash = "ac0fc2dfbcdfc3440c281cf272d902ec74bf2abdf2f9c9eb5c0c3505dc6646d7";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.0"; }
+      { name = "extsprintf"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "2a4b4eb14a207051e75a6f94ee51315bf173a1b0";
+    tarball = "http://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
   }
   {
-    baseName = "verror";
+    name = "verror";
+    spec = "1.3.3";
     version = "1.3.3";
-    fullName = "verror-1.3.3";
-    hash = "9b3e9307cb5a788c1a4c6706ed32582893ffcd64dc55a14a153be1ea15bb916a";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.0"; }
+      { name = "extsprintf"; spec = "1.0.0"; }
     ];
+    patchLatest = false;
+    sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
+    tarball = "http://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
   }
   {
-    baseName = "verror";
+    name = "verror";
+    spec = "1.3.6";
     version = "1.3.6";
-    fullName = "verror-1.3.6";
-    hash = "96135dd5fef7b75bfe26513658ca3fc1ab38e17a9bec522fc5ec6e54b6b63f89";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "extsprintf"; range = "1.0.2"; }
+      { name = "extsprintf"; spec = "1.0.2"; }
     ];
+    patchLatest = false;
+    sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
+    tarball = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
   }
   {
-    baseName = "view-helpers";
+    name = "view-helpers";
+    spec = "*";
     version = "0.1.2";
-    fullName = "view-helpers-*";
-    hash = "b9605b3acd8da98a68a34840061b7dde70eac65529667666014b38b03d198439";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "20643e9f50d00cf46da754dc934d791d4f6e3bb2";
+    tarball = "http://registry.npmjs.org/view-helpers/-/view-helpers-0.1.2.tgz";
   }
   {
-    baseName = "walk";
-    version = "2.2.1";
-    fullName = "walk-*";
-    hash = "ed78c4a01a936c69c43eac60dde1a54a918fed66681671bf4cfdfa090b49a8ad";
+    name = "vows";
+    spec = ">=0.5.13";
+    version = "0.7.0";
+    topLevel = false;
+    dependencies = [
+      { name = "eyes"; spec = ">=0.1.6"; }
+      { name = "diff"; spec = "~1.0.3"; }
+    ];
     patchLatest = false;
+    sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
+    tarball = "http://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
+  }
+  {
+    name = "walk";
+    spec = "*";
+    version = "2.2.1";
     topLevel = true;
     dependencies = [
-      { name = "forEachAsync"; range = "~2.2"; }
+      { name = "forEachAsync"; spec = "~2.2"; }
     ];
+    patchLatest = false;
+    sha1 = "5ada1f8e49e47d4b7445d8be7a2e1e631ab43016";
+    tarball = "http://registry.npmjs.org/walk/-/walk-2.2.1.tgz";
   }
   {
-    baseName = "watch";
+    name = "watch";
+    spec = "0.5.x";
     version = "0.5.1";
-    fullName = "watch-0.5.x";
-    hash = "1c7497c12e6ad97e194b3527ee6fa919e8f9045e588d9f810592dfec58f1d965";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "50ea3a056358c98073e0bca59956de4afd20b213";
+    tarball = "http://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
   }
   {
-    baseName = "watch";
+    name = "watch";
+    spec = "0.7.0";
     version = "0.7.0";
-    fullName = "watch-0.7.0";
-    hash = "8cebd59e96b3c8a25dce0de0204d29cb94f8bd99c7e0c6772f07eb309fd22c54";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "3d6e715648af867ec7f1149302b526479e726856";
+    tarball = "http://registry.npmjs.org/watch/-/watch-0.7.0.tgz";
   }
   {
-    baseName = "websocket-driver";
-    version = "0.2.1";
-    fullName = "websocket-driver->=0.2.0";
-    hash = "8aab2b32695fecd2bca57d95bc51f0eb8a9a5bb298187a8fe3a84cd2cd8e3dc7";
+    name = "websocket-driver";
+    spec = ">=0.2.0";
+    version = "0.2.2";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "998bc1855d8cd0d1e9aa8f8056b83b46ac3e81ef";
+    tarball = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.2.2.tgz";
+  }
+  {
+    name = "when";
+    spec = "~2.2.1";
+    version = "2.2.1";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b1def994017350b8087f6e9a7596ab2833bdc712";
+    tarball = "http://registry.npmjs.org/when/-/when-2.2.1.tgz";
   }
   {
-    baseName = "which";
+    name = "which";
+    spec = "1";
     version = "1.0.5";
-    fullName = "which-1";
-    hash = "e26f39d7b152c700636472ab4da57bfb9af17972c49a9e2a06f9ff347d8fad42";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "5630d6819dda692f1464462e7956cb42c0842739";
+    tarball = "http://registry.npmjs.org/which/-/which-1.0.5.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "*";
     version = "0.7.2";
-    fullName = "winston-*";
-    hash = "562d3a3d8dc0ba580bfdfb167e16297940d3386ac4b82e65ad09f4859c4af181";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
-      { name = "async"; range = "0.2.x"; }
-      { name = "colors"; range = "0.6.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.3.x"; }
-      { name = "request"; range = "2.16.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.2.x"; }
+      { name = "colors"; spec = "0.6.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.3.x"; }
+      { name = "request"; spec = "2.16.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "0.6.2";
     version = "0.6.2";
-    fullName = "winston-0.6.2";
-    hash = "bfe4e73f8b42e1521a1c5dbdc50150fc80d508148376c4dfc925caa6516b2a81";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "colors"; range = "0.x.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "request"; range = "2.9.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "colors"; spec = "0.x.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "request"; spec = "2.9.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "0.6.x";
     version = "0.6.2";
-    fullName = "winston-0.6.x";
-    hash = "bfe4e73f8b42e1521a1c5dbdc50150fc80d508148376c4dfc925caa6516b2a81";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.1.x"; }
-      { name = "colors"; range = "0.x.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.2.x"; }
-      { name = "request"; range = "2.9.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.1.x"; }
+      { name = "colors"; spec = "0.x.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.2.x"; }
+      { name = "request"; spec = "2.9.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
   }
   {
-    baseName = "winston";
+    name = "winston";
+    spec = "0.7.1";
     version = "0.7.1";
-    fullName = "winston-0.7.1";
-    hash = "8504626efcd7b629a69500b0ab70b964fbabb53d6ebb506fdf3e1ecc6f2ca294";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "async"; range = "0.2.x"; }
-      { name = "colors"; range = "0.6.x"; }
-      { name = "cycle"; range = "1.0.x"; }
-      { name = "eyes"; range = "0.1.x"; }
-      { name = "pkginfo"; range = "0.3.x"; }
-      { name = "request"; range = "2.16.x"; }
-      { name = "stack-trace"; range = "0.0.x"; }
+      { name = "async"; spec = "0.2.x"; }
+      { name = "colors"; spec = "0.6.x"; }
+      { name = "cycle"; spec = "1.0.x"; }
+      { name = "eyes"; spec = "0.1.x"; }
+      { name = "pkginfo"; spec = "0.3.x"; }
+      { name = "request"; spec = "2.16.x"; }
+      { name = "stack-trace"; spec = "0.0.x"; }
     ];
+    patchLatest = false;
+    sha1 = "e291ab24eddbf79ea40ff532619277a0d30b0eb3";
+    tarball = "http://registry.npmjs.org/winston/-/winston-0.7.1.tgz";
   }
   {
-    baseName = "with";
+    name = "with";
+    spec = "~1.1.0";
     version = "1.1.0";
-    fullName = "with-~1.1.0";
-    hash = "884c829a32f2b9d79d62bc455fd363cc307cf8b5284b822b550221c319ee6db4";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "uglify-js"; range = "2.3.6"; }
+      { name = "uglify-js"; spec = "2.3.6"; }
     ];
+    patchLatest = false;
+    sha1 = "7f722ce4050ab55310777327b014194c544c66dd";
+    tarball = "http://registry.npmjs.org/with/-/with-1.1.0.tgz";
   }
   {
-    baseName = "wordwrap";
+    name = "wordwrap";
+    spec = ">=0.0.1 <0.1.0";
     version = "0.0.2";
-    fullName = "wordwrap->=0.0.1 <0.1.0";
-    hash = "66a2fa688509738922c3ad62a6159fe3c93268bd3bca2bff24df4bc02cc31582";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    tarball = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
   }
   {
-    baseName = "wordwrap";
+    name = "wordwrap";
+    spec = "~0.0.2";
     version = "0.0.2";
-    fullName = "wordwrap-~0.0.2";
-    hash = "66a2fa688509738922c3ad62a6159fe3c93268bd3bca2bff24df4bc02cc31582";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+    tarball = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+  }
+  {
+    name = "ws";
+    spec = "0.4.x";
+    version = "0.4.27";
     topLevel = false;
     dependencies = [
+      { name = "commander"; spec = "~0.6.1"; }
+      { name = "tinycolor"; spec = "0.x"; }
+      { name = "options"; spec = ">=0.0.5"; }
     ];
+    patchLatest = false;
+    sha1 = "077d3a48b6e0b5a96f68f3b38a94ea1ec72c2555";
+    tarball = "http://registry.npmjs.org/ws/-/ws-0.4.27.tgz";
   }
   {
-    baseName = "wu";
+    name = "wu";
+    spec = "*";
     version = "0.1.8";
-    fullName = "wu-*";
-    hash = "2400d0ca7da862a9063a6a8d914bb4e585f81a5121b0fda8e40b1f6e782c72c6";
-    patchLatest = false;
     topLevel = true;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "619bcdf64974a487894a25755ae095c5208b4a22";
+    tarball = "http://registry.npmjs.org/wu/-/wu-0.1.8.tgz";
   }
   {
-    baseName = "xml2js";
+    name = "xml2js";
+    spec = "0.2.4";
     version = "0.2.4";
-    fullName = "xml2js-0.2.4";
-    hash = "8daebb075fc7c564d84221a0cef7825ac824db8e312f873daee59a6adf38da28";
-    patchLatest = false;
     topLevel = false;
     dependencies = [
-      { name = "sax"; range = ">=0.4.2"; }
+      { name = "sax"; spec = ">=0.4.2"; }
     ];
+    patchLatest = false;
+    sha1 = "9a5b577fa1e6cdf8923d5e1372f7a3188436e44d";
+    tarball = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
   }
   {
-    baseName = "xml2js";
+    name = "xml2js";
+    spec = "0.2.x";
     version = "0.2.8";
-    fullName = "xml2js-0.2.x";
-    hash = "faa75fc23ae6346002555df236250c3612cf76dfac104aff131a5ab5de49b8de";
+    topLevel = false;
+    dependencies = [
+      { name = "sax"; spec = "0.5.x"; }
+    ];
     patchLatest = false;
+    sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+    tarball = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
+  }
+  {
+    name = "xml2js";
+    spec = ">= 0.0.1";
+    version = "0.2.8";
     topLevel = false;
     dependencies = [
-      { name = "sax"; range = "0.5.x"; }
+      { name = "sax"; spec = "0.5.x"; }
     ];
+    patchLatest = false;
+    sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+    tarball = "http://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
   }
   {
-    baseName = "xmlbuilder";
+    name = "xmlbuilder";
+    spec = "*";
     version = "0.4.2";
-    fullName = "xmlbuilder-*";
-    hash = "3137e5bf9db1f114767f8ba56be753f2a9f512e38a2df64d7677ae3c9318a0fe";
+    topLevel = false;
+    dependencies = [
+    ];
     patchLatest = false;
+    sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
+    tarball = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
+  }
+  {
+    name = "xmlhttprequest";
+    spec = "1.4.2";
+    version = "1.4.2";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
+    tarball = "http://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
+  }
+  {
+    name = "xoauth2";
+    spec = "~0.1";
+    version = "0.1.8";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
+    tarball = "http://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
+  }
+  {
+    name = "yamlish";
+    spec = "*";
+    version = "0.0.5";
+    topLevel = false;
+    dependencies = [
+    ];
+    patchLatest = false;
+    sha1 = "86c6c8e6b28b0827416dcc86f7419bba5610b57d";
+    tarball = "http://registry.npmjs.org/yamlish/-/yamlish-0.0.5.tgz";
+  }
+  {
+    name = "zeparser";
+    spec = "0.0.5";
+    version = "0.0.5";
     topLevel = false;
     dependencies = [
     ];
+    patchLatest = false;
+    sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
+    tarball = "http://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
   }
 ]
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
index 1cf0d169dbd..3379321bb5f 100644
--- a/pkgs/top-level/node-packages.json
+++ b/pkgs/top-level/node-packages.json
@@ -43,10 +43,12 @@
 , "view-helpers"
 , "redis"
 , "mongoose"
+, "mongoose-schema-extend"
 , "connect-mongo"
 , "connect-flash"
 , "passport"
 , "passport-local"
+, "passport-http"
 , "gzippo"
 , "walk"
 , "forever"
@@ -54,4 +56,15 @@
 , "supertest"
 , "should"
 , "nodemon"
+, "timezone"
+, "libyaml"
+, "i18next"
+, "stylus"
+, "npm"
+, "gridfs-stream"
+, "tar"
+, "flatiron"
+, "ironhorse"
+, { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
+, { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
 ]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index a23b776d112..5719967c4c5 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -5,31 +5,47 @@ let
 
   importGeneratedPackages = generated: nativeDeps: self:
     let
+      nativeDepsList = { name, spec, ... }:
+        let
+          nameOr = if builtins.hasAttr name nativeDeps
+            then builtins.getAttr name nativeDeps
+            else {};
+          depsOr = if builtins.hasAttr spec nameOr
+            then builtins.getAttr spec nameOr
+            else [];
+        in depsOr;
       all = pkgs.lib.fold (pkg: { top-level, full }: {
         top-level = top-level ++ pkgs.lib.optional pkg.topLevel {
-          name = pkg.baseName;
-          value = builtins.getAttr pkg.fullName self.full;
+          name = pkg.name;
+          value = builtins.getAttr pkg.spec (builtins.getAttr pkg.name self.full);
         };
-        full = [ {
-          name = pkg.fullName;
-          value = pkgs.lib.makeOverridable buildNodePackage rec {
-            name = "${pkg.baseName}-${pkg.version}";
-            src = (if pkg.patchLatest then patchLatest else fetchurl) {
-              url = "http://registry.npmjs.org/${pkg.baseName}/-/${name}.tgz";
-              sha256 = pkg.hash;
+        full = full // builtins.listToAttrs [ {
+          inherit (pkg) name;
+          value = (if builtins.hasAttr pkg.name full
+            then builtins.getAttr pkg.name full
+            else {}
+          ) // builtins.listToAttrs [ {
+            name = pkg.spec;
+            value = pkgs.lib.makeOverridable buildNodePackage {
+              name = "${pkg.name}-${pkg.version}";
+              src = (if pkg.patchLatest then patchLatest else fetchurl) {
+                url = pkg.tarball;
+                sha1 = pkg.sha1 or "";
+                sha256 = pkg.sha256 or "";
+              };
+              deps = map (dep: builtins.getAttr dep.spec (builtins.getAttr dep.name self.full)) pkg.dependencies;
+              buildInputs = nativeDepsList pkg;
             };
-            deps = map (dep: builtins.getAttr "${dep.name}-${dep.range}" self.full) pkg.dependencies;
-            buildInputs = if builtins.hasAttr name nativeDeps then builtins.getAttr name nativeDeps else [];
-          };
-        } ] ++ full;
-      } ) { top-level = []; full = []; } generated;
-    in builtins.listToAttrs all.top-level // { full = builtins.listToAttrs all.full; };
+          } ];
+        } ];
+      } ) { top-level = []; full = {}; } generated;
+    in builtins.listToAttrs all.top-level // { inherit (all) full; };
 in {
   inherit importGeneratedPackages;
 
   nativeDeps = {
-    "node-expat-*" = [ pkgs.expat ];
-    "rbytes-0.0.2" = [ pkgs.openssl ];
+    "node-expat"."*" = [ pkgs.expat ];
+    "rbytes"."0.0.2" = [ pkgs.openssl ];
   };
 
   buildNodePackage = import ../development/web/nodejs/build-node-package.nix {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 2139341f3b5..c20f4efd9fc 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -98,6 +98,28 @@ rec {
     propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ];
   };
 
+  AnyEvent = buildPerlPackage {
+    name = "AnyEvent-7.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.04.tar.gz;
+      sha256 = "6a9d94fa61c7f5dc515c834eb224dbc6ce4123da8fd5bfa0cf3815f3f3e908b2";
+    };
+  };
+
+  AnyEventRabbitMQ = buildPerlPackage {
+    name = "AnyEvent-RabbitMQ-1.15";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/AnyEvent-RabbitMQ-1.15.tar.gz;
+      sha256 = "fda292dfaae10f6d99aafc46831ce507153b58368e3eb2617bbb3f749605805a";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ AnyEvent DevelGlobalDestruction FileShareDir ListMoreUtils NetAMQP Readonly namespaceclean ];
+    meta = {
+      description = "An asynchronous and multi channel Perl AMQP client";
+      license = "perl";
+    };
+  };
+
   AnyMoose = buildPerlPackage rec {
     name = "Any-Moose-0.10";
     src = fetchurl {
@@ -130,6 +152,21 @@ rec {
     propagatedBuildInputs = [LocaleMaketextSimple];
   };
 
+  AppCmd = buildPerlPackage {
+    name = "App-Cmd-0.320";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.320.tar.gz;
+      sha256 = "ca6174f634bbe5b73c5f5ad6e0f3b3385568934282f4e848da8e78025b2b185e";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ CaptureTiny ClassLoad DataOptList GetoptLongDescriptive IOTieCombine StringRewritePrefix SubExporter SubInstall ];
+    meta = {
+      homepage = https://github.com/rjbs/app-cmd;
+      description = "Write command line apps with less suffering";
+      license = "perl";
+    };
+  };
+
   AppConfig = buildPerlPackage {
     name = "AppConfig-1.66";
     src = fetchurl {
@@ -233,6 +270,18 @@ rec {
     };
   };
 
+  autodie = buildPerlPackage {
+    name = "autodie-2.20";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PJ/PJF/autodie-2.20.tar.gz;
+      sha256 = "346763c582cd8066b4e5d07e4013202f9f9296d32b42343e117dbfb13ea6e4f0";
+    };
+    meta = {
+      description = "Replace functions with ones that succeed or die with lexical scope";
+      license = "perl";
+    };
+  };
+
   BerkeleyDB = import ../development/perl-modules/BerkeleyDB {
     inherit buildPerlPackage fetchurl;
     inherit (pkgs) db4;
@@ -268,7 +317,7 @@ rec {
   BitVector = buildPerlPackage {
     name = "Bit-Vector-7.3";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/S/ST/STBEY/Bit-Vector-7.3.tar.gz;
+      url = mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.3.tar.gz;
       sha256 = "0gcg1173i1bsx2qvyw77kw90xbf03b861jc42hvq744vzc5k6xjs";
     };
     propagatedBuildInputs = [CarpClan];
@@ -296,10 +345,10 @@ rec {
   };
 
   BoostGeometryUtils = buildPerlModule rec {
-    name = "Boost-Geometry-Utils-0.09";
+    name = "Boost-Geometry-Utils-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AA/AAR/${name}.tar.gz";
-      sha256 = "0wgd36rxd5lj0vlkp7l9zgx8bgbv0nj4kia83ipb7p64xpyysghg";
+      sha256 = "1pywbxjf05qpcixshblhd2cham601zwa9w7c3k5waz4cdild6g1m";
     };
     propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsTypemapsDefault ];
   };
@@ -365,7 +414,7 @@ rec {
   CaptchaReCAPTCHA = buildPerlPackage rec {
     name = "Captcha-reCAPTCHA-0.97";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/P/PH/PHRED/Captcha-reCAPTCHA-0.97.tar.gz;
+      url = mirror://cpan/authors/id/P/PH/PHRED/Captcha-reCAPTCHA-0.97.tar.gz;
       sha256 = "12f2yh89aji6mnkrqxjcllws5dlg545wvz0j7wamy149xyqi12wq";
     };
     propagatedBuildInputs = [HTMLTiny LWP];
@@ -464,7 +513,7 @@ rec {
       url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
       sha256 = "09mn0wjwfvnfi28y47g816nx50zdpvwvbxp0nrpsap0ir1m80wi3";
     };
-    buildInputs = [ TestWWWMechanizeCatalyst TestUseOk ];
+    buildInputs = [ TestWWWMechanizeCatalyst Testuseok ];
     propagatedBuildInputs =
       [ CatalystPluginAuthentication ClassAccessor CryptPasswdMD5 AuthenHtpasswd HTMLForm ];
   };
@@ -666,7 +715,7 @@ rec {
       url = mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz;
       sha256 = "0v5iphbq4csc4r6wkvxnqlh97p8g0yhjky9qqmsdyqczn87agbba";
     };
-    buildInputs = [ CatalystRuntime TestUseOk TestWWWMechanizeCatalyst ];
+    buildInputs = [ CatalystRuntime Testuseok TestWWWMechanizeCatalyst ];
     propagatedBuildInputs = [ ClassAccessorFast HTTPMessage MROCompat ];
     meta = {
       description = "HTTP/1.1 cache validators for Catalyst";
@@ -785,7 +834,7 @@ rec {
       url = "mirror://cpan/modules/by-module/Catalyst/${name}.tar.gz";
       sha256 = "1c6k4x6az0fkany16zlyaqhlp7bcx922vl4qzd3z707vs6pc06rz";
     };
-    buildInputs = [  TestWWWMechanizeCatalyst TestUseOk ];
+    buildInputs = [  TestWWWMechanizeCatalyst Testuseok ];
     propagatedBuildInputs = [ CatalystRuntime TextCSV XMLSimple ];
   };
 
@@ -1307,7 +1356,7 @@ rec {
       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/${name}.tar.gz";
       sha256 = "0gssillawjknqks81x7fg7w2x94bnyklgd8ry2pr1k6ifkjhwz46";
     };
-    buildInputs = [ TestException TestUseOk ];
+    buildInputs = [ TestException Testuseok ];
   };
 
   CookieXS = buildPerlPackage rec {
@@ -1320,6 +1369,15 @@ rec {
     propagatedBuildInputs = [ CGICookieXS ];
   };
 
+  Coro = buildPerlPackage {
+    name = "Coro-6.31";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.31.tar.gz;
+      sha256 = "a73ace48d940b28e3dfb32d2f3507205d3ddfdc6610075ecc72e19476bb6de44";
+    };
+    propagatedBuildInputs = [ AnyEvent Guard CommonSense ];
+  };
+
   CPANMeta = buildPerlPackage {
     name = "CPAN-Meta-2.120921";
     src = fetchurl {
@@ -1427,7 +1485,7 @@ rec {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Crypt-Random-Source-0.07.tar.gz;
       sha256 = "0kxcqcpknh9hhfnpiymxrjg74yj7nfr7k4fgrfmd9s2cw9p9mqdv";
     };
-    buildInputs = [ TestUseOk TestException ];
+    buildInputs = [ Testuseok TestException ];
     propagatedBuildInputs = [ AnyMoose CaptureTiny ModuleFind namespaceclean SubExporter ];
     meta = {
       homepage = http://search.cpan.org/dist/Crypt-Random-Source;
@@ -1687,7 +1745,7 @@ rec {
   DateCalc = buildPerlPackage {
     name = "Date-Calc-6.3";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/S/ST/STBEY/Date-Calc-6.3.tar.gz;
+      url = mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.3.tar.gz;
       sha256 = "14yvbgy9n8icwlm5zi86lskvxd6nsl42i1g9f5dwdaw9my463diy";
     };
     propagatedBuildInputs = [CarpClan BitVector];
@@ -2071,6 +2129,18 @@ rec {
     };
   };
 
+  DBIxSimple = buildPerlPackage {
+    name = "DBIx-Simple-1.35";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.35.tar.gz;
+      sha256 = "445535b3dfab88140c7a0d2776b1e78f254dc7e9c81072d5a01afc95a5db499a";
+    };
+    propagatedBuildInputs = [ DBI ];
+    meta = {
+      description = "Very complete easy-to-use OO interface to DBI";
+    };
+  };
+
   DevelCycle = buildPerlPackage {
     name = "Devel-Cycle-1.11";
     src = fetchurl {
@@ -2123,7 +2193,7 @@ rec {
       url = mirror://cpan/authors/id/F/FL/FLORA/Devel-PartialDump-0.15.tar.gz;
       sha256 = "0xm42030qlbimay5x72sjj0na43ciniai2xdcdx8zf191jw5dz7n";
     };
-    propagatedBuildInputs = [ Moose namespaceclean SubExporter TestUseOk TestWarn ];
+    propagatedBuildInputs = [ Moose namespaceclean SubExporter Testuseok TestWarn ];
   };
 
   DevelStackTrace = buildPerlPackage {
@@ -2425,7 +2495,7 @@ rec {
   ExceptionBase = buildPerlPackage {
     name = "Exception-Base-0.25";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz;
+      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.25.tar.gz;
       sha256 = "1s2is862xba2yy633wn2nklrya36yrlwxlbpqjrv8m31xj2c8khw";
     };
     buildInputs = [ TestUnitLite ];
@@ -2460,6 +2530,21 @@ rec {
     propagatedBuildInputs = [ ExceptionBase ];
   };
 
+  ExporterDeclare = buildPerlModule {
+    name = "Exporter-Declare-0.113";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.113.tar.gz;
+      sha256 = "724de5e982c8477df14a360c82233f9e0c26b4af9191647f750f5e465ea42dce";
+    };
+    buildInputs = [ FennecLite TestException ];
+    propagatedBuildInputs = [ MetaBuilder aliased ];
+    meta = {
+      homepage = http://open-exodus.net/projects/Exporter-Declare;
+      description = "Exporting done right";
+      license = "perl";
+    };
+  };
+
   ExporterLite = buildPerlPackage {
     name = "Exporter-Lite-0.02";
     src = fetchurl {
@@ -2472,11 +2557,12 @@ rec {
   };
 
   ExtUtilsCBuilder = buildPerlPackage rec {
-    name = "ExtUtils-CBuilder-0.280202";
+    name = "ExtUtils-CBuilder-0.280205";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "13qjdz1kmrp5mp404by94cdsyydjadg974ykinqga450djjaqpbq";
+      sha256 = "0nfrr3zd71gnsbp5xacdb70n17slrzj421s4nyr11zg5cqsj3ngs";
     };
+    buildInputs = [ PerlOSType ];
   };
 
   ExtUtilsConfig = buildPerlPackage {
@@ -2569,19 +2655,40 @@ rec {
   };
 
   ExtUtilsParseXS = buildPerlPackage rec {
-    name = "ExtUtils-ParseXS-3.15";
+    name = "ExtUtils-ParseXS-3.18";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
-      sha256 = "06baf0nsmdkfk50p4x9kss4ncm8h49gkzy8hl5cxbxdsab65gmrb";
+      sha256 = "0kvbx66vncgk2c72994z31bgh2w3rsrlnx0z7cmxqa7w3hlc4741";
     };
   };
 
+  # From CPAN[1]:
+  #   This module exists merely as a compatibility wrapper around
+  #   ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to
+  #   ExtUtils::Typemaps because the Typemap directory in lib/ could collide with
+  #   the typemap file on case-insensitive file systems.
+  #
+  #   The ExtUtils::Typemaps module is part of the ExtUtils::ParseXS distribution
+  #   and ships with the standard library of perl starting with perl version
+  #   5.16.
+  #
+  # [1] http://search.cpan.org/~smueller/ExtUtils-Typemap-1.00/lib/ExtUtils/Typemap.pm:
+  ExtUtilsTypemap = buildPerlPackage rec {
+    name = "ExtUtils-Typemap-1.00";
+    src = fetchurl {
+      url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
+      sha256 = "1iqz0xlscg655gnwb2h1wrjj70llblps1zznl29qn1mv5mvibc5i";
+    };
+    buildInputs = [ ExtUtilsParseXS ];
+  };
+
   ExtUtilsTypemapsDefault = buildPerlModule rec {
     name = "ExtUtils-Typemaps-Default-1.01";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/ExtUtils/${name}.tar.gz";
       sha256 = "0k03rr7bmhnn6j0505w9id5apss85yvqnx76hxf3javn3klj1m5z";
     };
+    propagatedBuildInputs = [ ExtUtilsTypemap ExtUtilsParseXS ];
   };
 
   ExtUtilsXSpp = buildPerlModule rec {
@@ -2612,6 +2719,19 @@ rec {
     buildInputs = [ ];
   };
 
+  FennecLite = buildPerlModule {
+    name = "Fennec-Lite-0.004";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz;
+      sha256 = "dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab";
+    };
+    meta = {
+      homepage = http://open-exodus.net/projects/Fennec-Lite;
+      description = "Minimalist Fennec, the commonly used bits";
+      license = "perl";
+    };
+  };
+
   FileChangeNotify = buildPerlModule rec {
     name = "File-ChangeNotify-0.20";
     src = fetchurl {
@@ -2710,6 +2830,19 @@ rec {
     };
   };
 
+  Filepushd = buildPerlPackage {
+    name = "File-pushd-1.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.005.tar.gz;
+      sha256 = "50fdcc33e69a50bab1e32d1a7c96753938f6d95a06015e34e662958c58687842";
+    };
+    meta = {
+      homepage = https://metacpan.org/release/File-pushd;
+      description = "Change directory temporarily for a limited scope";
+      license = "apache";
+    };
+  };
+
   FileRemove = buildPerlPackage rec {
     name = "File-Remove-1.42";
     src = fetchurl {
@@ -2718,6 +2851,20 @@ rec {
     };
   };
 
+  FileShare = buildPerlPackage {
+    name = "File-Share-0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.02.tar.gz;
+      sha256 = "1vdgyf3m08s4pwj70bgbb31jsj8hixdl940m15phyx2hpy8dkabw";
+    };
+    propagatedBuildInputs = [ FileShareDir ];
+    meta = {
+      homepage = http://github.com/ingydotnet/file-share-pm/tree;
+      description = "Extend File::ShareDir to Local Libraries";
+      license = "perl";
+    };
+  };
+
   FileShareDir = buildPerlPackage {
     name = "File-ShareDir-1.03";
     src = fetchurl {
@@ -2937,6 +3084,14 @@ rec {
     buildInputs = [ DataUUID CryptCBC ];
   };
 
+  Guard = buildPerlPackage {
+    name = "Guard-1.022";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.022.tar.gz;
+      sha256 = "0saq9949d13mdvpnls7mw1cy74lm4ncl7agbs7n2jl4sy6bvmw9m";
+    };
+  };
+
   HashFlatten = buildPerlPackage rec {
     name = "Hash-Flatten-1.19";
     src = fetchurl {
@@ -2976,7 +3131,7 @@ rec {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Hash-Util-FieldHash-Compat-0.03.tar.gz;
       sha256 = "0pmai98a89j82fjksfax87brmpimjn74kr7bl874lc1k40dfhx47";
     };
-    propagatedBuildInputs = [ TestUseOk ];
+    propagatedBuildInputs = [ Testuseok ];
   };  
 
   HeapFibonacci = buildPerlPackage {
@@ -2996,6 +3151,17 @@ rec {
     buildInputs = [ pkgs.unzip ];
   };
 
+  HTMLFromANSI = buildPerlPackage {
+    name = "HTML-FromANSI-2.03";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz;
+      sha256 = "21776345ed701b2c04c7b09380af943f9984cc7f99624087aea45db5fc09c359";
+    };
+    propagatedBuildInputs = [ HTMLParser TermVT102Boundless Testuseok ];
+    meta = {
+    };
+  };
+
   HTMLForm = buildPerlPackage {
     name = "HTML-Form-6.03";
     src = fetchurl {
@@ -3372,7 +3538,7 @@ rec {
   };
 
   IOPager = buildPerlPackage {
-    name = "IO-Pager-0.06.tgz";
+    name = "IO-Pager-0.06";
     src = fetchurl {
       url = mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-0.06.tgz;
       sha256 = "0r3af4gyjpy0f7bhs7hy5s7900w0yhbckb2dl3a1x5wpv7hcbkjb";
@@ -3418,6 +3584,19 @@ rec {
     };
   };
 
+  IOTieCombine = buildPerlPackage {
+    name = "IO-TieCombine-1.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.002.tar.gz;
+      sha256 = "fd4f59e82852fd8b868dd1642cb6ec9caf32a597803fdce2cbe8d580c3b41d44";
+    };
+    meta = {
+      homepage = https://github.com/rjbs/io-tiecombine;
+      description = "Produce tied (and other) separate but combined variables";
+      license = "perl";
+    };
+  };
+
   IOTty = buildPerlPackage rec {
     name = "IO-Tty-1.10";
     src = fetchurl {
@@ -3605,8 +3784,8 @@ rec {
   libintl_perl = buildPerlPackage rec {
     name = "libintl-perl-1.23";
     src = fetchurl {
-        url = http://cpan.metacpan.org/authors/id/G/GU/GUIDO/libintl-perl-1.23.tar.gz;
-        sha256 = "1ylz6yhjifblhmnva0k05ch12a4cdii5v0icah69ma1gdhsidnk0";
+      url = mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.23.tar.gz;
+      sha256 = "1ylz6yhjifblhmnva0k05ch12a4cdii5v0icah69ma1gdhsidnk0";
     };
   };
 
@@ -3709,8 +3888,8 @@ rec {
   ListUtilsBy = buildPerlPackage rec {
     name = "List-UtilsBy-0.09";
     src = fetchurl {
-        url = http://cpan.metacpan.org/authors/id/P/PE/PEVANS/List-UtilsBy-0.09.tar.gz;
-        sha256 = "1xcsgz8898h670zmwqd8azfn3a2y9nq7z8cva9dsyhzkk8ajmra1";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.09.tar.gz;
+      sha256 = "1xcsgz8898h670zmwqd8azfn3a2y9nq7z8cva9dsyhzkk8ajmra1";
     };
   };
 
@@ -3756,6 +3935,20 @@ rec {
     };
   };
 
+  LogContextual = buildPerlPackage {
+    name = "Log-Contextual-0.005003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.005003.tar.gz;
+      sha256 = "8519ae92bd8685d003460f99151996e94f38c3c8f12b90634857558605d13719";
+    };
+    buildInputs = [ TestFatal ];
+    propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
+    meta = {
+      description = "Simple logging interface with a contextual log";
+      license = "perl";
+    };
+  };
+
   LogDispatch = buildPerlPackage {
     name = "Log-Dispatch-2.39";
     src = fetchurl {
@@ -3912,10 +4105,10 @@ rec {
   };
 
   MathClipper = buildPerlModule rec {
-    name = "Math-Clipper-1.19";
+    name = "Math-Clipper-1.22";
     src = fetchurl {
       url = "mirror://cpan/modules/by-module/Math/${name}.tar.gz";
-      sha256 = "1hrdand4i937bgsr3f3yma5ckkdwkprdwmkyyl37v1vqcjdrjr7j";
+      sha256 = "0p5iblg979v3pb6a8kyhjdv33yadr5997nhz9asjksgvww328nfa";
     };
     propagatedBuildInputs = [ ModuleBuildWithXSpp ExtUtilsXSpp ExtUtilsTypemapsDefault TestDeep ];
   };
@@ -3995,6 +4188,19 @@ rec {
     };
   };
 
+  MetaBuilder = buildPerlModule {
+    name = "Meta-Builder-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.003.tar.gz;
+      sha256 = "e7ac289b88d1662e87708d716877ac66a1a8414660996fe58c1db96d834a5375";
+    };
+    buildInputs = [ FennecLite TestException ];
+    meta = {
+      description = "Tools for creating Meta objects to track custom metrics";
+      license = "perl";
+    };
+  };
+
   MethodSignaturesSimple = buildPerlPackage {
     name = "Method-Signatures-Simple-1.07";
     src = fetchurl {
@@ -4043,6 +4249,7 @@ rec {
       url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4005.tar.gz;
       sha256 = "eb2522507251550f459c11223ea6d86b34f1dee9b3e3928d0d6a0497505cb7ef";
     };
+    buildInputs = [ CPANMeta ExtUtilsCBuilder ];
     meta = {
       description = "Build and install Perl modules";
       license = "perl";
@@ -4113,6 +4320,32 @@ rec {
     };
   };
 
+  ModuleInstallAuthorRequires = buildPerlPackage {
+    name = "Module-Install-AuthorRequires-0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz;
+      sha256 = "1v2ciw75dj5y8lh10d1vrhwmjx266gpqavr8m21jlpblgm9j2qyc";
+    };
+    propagatedBuildInputs = [ ModuleInstall ];
+    meta = {
+      description = "Declare author-only dependencies";
+      license = "perl";
+    };
+  };
+
+  ModuleInstallAuthorTests = buildPerlPackage {
+    name = "Module-Install-AuthorTests-0.002";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz;
+      sha256 = "121dyggy38316xss06v1zkwx4b59gl7b00c5q99xyzimwqnp49a0";
+    };
+    propagatedBuildInputs = [ ModuleInstall ];
+    meta = {
+      description = "Designate tests only run by module authors";
+      license = "perl";
+    };
+  };
+
   ModuleMetadata = buildPerlPackage rec {
     name = "Module-Metadata-1.000005";
     src = fetchurl {
@@ -4188,7 +4421,7 @@ rec {
   ModuleVersions = buildPerlPackage {
     name = "Module-Versions-0.02";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/T/TH/THW/Module-Versions-0.02.zip;
+      url = mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip;
       sha256 = "0g7qs6vqg91xpwg1cdy91m3kh9m1zbkzyz1qsy453b572xdscf0d";
     };
     buildInputs = [ pkgs.unzip ];
@@ -4257,6 +4490,21 @@ rec {
     propagatedBuildInputs = [ Moose ];
   };
 
+  MooseXAppCmd = buildPerlPackage {
+    name = "MooseX-App-Cmd-0.10";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MooseX-App-Cmd-0.10.tar.gz;
+      sha256 = "6d2d8fdc4f3f7fa76dc82c10d71b099f1572c054a72f373e5a9fa6237e48634a";
+    };
+    buildInputs = [ MooseXConfigFromFile TestOutput YAML ];
+    propagatedBuildInputs = [ AppCmd GetoptLongDescriptive Moose MooseXConfigFromFile MooseXGetopt MooseXHasOptions MooseXMarkAsMethods Testuseok ];
+    meta = {
+      homepage = http://metacpan.org/release/MooseX-App-Cmd;
+      description = "Mashes up MooseX::Getopt and App::Cmd";
+      license = "perl";
+    };
+  };
+
   MooseXAttributeChained = buildPerlModule rec {
     name = "MooseX-Attribute-Chained-1.0.1";
     src = fetchurl {
@@ -4266,13 +4514,41 @@ rec {
     propagatedBuildInputs = [ Moose TryTiny ];
   };
 
+  MooseXAttributeHelpers = buildPerlPackage {
+    name = "MooseX-AttributeHelpers-0.23";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-AttributeHelpers-0.23.tar.gz;
+      sha256 = "3f63f60d94d840a309d9137f78605e15f07c977fd15a4f4b55bd47b65ed52be1";
+    };
+    buildInputs = [ Moose TestException ];
+    propagatedBuildInputs = [ Moose ];
+    meta = {
+      description = "Extend your attribute interfaces (deprecated)";
+      license = "perl";
+    };
+  };
+
   MooseXClone = buildPerlPackage {
     name = "MooseX-Clone-0.05";
     src = fetchurl {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/MooseX-Clone-0.05.tar.gz;
       sha256 = "11pbw3zdbcn54hrj6z74qisnmj9k4qliy6yjj9d71qndq3xg3x0f";
     };
-    propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat Moose namespaceclean TestUseOk ];
+    propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat Moose namespaceclean Testuseok ];
+  };
+
+  MooseXConfigFromFile = buildPerlPackage {
+    name = "MooseX-ConfigFromFile-0.11";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.11.tar.gz;
+      sha256 = "963e7dbb2bc7ca18995db903c64b0841c4e8d3877009bff5475125673c3b02b4";
+    };
+    buildInputs = [ Moose TestCheckDeps TestDeep TestFatal TestNoWarnings TestRequires TestWithoutModule ];
+    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathTiny TryTiny namespaceautoclean ];
+    meta = {
+      description = "An abstract Moose role for setting attributes from a configfile";
+      license = "perl";
+    };
   };
 
   MooseXDaemonize = buildPerlPackage {
@@ -4318,6 +4594,21 @@ rec {
     };
   };
 
+  MooseXHasOptions = buildPerlPackage {
+    name = "MooseX-Has-Options-0.003";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz;
+      sha256 = "07c21cf8ed500b272020ff8da19f194728bb414e0012a2f0cc54ef2ef6222a68";
+    };
+    buildInputs = [ Moose TestMost namespaceautoclean ];
+    propagatedBuildInputs = [ ClassLoad ListMoreUtils PackageStash StringRewritePrefix ];
+    meta = {
+      homepage = https://github.com/pshangov/moosex-has-options;
+      description = "Succinct options for Moose";
+      license = "perl";
+    };
+  };
+
   MooseXMarkAsMethods = buildPerlPackage {
     name = "MooseX-MarkAsMethods-0.15";
     src = fetchurl {
@@ -4422,7 +4713,7 @@ rec {
       url = mirror://cpan/authors/id/J/JR/JROCKWAY/MooseX-Runnable-0.03.tar.gz;
       sha256 = "1hl3pnldjlbyj6gm3bzwj827qp54di14hp4zhypmrmbg1lscfdwc";
     };
-    buildInputs = [ TestUseOk TestTableDriven ];
+    buildInputs = [ Testuseok TestTableDriven ];
     propagatedBuildInputs = [ ListMoreUtils Moose MooseXGetopt MooseXTypes MooseXTypesPathClass namespaceautoclean ParamsUtil ];
   };
 
@@ -4448,8 +4739,8 @@ rec {
   MooseXSingleton = buildPerlPackage rec {
     name = "MooseX-Singleton-0.29";
     src = fetchurl {
-        url = http://cpan.metacpan.org/authors/id/K/KA/KAARE/MooseX-Singleton-0.29.tar.gz;
-        sha256 = "0103f0hi7fp3mc0y0ydnz4ghcnag5gwgn2160y2zp6rnydx2p2sc";
+      url = mirror://cpan/authors/id/K/KA/KAARE/MooseX-Singleton-0.29.tar.gz;
+      sha256 = "0103f0hi7fp3mc0y0ydnz4ghcnag5gwgn2160y2zp6rnydx2p2sc";
     };
     buildInputs = [ Moose TestFatal TestRequires ];
   };
@@ -4474,7 +4765,7 @@ rec {
       url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
       sha256 = "0sqmpf2kw25847fwrrwpcfhrq694bgs8jbix7qxp9qyjm769np6n";
     };
-    buildInputs = [ TestException TestUseOk ];
+    buildInputs = [ TestException Testuseok ];
     propagatedBuildInputs = [ ClassMOP Moose namespaceautoclean ];
   };
 
@@ -4520,7 +4811,7 @@ rec {
       url = mirror://cpan/authors/id/I/IL/ILMARI/MooseX-Types-DateTime-0.08.tar.gz;
       sha256 = "0q0d1dd8737rc3k3jb22wvybf03hg3lp1iyda0ivkd8020cib996";
     };
-    propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone Moose MooseXTypes namespaceclean TestException TestUseOk ];
+    propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone Moose MooseXTypes namespaceclean TestException Testuseok ];
   };
 
   MooseXTypesDateTimeMoreCoercions = buildPerlPackage {
@@ -4529,7 +4820,7 @@ rec {
       url = mirror://cpan/authors/id/I/IL/ILMARI/MooseX-Types-DateTime-MoreCoercions-0.11.tar.gz;
       sha256 = "c746a9284b7db49ce9acb2fbce26629fa816e6636e883d2ed6c62e336cfc52cb";
     };
-    buildInputs = [ TestException TestUseOk ];
+    buildInputs = [ TestException Testuseok ];
     propagatedBuildInputs = [ DateTime DateTimeXEasy Moose MooseXTypes MooseXTypesDateTime TimeDurationParse namespaceclean ];
     meta = {
       description = "Extensions to MooseX::Types::DateTime";
@@ -4540,7 +4831,7 @@ rec {
   MooseXTypesLoadableClass = buildPerlPackage rec {
     name = "MooseX-Types-LoadableClass-0.008";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/B/BO/BOBTFISH/MooseX-Types-LoadableClass-0.008.tar.gz;
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/MooseX-Types-LoadableClass-0.008.tar.gz;
       sha256 = "0wh4zxknqv98nrmsp6yg6mazjyl3vacrgywarzjg5gks78c84i8g";
     };
     propagatedBuildInputs = [ ClassLoad Moose MooseXTypes namespaceclean ];
@@ -4559,6 +4850,36 @@ rec {
     };
   };
 
+  MooseXTypesPathTiny = buildPerlModule {
+    name = "MooseX-Types-Path-Tiny-0.006";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.006.tar.gz;
+      sha256 = "0260c6fbbf84d411b145238ffd92a73f754bd92434448d9f78798fba0a2dfdd6";
+    };
+    buildInputs = [ Filepushd ModuleBuildTiny TestCheckDeps TestFatal ];
+    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesStringlike PathTiny ];
+    meta = {
+      homepage = https://github.com/karenetheridge/moosex-types-path-tiny;
+      description = "Path::Tiny types and coercions for Moose";
+      license = "apache";
+    };
+  };
+
+  MooseXTypesStringlike = buildPerlPackage {
+    name = "MooseX-Types-Stringlike-0.001";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.001.tar.gz;
+      sha256 = "2ba71fff105d851ea6aee85bef5d6629726138a2b005b77a163a8bfb403cea03";
+    };
+    buildInputs = [ Moose ];
+    propagatedBuildInputs = [ MooseXTypes ];
+    meta = {
+      homepage = https://github.com/dagolden/moosex-types-stringlike;
+      description = "Moose type constraints for strings or string-like objects";
+      license = "apache";
+    };
+  };
+
   MooseXTypesStructured = buildPerlPackage {
     name = "MooseX-Types-Structured-0.28";
     src = fetchurl {
@@ -4580,7 +4901,7 @@ rec {
       url = mirror://cpan/authors/id/F/FL/FLORA/MooseX-Types-URI-0.03.tar.gz;
       sha256 = "056v08kzcd93h8l69iqdxbr05h85bgz6jvp6iwc0vv68dacr299s";
     };
-    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean TestUseOk URI URIFromHash ];
+    propagatedBuildInputs = [ Moose MooseXTypes MooseXTypesPathClass namespaceclean Testuseok URI URIFromHash ];
   };
 
   Mouse = buildPerlPackage rec {
@@ -4727,7 +5048,7 @@ rec {
   };
 
   NetAmazonS3Policy = buildPerlPackage {
-    name = "Net-Amazon-S3-Policy-0.001002";
+    name = "Net-Amazon-S3-Policy-0.1.2";
     src = fetchurl {
       url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.2.tar.gz;
       sha256 = "1kkzimvxwxx0mypf75dalksxmvwsb8b575yx2nzmvjkvjg3j9na0";
@@ -4739,6 +5060,27 @@ rec {
     };
   };
 
+  NetAMQP = buildPerlPackage {
+    name = "Net-AMQP-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz;
+      sha256 = "0b2ba7de2cd7ddd5fe102a2e2ae7aeba21eaab1078bf3bfd3c5a722937256380";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
+    meta = {
+      description = "Advanced Message Queue Protocol (de)serialization and representation";
+      license = "perl";
+    };
+    preConfigure =
+      ''
+        substituteInPlace META.json \
+          '"Module::Build" : "0.40"' '"Module::Build" : "0.39"'
+        substituteInPlace META.yml \
+          'Module::Build: 0.40' 'Module::Build: 0.39'
+      '';
+  };
+
   NetCoverArtArchive = buildPerlPackage {
     name = "Net-CoverArtArchive-1.02";
     src = fetchurl {
@@ -4819,6 +5161,20 @@ rec {
     };
   };
 
+  NetRabbitFoot = buildPerlPackage {
+    name = "Net-RabbitFoot-1.03";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/I/IK/IKUTA/Net-RabbitFoot-1.03.tar.gz;
+      sha256 = "0544b1914e7847b32b60a643abc6f0b1fdc6d4a816afd84bcd3eee0c28b001ac";
+    };
+    buildInputs = [ TestException ];
+    propagatedBuildInputs = [ AnyEventRabbitMQ ConfigAny Coro JSONXS ListMoreUtils Moose MooseXAppCmd MooseXAttributeHelpers MooseXConfigFromFile ];
+    meta = {
+      description = "An Asynchronous and multi channel Perl AMQP client";
+      license = "perl";
+    };
+  };
+
   NetServer = buildPerlPackage {
     name = "Net-Server-2.007";
     src = fetchurl {
@@ -5089,6 +5445,29 @@ rec {
     };
   };
 
+  PathTiny = buildPerlPackage {
+    name = "Path-Tiny-0.026";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.026.tar.gz;
+      sha256 = "e79ee187bbf7fdef387886a8c929bd0a1171fb54db1984d79f4e04d90f733cc6";
+    };
+    buildInputs = [ DevelHide Filepushd TestDeep TestFailWarnings TestFatal perl ];
+    propagatedBuildInputs = [ autodie ];
+    meta = {
+      homepage = https://metacpan.org/release/Path-Tiny;
+      description = "File path utility";
+      license = "apache";
+    };
+    preConfigure =
+      ''
+        substituteInPlace lib/Path/Tiny.pm --replace 'use File::Spec 3.40' \
+          'use File::Spec 3.39'
+      '';
+    # This appears to be currently failing tests, though I don't know why.
+    # -- ocharles
+    doCheck = false;
+  };
+
   Perl5lib = buildPerlPackage rec {
     name = "perl5lib-1.02";
     src = fetchurl {
@@ -5437,7 +5816,7 @@ rec {
   RSSParserLite = buildPerlPackage {
     name = "RSS-Parser-Lite-0.10";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/E/EB/EBOSRUP/RSS-Parser-Lite-0.10.tar.gz;
+      url = mirror://cpan/authors/id/E/EB/EBOSRUP/RSS-Parser-Lite-0.10.tar.gz;
       sha256 = "1spvi0z62saz2cam8kwk2k561aavw2w42g3ykj38w1kmydvsk8z6";
     };
     propagatedBuildInputs = [ SOAPLite ];
@@ -5790,7 +6169,7 @@ rec {
       url = mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz;
       sha256 = "1asjr79wqcl9wk96afxrm1yhpj8lk9bk8kyz78yi5ypr0h55yq7p";
     };
-    buildInputs = [ TestUseOk TestException TestTableDriven ];
+    buildInputs = [ Testuseok TestException TestTableDriven ];
     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
     meta = {
       description = "Use TT to interpolate lexical variables";
@@ -6137,6 +6516,28 @@ rec {
     doCheck = false;
   };
 
+  TermVT102 = buildPerlPackage {
+    name = "Term-VT102-0.91";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz;
+      sha256 = "f954e0310941d45c0fc3eb4a40f5d3a00d68119e277d303a1e6af11ded6fbd94";
+    };
+    meta = {
+    };
+  };
+
+  TermVT102Boundless = buildPerlPackage {
+    name = "Term-VT102-Boundless-0.04";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/N/NU/NUFFIN/Term-VT102-Boundless-0.04.tar.gz;
+      sha256 = "5bb88b5aecb44ebf56d3ac7240be80cd26def9dcf1ebeb4e77d9983dfc7a8f19";
+    };
+    propagatedBuildInputs = [ TermVT102 Testuseok ];
+    meta = {
+      license = "unknown";
+    };
+  };
+
   TestAssert = buildPerlPackage {
     name = "Test-Assert-0.0504";
     src = fetchurl {
@@ -6204,6 +6605,19 @@ rec {
     };
   };
 
+  TestEOL = buildPerlPackage {
+    name = "Test-EOL-1.5";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-EOL-1.5.tar.gz;
+      sha256 = "0qfdn71562xzmgnhmkkdbpp3vj851ldl1zlmxvharxsr16gjh6s3";
+    };
+    meta = {
+      homepage = http://metacpan.org/release/Test-EOL;
+      description = "Check the correct line endings in your project";
+      license = "perl5";
+    };
+  };
+
   TestException = buildPerlPackage rec {
     name = "Test-Exception-0.31";
     src = fetchurl {
@@ -6213,6 +6627,20 @@ rec {
     propagatedBuildInputs = [ SubUplevel ];
   };
 
+  TestFailWarnings = buildPerlPackage {
+    name = "Test-FailWarnings-0.005";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.005.tar.gz;
+      sha256 = "014f909e6c171f77b811139c49c1dca9d0f1e2d1c41b5dca332b6b55b3eb0b4e";
+    };
+    buildInputs = [ CaptureTiny ];
+    meta = {
+      homepage = https://metacpan.org/release/Test-FailWarnings;
+      description = "Add test failures if warnings are caught";
+      license = "apache";
+    };
+  };
+
   TestFatal = buildPerlPackage {
     name = "Test-Fatal-0.010";
     src = fetchurl {
@@ -6333,6 +6761,18 @@ rec {
     };
   };
 
+  TestNoTabs = buildPerlPackage {
+    name = "Test-NoTabs-1.3";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Test-NoTabs-1.3.tar.gz;
+      sha256 = "06gvj0pgljc7n9rxhvwb0gq9wk51i3ks41lgh7a5ycqfkh9d0glw";
+    };
+    meta = {
+      description = "Check the presence of tabs in your project";
+      license = "perl";
+    };
+  };
+
   TestNoWarnings = buildPerlPackage {
     name = "Test-NoWarnings-1.04";
     src = fetchurl {
@@ -6496,7 +6936,7 @@ rec {
     };
   };
 
-  TestUseOk = buildPerlPackage {
+  Testuseok = buildPerlPackage {
     name = "Test-use-ok-0.11";
     src = fetchurl {
       url = mirror://cpan/authors/id/A/AU/AUDREYT/Test-use-ok-0.11.tar.gz;
@@ -6523,6 +6963,18 @@ rec {
     };
   };
 
+  TestWithoutModule = buildPerlPackage {
+    name = "Test-Without-Module-0.17";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.17.tar.gz;
+      sha256 = "a691b0bf6d92dedbacfd547551021389ebc79c51937de2b914e792457da56ff7";
+    };
+    meta = {
+      description = "Test fallback behaviour in absence of modules";
+      license = "perl";
+    };
+  };
+
   TestWWWMechanize = buildPerlPackage {
     name = "Test-WWW-Mechanize-1.44";
     src = fetchurl {
@@ -6576,7 +7028,7 @@ rec {
   TestXPath = buildPerlModule {
     name = "Test-XPath-0.16";
     src = fetchurl {
-      url = http://cpan.metacpan.org/authors/id/D/DW/DWHEELER/Test-XPath-0.16.tar.gz;
+      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-XPath-0.16.tar.gz;
       sha256 = "09s47d5jcrx35dz623gjiqn0qmjrv0wb54czr7h01wffw1w8akxi";
     };
     propagatedBuildInputs = [ XMLLibXML ];
@@ -6778,10 +7230,6 @@ rec {
       sha256 = "0i1mg3ivxhx09x0w06k15izc92bknwqwh0ghpmhlq9s9iw12mmry";
     };
     propagatedBuildInputs = [ URI ];
-    meta = {
-      description = "Unknown";
-      license = "unknown";
-    };
   };
 
   Throwable = buildPerlPackage rec {
@@ -6811,7 +7259,7 @@ rec {
       url = mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz;
       sha256 = "1x1smn1kw383xc5h9wajxk9dlx92bgrbf7gk4abga57y6120s6m3";
     };
-    propagatedBuildInputs = [TestUseOk];
+    propagatedBuildInputs = [Testuseok];
   };
 
   TimeDate = buildPerlPackage {
@@ -6996,7 +7444,7 @@ rec {
   };
 
   URIURL = buildPerlPackage {
-    name = "URI-URL-5.04";
+    name = "URI-URL-1.60";
     src = fetchurl {
       url = mirror://cpan/authors/id/G/GA/GAAS/URI-1.60.tar.gz;
       sha256 = "0xr31mf7lfrwhyvlx4pzp6p7alls5gi4bj8pk5g89f5cckfd74hz";
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix
index b2a12bf8b50..ec047efecb0 100644
--- a/pkgs/top-level/platforms.nix
+++ b/pkgs/top-level/platforms.nix
@@ -53,6 +53,11 @@ rec {
 
         # mv cesa requires this sw fallback, for mv-sha1
         CRYPTO_SHA1 y
+        # Fast crypto
+        CRYPTO_TWOFISH y
+        CRYPTO_TWOFISH_COMMON y
+        CRYPTO_BLOWFISH y
+        CRYPTO_BLOWFISH_COMMON y
 
         IP_PNP y
         IP_PNP_DHCP y
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b01af3f2cd3..0162bae4fa2 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5,14 +5,17 @@ isPy26 = python.majorVersion == "2.6";
 isPy27 = python.majorVersion == "2.7";
 optional = pkgs.lib.optional;
 optionals = pkgs.lib.optionals;
+modules = python.modules or { readline = null; sqlite3 = null; curses = null; ssl = null; };
 
-pythonPackages = python.modules // rec {
+pythonPackages = modules // rec {
 
   inherit python;
   inherit (pkgs) fetchurl fetchsvn fetchgit stdenv;
 
   # helpers
 
+  callPackage = pkgs.lib.callPackageWith (pkgs // pythonPackages);
+
   buildPythonPackage = import ../development/python-modules/generic {
     inherit (pkgs) lib;
     inherit python wrapPython setuptools recursivePthLoader offlineDistutils;
@@ -21,7 +24,7 @@ pythonPackages = python.modules // rec {
   wrapPython = pkgs.makeSetupHook
     { deps = pkgs.makeWrapper;
       substitutions.libPrefix = python.libPrefix;
-    } 
+    }
    ../development/python-modules/generic/wrap.sh;
 
   # specials
@@ -48,6 +51,8 @@ pythonPackages = python.modules // rec {
 
   # packages defined elsewhere
 
+  blivet = callPackage ../development/python-modules/blivet { };
+
   ipython = import ../shells/ipython {
     inherit (pkgs) stdenv fetchurl sip pyqt4;
     inherit buildPythonPackage pythonPackages;
@@ -61,6 +66,8 @@ pythonPackages = python.modules // rec {
     pylabQtSupport = false;
   });
 
+  nixpart = callPackage ../tools/filesystems/nixpart { };
+
   pil = import ../development/python-modules/pil {
     inherit (pkgs) fetchurl stdenv libjpeg zlib freetype;
     inherit python buildPythonPackage;
@@ -159,7 +166,7 @@ pythonPackages = python.modules // rec {
       pythonPackages.webtest
     ];
 
-    propagatedBuildInputs = [ 
+    propagatedBuildInputs = [
       pkgs.makeWrapper
       pkgs.bacula
       pythonPackages.colander
@@ -290,13 +297,11 @@ pythonPackages = python.modules // rec {
     name = "area53-b2c9cdcabd";
 
     src = fetchgit {
-      url = git://github.com/mariusv/Area53.git;
+      url = git://github.com/bigmlcom/Area53.git;
       rev = "b2c9cdcabd";
       sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc";
     };
 
-    installCommand = "python setup.py install --prefix=$out";
-
     # error: invalid command 'test'
     doCheck = false;
 
@@ -438,8 +443,8 @@ pythonPackages = python.modules // rec {
         pythonPackages.mutagen
         pythonPackages.munkres
         pythonPackages.musicbrainzngs
-        python.modules.sqlite3
-        python.modules.readline
+        modules.sqlite3
+        modules.readline
       ];
 
     meta = {
@@ -451,6 +456,26 @@ pythonPackages = python.modules // rec {
   };
 
 
+  bitbucket_api = buildPythonPackage rec {
+    name = "bitbucket-api-0.4.4";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/b/bitbucket-api/${name}.tar.gz";
+      md5 = "6f3cee3586c4aad9c0b2e04fce9704fb";
+    };
+
+    propagatedBuildInputs = [ requests_oauth2 nose sh ];
+
+    doCheck = false;
+
+    meta = {
+      homepage = https://github.com/Sheeprider/BitBucket-api;
+      description = "Python library to interact with BitBucket REST API";
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
   bitstring = buildPythonPackage rec {
     name = "bitstring-3.1.2";
 
@@ -473,50 +498,24 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  bpython = buildPythonPackage rec {
+     name = "bpython-0.12";
+     src = fetchurl {
+       url = "http://www.bpython-interpreter.org/releases/bpython-0.12.tar.gz";
+       sha256 = "1ilf58qq7sazmcgg4f1wswbhcn2gb8qbbrpgm6gf0j2lbm60gabl";
+     };
 
-  blivet = buildPythonPackage rec {
-    name = "blivet-${version}";
-    version = "0.17-1";
-
-    src = fetchurl {
-      url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
-          + "${name}.tar.bz2";
-      sha256 = "0b28q539657mqif0mn5dfqcpqv7gbyszg83gf2fv6z7q6206rnx5";
-    };
-
-    postPatch = ''
-      sed -i -e '/find_library/,/find_library/ {
-        c libudev = "${pkgs.udev}/lib/libudev.so.1"
-      }' blivet/pyudev.py
-      sed -i -e 's|"multipath"|"${pkgs.multipath_tools}/sbin/multipath"|' \
-        blivet/devicelibs/mpath.py blivet/devices.py
-      sed -i -e '/"wipefs"/ {
-        s|wipefs|${pkgs.utillinux}/sbin/wipefs|
-        s/-f/--force/
-      }' blivet/formats/__init__.py
-      sed -i -e 's|"lsof"|"${pkgs.lsof}/bin/lsof"|' blivet/formats/fs.py
-      sed -i -r -e 's|"(u?mount)"|"${pkgs.utillinux}/bin/\1"|' blivet/util.py
-      sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
-    '';
-
-    propagatedBuildInputs = let
-      pyenable = { enablePython = true; };
-      selinuxWithPython = pkgs.libselinux.override pyenable;
-      cryptsetupWithPython = pkgs.cryptsetup.override pyenable;
-    in [
-      pykickstart pyparted pkgs.udev pyblock
-      selinuxWithPython cryptsetupWithPython
-    ];
-
-    # tests are currently _heavily_ broken upstream
-    doCheck = false;
+     propagatedBuildInputs = [ modules.curses pygments ];
+     doCheck = false;
 
-    meta = {
-      homepage = "https://fedoraproject.org/wiki/Blivet";
-      description = "Module for management of a system's storage configuration";
-      license = [ "GPLv2+" "LGPLv2.1+" ];
-    };
-  };
+     meta = {
+       description = "UNKNOWN";
+       homepage = "UNKNOWN";
+       maintainers = [
+         stdenv.lib.maintainers.iElectric
+       ];
+     };
+   };
 
 
   # euca2ools (and maybe Nova) needs boto 1.9, 2.0 doesn't work.
@@ -606,7 +605,7 @@ pythonPackages = python.modules // rec {
   #     rev = "refs/tags/0.9.3";
   #   };
   #
-  #   propagatedBuildInputs = [ pythonPackages.argparse python.modules.ssl ];
+  #   propagatedBuildInputs = [ pythonPackages.argparse modules.ssl ];
   #
   #   doCheck = false;
   #
@@ -778,7 +777,7 @@ pythonPackages = python.modules // rec {
 
 
   colorama = buildPythonPackage rec {
-    name = "clientform-0.2.10";
+    name = "colorama-0.2.5";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/c/colorama/colorama-0.2.5.tar.gz";
@@ -1124,7 +1123,7 @@ pythonPackages = python.modules // rec {
     buildInputs = [ paver ];
 
     postInstall = ''
-      for prog in $out/bin/*; do
+      for prog in "$out/bin/"*; do
         wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
       done
     '';
@@ -1154,7 +1153,7 @@ pythonPackages = python.modules // rec {
     };
     propagatedBuildInputs = [ paramiko pycrypto ];
     buildInputs = [ fudge nose ];
-  }; 
+  };
 
   fudge = buildPythonPackage rec {
     name = "fudge-0.9.4";
@@ -1247,12 +1246,12 @@ pythonPackages = python.modules // rec {
       md5 = "967a04fcb2143b31b279c3013a778a2b";
     };
 
-    buildInputs = [ 
-      docutils 
-      virtualenv 
-      webtest 
-      zope_component 
-      zope_interface 
+    buildInputs = [
+      docutils
+      virtualenv
+      webtest
+      zope_component
+      zope_interface
     ] ++ optional isPy26 unittest2;
 
     propagatedBuildInputs = [
@@ -1490,7 +1489,7 @@ pythonPackages = python.modules // rec {
       PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
       export PYTHONPATH="$dst:$PYTHONPATH"
 
-      python setup.py install --prefix="$out"
+      ${python}/bin/${python.executable} setup.py install --prefix="$out"
 
       eapth="$out/lib/${python.libPrefix}"/site-packages/easy-install.pth
       if [ -e "$eapth" ]; then
@@ -1511,29 +1510,6 @@ pythonPackages = python.modules // rec {
   };
 
 
-  distutils2  = buildPythonPackage rec {
-    name = "distutils2-${version}";
-    version = "1.0a4";
-
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/D/Distutils2/Distutils2-${version}.tar.gz";
-      md5 = "52bc9dffb394970c27e02853ae3a3241";
-    };
-
-    patchPhase = ''
-      sed -e "s#html.entities#htmlentitydefs#g" -i distutils2/pypi/simple.py
-    '';
-
-    doCheck = false;
-
-    meta = {
-      description = "A Python Packaging Library";
-      homepage = http://pypi.python.org/pypi/Distutils2;
-      license = "PSF";
-    };
-  };
-
-
   distutils_extra = buildPythonPackage rec {
     name = "distutils-extra-2.26";
 
@@ -1559,7 +1535,7 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = with pkgs; [
       pyGtkGlade libtorrentRasterbar twisted Mako chardet pyxdg pyopenssl
     ];
- 
+
     postInstall = ''
        cp -R deluge/data/share $out/share
        cp -R deluge/data/pixmaps $out/share/
@@ -1691,7 +1667,7 @@ pythonPackages = python.modules // rec {
 
     buildPhase = "make build";
     installCommand = ''
-      python setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed
+      ${python}/bin/${python.executable} setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed
     '';
 
     # For some reason "python setup.py test" doesn't work with Python 2.6.
@@ -1976,7 +1952,7 @@ pythonPackages = python.modules // rec {
     name = "${baseName}-${version}";
 
     src = fetchurl {
-      url = "http://downloads.sourceforge.net/sourceforge/fuse/fuse-python-${version}.tar.gz";
+      url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
       sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
     };
 
@@ -2051,11 +2027,11 @@ pythonPackages = python.modules // rec {
 
 
   genzshcomp = buildPythonPackage {
-    name = "genzshcomp-0.2.2";
+    name = "genzshcomp-0.5.1";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.2.2.tar.gz";
-      sha256 = "0bhiyx41kilvy04cgjbvjy2r4b6l7zz31fbrg3l6lvnqm26nihb0";
+      url = "http://pypi.python.org/packages/source/g/genzshcomp/genzshcomp-0.5.1.tar.gz";
+      md5 = "7a954f1835875002e9044fe55ed1b488";
     };
 
     buildInputs = [ pkgs.setuptools ] ++ (optional isPy26 argparse);
@@ -2145,6 +2121,29 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
+  hetzner = buildPythonPackage rec {
+    name = "hetzner-${version}";
+    version = "0.5.0";
+
+    src = fetchurl {
+      url = "https://github.com/RedMoonStudios/hetzner/archive/"
+          + "v${version}.tar.gz";
+      sha256 = "0i8b2nx4mf87qn4zz7kz321cl1bxlvjdwm7yh8md5hrhqbya4jw5";
+    };
+
+    # not there yet, but coming soon.
+    doCheck = false;
+
+    meta = {
+      homepage = "https://github.com/RedMoonStudios/hetzner";
+      description = "High-level Python API for accessing the Hetzner robot";
+      license = stdenv.lib.licenses.bsd3;
+      maintainers = [ stdenv.lib.maintainers.aszlig ];
+    };
+  };
+
+
   html5lib = buildPythonPackage (rec {
     name = "html5lib-0.95";
 
@@ -2272,14 +2271,16 @@ pythonPackages = python.modules // rec {
     };
   });
 
-  jinja2 = buildPythonPackage {
-    name = "jinja2-2.6";
+  jinja2 = buildPythonPackage rec {
+    name = "Jinja2-2.7";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.6.tar.gz";
-      md5 = "1c49a8825c993bfdcf55bb36897d28a2";
+      url = "http://pypi.python.org/packages/source/J/Jinja2/${name}.tar.gz";
+      sha256 = "0kgsd7h27jl2jpqa1ks88h93z50bsg0yr7qkicqpxbl9s4c1aks7";
     };
 
+    propagatedBuildInputs = [ pythonPackages.markupsafe ];
+
     meta = {
       homepage = http://jinja.pocoo.org/;
       description = "Stand-alone template engine";
@@ -2357,12 +2358,13 @@ pythonPackages = python.modules // rec {
     name = "limnoria-20130327";
 
     src = fetchurl {
-      url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-03-27T16:32:26+0100.tar.gz;
-      name = "limnoria-2013-03-27.tar.gz";
-      sha256 = "0xfaa6h8css3yhsmx5vcffizrz6mvmgm46q7449z3hq7g3793184";
+      url = https://pypi.python.org/packages/source/l/limnoria/limnoria-2013-06-01T10:32:51+0200.tar.gz;
+      name = "limnoria-2013-06-01.tar.gz";
+      sha256 = "1i8q9zzf43sr3n1q4h6h1z8nz31g4aa8dq94ywvfbh7hklmchq6n";
     };
 
-    propagatedBuildInputs = [ python.modules.sqlite3 ];
+    buildInputs = [ pkgs.git ];
+    propagatedBuildInputs = [ modules.sqlite3 ];
 
     doCheck = false;
 
@@ -2451,10 +2453,10 @@ pythonPackages = python.modules // rec {
 
     configurePhase = "cd python";
 
-    buildPhase = "python setup.py build";
+    buildPhase = "${python}/bin/${python.executable} setup.py build";
 
     installPhase = ''
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     meta = {
@@ -2475,7 +2477,7 @@ pythonPackages = python.modules // rec {
 
     buildInputs = [ pkgs.swig pkgs.openssl ];
 
-    buildPhase = "python setup.py build_ext --openssl=${pkgs.openssl}";
+    buildPhase = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
 
     doCheck = false; # another test that depends on the network.
 
@@ -2494,8 +2496,8 @@ pythonPackages = python.modules // rec {
       md5 = "daf7cc50f997533b573f9b40193139a2";
     };
 
-    buildInputs = [ MarkupSafe nose ];
-    propagatedBuildInputs = [ MarkupSafe ];
+    buildInputs = [ markupsafe nose ];
+    propagatedBuildInputs = [ markupsafe ];
 
     meta = {
       description = "Super-fast templating language.";
@@ -2506,8 +2508,8 @@ pythonPackages = python.modules // rec {
   };
 
 
-  MarkupSafe = buildPythonPackage rec {
-    name = "MarkupSafe-0.15";
+  markupsafe = buildPythonPackage rec {
+    name = "markupsafe-0.15";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/M/MarkupSafe/${name}.tar.gz";
@@ -2541,12 +2543,12 @@ pythonPackages = python.modules // rec {
   };
 
   markdown = buildPythonPackage rec {
-    version = "2.0.3";
+    version = "2.3.1";
     name = "markdown-${version}";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-2.0.3.tar.gz";
-      md5 = "751e8055be2433dfd1a82e0fb1b12f13";
+      url = "http://pypi.python.org/packages/source/M/Markdown/Markdown-${version}.tar.gz";
+      sha256 = "147j9hznv2r187a86d28glmg3pckfrdp0nz9yh7s1aqpawwdkszz";
     };
 
     # error: invalid command 'test'
@@ -2558,33 +2560,48 @@ pythonPackages = python.modules // rec {
   };
 
 
-  matplotlib = buildPythonPackage ( rec {
-    name = "matplotlib-1.1.0";
+  # not sure if this is the best way to accomplish this -- needed to provide
+  # objective-c compiler on darwin
+  matplotlibStdenv = if stdenv.isDarwin
+    then pkgs.clangStdenv
+    else pkgs.stdenv;
+
+  matplotlib = matplotlibStdenv.mkDerivation (rec {
+    name = "matplotlib-1.2.1";
+
     src = fetchurl {
       url = "http://downloads.sourceforge.net/matplotlib/${name}.tar.gz";
-      sha256 = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7";
+      sha256 = "16x2ksdxx5p92v98qngh29hdz1bnqy77fhggbjq30pyqmrr8kqaj";
     };
 
     # error: invalid command 'test'
     doCheck = false;
 
-    propagatedBuildInputs = [ dateutil numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl pkgs.tk pkgs.xlibs.libX11 ];
+    buildInputs = [ python pkgs.which pkgs.ghostscript ];
 
-    meta = {
+    propagatedBuildInputs =
+      [ dateutil numpy pkgs.freetype pkgs.libpng pkgs.pkgconfig pkgs.tcl
+        pkgs.tk pkgs.xlibs.libX11 ];
+
+    buildPhase = "python setup.py build";
+
+    installPhase = "python setup.py install --prefix=$out";
+
+    meta = with stdenv.lib; {
       description = "python plotting library, making publication quality plots";
-      homepage = "http://matplotlib.sourceforge.net/";
-      platforms = stdenv.lib.platforms.linux;
-      maintainers = [ stdenv.lib.maintainers.simons ];
+      homepage    = "http://matplotlib.sourceforge.net/";
+      maintainers = with maintainers; [ lovek323 simons ];
+      platforms   = platforms.unix;
     };
   });
 
 
   mccabe = buildPythonPackage (rec {
-    name = "mccabe-0.2";
+    name = "mccabe-0.2.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz";
-      md5 = "c1012c7c24081471f45aab864d4e3805";
+      md5 = "5a3f3fa6a4bad126c88aaaa7dab682f5";
     };
 
     buildInputs = [ ];
@@ -2658,7 +2675,7 @@ pythonPackages = python.modules // rec {
       url = "${meta.homepage}/download/${name}.tar.gz";
       sha256 = "1ddqni6d4kc8ypl6yig4nc00izvbk359sz6hykb9g0lfcpfqlngj";
     };
-    
+
     buildInputs = [
       pkgs.pyopenssl pyasn1 urwid pil lxml flask protobuf netlib
     ];
@@ -2666,7 +2683,7 @@ pythonPackages = python.modules // rec {
     doCheck = false;
 
     postInstall = ''
-      for prog in $out/bin/*; do
+      for prog in "$out/bin/"*; do
         wrapProgram "$prog" \
           --prefix PYTHONPATH : "$PYTHONPATH"
       done
@@ -2729,7 +2746,7 @@ pythonPackages = python.modules // rec {
 
     buildInputs = [ pkgs.unzip ];
 
-    propagatedBuildInputs = [ argparse jinja2 six python.modules.readline ] ++
+    propagatedBuildInputs = [ argparse jinja2 six modules.readline ] ++
                             (optionals isPy26 [ importlib ordereddict ]);
 
     meta = {
@@ -2885,6 +2902,21 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  netifaces = buildPythonPackage rec {
+    version = "0.8";
+    name = "netifaces-${version}";
+
+    src = fetchurl {
+      url = "http://alastairs-place.net/projects/netifaces/${name}.tar.gz";
+      sha256 = "1v5i39kx4yz1pwgjfbzi63w55l2z318zgmi9f77ybmmkil1i39sk";
+    };
+
+    meta = {
+      homepage = http://alastairs-place.net/projects/netifaces/;
+      description = "Portable access to network interfaces from Python";
+    };
+  };
+
   netlib = buildPythonPackage rec {
     baseName = "netlib";
     name = "${baseName}-${meta.version}";
@@ -2894,7 +2926,7 @@ pythonPackages = python.modules // rec {
       name = "${name}.tar.gz";
       sha256 = "1y8lx2j1jrr93mqfb06zg1x5jm9lllw744sb61ib8dagw43nnq3v";
     };
-    
+
     buildInputs = [
       pkgs.pyopenssl pyasn1
     ];
@@ -2950,32 +2982,12 @@ pythonPackages = python.modules // rec {
     };
   });
 
-  nixpart = buildPythonPackage rec {
-    name = "nixpart-${version}";
-    version = "0.2.0";
-
-    src = fetchurl {
-      url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz";
-      sha256 = "1z94h76jn9igksgr84wwbi03fjamwb15hg432x189kgsld1ark4n";
-    };
-
-    propagatedBuildInputs = [ blivet ];
-
-    doCheck = false;
-
-    meta = {
-      description = "NixOS storage manager/partitioner";
-      license = pkgs.lib.licenses.gpl2Plus;
-      maintainers = [ stdenv.lib.maintainers.aszlig ];
-    };
-  };
-
   nose = buildPythonPackage rec {
-    name = "nose-1.2.1";
+    name = "nose-1.3.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/n/nose/${name}.tar.gz";
-      md5 = "735e3f1ce8b07e70ee1b742a8a53585a";
+      sha256 = "0q2j9zz39h3liwbp6lb94kl3sxb9z9rbwh5dzyccyxfy4lrwqqsf";
     };
 
     meta = {
@@ -2985,6 +2997,11 @@ pythonPackages = python.modules // rec {
     buildInputs = [ coverage ];
 
     doCheck = ! stdenv.isDarwin;
+    checkPhase = if python.is_py3k or false then ''
+      ${python}/bin/${python.executable} setup.py build_tests
+    '' else "" + ''
+      ${python}/bin/${python.executable} selftest.py
+    '';
   };
 
   nose2 = if isPy26 then null else (buildPythonPackage rec {
@@ -3022,6 +3039,22 @@ pythonPackages = python.modules // rec {
     buildInputs = [ nose ];
   };
 
+  nose-cprof = buildPythonPackage rec {
+    name = "nose-cprof-0.1-0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/n/nose-cprof/${name}.tar.gz";
+      md5 = "5db27c3b8f01915335ae6fc5fd3afd44";
+    };
+
+    meta = {
+      description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler.";
+    };
+
+    buildInputs = [ nose ];
+  };
+
+
   notify = pkgs.stdenv.mkDerivation (rec {
     name = "python-notify-0.1.1";
 
@@ -3074,18 +3107,22 @@ pythonPackages = python.modules // rec {
   };
 
   numpy = buildPythonPackage ( rec {
-    name = "numpy-1.6.1";
+    name = "numpy-1.7.1";
 
     src = fetchurl {
       url = "mirror://sourceforge/numpy/${name}.tar.gz";
-      sha256 = "1pawfmf7j7pd3mjzhmmw9hkglc2qdirrkvv29m5nsmpf2b3ip2vq";
+      sha256 = "0jh832j439jj2b7m1z5a4rv5cpdn1yiw1r6gwrhdihw562d029am";
     };
 
+    preConfigure = ''
+      sed -i 's/-faltivec//' numpy/distutils/system_info.py
+    '';
+
     # TODO: add ATLAS=${pkgs.atlas}
     installCommand = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      python setup.py build --fcompiler="gnu95"
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     # error: invalid command 'test'
@@ -3124,6 +3161,26 @@ pythonPackages = python.modules // rec {
     };
   });
 
+
+  oauthlib = buildPythonPackage rec {
+    name = "oauthlib-0.5.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/o/oauthlib/${name}.tar.gz";
+      md5 = "d12c507de33403ebdf290fbffdb98213";
+    };
+
+    buildInputs = [ mock nose unittest2 ];
+
+    propagatedBuildInputs = [ pycrypto ];
+
+    meta = {
+      homepage = https://github.com/idan/oauthlib;
+      description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
+    };
+  };
+
+
   obfsproxy = buildPythonPackage ( rec {
     name = "obfsproxy-0.2.2";
     src = fetchgit {
@@ -3213,7 +3270,7 @@ pythonPackages = python.modules // rec {
     };
 
     buildInputs = [ nose ];
-    propagatedBuildInputs = [ dateutil numpy pytz python.modules.sqlite3 ];
+    propagatedBuildInputs = [ dateutil numpy pytz modules.sqlite3 ];
 
     # Tests require networking to pass
     doCheck = false;
@@ -3228,7 +3285,7 @@ pythonPackages = python.modules // rec {
   };
 
   paramiko = buildPythonPackage rec {
-    name = "paramiko-1.10";
+    name = "paramiko-1.10.1";
 
     src = fetchurl {
       url = https://pypi.python.org/packages/source/p/paramiko/paramiko-1.10.1.tar.gz;
@@ -3297,11 +3354,11 @@ pythonPackages = python.modules // rec {
 
   pep8 = buildPythonPackage rec {
     name = "pep8-${version}";
-    version = "1.4.5";
+    version = "1.4.6";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pep8/${name}.tar.gz";
-      md5 = "055dbd22ac5669232fdba752612e9686";
+      md5 = "a03bb494859e87b42601b61b1b043a0c";
     };
 
     #======================================================================
@@ -3331,7 +3388,7 @@ pythonPackages = python.modules // rec {
     name = "pexpect-2.3";
 
     src = fetchurl {
-      url = "http://pexpect.sourceforge.net/pexpect-2.3.tar.gz";
+      url = "mirror://sourceforge/pexpect/pexpect-2.3.tar.gz";
       sha256 = "0x8bfjjqygriry1iyygm5048ykl5qpbpzqfp6i8dhkslm3ryf5fk";
     };
 
@@ -3410,20 +3467,23 @@ pythonPackages = python.modules // rec {
 
 
   pillow = buildPythonPackage rec {
-    name = "Pillow-1.7.8";
+    name = "Pillow-2.1.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/P/Pillow/${name}.zip";
-      md5 = "41d8688d4db72673069a6dc63b5289d6";
+      md5 = "ec630d8ae15d4a3c4ae7b7efdeac8200";
     };
 
-    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib ];
+    buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ];
 
+    # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
     configurePhase = ''
       sed -i "setup.py" \
           -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ;
               s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ;
-              s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ;'
+              s|^ZLIB_ROOT =.*$|ZLIB_ROOT = _lib_include("${pkgs.zlib}")|g ;
+              s|^LCMS_ROOT =.*$|LCMS_ROOT = _lib_include("${pkgs.libwebp}")|g ;
+              s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
     '';
 
     doCheck = true;
@@ -3446,6 +3506,17 @@ pythonPackages = python.modules // rec {
     };
   };
 
+  plumbum = buildPythonPackage rec {
+    name = "plumbum-1.2.0";
+
+    buildInputs = [ pythonPackages.six ];
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/plumbum/plumbum-1.2.0.tar.gz";
+      md5 = "18b7f888dfaf62a48df937abffe07897";
+    };
+  };
+
 
   polib = buildPythonPackage rec {
     name = "polib-${version}";
@@ -3502,7 +3573,7 @@ pythonPackages = python.modules // rec {
       homepage = https://github.com/Lokaltog/powerline;
       description = "The ultimate statusline/prompt utility.";
       license = with stdenv.lib.licenses; mit;
-      platforms = with stdenv.lib.platforms; all; 
+      platforms = with stdenv.lib.platforms; all;
     };
   };
 
@@ -3551,14 +3622,14 @@ pythonPackages = python.modules // rec {
 
 
   psycopg2 = buildPythonPackage rec {
-    name = "psycopg2-2.0.13";
+    name = "psycopg2-2.5.1";
 
     # error: invalid command 'test'
     doCheck = false;
 
     src = fetchurl {
-      url = "http://initd.org/pub/software/psycopg/PSYCOPG-2-0/${name}.tar.gz";
-      sha256 = "0arkaa1nbbd3pyn4l1bc75wi7nff3vxxh4s8sj5al5hv20p64pm1";
+      url = "https://pypi.python.org/packages/source/p/psycopg2/psycopg2-2.5.1.tar.gz";
+      sha256 = "1v7glzzzykbaqj7dhpr0qds9cf4maxmn7f5aazpqnbg0ly40r9v5";
     };
 
     propagatedBuildInputs = [ pkgs.postgresql ];
@@ -3629,12 +3700,12 @@ pythonPackages = python.modules // rec {
     buildInputs = [ python pkgs.portaudio ];
 
     buildPhase = if stdenv.isDarwin then ''
-      PORTAUDIO_PATH="${pkgs.portaudio}" python setup.py build --static-link
+      PORTAUDIO_PATH="${pkgs.portaudio}" ${python}/bin/${python.executable} setup.py build --static-link
     '' else ''
-      python setup.py build
+      ${python}/bin/${python.executable} setup.py build
     '';
 
-    installPhase = "python setup.py install --prefix=$out";
+    installPhase = "${python}/bin/${python.executable} setup.py install --prefix=$out";
 
     meta = {
       description = "Python bindings for PortAudio";
@@ -3800,11 +3871,11 @@ pythonPackages = python.modules // rec {
   };
 
   pyflakes = buildPythonPackage rec {
-    name = "pyflakes-0.6.1";
+    name = "pyflakes-0.7.3";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyflakes/${name}.tar.gz";
-      md5 = "00debd2280b962e915dfee552a675915";
+      md5 = "ec94ac11cb110e6e72cca23c104b66b1";
     };
 
     buildInputs = [ unittest2 ];
@@ -3890,7 +3961,7 @@ pythonPackages = python.modules // rec {
     buildInputs = [ python ];
 
     installPhase = ''
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     meta = {
@@ -3919,7 +3990,7 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ urlgrabber ];
 
     checkPhase = ''
-      python tests/baseclass.py -vv
+      ${python}/bin/${python.executable} tests/baseclass.py -vv
     '';
 
     meta = {
@@ -3997,7 +4068,7 @@ pythonPackages = python.modules // rec {
     propagatedBuildInputs = [ pkgs.parted ];
 
     checkPhase = ''
-      python -m unittest discover -v
+      ${python}/bin/${python.executable} -m unittest discover -v
     '';
 
     meta = {
@@ -4144,6 +4215,11 @@ pythonPackages = python.modules // rec {
 
     propagatedBuildInputs = [ logilab_astng ];
 
+    postInstall = ''
+      mkdir -p $out/share/emacs/site-lisp
+      cp "elisp/"*.el $out/share/emacs/site-lisp/
+    '';
+
     meta = {
       homepage = http://www.logilab.org/project/pylint;
       description = "A bug and style checker for Python";
@@ -4490,6 +4566,7 @@ pythonPackages = python.modules // rec {
     };
   };
 
+
   requests = buildPythonPackage rec {
     name = "requests-1.2.0";
 
@@ -4505,6 +4582,40 @@ pythonPackages = python.modules // rec {
   };
 
 
+  requests_oauthlib = buildPythonPackage rec {
+    name = "requests-oauthlib-0.3.2";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/r/requests-oauthlib/${name}.tar.gz";
+      md5 = "35b3b750493c231145c39db0216813e7";
+    };
+
+    propagatedBuildInputs = [ oauthlib requests ];
+
+    meta = {
+      description = "OAuthlib authentication support for Requests";
+      homepage = https://github.com/requests/requests-oauthlib;
+    };
+  };
+
+
+  requests_oauth2 = buildPythonPackage rec {
+    name = "requests-oauth2-0.1.1";
+
+    src = fetchurl {
+      url = https://github.com/maraujop/requests-oauth2/archive/0.1.1.tar.gz;
+      sha256 = "1aij66qg9j5j4vzyh64nbg72y7pcafgjddxsi865racsay43xfqg";
+    };
+
+    propagatedBuildInputs = [ requests_oauthlib ];
+
+    meta = {
+      description = "Python's Requests OAuth2 (Open Authentication) plugin";
+      homepage = https://github.com/maraujop/requests-oauth2;
+    };
+  };
+
+
   reviewboard = buildPythonPackage rec {
     name = "ReviewBoard-1.6.16";
 
@@ -4515,7 +4626,7 @@ pythonPackages = python.modules // rec {
 
     propagatedBuildInputs =
       [ recaptcha_client pytz memcached dateutil_1_5 paramiko flup pygments
-        djblets django_1_3 django_evolution pycrypto python.modules.sqlite3
+        djblets django_1_3 django_evolution pycrypto modules.sqlite3
         pysvn pil psycopg2
       ];
   };
@@ -4629,8 +4740,8 @@ pythonPackages = python.modules // rec {
     # TODO: add ATLAS=${pkgs.atlas}
     installCommand = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      python setup.py build --fcompiler="gnu95"
-      python setup.py install --prefix=$out
+      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
+      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
     meta = {
@@ -4677,7 +4788,7 @@ pythonPackages = python.modules // rec {
         };
 
       preInstall = ''
-        cp ${x_ignore_nofocus}/* .
+        cp "${x_ignore_nofocus}/"* .
         sed -i 's|dlopen(library,|dlopen("libX11.so.6",|' x_ignore_nofocus.c
         gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
         gcc -shared -Wl,-soname,x_ignore_nofocus.so -o x_ignore_nofocus.so  x_ignore_nofocus.o
@@ -4728,11 +4839,11 @@ pythonPackages = python.modules // rec {
 
 
   simplejson = buildPythonPackage (rec {
-    name = "simplejson-2.1.3";
+    name = "simplejson-3.3.0";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/s/simplejson/${name}.tar.gz";
-      md5 = "58d9b1d8fa17ea4ce205cea088607e02";
+      md5 = "0e29b393bceac8081fa4e93ff9f6a001";
     };
 
     meta = {
@@ -4769,6 +4880,23 @@ pythonPackages = python.modules // rec {
   };
 
 
+  sh = buildPythonPackage rec {
+    name = "sh-1.08";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/s/sh/${name}.tar.gz";
+      md5 = "4028bcba85daa0aef579ed24261e88a3";
+    };
+
+    doCheck = false;
+
+    meta = {
+      description = "Python subprocess interface";
+      homepage = http://pypi.python.org/pypi/sh/;
+    };
+  };
+
+
   six = buildPythonPackage rec {
     name = "six-1.3.0";
 
@@ -4874,17 +5002,24 @@ pythonPackages = python.modules // rec {
   });
 
 
-  sqlalchemy = buildPythonPackage {
-    name = "sqlalchemy-0.7.9";
+  sqlalchemy = buildPythonPackage rec {
+    name = "sqlalchemy-${version}";
+    version = "0.7.10";
 
     src = fetchurl {
-      url = mirror://sourceforge/sqlalchemy/0.7.9/SQLAlchemy-0.7.9.tar.gz;
-      md5 = "c4852d586d95a59fbc9358f4467875d5";
+      url = "http://pypi.python.org/packages/source/S/SQLAlchemy/SQLAlchemy-${version}.tar.gz";
+      sha256 = "0rhxgr85xdhjn467qfs0dkyj8x46zxcv6ad3dfx3w14xbkb3kakp";
     };
 
+    patches = [
+      # see https://groups.google.com/forum/#!searchin/sqlalchemy/module$20logging$20handlers/sqlalchemy/ukuGhmQ2p6g/2_dOpBEYdDYJ
+      # waiting for 0.7.11 release
+      ../development/python-modules/sqlalchemy-0.7.10-test-failures.patch
+    ];
+
     buildInputs = [ nose ];
 
-    propagatedBuildInputs = [ python.modules.sqlite3 ];
+    propagatedBuildInputs = [ modules.sqlite3 ];
 
     meta = {
       homepage = http://www.sqlalchemy.org/;
@@ -4941,11 +5076,11 @@ pythonPackages = python.modules // rec {
 
   subunit = buildPythonPackage rec {
     name = "subunit-${version}";
-    version = "0.0.9";
+    version = "0.0.13";
 
     src = fetchurl {
-      url = "https://launchpad.net/subunit/trunk/0.0.9/+download/python-${name}.tar.gz";
-      sha256 = "0g3bk8lfd52zjzg43h47h2kckchm3xyv1gcr85nca2i50rcrpj56";
+      url = "https://launchpad.net/subunit/trunk/${version}/+download/python-${name}.tar.gz";
+      sha256 = "0f3xni4z1hbmg4dqxak85ibpf9pajxn6qzw1xj79gwnr8xxb66zj";
     };
 
     propagatedBuildInputs = [ testtools ];
@@ -5020,13 +5155,15 @@ pythonPackages = python.modules // rec {
 
   testtools = buildPythonPackage rec {
     name = "testtools-${version}";
-    version = "0.9.24";
+    version = "0.9.32";
 
     src = fetchurl {
-      url = "https://launchpad.net/testtools/0.9/0.9.24/+download/${name}.tar.gz";
-      sha256 = "0mgkvd7c1aw34nlnz2nmll5k01aqhixxiikbs2nfyk3xfa4221x7";
+      url = "https://pypi.python.org/packages/source/t/testtools/${name}.tar.gz";
+      sha256 = "1smgk3y7xfzh5xk5wydb6n5lx4g5i6y4w8ajrdnskx1jqr67wyyq";
     };
 
+    propagatedBuildInputs = [ pythonPackages.python_mimeparse pythonPackages.extras ];
+
     meta = {
       description = "A set of extensions to the Python standard library's unit testing framework";
       homepage = http://pypi.python.org/pypi/testtools;
@@ -5035,6 +5172,46 @@ pythonPackages = python.modules // rec {
   };
 
 
+  python_mimeparse = buildPythonPackage rec {
+    name = "python-mimeparse-${version}";
+    version = "0.1.4";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/p/python-mimeparse/${name}.tar.gz";
+      sha256 = "1hyxg09kaj02ri0rmwjqi86wk4nd1akvv7n0dx77azz76wga4s9w";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.";
+      homepage = https://code.google.com/p/mimeparse/;
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
+  extras = buildPythonPackage rec {
+    name = "extras-${version}";
+    version = "0.0.3";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/e/extras/extras-${version}.tar.gz";
+      sha256 = "1h7zx4dfyclalg0fqnfjijpn0f793a9mx8sy3b27gd31nr6dhq3s";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      description = "A module provides basic functions for parsing mime-type names and matching them against a list of media-ranges.";
+      homepage = https://code.google.com/p/mimeparse/;
+      license = pkgs.lib.licenses.mit;
+    };
+  };
+
+
   # TODO
   # py.error.EACCES: [Permission denied]: mkdir('/homeless-shelter',)
   # builder for `/nix/store/0czwg0n3pfkmpjphqv1jxfjlgkbziwsx-python-tox-1.4.3.drv' failed with exit code 1
@@ -5063,7 +5240,7 @@ pythonPackages = python.modules // rec {
 
     PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
 
-    propagatedBuildInputs = [ genshi pkgs.setuptools python.modules.sqlite3 ];
+    propagatedBuildInputs = [ genshi pkgs.setuptools modules.sqlite3 ];
 
     meta = {
       description = "Enhanced wiki and issue tracking system for software development projects";
@@ -5151,7 +5328,7 @@ pythonPackages = python.modules // rec {
   });
 
   twisted = buildPythonPackage rec {
-    name = "twisted-12.3.0";
+    name = "twisted-10.2.0";
 
     src = fetchurl {
       url = http://tmrc.mit.edu/mirror/twisted/Twisted/10.2/Twisted-10.2.0.tar.bz2;
@@ -5184,12 +5361,18 @@ pythonPackages = python.modules // rec {
 
 
   unittest2 = buildPythonPackage rec {
-    name = "unittest2-0.5.1";
+    version = "0.5.1";
+    name = "unittest2-${version}";
 
-    src = fetchurl {
-      url = "http://pypi.python.org/packages/source/u/unittest2/${name}.tar.gz";
-      md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
-    };
+    src = if python.is_py3k or false
+       then fetchurl {
+           url = "http://pypi.python.org/packages/source/u/unittest2py3k/unittest2py3k-${version}.tar.gz";
+           sha256 = "00yl6lskygcrddx5zspkhr0ibgvpknl4678kkm6s626539grq93q";
+         }
+       else fetchurl {
+           url = "http://pypi.python.org/packages/source/u/unittest2/unittest2-${version}.tar.gz";
+           md5 = "a0af5cac92bbbfa0c3b0e99571390e0f";
+         };
 
     meta = {
       description = "A backport of the new features added to the unittest testing framework in Python 2.7";
@@ -5240,15 +5423,18 @@ pythonPackages = python.modules // rec {
   });
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-1.9.1";
+    name = "virtualenv-1.10";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz";
-      md5 = "07e09df0adfca0b2d487e39a4bf2270a";
+      md5 = "9745c28256c70c76d36adb3767a00212";
     };
 
+    inherit recursivePthLoader;
+    pythonPath = [ recursivePthLoader ];
+
     patches = [ ../development/python-modules/virtualenv-change-prefix.patch ];
 
-    propagatedBuildInputs = [ python.modules.readline python.modules.sqlite3 ];
+    propagatedBuildInputs = [ modules.readline modules.sqlite3 modules.curses ];
 
     buildInputs = [ mock nose ];
 
@@ -5288,6 +5474,8 @@ pythonPackages = python.modules // rec {
       md5 = "7a3094d812c0dffb948d1334ef5fd56f";
     };
 
+    doCheck = false;
+
     meta = {
        maintainers = [
          stdenv.lib.maintainers.garbas
@@ -5306,7 +5494,7 @@ pythonPackages = python.modules // rec {
       md5 = "11825b7074ba7043e157805e4e6e0f55";
     };
 
-    propagatedBuildInputs = [ nose python.modules.ssl ];
+    propagatedBuildInputs = [ nose modules.ssl ];
 
     meta = {
       description = "WSGI request and response object";
@@ -5960,13 +6148,14 @@ pythonPackages = python.modules // rec {
 
   zope_testing = buildPythonPackage rec {
     name = "zope.testing-${version}";
-    version = "4.1.1";
+    version = "4.1.2";
 
     src = fetchurl {
-      url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.tar.gz";
-      md5 = "2e3829841090d6adff718b8b73c87b6b";
+      url = "http://pypi.python.org/packages/source/z/zope.testing/${name}.zip";
+      md5 = "01c30c342c6a18002a762bd5d320a6e9";
     };
 
+    buildInputs = [ pkgs.unzip ];
     propagatedBuildInputs = [ zope_interface zope_exceptions zope_location ];
 
     meta = {
@@ -5980,16 +6169,16 @@ pythonPackages = python.modules // rec {
 
   zope_testrunner = buildPythonPackage rec {
     name = "zope.testrunner-${version}";
-    version = "4.0.4";
+    version = "4.4.1";
 
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.testrunner/${name}.zip";
-      md5 = "cd648fc865a79aa0950e73342836dd4c";
+      md5 = "1d689abad000419891494b30dd7d8190";
     };
 
     buildInputs = [ pkgs.unzip ];
 
-    propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing ];
+    propagatedBuildInputs = [ subunit zope_interface zope_exceptions zope_testing six ];
 
     meta = {
       description = "A flexible test runner with layer support";
@@ -6097,7 +6286,7 @@ pythonPackages = python.modules // rec {
     };
 
     buildInputs = [ pkgs.unzip unittest2 nose mock ];
-    propagatedBuildInputs = [ python.modules.curses libarchive ];
+    propagatedBuildInputs = [ modules.curses libarchive ];
 
     # two tests fail
     doCheck = false;
@@ -6239,7 +6428,7 @@ pythonPackages = python.modules // rec {
       md5 = "32749ffadfc40fea51075a7def32588b";
     };
 
-    buildInputs = [ routes MarkupSafe webob nose ];
+    buildInputs = [ routes markupsafe webob nose ];
 
     # TODO: failing tests https://bitbucket.org/bbangert/webhelpers/pull-request/1/fix-error-on-webob-123/diff
     doCheck = false;
@@ -6338,7 +6527,7 @@ pythonPackages = python.modules // rec {
       sha256 = "1gj8i6j2i172cldqw98395235bn78ciagw6v17fgv01rmind3lag";
     };
 
-    buildInputs = [ django pkgs.pycairo ldap memcached python.modules.sqlite3 ];
+    buildInputs = [ django pkgs.pycairo ldap memcached modules.sqlite3 ];
 
     # error: invalid command 'test'
     doCheck = false;
@@ -6352,17 +6541,17 @@ pythonPackages = python.modules // rec {
 
   pyspotify = buildPythonPackage rec {
     name = "pyspotify-${version}";
-  
+
     version = "1.11";
-  
+
     src = fetchurl {
       url = "https://github.com/mopidy/pyspotify/archive/v1.11.tar.gz";
       sha256 = "089ml6pqr3f2d15n70jpzbaqjp5pjgqlyv4algkxw92xscjw2izg";
     };
-  
+
     buildInputs = [ pkgs.libspotify ]
       ++ stdenv.lib.optional stdenv.isDarwin pkgs.install_name_tool;
-  
+
     # python zip complains about old timestamps
     preConfigure = ''
       find -print0 | xargs -0 touch
@@ -6375,10 +6564,10 @@ pythonPackages = python.modules // rec {
           ${pkgs.libspotify}/lib/libspotify.dylib \
           {} \;
     '';
-  
+
     # There are no tests
     doCheck = false;
-  
+
     meta = with stdenv.lib; {
       homepage    = http://pyspotify.mopidy.com;
       description = "A Python interface to Spotify’s online music streaming service";
@@ -6390,23 +6579,23 @@ pythonPackages = python.modules // rec {
 
   pykka = buildPythonPackage rec {
     name = "pykka-${version}";
-  
+
     version = "1.1.0";
-  
+
     src = fetchgit {
       url = "https://github.com/jodal/pykka.git";
       rev = "refs/tags/v${version}";
       sha256 = "0w6bcaqkzwmd9habszlgjkp3kkhkna08s9aivnmna5hddsghfqmz";
     };
-  
+
     # python zip complains about old timestamps
     preConfigure = ''
       find -print0 | xargs -0 touch
     '';
-  
+
     # There are no tests
     doCheck = false;
-  
+
     meta = {
       homepage = http://www.pykka.org;
       description = "A Python implementation of the actor model";
@@ -6416,23 +6605,23 @@ pythonPackages = python.modules // rec {
 
   ws4py = buildPythonPackage rec {
     name = "ws4py-${version}";
-  
+
     version = "git-20130303";
-  
+
     src = fetchgit {
       url = "https://github.com/Lawouach/WebSocket-for-Python.git";
       rev = "ace276500ca7e4c357595e3773be151d37bcd6e2";
       sha256 = "04m4m3ncn7g4rb81xg5n28imns7rsq8d2w98gjpaib6vlmyly3g1";
     };
-  
+
     # python zip complains about old timestamps
     preConfigure = ''
       find -print0 | xargs -0 touch
     '';
-  
+
     # Tests depend on other packages
     doCheck = false;
-  
+
     meta = {
       homepage = https://ws4py.readthedocs.org;
       description = "A WebSocket package for Python";
@@ -6482,12 +6671,12 @@ pythonPackages = python.modules // rec {
 
   Logbook = buildPythonPackage rec {
     name = "Logbook-${version}";
-    version = "0.4.1";
+    version = "0.4.2";
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/L/Logbook/${name}.tar.gz";
       # md5 = "143cb15af4c4a784ca785a1546ad1b93";
-      sha256 = "0iim9pcyl57c6z9i1kfw5nz92qrnpz2l0bz4lir2xrqi8m03q3d7";
+      sha256 = "1g2pnhxh7m64qsrs0ifwcmpfk7gqjvrawd8z66i001rsdnq778v0";
     };
 
     meta = {
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 9cde018632f..e09c3a76ddc 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -1,13 +1,15 @@
 /*
-  This file will be evaluated by hydra with a call like this:
-  hydra_eval_jobs --gc-roots-dir \
-    /nix/var/nix/gcroots/per-user/hydra/hydra-roots --argstr \
-    system i686-linux --argstr system x86_64-linux --arg \
-    nixpkgs "{outPath = ./}" .... release.nix
-
-  Hydra can be installed with "nix-env -i hydra".
+   test for example like this
+   $ nix-build pkgs/top-level/release-python.nix
 */
-with (import ./release-lib.nix);
+
+{ nixpkgs ? { outPath = (import ./all-packages.nix {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
+, officialRelease ? false
+, # The platforms for which we build Nixpkgs.
+  supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" "x86_64-freebsd" "i686-freebsd" ]
+}:
+
+with import ./release-lib.nix {inherit supportedSystems; };
 
 let
   jobsForDerivations = attrset: pkgs.lib.attrsets.listToAttrs
@@ -19,12 +21,13 @@ let
           (n: v: (v.type or null) == "derivation")
           attrset)));
 
-in
-{
 
-  tarball = import ./make-tarball.nix;
+  jobs =
+    {
 
-} // (mapTestOn rec {
+   # } // (mapTestOn ((packagesWithMetaPlatform pkgs) // rec {
+
+    } // (mapTestOn rec {
 
   a2jmidid = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   aacskeys = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
@@ -1093,7 +1096,6 @@ in
     iscsitarget = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     iwlwifi = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     klibc = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-    kqemu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     ndiswrapper = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     nvidia_x11 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
     nvidia_x11_legacy173 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
@@ -1993,4 +1995,6 @@ in
   zsnes = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   zynaddsubfx = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
   zziplib = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
-})
+});
+
+in jobs
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index f50b373cb48..b0c38eee986 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -51,7 +51,6 @@ with import ./release-lib.nix { inherit supportedSystems; };
   gcc33 = linux;
   gcc34 = linux;
   gcc42 = linux;
-  gcc43_multi = ["x86_64-linux"];
   gcc44 = linux;
   gcj44 = linux;
   ghdl = linux;
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index 8a711d56405..9734adc3497 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -115,7 +115,6 @@ let
       gcc33 = linux;
       gcc34 = linux;
       gcc42 = linux;
-      gcc43_multi = ["x86_64-linux"];
       gcc44 = linux;
       gcj44 = linux;
       ghdl = linux;