summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-08-28 08:26:42 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-08-28 08:26:42 +0200
commit5061fe0c2c7743370e1d379d6fa60eed26ff1470 (patch)
tree4a4ee79a6e0694d3c7ad6fbeff33343d83458e6c /pkgs/tools
parenta2538606e3115e16db2e5075ecf37b886ad64ede (diff)
parent98640fd48212f8e6552517f667bba1901f5936d4 (diff)
downloadnixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.tar
nixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.tar.gz
nixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.tar.bz2
nixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.tar.lz
nixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.tar.xz
nixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.tar.zst
nixpkgs-5061fe0c2c7743370e1d379d6fa60eed26ff1470.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/X11/nx-libs/default.nix4
-rw-r--r--pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--pkgs/tools/X11/xcalib/default.nix2
-rw-r--r--pkgs/tools/X11/xdg-user-dirs/default.nix3
-rw-r--r--pkgs/tools/X11/xkb-switch/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix6
-rw-r--r--pkgs/tools/X11/xpra/fix-paths.patch21
-rw-r--r--pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix69
-rw-r--r--pkgs/tools/admin/lego/default.nix10
-rw-r--r--pkgs/tools/admin/lxd/default.nix2
-rw-r--r--pkgs/tools/audio/opl3bankeditor/default.nix4
-rw-r--r--pkgs/tools/backup/borg/default.nix2
-rw-r--r--pkgs/tools/backup/partimage/default.nix26
-rw-r--r--pkgs/tools/backup/wal-e/default.nix2
-rw-r--r--pkgs/tools/compression/xar/default.nix12
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix33
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch6
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch49
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch156
-rw-r--r--pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch138
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix2
-rw-r--r--pkgs/tools/graphics/scrot/default.nix31
-rw-r--r--pkgs/tools/graphics/wkhtmltopdf/default.nix9
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix21
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix2
-rw-r--r--pkgs/tools/misc/3llo/Gemfile2
-rw-r--r--pkgs/tools/misc/3llo/Gemfile.lock27
-rw-r--r--pkgs/tools/misc/3llo/default.nix31
-rw-r--r--pkgs/tools/misc/3llo/gemset.nix85
-rw-r--r--pkgs/tools/misc/autorandr/default.nix8
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/ckb-next/default.nix8
-rw-r--r--pkgs/tools/misc/docui/default.nix7
-rw-r--r--pkgs/tools/misc/dynamic-colors/default.nix24
-rw-r--r--pkgs/tools/misc/exa/default.nix2
-rw-r--r--pkgs/tools/misc/fd/default.nix2
-rw-r--r--pkgs/tools/misc/ffsend/default.nix6
-rw-r--r--pkgs/tools/misc/fpp/default.nix8
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/grc/default.nix23
-rw-r--r--pkgs/tools/misc/ix/default.nix30
-rw-r--r--pkgs/tools/misc/kdecoration-viewer/default.nix4
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix6
-rw-r--r--pkgs/tools/misc/libbitcoin/libbitcoin.nix4
-rw-r--r--pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix12
-rw-r--r--pkgs/tools/misc/riemann-c-client/default.nix2
-rw-r--r--pkgs/tools/misc/shallot/default.nix26
-rw-r--r--pkgs/tools/misc/sl/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix27
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix2
-rw-r--r--pkgs/tools/misc/uhubctl/default.nix28
-rw-r--r--pkgs/tools/misc/unclutter-xfixes/default.nix1
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix23
-rw-r--r--pkgs/tools/misc/vfdecrypt/default.nix26
-rw-r--r--pkgs/tools/misc/wev/default.nix34
-rw-r--r--pkgs/tools/misc/yank/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-manager-qt/default.nix4
-rw-r--r--pkgs/tools/networking/arping/default.nix8
-rw-r--r--pkgs/tools/networking/chrony/default.nix2
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix2
-rw-r--r--pkgs/tools/networking/dsniff/default.nix6
-rw-r--r--pkgs/tools/networking/httping/default.nix2
-rw-r--r--pkgs/tools/networking/httplz/cargo-lock.patch639
-rw-r--r--pkgs/tools/networking/httplz/default.nix6
-rw-r--r--pkgs/tools/networking/mailsend/default.nix7
-rw-r--r--pkgs/tools/networking/memtier-benchmark/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/applet.nix2
-rw-r--r--pkgs/tools/networking/network-manager/default.nix5
-rw-r--r--pkgs/tools/networking/nfdump/default.nix4
-rw-r--r--pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch120
-rw-r--r--pkgs/tools/networking/ofono/default.nix6
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/p2p/libtorrent/default.nix12
-rw-r--r--pkgs/tools/networking/radsecproxy/default.nix15
-rw-r--r--pkgs/tools/networking/redir/default.nix2
-rw-r--r--pkgs/tools/networking/sipcalc/default.nix12
-rw-r--r--pkgs/tools/networking/socat/2.x.nix1
-rw-r--r--pkgs/tools/networking/swaks/default.nix2
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--pkgs/tools/networking/tcpflow/default.nix71
-rw-r--r--pkgs/tools/networking/tcpflow/default.upstream1
-rw-r--r--pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix2
-rw-r--r--pkgs/tools/networking/uwimap/default.nix23
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix2
-rw-r--r--pkgs/tools/networking/zerotierone/default.nix4
-rw-r--r--pkgs/tools/nix/nixpkgs-fmt/default.nix21
-rw-r--r--pkgs/tools/package-management/cargo-download/Cargo.nix3805
-rw-r--r--pkgs/tools/package-management/cargo-download/crates-io.nix5289
-rw-r--r--pkgs/tools/package-management/cargo-download/default.nix7
-rw-r--r--pkgs/tools/package-management/xbps/default.nix4
-rw-r--r--pkgs/tools/security/chaps/default.nix1
-rw-r--r--pkgs/tools/security/clamav/default.nix6
-rw-r--r--pkgs/tools/security/dnsenum/default.nix2
-rw-r--r--pkgs/tools/security/dnsrecon/default.nix2
-rw-r--r--pkgs/tools/security/fierce/default.nix2
-rw-r--r--pkgs/tools/security/hcxtools/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/keybase/gui.nix6
-rw-r--r--pkgs/tools/security/kpcli/default.nix4
-rw-r--r--pkgs/tools/security/lesspass-cli/default.nix38
-rw-r--r--pkgs/tools/security/nmap/default.nix8
-rw-r--r--pkgs/tools/security/pass/default.nix2
-rw-r--r--pkgs/tools/security/pass/extensions/otp.nix10
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/tpm-luks/default.nix5
-rw-r--r--pkgs/tools/security/tpm-luks/openssl-1.1.patch63
-rw-r--r--pkgs/tools/security/tpm-luks/signed-ptr.patch15
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix7
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix6
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/lr/default.nix2
-rw-r--r--pkgs/tools/system/runit/default.nix2
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/system/syslog-ng-incubator/default.nix2
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix2
-rw-r--r--pkgs/tools/system/systemd-journal2gelf/default.nix2
-rw-r--r--pkgs/tools/system/thermald/default.nix4
-rw-r--r--pkgs/tools/text/ripgrep/default.nix2
-rw-r--r--pkgs/tools/text/vale/default.nix12
-rw-r--r--pkgs/tools/typesetting/biber/default.nix7
-rw-r--r--pkgs/tools/typesetting/scdoc/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix5
132 files changed, 7379 insertions, 4092 deletions
diff --git a/pkgs/tools/X11/nx-libs/default.nix b/pkgs/tools/X11/nx-libs/default.nix
index ecd672250be..c2bcfe788e6 100644
--- a/pkgs/tools/X11/nx-libs/default.nix
+++ b/pkgs/tools/X11/nx-libs/default.nix
@@ -2,12 +2,12 @@
   libpng, libtool, libxml2, pkgconfig, which, xorg }:
 stdenv.mkDerivation rec {
   pname = "nx-libs";
-  version = "3.5.99.20";
+  version = "3.5.99.21";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "1c3xjbmnylw53h04g77lk9va1sk1dgg7zhirwz3mpn73r6dkyzix";
+    sha256 = "10xid8mhhid5mrap5jb51k9fm63cm03ss4k4sfymc8zsn0wrqnr9";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig which
diff --git a/pkgs/tools/X11/wpgtk/default.nix b/pkgs/tools/X11/wpgtk/default.nix
index a9ebbff8203..496fa422877 100644
--- a/pkgs/tools/X11/wpgtk/default.nix
+++ b/pkgs/tools/X11/wpgtk/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "wpgtk";
-  version = "6.0.8";
+  version = "6.0.9";
 
   src = fetchFromGitHub {
     owner = "deviantfero";
     repo = "wpgtk";
     rev = version;
-    sha256 = "1c4iyy4db7zhbfnng8h1r7d2fmng4zspgl9zfr8vc86sk5wmfnjc";
+    sha256 = "0j2wci85918zsrrvd4qpcqv9bzhzj7qvjchvhvl11fn035jml5l0";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/X11/xcalib/default.nix b/pkgs/tools/X11/xcalib/default.nix
index 2f925b11ba5..4e400ee8a24 100644
--- a/pkgs/tools/X11/xcalib/default.nix
+++ b/pkgs/tools/X11/xcalib/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "A tiny monitor calibration loader for X and MS-Windows";
     license = licenses.gpl2;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix
index c72fab015d9..066b566be1f 100644
--- a/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxslt docbook_xsl makeWrapper ];
 
   preFixup = ''
+    # fallback values need to be last
     wrapProgram "$out/bin/xdg-user-dirs-update" \
-      --prefix XDG_CONFIG_DIRS : "$out/etc/xdg"
+      --suffix XDG_CONFIG_DIRS : "$out/etc/xdg"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/xkb-switch/default.nix b/pkgs/tools/X11/xkb-switch/default.nix
index c22715d6181..a837e73983f 100644
--- a/pkgs/tools/X11/xkb-switch/default.nix
+++ b/pkgs/tools/X11/xkb-switch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xkb-switch";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "ierton";
     repo = "xkb-switch";
     rev = version;
-    sha256 = "03wk2gg3py97kx0kjzbjrikld1sa55i6mgi398jbcbiyx2gjna78";
+    sha256 = "11yn0y1kx04rqxh0d81b5q7kbyz58pi48bl7hyhlv7p8yndkfg4b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 863c02fb23d..ffede7d58b2 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -14,11 +14,11 @@ let
   xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "2.5";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "https://xpra.org/src/${pname}-${version}.tar.xz";
-    sha256 = "0q6c7ijgpp2wk6jlh0pzqki1w60i36wyl2zfwkg0gpdh40ypab3x";
+    sha256 = "1ys35lj28903alccks9p055psy1fsk1nxi8ncchvw8bfxkkkvbys";
   };
 
   patches = [
@@ -56,7 +56,7 @@ in buildPythonApplication rec {
   propagatedBuildInputs = with python3.pkgs; [
     pillow rencode pycrypto cryptography pycups lz4 dbus-python
     netifaces numpy pygobject3 pycairo gst-python pam
-    pyopengl paramiko opencv python-uinput pyxdg
+    pyopengl paramiko opencv4 python-uinput pyxdg
     ipaddress idna
   ];
 
diff --git a/pkgs/tools/X11/xpra/fix-paths.patch b/pkgs/tools/X11/xpra/fix-paths.patch
index ac8107235be..eb982682586 100644
--- a/pkgs/tools/X11/xpra/fix-paths.patch
+++ b/pkgs/tools/X11/xpra/fix-paths.patch
@@ -1,15 +1,8 @@
+gdiff --git a/setup.py b/setup.py
+index 8d3df15..6156206 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -1885,7 +1885,7 @@
-     if OSX:
-         pycairo = "py3cairo"
-     else:
--        pycairo = "pycairo"
-+        pycairo = "py3cairo"
-     cython_add(Extension("xpra.client.gtk3.cairo_workaround",
-                 ["xpra/client/gtk3/cairo_workaround.pyx"],
-                 **pkgconfig(pycairo)
-@@ -2363,10 +2363,7 @@
+@@ -2359,10 +2359,7 @@ if v4l2_ENABLED:
      v4l2_pkgconfig = pkgconfig()
      #fuly warning: cython makes this difficult,
      #we have to figure out if "device_caps" exists in the headers:
@@ -21,14 +14,16 @@
      kwargs = {"ENABLE_DEVICE_CAPS" : ENABLE_DEVICE_CAPS}
      make_constants("xpra", "codecs", "v4l2", "constants", **kwargs)
      cython_add(Extension("xpra.codecs.v4l2.pusher",
+diff --git a/xpra/x11/bindings/keyboard_bindings.pyx b/xpra/x11/bindings/keyboard_bindings.pyx
+index bd7023d..064c6b5 100644
 --- a/xpra/x11/bindings/keyboard_bindings.pyx
 +++ b/xpra/x11/bindings/keyboard_bindings.pyx
-@@ -19,7 +19,7 @@
- 
+@@ -21,7 +21,7 @@ from libc.stdlib cimport free, malloc
+
  DEF PATH_MAX = 1024
  DEF DFLT_XKB_RULES_FILE = b"base"
 -DEF DFLT_XKB_CONFIG_ROOT = b"/usr/share/X11/xkb"
 +DEF DFLT_XKB_CONFIG_ROOT = b"@xkeyboardconfig@/share/X11/xkb"
- 
+
  ###################################
  # Headers, python magic
diff --git a/pkgs/tools/admin/acme.sh/default.nix b/pkgs/tools/admin/acme.sh/default.nix
index df0e47d71a0..6e89421d390 100644
--- a/pkgs/tools/admin/acme.sh/default.nix
+++ b/pkgs/tools/admin/acme.sh/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools }:
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "Neilpang";
     repo = "acme.sh";
     rev = version;
-    sha256 = "1xpci41494jrwf2qfnv83zwd1jd99ddpy1ardrshj9n4jdnzd19w";
+    sha256 = "07bq6axgq33djp87kkx7c5cv8n80gclvj247n9j514zqly6abdxy";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index a5e2df9ad21..aaf59d72f98 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.3.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "1xinkr9xnbfbr58ci7hprabqv0p292x016knbb7fqxzb8043f9lh";
+    sha256 = "0vyz02yli2lnzzzzy8dv9y5g69ljr671p1lgx84z8ys2ihwj3yc3";
   };
 
-  modSha256 = "1y0pkd588wsqhqywlv1yd5mlr4limybfpdj2g3pbxw09hv18ysa4";
+  modSha256 = "17bb1k18x1xfq9bi9qbm8pln6h6pkhaqzy07qdvnhinmspll1695";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 9269b2c7cda..37a27127bab 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,42 +1,77 @@
-{ stdenv, fetchurl, gobject-introspection
-, gnutls, cairo, libtool, glib, pkgconfig
-, cyrus_sasl, intltool, libpulseaudio
-, libgcrypt, gtk3, vala, gnome3
-, python3 }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, gobject-introspection
+, gnutls
+, cairo
+, glib
+, pkgconfig
+, cyrus_sasl
+, libpulseaudio
+, libgcrypt
+, gtk3
+, vala
+, gettext
+, perl
+, gnome3
+, gdk-pixbuf
+, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "gtk-vnc";
-  version = "0.9.0";
+  version = "1.0.0";
 
   outputs = [ "out" "bin" "man" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk-vnc/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1dya1wc9vis8h0fv625pii1n70cckf1xjg1m2hndz989d118i6is";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1060ws037v556rx1qhfrcg02859rscksrzr8fq11himdg4d1y6m8";
   };
 
-  nativeBuildInputs = [
-    python3 pkgconfig intltool libtool gobject-introspection vala
+  patches = [
+    # Fix undeclared gio-unix-2.0 in example program.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gtk-vnc/commit/8588bc1c8321152ddc5086ca9b2c03a7f511e0d0.patch";
+      sha256 = "0i1iapsbngl1mhnz22dd73mnzk68qc4n51pqdhnm18zqc8pawvh4";
+    })
   ];
-  buildInputs = [
-    gnutls cairo glib libgcrypt cyrus_sasl libpulseaudio gtk3
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gobject-introspection
+    vala
+    gettext
+    perl # for pod2man
   ];
 
-  configureFlags = [
-    "--with-examples"
+  buildInputs = [
+    gnutls
+    cairo
+    gdk-pixbuf
+    zlib
+    glib
+    libgcrypt
+    cyrus_sasl
+    libpulseaudio
+    gtk3
   ];
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gtk-vnc";
+      packageName = pname;
       versionPolicy = "none";
     };
   };
 
   meta = with stdenv.lib; {
-    description = "A GTK VNC widget";
+    description = "GTK VNC widget";
     homepage = https://wiki.gnome.org/Projects/gtk-vnc;
-    license = licenses.lgpl21;
+    license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ raskin offline ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index 688ff3c7ca0..bf4261682cf 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -1,17 +1,17 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "lego";
-  version = "2.6.0";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jxwdqqx6qn09jf658968s9vy9b59ji998j3x1hldq3w9wcrn6sn";
+    sha256 = "0q73522yblcjsyscsppwnxfw6m249zr9whb93bhv5i5z012gy6mx";
   };
 
-  goPackagePath = "github.com/go-acme/lego";
+  modSha256 = "00pl8l8h01rfxyd0l4487x55kfqhpm0ls84kxmgz3vph7irm6hcq";
 
   meta = with lib; {
     description = "Let's Encrypt client and ACME library written in Go";
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 9d55e6bdefa..3c50a7948d9 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -51,7 +51,7 @@ buildGoPackage rec {
     description = "Daemon based on liblxc offering a REST API to manage containers";
     homepage = https://linuxcontainers.org/lxd/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ globin fpletz ];
+    maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/audio/opl3bankeditor/default.nix b/pkgs/tools/audio/opl3bankeditor/default.nix
index 262d3dd389e..0503f9bad69 100644
--- a/pkgs/tools/audio/opl3bankeditor/default.nix
+++ b/pkgs/tools/audio/opl3bankeditor/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, qttools, alsaLib }:
+{ stdenv, mkDerivation, fetchFromGitHub, cmake, qttools, alsaLib }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "1.5";
   pname = "OPL3BankEditor";
 
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index beb3db5e78b..593056f403e 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -66,6 +66,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = https://www.borgbackup.org;
     license = licenses.bsd3;
     platforms = platforms.unix; # Darwin and FreeBSD mentioned on homepage
-    maintainers = with maintainers; [ flokli dotlambda ];
+    maintainers = with maintainers; [ flokli dotlambda globin ];
   };
 }
diff --git a/pkgs/tools/backup/partimage/default.nix b/pkgs/tools/backup/partimage/default.nix
index a2e962d7f85..4a18deeb57c 100644
--- a/pkgs/tools/backup/partimage/default.nix
+++ b/pkgs/tools/backup/partimage/default.nix
@@ -1,4 +1,13 @@
-{stdenv, fetchurl, fetchpatch, bzip2, zlib, newt, openssl, pkgconfig, slang
+{stdenv
+, fetchurl
+, fetchpatch
+, bzip2
+, zlib
+, newt
+, openssl
+, pkgconfig
+, slang
+, autoreconfHook
 }:
 stdenv.mkDerivation {
   name = "partimage-0.6.9";
@@ -8,20 +17,19 @@ stdenv.mkDerivation {
     url = mirror://sourceforge/partimage/partimage-0.6.9.tar.bz2;
     sha256 = "0db6xiphk6xnlpbxraiy31c5xzj0ql6k4rfkmqzh665yyj0nqfkm";
   };
+
   configureFlags = [ "--with-ssl-headers=${openssl.dev}/include/openssl" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [bzip2 zlib newt newt openssl slang
-    # automake autoconf libtool gettext
-  ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ bzip2 zlib newt newt openssl slang ];
 
   patches = [
     ./gentoos-zlib.patch
     (fetchpatch {
-      name = "no-SSLv2.patch";
-      url = "https://projects.archlinux.org/svntogit/community.git/plain/trunk"
-        + "/use-SSLv3-by-default.patch?h=packages/partimage&id=7e95d1c6614e";
-      sha256 = "17dfqwvwnkinz8vs0l3bjjbmfx3a7y8nv3wn67gjsqpmggcpdnd6";
+      name = "openssl-1.1.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-block/partimage/files/"
+        + "partimage-0.6.9-openssl-1.1-compatibility.patch?id=3fe8e9910002b6523d995512a646b063565d0447";
+      sha256 = "1hs0krxrncxq1w36bhad02yk8yx71zcfs35cw87c82sl2sfwasjg";
     })
   ];
 
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
index c5a9ad4b3f9..9c7cb0a83fd 100644
--- a/pkgs/tools/backup/wal-e/default.nix
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -25,7 +25,7 @@ pythonPackages.buildPythonApplication rec {
   meta = {
     description = "A Postgres WAL-shipping disaster recovery and replication toolkit";
     homepage = https://github.com/wal-e/wal-e;
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    maintainers = [];
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/compression/xar/default.nix b/pkgs/tools/compression/xar/default.nix
index 61dd5e30f0d..691f3a8ee5d 100644
--- a/pkgs/tools/compression/xar/default.nix
+++ b/pkgs/tools/compression/xar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, lzma, openssl, zlib, bzip2, fts }:
+{ stdenv, fetchurl, libxml2, lzma, openssl, zlib, bzip2, fts, autoconf }:
 
 stdenv.mkDerivation rec {
   version = "1.6.1";
@@ -9,7 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
   };
 
-  buildInputs = [ libxml2 lzma openssl zlib bzip2 fts ];
+  buildInputs = [ libxml2 lzma openssl zlib bzip2 fts autoconf ];
+
+  prePatch = ''
+    substituteInPlace configure.ac \
+      --replace 'OpenSSL_add_all_ciphers' 'OPENSSL_init_crypto' \
+      --replace 'openssl/evp.h' 'openssl/crypto.h'
+  '';
+
+  preConfigure = "./autogen.sh";
 
   meta = {
     homepage    = https://mackyle.github.io/xar/;
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 257396e0428..5a153393ccd 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   pname = "zstd";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
-    sha256 = "1f2nvhsx1fsd6zbnwvc6bbrm9ghkcvamqqg79fxgk5284rc6nynv";
+    sha256 = "0mmgs98cfh92gcbjyv37vz8nq7x4x7fbzymlxyqd9awwpv9v0i5n";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index e3ee04f6e2e..95923f202cf 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "bcachefs-tools";
-  version = "2019-07-13";
+  version = "2019-08-21";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "692eadd6ca9b45f12971126b326b6a89d7117e67";
-    sha256 = "0d2kqy5p89qjrk38iqfk9zsh14c2x40d21kic9kcybdhalfq5q31";
+    rev = "72a408f84846fe702b8db4f158b678ee20bbf835";
+    sha256 = "0y5700afv1x1i3wnp3g71i3zhyhkwmx79j0irxr63fmg47n0ys1i";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index dbdd0bf1790..a96830feb2a 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qjkzpxv7zy9i6lvcrn8yp8dfsqak6c7ffx8g0xfavdx7am458ns";
+    sha256 = "03sdnnq0x44jlwf41snrrma4hxdiixmhynw35gjhm84slpljnngp";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index e915cc1c132..606e41e582e 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python2, ncurses, readline,
+{stdenv, fetchurl, fuse, bison, flex_2_5_35, openssl, python3, ncurses, readline,
  autoconf, automake, libtool, pkgconfig, zlib, libaio, libxml2, acl, sqlite,
  liburcu, attr, makeWrapper, coreutils, gnused, gnugrep, which,
  openssh, gawk, findutils, utillinux, lvm2, btrfs-progs, e2fsprogs, xfsprogs, systemd,
@@ -15,25 +15,26 @@ let
     #       The command
     #         find /nix/store/...-glusterfs-.../ -name '*.py' -executable
     #       can help with finding new Python scripts.
-    version = "4.0.0";
+    version = "6.5";
     name="${baseName}-${version}";
     url="https://github.com/gluster/glusterfs/archive/v${version}.tar.gz";
-    sha256 = "0af3fwiixddds6gdwhkyq3l214mmjl2wpjc2qayp5rpz79lnclq3";
+    sha256 = "17vdrw71ys1n5g9pdmzipmr706bslq0gbxxjhacxnrgsz8r4rl6a";
   };
+
   buildInputs = [
     fuse bison flex_2_5_35 openssl ncurses readline
     autoconf automake libtool pkgconfig zlib libaio libxml2
-    acl sqlite liburcu attr makeWrapper
-    (python2.withPackages (pkgs: [
+    acl sqlite liburcu attr makeWrapper utillinux
+    (python3.withPackages (pkgs: [
       pkgs.flask
       pkgs.prettytable
       pkgs.requests
       pkgs.pyxattr
     ]))
-    # NOTE: `python2` has to be *AFTER* the above `python2.withPackages`,
+    # NOTE: `python3` has to be *AFTER* the above `python3.withPackages`,
     #       to ensure that the packages are available but the `toPythonPath`
     #       shell function used in `postFixup` is also still available.
-    python2
+    python3
   ];
   # Some of the headers reference acl
   propagatedBuildInputs = [
@@ -65,21 +66,15 @@ rec {
   inherit (s) name version;
   inherit buildInputs propagatedBuildInputs;
 
-  postPatch = ''
-    sed -e '/chmod u+s/d' -i contrib/fuse-util/Makefile.am
-  '';
-
   patches = [
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1450546 is fixed
-    ./glusterfs-use-PATH-instead-of-hardcodes.patch
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1450593 is fixed
-    ./glusterfs-python-remove-find_library.patch
     # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1489610 is fixed
     ./glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
-    # Remove when https://bugzilla.redhat.com/show_bug.cgi?id=1559130 is fixed
-    ./glusterfs-glusterfind-log-remote-node_cmd-error.patch
   ];
 
+  postPatch = ''
+    sed -e '/chmod u+s/d' -i contrib/fuse-util/Makefile.am
+  '';
+
    # Note that the VERSION file is something that is present in release tarballs
    # but not in git tags (at least not as of writing in v3.10.1).
    # That's why we have to create it.
@@ -92,6 +87,7 @@ rec {
    preConfigure = ''
      echo "v${s.version}" > VERSION
     ./autogen.sh
+    export PYTHON=${python3}/bin/python
     '';
 
   configureFlags = [
@@ -178,6 +174,9 @@ rec {
     # on a real TTY for testing purposes.
     echo "" | (mkdir -p nix-test-dir-for-gfid_to_path && touch b && $out/libexec/glusterfs/gfind_missing_files/gfid_to_path.py nix-test-dir-for-gfid_to_path)
     $out/share/glusterfs/scripts/eventsdash.py --help
+
+    # this gets falsely loaded as module by glusterfind
+    rm -r $out/bin/conf.py
     '';
 
   src = fetchurl {
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
index f679fb8f4c1..f08d73cf3a6 100644
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
+++ b/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
@@ -18,10 +18,10 @@ index f87d8a454..b4d3f5d10 100644
  fi
  GLUSTERFS_LIBEXECDIR="$(eval echo $libexecdir)/glusterfs"
 -GLUSTERFSD_MISCDIR="$(eval echo $prefix)/var/lib/misc/glusterfsd"
-+GLUSTERFSD_MISCDIR="$(eval echo $localstatedir)/var/lib/misc/glusterfsd"
++GLUSTERFSD_MISCDIR="$(eval echo $localstatedir)/lib/misc/glusterfsd"
  prefix=$old_prefix
  exec_prefix=$old_exec_prefix
- 
--- 
+
+--
 2.12.0
 
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
deleted file mode 100644
index 8bc00fdbf75..00000000000
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 92a6b84a37e7e2e0ec0655ca45cedb64ab72080e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Fri, 8 Sep 2017 02:40:01 +0200
-Subject: [PATCH] glusterfind: Log remote stderr on `node_cmd` error.
-
-The problem of lost stderr was introduced in
-commit feea851fad4f89b48bfe89fe3b75250cc7bd6501.
-
-Change-Id: Ic98f9bc9682ae3bd9c3ebea3855667fc8ba2843d
----
- tools/glusterfind/src/main.py | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/tools/glusterfind/src/main.py b/tools/glusterfind/src/main.py
-index c125f970a..6fffce4b3 100644
---- a/tools/glusterfind/src/main.py
-+++ b/tools/glusterfind/src/main.py
-@@ -75,12 +75,27 @@ def node_cmd(host, host_uuid, task, cmd, args, opts):
-             cmd = ["ssh",
-                    "-oNumberOfPasswordPrompts=0",
-                    "-oStrictHostKeyChecking=no",
-+                   # We force TTY allocation (-t -t) so that Ctrl+C is handed
-+                   # through; see:
-+                   #   https://bugzilla.redhat.com/show_bug.cgi?id=1382236
-+                   # Note that this turns stderr of the remote `cmd`
-+                   # into stdout locally.
-                    "-t",
-                    "-t",
-                    "-i", pem_key_path,
-                    "root@%s" % host] + cmd
- 
--        execute(cmd, exit_msg="%s - %s failed" % (host, task), logger=logger)
-+        (returncode, err, out) = execute(cmd, logger=logger)
-+        if returncode != 0:
-+            # Because the `-t -t` above turns the remote stderr into
-+            # local stdout, we need to log both stderr and stdout
-+            # here to print all error messages.
-+            fail("%s - %s failed; stdout (including remote stderr):\n"
-+                 "%s\n"
-+                 "stderr:\n"
-+                 "%s" % (host, task, out, err),
-+                 returncode,
-+                 logger=logger)
- 
-         if opts.get("copy_outfile", False) and not localdir:
-             cmd_copy = ["scp",
--- 
-2.12.0
-
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
deleted file mode 100644
index 4757f2fce77..00000000000
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From e6293e367f56833457291e32a4df7b21a52365a7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Sat, 13 May 2017 18:54:36 +0200
-Subject: [PATCH] python: Remove all uses of find_library. Fixes #1450593
-
-`find_library()` doesn't consider LD_LIBRARY_PATH on Python < 3.6.
-
-Change-Id: Iee26085cb5d14061001f19f032c2664d69a378a8
----
- api/examples/getvolfile.py                                     |  2 +-
- geo-replication/syncdaemon/libcxattr.py                        |  3 +--
- geo-replication/syncdaemon/libgfchangelog.py                   |  6 ++----
- tests/features/ipctest.py                                      | 10 ++--------
- tests/utils/libcxattr.py                                       |  5 ++---
- tools/glusterfind/src/libgfchangelog.py                        |  3 +--
- .../features/changelog/lib/examples/python/libgfchangelog.py   |  3 +--
- 7 files changed, 10 insertions(+), 22 deletions(-)
-
-diff --git a/api/examples/getvolfile.py b/api/examples/getvolfile.py
-index 0c95213f0..32c2268b3 100755
---- a/api/examples/getvolfile.py
-+++ b/api/examples/getvolfile.py
-@@ -3,7 +3,7 @@
- import ctypes
- import ctypes.util
- 
--api = ctypes.CDLL(ctypes.util.find_library("gfapi"))
-+api = ctypes.CDLL("libgfapi.so")
- api.glfs_get_volfile.argtypes = [ctypes.c_void_p,
-                                  ctypes.c_void_p,
-                                  ctypes.c_ulong]
-diff --git a/geo-replication/syncdaemon/libcxattr.py b/geo-replication/syncdaemon/libcxattr.py
-index 3671e102c..f576648b7 100644
---- a/geo-replication/syncdaemon/libcxattr.py
-+++ b/geo-replication/syncdaemon/libcxattr.py
-@@ -10,7 +10,6 @@
- 
- import os
- from ctypes import CDLL, create_string_buffer, get_errno
--from ctypes.util import find_library
- 
- 
- class Xattr(object):
-@@ -25,7 +24,7 @@ class Xattr(object):
-          sizes we expect
-     """
- 
--    libc = CDLL(find_library("c"), use_errno=True)
-+    libc = CDLL("libc.so.6", use_errno=True)
- 
-     @classmethod
-     def geterrno(cls):
-diff --git a/geo-replication/syncdaemon/libgfchangelog.py b/geo-replication/syncdaemon/libgfchangelog.py
-index 334f5e9ea..093ae157a 100644
---- a/geo-replication/syncdaemon/libgfchangelog.py
-+++ b/geo-replication/syncdaemon/libgfchangelog.py
-@@ -9,14 +9,12 @@
- #
- 
- import os
--from ctypes import CDLL, RTLD_GLOBAL, create_string_buffer, \
--    get_errno, byref, c_ulong
--from ctypes.util import find_library
-+from ctypes import CDLL, RTLD_GLOBAL, create_string_buffer, get_errno, byref, c_ulong
- from syncdutils import ChangelogException, ChangelogHistoryNotAvailable
- 
- 
- class Changes(object):
--    libgfc = CDLL(find_library("gfchangelog"), mode=RTLD_GLOBAL,
-+    libgfc = CDLL("libgfchangelog.so", mode=RTLD_GLOBAL,
-                   use_errno=True)
- 
-     @classmethod
-diff --git a/tests/features/ipctest.py b/tests/features/ipctest.py
-index 5aff319b8..933924861 100755
---- a/tests/features/ipctest.py
-+++ b/tests/features/ipctest.py
-@@ -1,14 +1,8 @@
- #!/usr/bin/python
- 
- import ctypes
--import ctypes.util
--
--# find_library does not lookup LD_LIBRARY_PATH and may miss the
--# function. In that case, retry with less portable but explicit name.
--libgfapi = ctypes.util.find_library("gfapi")
--if libgfapi == None:
--	libgfapi = "libgfapi.so"
--api = ctypes.CDLL(libgfapi,mode=ctypes.RTLD_GLOBAL)
-+
-+api = ctypes.CDLL("libgfapi.so",mode=ctypes.RTLD_GLOBAL)
- 
- api.glfs_ipc.argtypes = [ ctypes.c_void_p, ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p ]
- api.glfs_ipc.restype = ctypes.c_int
-diff --git a/tests/utils/libcxattr.py b/tests/utils/libcxattr.py
-index 149db72e6..4e6e6c46d 100644
---- a/tests/utils/libcxattr.py
-+++ b/tests/utils/libcxattr.py
-@@ -11,7 +11,6 @@
- import os
- import sys
- from ctypes import CDLL, c_int, create_string_buffer
--from ctypes.util import find_library
- 
- 
- class Xattr(object):
-@@ -28,9 +27,9 @@ class Xattr(object):
- 
-     if sys.hexversion >= 0x02060000:
-         from ctypes import DEFAULT_MODE
--        libc = CDLL(find_library("libc"), DEFAULT_MODE, None, True)
-+        libc = CDLL("libc.so.6", DEFAULT_MODE, None, True)
-     else:
--        libc = CDLL(find_library("libc"))
-+        libc = CDLL("libc.so.6")
- 
-     @classmethod
-     def geterrno(cls):
-diff --git a/tools/glusterfind/src/libgfchangelog.py b/tools/glusterfind/src/libgfchangelog.py
-index 0f6b40d6c..9ca3f326b 100644
---- a/tools/glusterfind/src/libgfchangelog.py
-+++ b/tools/glusterfind/src/libgfchangelog.py
-@@ -11,14 +11,13 @@
- import os
- from ctypes import CDLL, get_errno, create_string_buffer, c_ulong, byref
- from ctypes import RTLD_GLOBAL
--from ctypes.util import find_library
- 
- 
- class ChangelogException(OSError):
-     pass
- 
- 
--libgfc = CDLL(find_library("gfchangelog"), use_errno=True, mode=RTLD_GLOBAL)
-+libgfc = CDLL("libgfchangelog.so", use_errno=True, mode=RTLD_GLOBAL)
- 
- 
- def raise_oserr():
-diff --git a/xlators/features/changelog/lib/examples/python/libgfchangelog.py b/xlators/features/changelog/lib/examples/python/libgfchangelog.py
-index 10e73c02b..2cdbf1152 100644
---- a/xlators/features/changelog/lib/examples/python/libgfchangelog.py
-+++ b/xlators/features/changelog/lib/examples/python/libgfchangelog.py
-@@ -1,9 +1,8 @@
- import os
- from ctypes import *
--from ctypes.util import find_library
- 
- class Changes(object):
--    libgfc = CDLL(find_library("gfchangelog"), mode=RTLD_GLOBAL, use_errno=True)
-+    libgfc = CDLL("libgfchangelog.so", mode=RTLD_GLOBAL, use_errno=True)
- 
-     @classmethod
-     def geterrno(cls):
--- 
-2.12.0
-
diff --git a/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch b/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
deleted file mode 100644
index acb15464e48..00000000000
--- a/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 616381bc25b0e90198683fb049f994e82d467d96 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
-Date: Sat, 13 May 2017 02:45:49 +0200
-Subject: [PATCH] Don't use hardcoded /sbin, /usr/bin etc. paths. Fixes
- #1450546.
-
-Instead, rely on programs to be in PATH, as gluster already
-does in many places across its code base.
-
-Change-Id: Id21152fe42f5b67205d8f1571b0656c4d5f74246
----
- contrib/fuse-lib/mount-common.c               |  8 ++++----
- xlators/mgmt/glusterd/src/glusterd-ganesha.c  |  6 +++---
- xlators/mgmt/glusterd/src/glusterd-quota.c    |  6 +++---
- xlators/mgmt/glusterd/src/glusterd-snapshot.c |  4 ++--
- xlators/mgmt/glusterd/src/glusterd-utils.c    | 14 +-------------
- 5 files changed, 13 insertions(+), 25 deletions(-)
-
-diff --git a/contrib/fuse-lib/mount-common.c b/contrib/fuse-lib/mount-common.c
-index e9f80fe81..6380dd867 100644
---- a/contrib/fuse-lib/mount-common.c
-+++ b/contrib/fuse-lib/mount-common.c
-@@ -255,16 +255,16 @@ fuse_mnt_umount (const char *progname, const char *abs_mnt,
-                         exit (1);
-                 }
- #ifdef GF_LINUX_HOST_OS
--                execl ("/bin/umount", "/bin/umount", "-i", rel_mnt,
-+                execl ("umount", "umount", "-i", rel_mnt,
-                        lazy ? "-l" : NULL, NULL);
--                GFFUSE_LOGERR ("%s: failed to execute /bin/umount: %s",
-+                GFFUSE_LOGERR ("%s: failed to execute umount: %s",
-                                progname, strerror (errno));
- #elif __NetBSD__
-                 /* exitting the filesystem causes the umount */
-                 exit (0);
- #else
--                execl ("/sbin/umount", "/sbin/umount", "-f", rel_mnt, NULL);
--                GFFUSE_LOGERR ("%s: failed to execute /sbin/umount: %s",
-+                execl ("umount", "umount", "-f", rel_mnt, NULL);
-+                GFFUSE_LOGERR ("%s: failed to execute umount: %s",
-                                progname, strerror (errno));
- #endif /* GF_LINUX_HOST_OS */
-                 exit (1);
-diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
-index 0e6629cf0..fcb4738b7 100644
---- a/xlators/mgmt/glusterd/src/glusterd-quota.c
-+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
-@@ -30,7 +30,7 @@
- 
- #ifndef _PATH_SETFATTR
- # ifdef GF_LINUX_HOST_OS
--#  define _PATH_SETFATTR "/usr/bin/setfattr"
-+#  define _PATH_SETFATTR "setfattr"
- # endif
- # ifdef __NetBSD__
- #  define _PATH_SETFATTR "/usr/pkg/bin/setfattr"
-@@ -335,7 +335,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
- 
-                 if (type == GF_QUOTA_OPTION_TYPE_ENABLE ||
-                     type == GF_QUOTA_OPTION_TYPE_ENABLE_OBJECTS)
--                        runner_add_args (&runner, "/usr/bin/find", ".", NULL);
-+                        runner_add_args (&runner, "find", ".", NULL);
- 
-                 else if (type == GF_QUOTA_OPTION_TYPE_DISABLE) {
- 
-@@ -351,7 +351,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
-                                          VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "1",
-                                          "{}", "\\", ";", NULL);
- #else
--                        runner_add_args (&runner, "/usr/bin/find", ".",
-+                        runner_add_args (&runner, "find", ".",
-                                          "-exec", _PATH_SETFATTR, "-n",
-                                          VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "-v",
-                                          "1", "{}", "\\", ";", NULL);
-diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
-index da0152366..f0d135350 100644
---- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c
-+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
-@@ -121,7 +121,7 @@ glusterd_build_snap_device_path (char *device, char *snapname,
-         }
- 
-         runinit (&runner);
--        runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "vg_name",
-+        runner_add_args (&runner, "lvs", "--noheadings", "-o", "vg_name",
-                          device, NULL);
-         runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
-         snprintf (msg, sizeof (msg), "Get volume group for device %s", device);
-@@ -1982,7 +1982,7 @@ glusterd_is_thinp_brick (char *device, uint32_t *op_errno)
- 
-         runinit (&runner);
- 
--        runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "pool_lv",
-+        runner_add_args (&runner, "lvs", "--noheadings", "-o", "pool_lv",
-                          device, NULL);
-         runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
-         runner_log (&runner, this->name, GF_LOG_DEBUG, msg);
-diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
-index 51db13df0..6fa7b92f9 100644
---- a/xlators/mgmt/glusterd/src/glusterd-utils.c
-+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
-@@ -6027,7 +6027,6 @@ static struct fs_info {
-         char *fs_tool_pattern;
-         char *fs_tool_pkg;
- } glusterd_fs[] = {
--        /* some linux have these in /usr/sbin/and others in /sbin/? */
-         { "xfs", "xfs_info", NULL, "isize=", "xfsprogs" },
-         { "ext3", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
-         { "ext4", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
-@@ -6048,7 +6047,6 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
-         char           *trail             = NULL;
-         runner_t        runner            = {0, };
-         struct fs_info *fs                = NULL;
--        char            fs_tool_name[256] = {0, };
-         static dict_t  *cached_fs         = NULL;
- 
-         memset (key, 0, sizeof (key));
-@@ -6085,17 +6083,7 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
-                                 cur_word = "N/A";
-                                 goto cached;
-                         }
--
--                        snprintf (fs_tool_name, sizeof (fs_tool_name),
--                                  "/usr/sbin/%s", fs->fs_tool_name);
--                        if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
--                                runner_add_arg (&runner, fs_tool_name);
--                        else {
--                                snprintf (fs_tool_name, sizeof (fs_tool_name),
--                                          "/sbin/%s", fs->fs_tool_name);
--                                if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
--                                        runner_add_arg (&runner, fs_tool_name);
--                        }
-+                        runner_add_arg (&runner, fs->fs_tool_name);
-                         break;
-                 }
-         }
--- 
-2.12.0
-
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index 1b2425fa71a..160b77229b3 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.argyllcms.com;
     description = "Color management system (compatible with ICC)";
     license = licenses.gpl3;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index 035e135a2e4..2f4862b0645 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -1,32 +1,25 @@
-{ stdenv, fetchurl, fetchzip, giblib, xlibsWrapper }:
+{ stdenv, fetchFromGitHub, giblib, xlibsWrapper, autoreconfHook
+, autoconf-archive, libXfixes, libXcursor }:
 
-let
-  debPatch = fetchzip {
-    url = mirror://debian/pool/main/s/scrot/scrot_0.8-18.debian.tar.xz;
-    sha256 = "1m8m8ad0idf3nzw0k57f6rfbw8n7dza69a7iikriqgbrpyvxqybx";
-  };
-in
 stdenv.mkDerivation rec {
-  name = "scrot-0.8-18";
+  pname = "scrot";
+  version = "1.2";
 
-  src = fetchurl {
-    url = "http://linuxbrit.co.uk/downloads/${name}.tar.gz";
-    sha256 = "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1";
+  src = fetchFromGitHub {
+    owner = "resurrecting-open-source-projects";
+    repo = pname;
+    rev = version;
+    sha256 = "08gkdby0ysx2mki57z81zlm7vfnq9c1gq692xw67cg5vv2p3320w";
   };
 
-  postPatch = ''
-    for patch in $(cat ${debPatch}/patches/series); do
-      patch -p1 < "${debPatch}/patches/$patch"
-    done
-  '';
-
-  buildInputs = [ giblib xlibsWrapper ];
+  nativeBuildInputs = [ autoreconfHook autoconf-archive ];
+  buildInputs = [ giblib xlibsWrapper libXfixes libXcursor ];
 
   meta = with stdenv.lib; {
     homepage = http://linuxbrit.co.uk/scrot/;
     description = "A command-line screen capture utility";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ globin ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/graphics/wkhtmltopdf/default.nix b/pkgs/tools/graphics/wkhtmltopdf/default.nix
index c173d00221d..2aa6abcccfc 100644
--- a/pkgs/tools/graphics/wkhtmltopdf/default.nix
+++ b/pkgs/tools/graphics/wkhtmltopdf/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, qt5, fontconfig, freetype, libpng, zlib, libjpeg
+{ mkDerivation, lib, fetchFromGitHub, qtwebkit, qtsvg, qtxmlpatterns
+, fontconfig, freetype, libpng, zlib, libjpeg
 , openssl, libX11, libXext, libXrender }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "0.12.5";
   pname = "wkhtmltopdf";
 
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     fontconfig freetype libpng zlib libjpeg openssl
     libX11 libXext libXrender
-    qt5.qtwebkit qt5.qtsvg qt5.qtxmlpatterns
+    qtwebkit qtsvg qtxmlpatterns
   ];
 
   prePatch = ''
@@ -28,7 +29,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://wkhtmltopdf.org/;
     description = "Tools for rendering web pages to PDF or images";
     longDescription = ''
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index d0873d764aa..8e34cb860a6 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, docbook2x, pkgconfig
 , gtk3, dconf, gobject-introspection
-, ibus, python3 }:
+, ibus, python3, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
@@ -30,18 +30,29 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    dconf gtk3 gobject-introspection ibus (python3.withPackages (pypkgs: with pypkgs; [ pygobject3 ]))
+    dconf
+    gtk3
+    gobject-introspection
+    ibus
+    (python3.withPackages (pypkgs: with pypkgs; [
+      pygobject3
+      (toPythonModule ibus)
+    ]))
   ];
 
-  nativeBuildInputs = [ autoreconfHook docbook2x pkgconfig python3.pkgs.wrapPython ];
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook2x
+    pkgconfig
+    python3.pkgs.wrapPython
+    wrapGAppsHook
+  ];
 
   postUnpack = ''
     substituteInPlace $sourceRoot/engine/Makefile.am \
       --replace "docbook2man" "docbook2man --sgml"
   '';
 
-  postFixup = "wrapPythonPrograms";
-
   meta = with stdenv.lib; {
     isIbusEngine = true;
     description  = "An IBus framework for table-based input methods";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
index 1115e4e232f..56ddf93af45 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
@@ -4,7 +4,7 @@
 
 let
 
-  hunspellDirs = with lib; makeSearchPath ":" (flatten (flip map langs (lang: [
+  hunspellDirs = with lib; makeSearchPath ":" (flatten (forEach langs (lang: [
     "${hunspellDicts.${lang}}/share/hunspell"
     "${hunspellDicts.${lang}}/share/myspell"
     "${hunspellDicts.${lang}}/share/myspell/dicts"
diff --git a/pkgs/tools/misc/3llo/Gemfile b/pkgs/tools/misc/3llo/Gemfile
new file mode 100644
index 00000000000..17a1086d78f
--- /dev/null
+++ b/pkgs/tools/misc/3llo/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem '3llo', '0.3.0'
diff --git a/pkgs/tools/misc/3llo/Gemfile.lock b/pkgs/tools/misc/3llo/Gemfile.lock
new file mode 100644
index 00000000000..0696ba34165
--- /dev/null
+++ b/pkgs/tools/misc/3llo/Gemfile.lock
@@ -0,0 +1,27 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    3llo (0.3.0)
+      tty-prompt (~> 0.12.0)
+    equatable (0.6.1)
+    necromancer (0.4.0)
+    pastel (0.7.3)
+      equatable (~> 0.6)
+      tty-color (~> 0.5)
+    tty-color (0.5.0)
+    tty-cursor (0.4.0)
+    tty-prompt (0.12.0)
+      necromancer (~> 0.4.0)
+      pastel (~> 0.7.0)
+      tty-cursor (~> 0.4.0)
+      wisper (~> 1.6.1)
+    wisper (1.6.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  3llo (= 0.3.0)
+
+BUNDLED WITH
+   1.17.2
diff --git a/pkgs/tools/misc/3llo/default.nix b/pkgs/tools/misc/3llo/default.nix
new file mode 100644
index 00000000000..1f59d1f16a7
--- /dev/null
+++ b/pkgs/tools/misc/3llo/default.nix
@@ -0,0 +1,31 @@
+{ lib, ruby, bundlerApp, fetchpatch }:
+
+bundlerApp {
+  pname = "3llo";
+
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+
+  gemset = lib.recursiveUpdate (import ./gemset.nix) ({
+    "3llo" = {
+      dontBuild = false;
+      patches = [
+        (fetchpatch {
+          url = https://github.com/qcam/3llo/commit/7667c67fdc975bac315da027a3c69f49e7c06a2e.patch;
+          sha256 = "0ahp19igj77x23b2j9zk3znlmm7q7nija7mjgsmgqkgfbz2r1y7v";
+        })
+      ];
+    };
+  });
+
+  inherit ruby;
+
+  exes = [ "3llo" ];
+
+  meta = with lib; {
+    description = "Trello interactive CLI on terminal";
+    license = licenses.mit;
+    homepage = https://github.com/qcam/3llo;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/tools/misc/3llo/gemset.nix b/pkgs/tools/misc/3llo/gemset.nix
new file mode 100644
index 00000000000..5c50ea9b212
--- /dev/null
+++ b/pkgs/tools/misc/3llo/gemset.nix
@@ -0,0 +1,85 @@
+{
+  "3llo" = {
+    dependencies = ["tty-prompt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "082g42lkkynnb2piz37ih696zm2ms63mz2q9rnfzjsd149ig39yy";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  equatable = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fzx2ishipnp6c124ka6fiw5wk42s7c7gxid2c4c1mb55b30dglf";
+      type = "gem";
+    };
+    version = "0.6.1";
+  };
+  necromancer = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  pastel = {
+    dependencies = ["equatable" "tty-color"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m43wk7gswwkl6lfxwlliqc9v1qp8arfygihyz91jc9icf270xzm";
+      type = "gem";
+    };
+    version = "0.7.3";
+  };
+  tty-color = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zpp6zixkkchrc2lqnabrsy24pxikz2px87ggz5ph6355fs803da";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
+  tty-cursor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07whfm8mnp7l49s2cm2qy1snhsqq3a90sqwb71gvym4hm2kx822a";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  tty-prompt = {
+    dependencies = ["necromancer" "pastel" "tty-cursor" "wisper"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1026nyqhgmgxi2nmk8xk3hca07gy5rpisjs8y6w00wnw4f01kpv0";
+      type = "gem";
+    };
+    version = "0.12.0";
+  };
+  wisper = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19bw0z1qw1dhv7gn9lad25hgbgpb1bkw8d599744xdfam158ms2s";
+      type = "gem";
+    };
+    version = "1.6.1";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 3c0d42e832e..fd9bbda699f 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -52,11 +52,11 @@ in
       sha256 = "1bp1cqkrpg77rjyh4lq1agc719fmxn92jkiicf6nbhfl8kf3l3vy";
     };
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://github.com/phillipberndt/autorandr/;
       description = "Automatically select a display configuration based on connected devices";
-      license = stdenv.lib.licenses.gpl3Plus;
-      maintainers = [ stdenv.lib.maintainers.coroa ];
-      platforms = stdenv.lib.platforms.unix;
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ coroa globin ];
+      platforms = platforms.unix;
     };
   }
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 070b7a7699c..2c48f995ca2 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "calamares";
-  version = "3.2.8";
+  version = "3.2.11";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "1ymyl12fzxc5jjfbw4pfmgzp036w0dai76f7anilw2bnwfzq5g62";
+    sha256 = "1djrc8p6kll8szycyj86v02jphiw2xwfhn563siykphfqr0jknlw";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/ckb-next/default.nix b/pkgs/tools/misc/ckb-next/default.nix
index 9d2126db9ff..575cb686f9d 100644
--- a/pkgs/tools/misc/ckb-next/default.nix
+++ b/pkgs/tools/misc/ckb-next/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, substituteAll, udev
+{ stdenv, mkDerivation, fetchFromGitHub, substituteAll, udev
 , pkgconfig, qtbase, cmake, zlib, kmod }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "0.3.2";
   pname = "ckb-next";
 
@@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
     cmake
   ];
 
+  cmakeFlags = [
+    "-DINSTALL_DIR_ANIMATIONS=libexec"
+  ];
+
   patches = [
     ./install-dirs.patch
     ./systemd-service.patch
diff --git a/pkgs/tools/misc/docui/default.nix b/pkgs/tools/misc/docui/default.nix
index 74ce8c102c6..66c0cfc82b1 100644
--- a/pkgs/tools/misc/docui/default.nix
+++ b/pkgs/tools/misc/docui/default.nix
@@ -2,21 +2,22 @@
 
 buildGoModule rec {
   pname = "docui";
-  version = "1.0.3";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "skanehira";
     repo = "docui";
     rev = version;
-    sha256 = "1kbap36hccwlj273is98cvgf5z5cl2c3s6p46nh6bnykz3zqzs71";
+    sha256 = "0rizl4rxmb3brzvqxw5llbgvq3rncix3h60pgq50djdf0jjnn5hs";
   };
 
-  modSha256 = "1qma9bnd4k594cr5dcv74xns53mhfyl4jsm01chf85dxywjjd9vd";
+  modSha256 = "0asqz9nnx80g2wi7dzxrfmppcraywrwdqi9vzr66vaihwpfpfnwz";
 
   meta = with stdenv.lib; {
     description = "TUI Client for Docker";
     homepage = https://github.com/skanehira/docui;
     license = licenses.mit;
     platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ aethelz ];
   };
 }
diff --git a/pkgs/tools/misc/dynamic-colors/default.nix b/pkgs/tools/misc/dynamic-colors/default.nix
index 799236a5804..6cb01f14a2c 100644
--- a/pkgs/tools/misc/dynamic-colors/default.nix
+++ b/pkgs/tools/misc/dynamic-colors/default.nix
@@ -2,37 +2,25 @@
 
 stdenv.mkDerivation rec {
   pname = "dynamic-colors";
-  version = "0.2.2.1";
+  version = "0.2.2.2";
 
   src = fetchFromGitHub {
     owner  = "peterhoeg";
     repo   = "dynamic-colors";
     rev    = "v${version}";
-    sha256 = "0qz76n5sspgpz6bz66jfkyr42da3skbpw9wbvxgm3ha343azfaiw";
+    sha256 = "0i63570z9aqbxa8ixh4ayb3akgjdnlqyl2sbf9d7x8f1pxhk5kd5";
   };
 
-  dontBuild = true;
-  dontStrip = true;
+  PREFIX = placeholder "out";
 
-  installPhase = ''
-    mkdir -p \
-      $out/bin \
-      $out/share/dynamic-colors/colorschemes \
-      $out/share/bash-completion/completions \
-      $out/share/zsh/site-packages
-
-    install -m755 bin/dynamic-colors              $out/bin/
-    install -m644 completions/dynamic-colors.bash $out/share/bash-completion/completions/dynamic-colors
-    install -m644 completions/dynamic-colors.zsh  $out/share/zsh/site-packages/_dynamic-colors
-    install -m644 colorschemes/*               -t $out/share/dynamic-colors/colorschemes
-
-    substituteInPlace $out/bin/dynamic-colors \
+  postPatch = ''
+    substituteInPlace bin/dynamic-colors \
       --replace /usr/share/dynamic-colors $out/share/dynamic-colors
   '';
 
   meta = with stdenv.lib; {
     description = "Change terminal colors on the fly";
-    homepage    = https://github.com/peterhoeg/dynamic-colors;
+    homepage    = "https://github.com/peterhoeg/dynamic-colors";
     license     = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.unix;
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 7c43638ea56..1447c70412b 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -52,6 +52,6 @@ buildRustPackage rec {
     '';
     homepage = https://the.exa.website;
     license = licenses.mit;
-    maintainers = with maintainers; [ ehegnes lilyball ];
+    maintainers = with maintainers; [ ehegnes lilyball globin ];
   };
 }
diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix
index 64bceb355a2..91c1b3b7071 100644
--- a/pkgs/tools/misc/fd/default.nix
+++ b/pkgs/tools/misc/fd/default.nix
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/sharkdp/fd";
     license = with licenses; [ asl20 /* or */ mit ];
-    maintainers = with maintainers; [ dywedir ];
+    maintainers = with maintainers; [ dywedir globin ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index 22697cfb24d..73734ee5ea0 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.49";
+  version = "0.2.50";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "08x0kakhn75yzajxpvpdp1ml9z77i2x2k02kqcx3ssr6mbc7xnpf";
+    sha256 = "06virzmg3prvwk5gilr19qrpi93wvv7jq096kgsbn3rmnv3ys1zh";
   };
 
-  cargoSha256 = "1dmkij25gj0ya1i6h5l7pkjnqvj02zvsx15hddbjn1q06pihcsjm";
+  cargoSha256 = "1g72nz3nha41cvsb514z4k78yw7xcsh3nm0bl2wqy9dvdzgp1lm1";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
diff --git a/pkgs/tools/misc/fpp/default.nix b/pkgs/tools/misc/fpp/default.nix
index bfaf30f3f37..ac731bcdbe8 100644
--- a/pkgs/tools/misc/fpp/default.nix
+++ b/pkgs/tools/misc/fpp/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, python27 }:
+{ stdenv, fetchFromGitHub, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "fpp";
-  version = "0.7.2";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "PathPicker";
     rev = version;
-    sha256 = "03n8sc2fvs2vk46jv6qfkjbyqz85yxnphvabji7qnmd3jv631w47";
+    sha256 = "00916xx4scd4xr9zxqkyhilczi27f2qm5y042592wr79ddix4n9v";
   };
 
   postPatch = ''
-    substituteInPlace fpp --replace 'PYTHONCMD="python"' 'PYTHONCMD="${python27.interpreter}"'
+    substituteInPlace fpp --replace 'PYTHONCMD="python"' 'PYTHONCMD="${python3.interpreter}"'
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index 33b884a5eb9..0f32d1e63b1 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "1awdr54vw29ah7aah2bxpy4qkqasxj67sqk6gir8ybnxb5hxm3ri";
+    sha256 = "0s3v8frflqqifyzq84xi6322wg8c9f5wcaic9zlpdf6wylqsiali";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/grc/default.nix b/pkgs/tools/misc/grc/default.nix
index fde08702f67..828d4e4dab7 100644
--- a/pkgs/tools/misc/grc/default.nix
+++ b/pkgs/tools/misc/grc/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchFromGitHub, python3Packages, makeWrapper }:
+{ stdenv, fetchFromGitHub, python3Packages }:
 
-stdenv.mkDerivation rec {
+python3Packages.buildPythonApplication rec {
   pname = "grc";
   version = "1.11.3";
+  format = "other";
 
   src = fetchFromGitHub {
     owner  = "garabik";
@@ -11,22 +12,18 @@ stdenv.mkDerivation rec {
     sha256 = "0b3wx9zr7l642hizk93ysbdss7rfymn22b2ykj4kpkf1agjkbv35";
   };
 
-  buildInputs = with python3Packages; [ wrapPython makeWrapper ];
+  postPatch = ''
+    for f in grc grcat; do
+      substituteInPlace $f \
+        --replace /usr/local/ $out/
+    done
+  '';
 
   installPhase = ''
     runHook preInstall
 
     ./install.sh "$out" "$out"
-
-    for f in $out/bin/* ; do
-      patchPythonScript $f
-      substituteInPlace $f \
-        --replace ' /usr/bin/env python3' '${python3Packages.python.interpreter}' \
-        --replace "'/etc/grc.conf'"   "'$out/etc/grc.conf'" \
-        --replace "'/usr/share/grc/'" "'$out/share/grc/'"
-      wrapProgram $f \
-        --prefix PATH : $out/bin
-    done
+    install -Dm444 -t $out/share/zsh/vendor-completions _grc
 
     runHook postInstall
   '';
diff --git a/pkgs/tools/misc/ix/default.nix b/pkgs/tools/misc/ix/default.nix
new file mode 100644
index 00000000000..fdbd7611dce
--- /dev/null
+++ b/pkgs/tools/misc/ix/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, makeWrapper, curl }:
+
+stdenv.mkDerivation rec {
+  pname = "ix";
+  version = "20190815";
+
+  src = fetchurl {
+    url = "http://ix.io/client";
+    sha256 =  "0xc2s4s1aq143zz8lgkq5k25dpf049dw253qxiav5k7d7qvzzy57";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    install -Dm +x $src $out/bin/ix
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/ix --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://ix.io";
+    description = "Command line pastebin";
+    maintainers = with maintainers; [ asymmetric ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/kdecoration-viewer/default.nix b/pkgs/tools/misc/kdecoration-viewer/default.nix
index 5c2e410cd93..ce343c7cc39 100644
--- a/pkgs/tools/misc/kdecoration-viewer/default.nix
+++ b/pkgs/tools/misc/kdecoration-viewer/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub
+{ stdenv, fetchFromGitHub, mkDerivation
 , cmake, extra-cmake-modules, qtquickcontrols, kconfigwidgets, kdeclarative, kdecoration }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "kdecoration-viewer-2018-07-24";
 
   src = fetchFromGitHub {
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index ea8f781e405..a8ca200129a 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lazydocker";
-  version = "0.5.5";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "0h2c1f9r67i6a8ppspsg1ln9rkm272092aaaw55sd15xxr51s4hb";
+    sha256 = "0vai88g31yf55988paqzs7fqlxgi0ydrsgszzjig9ai3x9c52xim";
   };
 
-  modSha256 = "1lrrwcr95fxk4dlinyg74vqyxwwzagymncfps9bgig5v5d8gdd8j";
+  modSha256 = "1iin1m6s9xxdskvj6jy2jwlqrsrm432ld13cpa28hpx7pylx61ij";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
index 18177c0a7e3..8009fe563ee 100644
--- a/pkgs/tools/misc/libbitcoin/libbitcoin.nix
+++ b/pkgs/tools/misc/libbitcoin/libbitcoin.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "libbitcoin";
-  version = "3.5.0";
+  version = "3.6.0";
 
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qy637hpv6kkhf602yxxi5b9j0qhsp644fazljcqbnxzp7vv2qyd";
+    sha256 = "1rppyp3zpb6ymwangjpblwf6qh4y3d1hczrjx8aavmrq7hznnrhq";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 97842f82ae9..d29626c99d1 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ncdu";
-  version = "1.14";
+  version = "1.14.1";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/${pname}-${version}.tar.gz";
-    sha256 = "0i4cap2z3037xx2rdzhrlazl2igk3xy4ncddp9j7xqi1mcx7i566";
+    sha256 = "0gp1aszzrh8b6fhv8fspvkmr0qwc55z6z4w6l7r8j09sq7lf0cdy";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index 9b45680ffca..0b7a7826a97 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxml2
-, libxslt, libarchive, bzip2, lzma, json-glib
+{ stdenv, fetchurl, pkgconfig, gettext, glib, libxml2, perl
+, libxslt, libarchive, bzip2, lzma, json-glib, libsoup
 }:
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.gz";
-    sha256 = "1pihjwajmahldxi3isnq6wcsbwj0hsnq8z5kp3w4j615ygrn0cgl";
+    sha256 = "0x155d4hqz7mabgqvgydqjm9d8aabc78vr0v0pnsp9vkdlcv3mfh";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ glib json-glib libxml2 libxslt libarchive bzip2 lzma ];
+  nativeBuildInputs = [ pkgconfig gettext perl ];
+  buildInputs = [ glib json-glib libxml2 libxslt libarchive bzip2 lzma libsoup ];
 
   meta = with stdenv.lib; {
     description = "Tools for managing the osinfo database";
diff --git a/pkgs/tools/misc/riemann-c-client/default.nix b/pkgs/tools/misc/riemann-c-client/default.nix
index 970cf28c26d..69bf9cafa53 100644
--- a/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/pkgs/tools/misc/riemann-c-client/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/algernon/riemann-c-client;
     description = "A C client library for the Riemann monitoring system";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ rickynils pradeepchhetri ];
+    maintainers = with maintainers; [ pradeepchhetri ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/shallot/default.nix b/pkgs/tools/misc/shallot/default.nix
index a22799b2073..ced15038b0c 100644
--- a/pkgs/tools/misc/shallot/default.nix
+++ b/pkgs/tools/misc/shallot/default.nix
@@ -1,13 +1,10 @@
-{ 
-  stdenv, fetchFromGitHub,
-  openssl
+{ stdenv, fetchFromGitHub, fetchpatch
+, openssl
 }:
 
-let 
-  version = "0.0.3";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "shallot";
-  inherit version;
+  version = "0.0.3";
 
   src = fetchFromGitHub {
     owner = "katmagic";
@@ -18,6 +15,21 @@ in stdenv.mkDerivation {
 
   buildInputs = [ openssl ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/katmagic/Shallot/commit/c913088dfaaaf249494514f20a62f2a17b5c6606.patch";
+      sha256 = "19l1ppbxpdb0736f7plhybj08wh6rqk1lr3bxsp8jpzpnkh114b2";
+    })
+    (fetchpatch {
+      url = "https://github.com/katmagic/Shallot/commit/cd6628d97b981325e700a38f408a43df426fd569.patch";
+      sha256 = "1gaffp5wp1l5p2qdk0ix3i5fhzpx4xphl0haa6ajhqn8db7hbr9y";
+    })
+    (fetchpatch {
+      url = "https://github.com/katmagic/Shallot/commit/5c7c1ccecbbad5a121c50ba7153cbbee7ee0ebf9.patch";
+      sha256 = "1zmll4iqz39zwk8vj40n1dpvyq3403l64p2127gsjgh2l2v91s4k";
+    })
+  ];
+
   installPhase = ''
     mkdir -p $out/bin
     cp ./shallot $out/bin/
diff --git a/pkgs/tools/misc/sl/default.nix b/pkgs/tools/misc/sl/default.nix
index bb7586ee379..4ef91f6c55a 100644
--- a/pkgs/tools/misc/sl/default.nix
+++ b/pkgs/tools/misc/sl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sl";
-  version = "5.04";
+  version = "5.05";
 
   src = fetchFromGitHub {
     owner = "eyJhb";
     repo = "sl";
     rev = version;
-    sha256 = "029lv6vw39c7gj8bkfyqs8q4g32174vbmghhhgfk8wrhnxq60qn7";
+    sha256 = "11a1rdgb8wagikhxgm81g80g5qsl59mv4qgsval3isykqh8729bj";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
new file mode 100644
index 00000000000..e0bd36b2195
--- /dev/null
+++ b/pkgs/tools/misc/starship/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, rustPlatform, openssl, pkgconfig, libiconv, darwin }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "starship";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "starship";
+    repo = "starship";
+    rev = "v${version}";
+    sha256 = "0zq99ll0vyafr2piffazprhvbs3sxb6863cp2qw596ilqg7ffi04";
+  };
+
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  cargoSha256 = "0qlgng5j6l1r9j5vn3wnq25qr6f4nh10x90awiqyzz8jypb0ng2c";
+  checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
+
+  meta = with stdenv.lib; {
+    description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
+    homepage = "https://starship.rs";
+    license = licenses.isc;
+    maintainers = with maintainers; [ bbigras ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index 2ca5dfb7758..0739435084d 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     description = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ globin ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/uhubctl/default.nix b/pkgs/tools/misc/uhubctl/default.nix
new file mode 100644
index 00000000000..5c858944b3f
--- /dev/null
+++ b/pkgs/tools/misc/uhubctl/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, fetchFromGitHub
+, libusb
+}:
+
+stdenv.mkDerivation rec {
+  pname = "uhubctl";
+  version = "unstable-2019-07-31";
+
+  src = fetchFromGitHub {
+    owner = "mvp";
+    repo = "uhubctl";
+    rev = "1961aa02e9924a54a6219d16c61a0beb0d626e46";
+    sha256 = "15mvqp1xh079nqp0mynh3l1wmw4maa320pn4jr8bz7nh3knmk0n1";
+  };
+
+  buildInputs = [ libusb ];
+
+  installFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/mvp/uhubctl";
+    description = "Utility to control USB power per-port on smart USB hubs";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = with platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/tools/misc/unclutter-xfixes/default.nix b/pkgs/tools/misc/unclutter-xfixes/default.nix
index 8e2342f4269..7d2e5e0c367 100644
--- a/pkgs/tools/misc/unclutter-xfixes/default.nix
+++ b/pkgs/tools/misc/unclutter-xfixes/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = stdenv.lib.licenses.mit;
     inherit version;
+    maintainers = [ maintainers.globin ];
   };
 }
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index b3b1b4b310a..8f79f5463e3 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -8,17 +8,18 @@ python3Packages.buildPythonApplication rec {
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
-    owner = "pimutils";
+    owner = "spk";
     repo = pname;
-    rev = "ac45cf144b0ceb72cc2a9f454808688f3ac9ba4f";
-    sha256 = "0hqsjdpgvm7d34q5b2hzmrzfxk43ald1bx22mvgg559kw1ck54s9";
+    # fix-build-style branch, see https://github.com/pimutils/vdirsyncer/pull/798
+    rev = "2c62d03bd73f8b44a47c2e769ade046697896ae9";
+    sha256 = "1q6xvzz5rf5sqdaj3mdvhpgwy5b16isavgg7vardgjwqwv1yal28";
   };
 
   native = rustPlatform.buildRustPackage {
     name = "${name}-native";
     inherit src;
     sourceRoot = "source/rust";
-    cargoSha256 = "1qziwlf6nlkpxb1hamb7qsipqg9ibp871rimgpwil38vqmyd570s";
+    cargoSha256 = "1n1dxq3klsry5mmbfff2jv7ih8mr5zvpncrdgba6qs93wi77qi0y";
     buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
   };
 
@@ -36,18 +37,6 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
-  patches = [
-    # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779
-    (fetchpatch {
-      url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch;
-      sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl";
-    })
-    (fetchpatch {
-      url = https://github.com/pimutils/vdirsyncer/commit/29417235321c249c65904bc7948b066ef5683aee.patch;
-      sha256 = "0zvr0y88gm3vprjcdzs4m151laa9qhkyi61rvrfdjmf42fwhbm80";
-    })
-  ];
-
   postPatch = ''
     # Invalid argument: 'perform_health_check' is not a valid setting
     substituteInPlace tests/conftest.py \
@@ -74,7 +63,7 @@ python3Packages.buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/pimutils/vdirsyncer;
     description = "Synchronize calendars and contacts";
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ matthiasbeyer gebner ];
     license = licenses.mit;
   };
 }
diff --git a/pkgs/tools/misc/vfdecrypt/default.nix b/pkgs/tools/misc/vfdecrypt/default.nix
deleted file mode 100644
index 48bd2b140b7..00000000000
--- a/pkgs/tools/misc/vfdecrypt/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchFromGitHub, openssl }:
-
-stdenv.mkDerivation rec {
-  pname = "vfdecrypt";
-  version = "unstable-2010-08-13";
-
-  src = fetchFromGitHub {
-    owner = "Tomer1510";
-    repo = "VFDecrypt";
-    rev = "4e2fa32816254907e82886b936afcae9859a876c";
-    sha256 = "0b945805f7f60bf48556c2db45c9ab26485fb05acbc6160a563d529b20cb56a3";
-  };
-
-  buildInputs = [ openssl ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp vfdecrypt $out/bin
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A cross platform dmg decryption tool";
-    license = licenses.mit;
-    inherit (src.meta) homepage;
-  };
-}
diff --git a/pkgs/tools/misc/wev/default.nix b/pkgs/tools/misc/wev/default.nix
new file mode 100644
index 00000000000..fa69cc4445e
--- /dev/null
+++ b/pkgs/tools/misc/wev/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl
+, pkg-config, scdoc
+, wayland, wayland-protocols, libxkbcommon
+}:
+
+let
+  version = "2019-08-11";
+  commit = "47d17393473be152cf601272faf5704fff1c3f92";
+in stdenv.mkDerivation {
+  pname = "wev-unstable";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://git.sr.ht/~sircmpwn/wev/archive/${commit}.tar.gz";
+    sha256 = "0a5kvrviz77bf7357gqs2iy7a1bvb3izgkmiv1rdxzzmihd563ga";
+  };
+
+  nativeBuildInputs = [ pkg-config scdoc ];
+  buildInputs = [ wayland wayland-protocols libxkbcommon ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Wayland event viewer";
+    longDescription = ''
+      This is a tool for debugging events on a Wayland window, analagous to the
+      X11 tool xev.
+    '';
+    homepage = https://git.sr.ht/~sircmpwn/wev;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/pkgs/tools/misc/yank/default.nix b/pkgs/tools/misc/yank/default.nix
index 0e88e79eb1b..9fb5399fd72 100644
--- a/pkgs/tools/misc/yank/default.nix
+++ b/pkgs/tools/misc/yank/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "mptre";
     repo = "yank";
     rev = "v${meta.version}";
-    sha256 = "0jhr4ywn5x5s15sczhdyyaqy3xh5z4zsx3g42ma26prpnr4gjczz";
+    sha256 = "1izygx7f1z35li74i2cwca0p28c3v8fbr7w72dwpiqdaiwywa8xc";
     inherit name;
   };
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/mptre/yank/releases";
     license = licenses.mit;
-    version = "1.1.0";
+    version = "1.2.0";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/yubikey-manager-qt/default.nix b/pkgs/tools/misc/yubikey-manager-qt/default.nix
index 44b2f3451c1..810c2f49a5e 100644
--- a/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/pkgs/tools/misc/yubikey-manager-qt/default.nix
@@ -20,11 +20,11 @@ let inherit (stdenv) lib; in
 
 stdenv.mkDerivation rec {
   pname = "yubikey-manager-qt";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "01ax8zjrahs2sjbgsys2ahh57sdcap0ij3y1r1bbvsgzr7xxm2q8";
+    sha256 = "087ms9i0n3rm8a0hvc4a2dk3rffbm6rmgz0m8gbjk6g37iml6nb7";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook python3.pkgs.wrapPython qmake ];
diff --git a/pkgs/tools/networking/arping/default.nix b/pkgs/tools/networking/arping/default.nix
index 2d68affacc1..5d1ebc74800 100644
--- a/pkgs/tools/networking/arping/default.nix
+++ b/pkgs/tools/networking/arping/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchFromGitHub, autoreconfHook, libnet, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "2.19";
+  version = "2.20";
   pname = "arping";
 
   buildInputs = [ libnet libpcap ];
 
   src = fetchFromGitHub {
     owner = "ThomasHabets";
-    repo = "arping";
-    rev = "arping-${version}";
-    sha256 = "10gpil6ic17x8v628vhz9s98rnw1k8ci2xs56i52pr103irirczw";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0gmyip552k6mq7013cvy5yc4akn2rz28s3g4x4vdq35vnxf66cyk";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 740c6c998fe..bbc0cac0551 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     repositories.git = git://git.tuxfamily.org/gitroot/chrony/chrony.git;
     license = licenses.gpl2;
     platforms = with platforms; linux ++ freebsd ++ openbsd;
-    maintainers = with maintainers; [ rickynils fpletz ];
+    maintainers = with maintainers; [ fpletz ];
 
     longDescription = ''
       Chronyd is a daemon which runs in background on the system. It obtains
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 315e12cc155..bcc1f39e8fd 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -70,6 +70,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html;
     license = licenses.gpl2;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ eelco fpletz ];
+    maintainers = with maintainers; [ eelco fpletz globin ];
   };
 }
diff --git a/pkgs/tools/networking/dsniff/default.nix b/pkgs/tools/networking/dsniff/default.nix
index 50a3c98af0f..9ddc1a35ce3 100644
--- a/pkgs/tools/networking/dsniff/default.nix
+++ b/pkgs/tools/networking/dsniff/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl_1_1 }:
+{ stdenv, fetchFromGitLab, autoreconfHook, libpcap, db, glib, libnet, libnids, symlinkJoin, openssl }:
 let
   /*
   dsniff's build system unconditionnaly wants static libraries and does not
@@ -33,8 +33,8 @@ let
     dontDisableStatic = true;
   });
   ssl = symlinkJoin {
-    inherit (openssl_1_1) name;
-    paths = with openssl_1_1.override { static = true; }; [ out dev ];
+    inherit (openssl) name;
+    paths = with openssl.override { static = true; }; [ out dev ];
   };
 in stdenv.mkDerivation {
   pname = "dsniff";
diff --git a/pkgs/tools/networking/httping/default.nix b/pkgs/tools/networking/httping/default.nix
index 05d4f180ef7..e269a38f821 100644
--- a/pkgs/tools/networking/httping/default.nix
+++ b/pkgs/tools/networking/httping/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       latency of the webserver + network. It supports IPv6.
     '';
     license = licenses.agpl3;
-    maintainers = with maintainers; [ rickynils ];
+    maintainers = [];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/httplz/cargo-lock.patch b/pkgs/tools/networking/httplz/cargo-lock.patch
index aa161460904..f88998902c5 100644
--- a/pkgs/tools/networking/httplz/cargo-lock.patch
+++ b/pkgs/tools/networking/httplz/cargo-lock.patch
@@ -1,9 +1,9 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 0000000..09a545a
+index 0000000..731829e
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,1174 @@
+@@ -0,0 +1,1403 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -12,11 +12,20 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "advapi32-sys"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "aho-corasick"
-+version = "0.7.6"
++version = "0.6.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -24,7 +33,7 @@ index 0000000..09a545a
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -34,16 +43,17 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "atty"
-+version = "0.2.13"
++version = "0.2.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "autocfg"
-+version = "0.1.5"
++version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -51,8 +61,8 @@ index 0000000..09a545a
 +version = "0.9.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -60,12 +70,17 @@ index 0000000..09a545a
 +version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.1.0"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bitflags"
++version = "1.0.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -73,7 +88,7 @@ index 0000000..09a545a
 +version = "0.3.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -87,8 +102,13 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "build_const"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "byteorder"
-+version = "1.3.2"
++version = "1.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -105,7 +125,7 @@ index 0000000..09a545a
 +version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -114,30 +134,30 @@ index 0000000..09a545a
 +version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.40"
++version = "1.0.28"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "cfg-if"
-+version = "0.1.9"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "clap"
-+version = "2.33.0"
++version = "2.32.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -147,7 +167,16 @@ index 0000000..09a545a
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -161,49 +190,64 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "core-foundation-sys"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation-sys"
 +version = "0.6.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "crc"
++version = "1.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "crc32fast"
-+version = "1.2.0"
++version = "1.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "ctrlc"
-+version = "3.1.3"
++version = "3.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "dtoa"
-+version = "0.4.4"
++version = "0.4.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "embed-resource"
-+version = "1.2.1"
++version = "1.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "vswhom 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winreg 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "flate2"
-+version = "1.0.11"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc32fast 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -221,7 +265,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "fuchsia-cprng"
-+version = "0.1.1"
++version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -231,60 +275,60 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.9"
++version = "0.1.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "httparse"
-+version = "1.3.4"
++version = "1.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "https"
-+version = "1.5.1"
++version = "1.5.2"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "embed-resource 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "embed-resource 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "flate2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hyper-native-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "iron 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iron 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazysort 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "md6 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rfsapi 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "trivial_colours 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hyper"
-+version = "0.10.16"
++version = "0.10.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -294,11 +338,21 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "hyper-native-tls"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper-native-tls"
 +version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -314,15 +368,15 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "iron"
-+version = "0.6.1"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hyper-native-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "modifier 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -334,13 +388,27 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "kernel32-sys"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "language-tags"
 +version = "0.2.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "lazy_static"
-+version = "1.3.0"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lazy_static"
++version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -358,15 +426,15 @@ index 0000000..09a545a
 +version = "0.3.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "log"
-+version = "0.4.8"
++version = "0.4.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -385,8 +453,12 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "memchr"
-+version = "2.2.1"
++version = "2.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "mime"
@@ -398,7 +470,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "mime_guess"
-+version = "1.8.7"
++version = "1.8.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -409,38 +481,63 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "miniz-sys"
-+version = "0.1.12"
++version = "0.1.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "miniz_oxide"
-+version = "0.3.2"
++version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "miniz_oxide_c_api"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "modifier"
 +version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "native-tls"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "native-tls"
 +version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
 + "security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -448,12 +545,12 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "nix"
-+version = "0.14.1"
++version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -463,23 +560,32 @@ index 0000000..09a545a
 +version = "0.1.43"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-traits"
-+version = "0.2.8"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "num_cpus"
++version = "1.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
-+name = "num_cpus"
-+version = "1.10.1"
++name = "openssl"
++version = "0.9.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
++ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -487,10 +593,10 @@ index 0000000..09a545a
 +version = "0.10.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -505,11 +611,11 @@ index 0000000..09a545a
 +version = "0.9.49"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -554,7 +660,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "pkg-config"
-+version = "0.3.15"
++version = "0.3.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -577,20 +683,32 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "rand"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
 +version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_jitter 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -598,7 +716,7 @@ index 0000000..09a545a
 +version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -610,7 +728,7 @@ index 0000000..09a545a
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -628,12 +746,12 @@ index 0000000..09a545a
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_core"
-+version = "0.4.2"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -641,7 +759,7 @@ index 0000000..09a545a
 +version = "0.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -670,34 +788,34 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "rand_jitter"
-+version = "0.1.4"
++version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_os"
-+version = "0.1.3"
++version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rand_pcg"
-+version = "0.1.2"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -718,31 +836,43 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "redox_syscall"
-+version = "0.1.56"
++version = "0.1.51"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_termios"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "regex"
-+version = "1.2.1"
++version = "1.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "regex-syntax"
-+version = "0.6.11"
++version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "remove_dir_all"
-+version = "0.5.2"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -750,7 +880,7 @@ index 0000000..09a545a
 +version = "0.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -758,17 +888,36 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "safemem"
-+version = "0.3.1"
++version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "schannel"
-+version = "0.1.15"
++version = "0.1.14"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -784,6 +933,15 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "security-framework-sys"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework-sys"
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
@@ -791,6 +949,19 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "serde"
 +version = "0.9.15"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -818,7 +989,7 @@ index 0000000..09a545a
 +version = "0.9.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -831,12 +1002,15 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "0.6.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "strsim"
-+version = "0.8.0"
++version = "0.7.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -858,21 +1032,40 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "tempdir"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "tempfile"
 +version = "3.1.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termion"
++version = "1.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "textwrap"
-+version = "0.11.0"
++version = "0.10.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -883,7 +1076,7 @@ index 0000000..09a545a
 +version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -892,8 +1085,8 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -920,6 +1113,11 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "ucd-util"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "unicase"
 +version = "1.4.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -929,7 +1127,7 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "unicase"
-+version = "2.4.0"
++version = "2.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -948,7 +1146,7 @@ index 0000000..09a545a
 +version = "0.1.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -962,6 +1160,14 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "unreachable"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "unsafe-any"
 +version = "0.4.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -980,8 +1186,13 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "utf8-ranges"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "vcpkg"
-+version = "0.2.7"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1000,31 +1211,18 @@ index 0000000..09a545a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "vswhom"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "vswhom-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "vswhom-sys"
-+version = "0.1.0"
++name = "wasi"
++version = "0.5.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
-+name = "wasi"
-+version = "0.5.0"
++name = "winapi"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "winapi"
-+version = "0.3.7"
++version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1032,6 +1230,11 @@ index 0000000..09a545a
 +]
 +
 +[[package]]
++name = "winapi-build"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "winapi-i686-pc-windows-gnu"
 +version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1043,70 +1246,84 @@ index 0000000..09a545a
 +
 +[[package]]
 +name = "winreg"
-+version = "0.5.1"
++version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[metadata]
 +"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
-+"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a"
++"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5"
-+"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum autocfg 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "22130e92352b948e7e82a49cdb0aa94f2211761117f29e052dd397c1ac33542b"
++"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
++"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
-+"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd"
++"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
++"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 +"checksum brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
 +"checksum brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
-+"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
++"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
++"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
 +"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
 +"checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
 +"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-+"checksum cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "b548a4ee81fccb95919d4e22cfea83c7693ebfd78f0495493178db20b3139da7"
-+"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
-+"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749"
++"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
++"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++"checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
 +"checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d"
++"checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"
 +"checksum core-foundation-sys 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b"
-+"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
-+"checksum ctrlc 3.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7dfd2d8b4c82121dfdff120f818e09fc4380b0b7e17a742081a89b94853e87f"
-+"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
-+"checksum embed-resource 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9e691c6cebf9fc63d525a8308df4094f07dc8b391dad7fafd09b3c96081f834d"
-+"checksum flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "2adaffba6388640136149e18ed080b77a78611c1e1d6de75aedcdf78df5d4682"
++"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
++"checksum crc32fast 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e91d5240c6975ef33aeb5f148f35275c25eda8e8a5f95abe421978b05b8bf192"
++"checksum ctrlc 3.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "630391922b1b893692c6334369ff528dcc3a9d8061ccf4c803aa8f83cb13db5e"
++"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
++"checksum embed-resource 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "59edbe56442f96505f79c9116006f2e26c7f5655cccdc2c1546b2528c63bd612"
++"checksum flate2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2291c165c8e703ee54ef3055ad6188e3d51108e2ded18e9f2476e774fc5ad3d4"
 +"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 +"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++"checksum fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "81f7f8eb465745ea9b02e2704612a9946a59fa40572086c6fd49d6ddcf30bf31"
 +"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-+"checksum getrandom 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "2512b3191f22e2763a5db387f1c9409379772e2050841722eb4a8c4f497bf096"
-+"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
-+"checksum hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
++"checksum getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "6171a6cc63fbabbe27c2b5ee268e8b7fe5dc1eb0dd2dfad537c1dfed6f69117e"
++"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
++"checksum hyper 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "df0caae6b71d266b91b4a83111a61d2b94ed2e2bea024c532b933dcff867e58c"
++"checksum hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "72332e4a35d3059583623b50e98e491b78f8b96c5521fcb3f428167955aa56e8"
 +"checksum hyper-native-tls 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d375598f442742b0e66208ee12501391f1c7ac0bafb90b4fe53018f81f06068"
 +"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
-+"checksum iron 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c6d308ca2d884650a8bf9ed2ff4cb13fbb2207b71f64cda11dc9b892067295e8"
++"checksum iron 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8e17268922834707e1c29e8badbf9c712c9c43378e1b6a3388946baff10be2"
 +"checksum itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"
++"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
 +"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
-+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
++"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
++"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
 +"checksum lazysort 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e22ff43b231e0e2f87d74984e53ebc73b90ae13397e041214fb07efc64168f"
 +"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
 +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-+"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
++"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
 +"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 +"checksum md6 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "54e5826684849cecd3fa05a6a5052c50a3542f163a9917ff0b91379426a2e45d"
-+"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
++"checksum memchr 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e1dd4eaac298c32ce07eb6ed9242eda7d82955b9170b7d6db59b2e02cc63fcb8"
 +"checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-+"checksum mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0d977de9ee851a0b16e932979515c0f3da82403183879811bc97d50bd9cc50f7"
-+"checksum miniz-sys 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9e3ae51cea1576ceba0dde3d484d30e6e5b86dee0b2d412fe3a16a15c98202"
-+"checksum miniz_oxide 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7108aff85b876d06f22503dcce091e29f76733b2bfdd91eebce81f5e68203a10"
++"checksum mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2d4c0961143b8efdcfa29c3ae63281601b446a4a668165454b6c90f8024954c5"
++"checksum miniz-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0300eafb20369952951699b68243ab4334f4b10a88f411c221d444b36c40e649"
++"checksum miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c468f2369f07d651a5d0bb2c9079f8488a66d5466efe42d0c5c6466edcb7f71e"
++"checksum miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fe927a42e3807ef71defb191dc87d4e24479b221e67015fe38ae2b7b447bab"
 +"checksum modifier 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58"
++"checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0"
 +"checksum native-tls 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4b2df1a4c22fd44a62147fd8f13dd0f95c9d8ca7b2610299b2a2f9cf8964274e"
-+"checksum nix 0.14.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
++"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
 +"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-+"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-+"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
++"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
++"checksum num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5a69d464bdc213aaaff628444e99578ede64e9c854025aa43b9796530afa9238"
 +"checksum openssl 0.10.24 (registry+https://github.com/rust-lang/crates.io-index)" = "8152bb5a9b5b721538462336e3bef9a539f892715e5037fda0f984577311af15"
++"checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985"
 +"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
 +"checksum openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)" = "f4fad9e54bd23bd4cbbe48fdc08a1b8091707ac869ef8508edea2fec77dcc884"
 +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
@@ -1114,67 +1331,79 @@ index 0000000..09a545a
 +"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
 +"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
 +"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+"checksum pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c1d2cfa5a714db3b5f24f0915e74fcdf91d09d496ba61329705dda7774d2af"
++"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
 +"checksum plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0"
 +"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
 +"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
++"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
 +"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
 +"checksum rand 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d47eab0e83d9693d40f825f86948aa16eff6750ead4bdffc4ab95b8b3a7f052c"
 +"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
 +"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
 +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
 +"checksum rand_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "615e683324e75af5d43d8f7a39ffe3ee4a9dc42c5c701167a71dc59c3a493aca"
 +"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
 +"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 +"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-+"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-+"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
++"checksum rand_jitter 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "080723c6145e37503a2224f801f252e14ac5531cb450f4502698542d188cb3c0"
++"checksum rand_os 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b7c690732391ae0abafced5015ffb53656abfaec61b342290e5eb56b286a679d"
++"checksum rand_pcg 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "086bd09a33c7044e56bb44d5bdde5a60e7f119a9e95b0775f545de759a32fe05"
 +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
-+"checksum regex 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88c3d9193984285d544df4a30c23a4e62ead42edf70a4452ceb76dac1ce05c26"
-+"checksum regex-syntax 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b143cceb2ca5e56d5671988ef8b15615733e7ee16cd348e064333b251b89343f"
-+"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
++"checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
++"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
++"checksum regex 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "37e7cbbd370869ce2e8dff25c7018702d10b21a20ef7135316f8daecd6c25b7f"
++"checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861"
++"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
 +"checksum rfsapi 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b6fbc119d00459f80252adb96e554766d75de071ed5d3c49f46a000d137cd49"
-+"checksum safemem 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e133ccc4f4d1cd4f89cc8a7ff618287d56dc7f638b8e38fc32c5fdcadc339dd5"
-+"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
++"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
++"checksum schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "0e1a231dc10abf6749cfa5d7767f25888d484201accbd919b66ab5413c502d56"
++"checksum security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332"
 +"checksum security-framework 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eee63d0f4a9ec776eeb30e220f0bc1e092c3ad744b2a379e3993070364d3adc2"
++"checksum security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "5421621e836278a0b139268f36eee0dc7e389b784dc3f79d8f11aabadf41bead"
 +"checksum security-framework-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9636f8989cbf61385ae4824b98c1aaa54c994d7d8b41f11c601ed799f0549a56"
++"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 +"checksum serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
 +"checksum serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
 +"checksum serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba"
 +"checksum serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
 +"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
-+"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum smallvec 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "88aea073965ab29f6edb5493faf96ad662fb18aa9eeb186a3b7057951605ed15"
++"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
 +"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
 +"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
++"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
 +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
-+"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
++"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
 +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
 +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
 +"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
 +"checksum trivial_colours 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7153365ea16c5a0ce2eebc4da1b33339a6b21d90c49f670e82130639656bb458"
 +"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
 +"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
++"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
 +"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
-+"checksum unicase 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a84e5511b2a947f3ae965dcb29b13b7b1691b6e7332cf5dbc1744138d5acb7f6"
++"checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90"
 +"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
 +"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
 +"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
 +"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
++"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
 +"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
 +"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
-+"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
++"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
++"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
 +"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
 +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum vswhom 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
-+"checksum vswhom-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc2f5402d3d0e79a069714f7b48e3ecc60be7775a2c049cb839457457a239532"
 +"checksum wasi 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fd5442abcac6525a045cc8c795aedb60da7a2e5e89c7bf18a0d5357849bb23c7"
-+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
++"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
++"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
++"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-+"checksum winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
++"checksum winreg 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf285379f20d7f26abd990d9a566be9d31ab7a9d335299baaa1f0604f5f96af"
diff --git a/pkgs/tools/networking/httplz/default.nix b/pkgs/tools/networking/httplz/default.nix
index f8ea5f2dae6..b7ee85da9d8 100644
--- a/pkgs/tools/networking/httplz/default.nix
+++ b/pkgs/tools/networking/httplz/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httplz";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "thecoshman";
     repo = "http";
     rev = "v${version}";
-    sha256 = "00w8sy0m92by6lby1zb8hh36dnsrvwyyl56p6p7a1mf3iiq84r1y";
+    sha256 = "0q9ng8vf01k65zmcm7bbkqyrkj5hs86zdxwrfj98f4xqxrm75rf6";
   };
 
   buildInputs = with pkgs; [ openssl pkgconfig ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   cargoBuildFlags = [ "--bin httplz" ];
   cargoPatches = [ ./cargo-lock.patch ];
-  cargoSha256 = "1axf15ma7fkbphjc6hjrbcj9rbd1x5i4kyz7fjrlqjgdsmvaqc93";
+  cargoSha256 = "18qr3sy4zj4lwbzrz98d82kwagfbzkmrxk5sxl7w9vhdzy2diskw";
 
   meta = with stdenv.lib; {
     description = "A basic http server for hosting a folder fast and simply";
diff --git a/pkgs/tools/networking/mailsend/default.nix b/pkgs/tools/networking/mailsend/default.nix
index 642fd739335..c888f354eae 100644
--- a/pkgs/tools/networking/mailsend/default.nix
+++ b/pkgs/tools/networking/mailsend/default.nix
@@ -22,6 +22,13 @@ stdenv.mkDerivation {
   configureFlags = [
     "--with-openssl=${openssl.dev}"
   ];
+
+  patches = [
+    (fetchurl {
+      url = https://github.com/muquit/mailsend/commit/960df6d7a11eef90128dc2ae660866b27f0e4336.patch;
+      sha256 = "0vz373zcfl19inflybfjwshcq06rvhx0i5g0f4b021cxfhyb1sm0";
+    })
+  ];
   meta = {
     inherit (s) version;
     description = ''CLI email sending tool'';
diff --git a/pkgs/tools/networking/memtier-benchmark/default.nix b/pkgs/tools/networking/memtier-benchmark/default.nix
index 6d29ac29701..075696cfba1 100644
--- a/pkgs/tools/networking/memtier-benchmark/default.nix
+++ b/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "memtier-benchmark";
-  version = "1.2.11";
+  version = "1.2.17";
 
   src = fetchFromGitHub {
     owner  = "redislabs";
     repo   = "memtier_benchmark";
     rev    = "refs/tags/${version}";
-    sha256 = "0a1lz4j9whj6yf94xn7rna00abgrv2qs30vmpns1n9zqlpaj6b6a";
+    sha256 = "18cka6sv3w8ffa81126nzi04if9g1wd3i3apxsgmv7xm2p8fsa39";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index d00e3737237..1acd513be31 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     description = "A network diagnostics tool";
     homepage    = "https://www.bitwizard.nl/mtr/";
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ koral orivej raskin ];
+    maintainers = with maintainers; [ koral orivej raskin globin ];
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/applet.nix b/pkgs/tools/networking/network-manager/applet.nix
index 6c70d7ee2a2..1a6538ad104 100644
--- a/pkgs/tools/networking/network-manager/applet.nix
+++ b/pkgs/tools/networking/network-manager/applet.nix
@@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "NetworkManager control applet for GNOME";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ phreedom rickynils ];
+    maintainers = with maintainers; [ phreedom ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 28ba97d70c5..5bc915caea6 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -7,14 +7,13 @@
 , openconnect, curl, meson, ninja, libpsl }:
 
 let
-  pname = "NetworkManager";
   pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
 in stdenv.mkDerivation rec {
   pname = "network-manager";
   version = "1.18.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
     sha256 = "1hx5dx5dgdqh3p8fq7q1pxy2bx2iymc74lj60ycrf7ydfjlprnad";
   };
 
@@ -120,7 +119,7 @@ in stdenv.mkDerivation rec {
     homepage = https://wiki.gnome.org/Projects/NetworkManager;
     description = "Network configuration and management tool";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ phreedom rickynils domenkozar obadz ];
+    maintainers = with maintainers; [ phreedom domenkozar obadz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/nfdump/default.nix b/pkgs/tools/networking/nfdump/default.nix
index bfd2c035cdb..0ae309cf94d 100644
--- a/pkgs/tools/networking/nfdump/default.nix
+++ b/pkgs/tools/networking/nfdump/default.nix
@@ -2,7 +2,7 @@
 , autoconf, automake, libtool, pkg-config
 , bzip2, libpcap, flex, yacc }:
 
-let version = "1.6.17"; in
+let version = "1.6.18"; in
 
 stdenv.mkDerivation {
   pname = "nfdump";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
     owner = "phaag";
     repo = "nfdump";
     rev = "v${version}";
-    sha256 = "1z8zpvd9jfi2raafcbkykw55y0hd4mp74jvna19h3k0g86mqkxya";
+    sha256 = "0hfgj9lghkjrjxww0jdk8gxr6g4gbmbdmfg9ddg5jj6gcra21gha";
   };
 
   nativeBuildInputs = [ autoconf automake flex libtool pkg-config yacc ];
diff --git a/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch b/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
new file mode 100644
index 00000000000..eb97209a693
--- /dev/null
+++ b/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
@@ -0,0 +1,120 @@
+From 0e0994c9716700c9484b3dccb25f98a9a59d1744 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Fri, 23 Aug 2019 18:42:51 +0200
+Subject: [PATCH] Search connectors in OFONO_PLUGIN_PATH
+
+Previously, the connectors would only be looked for in a single
+directory, specified during compilation. This patch allows to
+traverse a list of directories provided by an environment variable.
+---
+ src/plugin.c | 77 ++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 50 insertions(+), 27 deletions(-)
+
+diff --git a/src/plugin.c b/src/plugin.c
+index 924a45ec..f05055c3 100644
+--- a/src/plugin.c
++++ b/src/plugin.c
+@@ -99,35 +99,12 @@ static gboolean check_plugin(struct ofono_plugin_desc *desc,
+ 	return TRUE;
+ }
+ 
+-#include "builtin.h"
+-
+-int __ofono_plugin_init(const char *pattern, const char *exclude)
+-{
+-	gchar **patterns = NULL;
+-	gchar **excludes = NULL;
+-	GSList *list;
+-	GDir *dir;
++static handle_dir(const gchar *plugin_path, const gchar **patterns, const gchar **excludes) {
+ 	const gchar *file;
+ 	gchar *filename;
+-	unsigned int i;
+-
+-	DBG("");
+-
+-	if (pattern)
+-		patterns = g_strsplit_set(pattern, ":, ", -1);
+-
+-	if (exclude)
+-		excludes = g_strsplit_set(exclude, ":, ", -1);
+-
+-	for (i = 0; __ofono_builtin[i]; i++) {
+-		if (check_plugin(__ofono_builtin[i],
+-					patterns, excludes) == FALSE)
+-			continue;
+-
+-		add_plugin(NULL, __ofono_builtin[i]);
+-	}
++	GDir *dir;
+ 
+-	dir = g_dir_open(PLUGINDIR, 0, NULL);
++	dir = g_dir_open(plugin_path, 0, NULL);
+ 	if (dir != NULL) {
+ 		while ((file = g_dir_read_name(dir)) != NULL) {
+ 			void *handle;
+@@ -137,7 +114,7 @@ int __ofono_plugin_init(const char *pattern, const char *exclude)
+ 					g_str_has_suffix(file, ".so") == FALSE)
+ 				continue;
+ 
+-			filename = g_build_filename(PLUGINDIR, file, NULL);
++			filename = g_build_filename(plugin_path, file, NULL);
+ 
+ 			handle = dlopen(filename, RTLD_NOW);
+ 			if (handle == NULL) {
+@@ -168,6 +145,52 @@ int __ofono_plugin_init(const char *pattern, const char *exclude)
+ 
+ 		g_dir_close(dir);
+ 	}
++}
++
++#include "builtin.h"
++
++int __ofono_plugin_init(const char *pattern, const char *exclude)
++{
++	gchar **patterns = NULL;
++	gchar **excludes = NULL;
++	GSList *list;
++	unsigned int i;
++
++	DBG("");
++
++	if (pattern)
++		patterns = g_strsplit_set(pattern, ":, ", -1);
++
++	if (exclude)
++		excludes = g_strsplit_set(exclude, ":, ", -1);
++
++	for (i = 0; __ofono_builtin[i]; i++) {
++		if (check_plugin(__ofono_builtin[i],
++					patterns, excludes) == FALSE)
++			continue;
++
++		add_plugin(NULL, __ofono_builtin[i]);
++	}
++
++
++	const gchar *plugin_path;
++
++	plugin_path = g_getenv ("OFONO_PLUGIN_PATH");
++
++	if (!plugin_path) {
++		gchar **plugin_path_list;
++		gsize i;
++
++		plugin_path_list = g_strsplit (plugin_path, G_SEARCHPATH_SEPARATOR_S, 0);
++
++		for (i = 0; plugin_path_list[i]; i++) {
++			handle_dir(plugin_path_list, patterns, excludes);
++		}
++
++		g_strfreev(plugin_path_list);
++	}
++
++	handle_dir(PLUGINDIR, patterns, excludes);
+ 
+ 	for (list = plugins; list; list = list->next) {
+ 		struct ofono_plugin *plugin = list->data;
+-- 
+2.22.0
+
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index 1e5bd6b66f5..21d1f9ee067 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
     sha256 = "1qzysmzpgbh6zc3x9xh931wxcazka9wwx727c2k66z9gal2n6n66";
   };
 
+  patches = [
+    ./0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
+  ];
+
   nativeBuildInputs = [
     autoreconfHook
     pkgconfig
@@ -37,7 +41,7 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
-    "--with-dbusconfdir=${placeholder ''out''}/etc/dbus-1/system.d"
+    "--with-dbusconfdir=${placeholder ''out''}/share"
     "--with-systemdunitdir=${placeholder ''out''}/lib/systemd/system"
     "--enable-external-ell"
   ];
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index 363963b1b14..38255a68ffe 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.3";
+  version = "4.1.0";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://central.maven.org/maven2/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "1x09db62i81gamj6pm9bng994z54y7gqc6wvj8hnn0j0ay9gkcf5";
+    sha256 = "0pkibvhk1f999mg1zv2ikxzjpkrrbb0wwq5x0gzpmvr5sgywr6k4";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/tools/networking/p2p/libtorrent/default.nix b/pkgs/tools/networking/p2p/libtorrent/default.nix
index 524b75d5582..f750e3b1bfe 100644
--- a/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/pkgs/tools/networking/p2p/libtorrent/default.nix
@@ -1,8 +1,8 @@
 # NOTE: this is rakshava's version of libtorrent, used mainly by rtorrent
 # This is NOT libtorrent-rasterbar, used by Deluge, qbitttorent, and others
-{ stdenv, fetchFromGitHub, pkgconfig
-, libtool, autoconf, automake, cppunit
-, openssl, libsigcxx, zlib }:
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+, cppunit, openssl, libsigcxx, zlib
+}:
 
 stdenv.mkDerivation rec {
   pname = "libtorrent";
@@ -15,10 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "1h5y6ab3gs20yyprdfwcw8fh1c6czs4yrdj0kf54d2vp9qwz685r";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libtool autoconf automake cppunit openssl libsigcxx zlib ];
-
-  preConfigure = "./autogen.sh";
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ cppunit openssl libsigcxx zlib ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/rakshasa/libtorrent";
diff --git a/pkgs/tools/networking/radsecproxy/default.nix b/pkgs/tools/networking/radsecproxy/default.nix
index a0644061c5f..9901194f3c6 100644
--- a/pkgs/tools/networking/radsecproxy/default.nix
+++ b/pkgs/tools/networking/radsecproxy/default.nix
@@ -1,15 +1,18 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchFromGitHub, openssl, autoreconfHook, nettle }:
 
 stdenv.mkDerivation rec {
   pname = "radsecproxy";
-  version = "1.6.9";
+  version = "1.8.0";
 
-  src = fetchurl {
-    url = "https://software.nordu.net/radsecproxy/radsecproxy-${version}.tar.xz";
-    sha256 = "6f2c7030236c222782c9ac2c52778baa63540a1865b75a7a6d8c1280ce6ad816";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1268lbysa82b6h0101jzs0v6ixvmy3x0d0a8hw37sy95filsjmia";
   };
 
-  buildInputs = [ openssl ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ openssl nettle ];
 
   configureFlags = [
      "--with-ssl=${openssl.dev}"
diff --git a/pkgs/tools/networking/redir/default.nix b/pkgs/tools/networking/redir/default.nix
index 2ea5a86a231..1a6efb065e2 100644
--- a/pkgs/tools/networking/redir/default.nix
+++ b/pkgs/tools/networking/redir/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "A TCP port redirector for UNIX";
     homepage = https://github.com/troglobit/redir;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ globin ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/sipcalc/default.nix b/pkgs/tools/networking/sipcalc/default.nix
index adab157720c..dff929e9fa1 100644
--- a/pkgs/tools/networking/sipcalc/default.nix
+++ b/pkgs/tools/networking/sipcalc/default.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation rec {
   pname = "sipcalc";
   version = "1.1.6";
+
   src = fetchurl {
     url = "http://www.routemeister.net/projects/sipcalc/files/${pname}-${version}.tar.gz";
     sha256 = "cfd476c667f7a119e49eb5fe8adcfb9d2339bc2e0d4d01a1d64b7c229be56357";
   };
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "Advanced console ip subnet calculator";
     homepage = http://www.routemeister.net/projects/sipcalc/;
-    license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.globin ];
   };
 }
diff --git a/pkgs/tools/networking/socat/2.x.nix b/pkgs/tools/networking/socat/2.x.nix
index 11af161893f..99f0301c7c8 100644
--- a/pkgs/tools/networking/socat/2.x.nix
+++ b/pkgs/tools/networking/socat/2.x.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.gpl2;
     maintainers = [ maintainers.eelco ];
+    broken = true;  # broken with openssl 1.1
   };
 }
diff --git a/pkgs/tools/networking/swaks/default.nix b/pkgs/tools/networking/swaks/default.nix
index cfed0ca3728..9d776752c82 100644
--- a/pkgs/tools/networking/swaks/default.nix
+++ b/pkgs/tools/networking/swaks/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       A featureful, flexible, scriptable, transaction-oriented SMTP test tool
     '';
     license = licenses.gpl2;
-    maintainers = with maintainers; [ rickynils ndowens ];
+    maintainers = with maintainers; [ ndowens ];
     platforms = platforms.all;
   };
 
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 016d8f6a6a6..a04d47b6414 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     description = "Network sniffer";
     homepage = http://www.tcpdump.org/;
     license = "BSD-style";
-    maintainers = with stdenv.lib.maintainers; [ ];
+    maintainers = with stdenv.lib.maintainers; [ globin ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/tcpflow/default.nix b/pkgs/tools/networking/tcpflow/default.nix
index 1df0f2c37fc..8f502c5ef3f 100644
--- a/pkgs/tools/networking/tcpflow/default.nix
+++ b/pkgs/tools/networking/tcpflow/default.nix
@@ -1,61 +1,44 @@
-{ stdenv, lib, fetchFromGitHub, openssl, zlib, libpcap, boost, cairo, automake, autoconf, useCairo ? false }:
+{ stdenv, lib, fetchFromGitHub, automake, autoconf
+, openssl, zlib, libpcap, boost
+, useCairo ? false, cairo
+}:
 
 stdenv.mkDerivation rec {
-  baseName = "tcpflow";
-  version  = "1.4.6";
-  name     = "${baseName}-${version}";
+  pname   = "tcpflow";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner  = "simsong";
-    repo   = "tcpflow";
-    rev    = "017687365b8233d16260f4afd7572c8ad8873cf6";
-    sha256 = "002cqmn786sjysf59xnbb7lgr23nqqslb2gvy29q2xpnq6my9w38";
+    repo   = pname;
+    rev    = "${pname}-${version}";
+    sha256 = "063n3pfqa0lgzcwk4c0h01g2y5c3sli615j6a17dxpg95aw1zryy";
+    fetchSubmodules = true;
   };
 
-  be13_api = fetchFromGitHub {
-    owner  = "simsong";
-    repo   = "be13_api";
-    rev    = "8f4f4b3fe0b4815babb3a6fb595eb9a6d07e8a2e";
-    sha256 = "1dlys702x3m8cr9kf4b9j8n28yh6knhwgqkm6a5yhh1grd8r3ksm";
-  };
-
-  dfxml = fetchFromGitHub {
-    owner  = "simsong";
-    repo   = "dfxml";
-    rev    = "13a8cc22189a8336d16777f2897ada6ae2ee59de";
-    sha256 = "0wzhbkp4c8sp6wrk4ilz3skxp14scdnm3mw2xmxxrsifymzs2f5n";
-  };
-
-  httpparser = fetchFromGitHub {
-    owner  = "nodejs";
-    repo   = "http-parser";
-    rev    = "8d9e5db981b623fffc93657abacdc80270cbee58";
-    sha256 = "0x17wwhrc7b2ngiqy0clnzn1zz2gbcz5n9m29pcyrcplly782k52";
-  };
-
-  buildInputs = [ openssl zlib libpcap boost automake autoconf ] ++ lib.optional useCairo cairo;
-
-  postUnpack = ''
-    pushd "$sourceRoot/src"
-    cp -rv ${be13_api}/* be13_api/
-    cp -rv ${dfxml}/* dfxml/
-    cp -rv ${httpparser}/* http-parser/
-    chmod -R u+w dfxml
-    popd
-  '';
+  nativeBuildInputs = [ automake autoconf ];
+  buildInputs = [ openssl zlib libpcap boost ]
+    ++ lib.optional useCairo cairo;
 
   prePatch = ''
-    substituteInPlace ./bootstrap.sh \
-      --replace \ git 'echo git' \
-      --replace /bin/rm rm
+    substituteInPlace bootstrap.sh \
+      --replace ".git" "" \
+      --replace "/bin/rm" "rm"
+    substituteInPlace configure.ac \
+      --replace "1.5.1" "1.5.2"
   '';
 
   preConfigure = "bash ./bootstrap.sh";
 
   meta = with stdenv.lib; {
-    description = ''TCP stream extractor'';
-    license     = licenses.gpl3 ;
-    maintainers = with maintainers; [ raskin obadz ];
+    description = "TCP stream extractor";
+    longDescription = ''
+      tcpflow is a program that captures data transmitted as part of TCP
+      connections (flows), and stores the data in a way that is convenient for
+      protocol analysis and debugging.
+    '';
+    inherit (src.meta) homepage;
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ primeos raskin obadz ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/tcpflow/default.upstream b/pkgs/tools/networking/tcpflow/default.upstream
deleted file mode 100644
index 72802e4d046..00000000000
--- a/pkgs/tools/networking/tcpflow/default.upstream
+++ /dev/null
@@ -1 +0,0 @@
-url http://www.digitalcorpora.org/downloads/tcpflow/
diff --git a/pkgs/tools/networking/tridactyl-native/default.nix b/pkgs/tools/networking/tridactyl-native/default.nix
index 111d40478df..9667f1a74c5 100644
--- a/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/pkgs/tools/networking/tridactyl-native/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "tridactyl-native";
   # this is actually the version of tridactyl itself; the native messenger will
   # probably not change with every tridactyl version
-  version = "1.16.2";
+  version = "1.16.3";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "07pipvxxa4bw11f0fxm8vjwd5ap7i82nsq93sw1kj353jn1mpwxw";
+    sha256 = "1cp2iaa9fhlxmbml41wnq984jp2r75n6w0qxz38rd24jxsj5vz06";
   };
   sourceRoot = "source/native";
 
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index c0d358f2c9f..660ffcb823b 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     description = "Validating, recursive, and caching DNS resolver";
     license = licenses.bsd3;
     homepage = https://www.unbound.net;
-    maintainers = with maintainers; [ ehmry fpletz ];
+    maintainers = with maintainers; [ ehmry fpletz globin ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index 7cb489a3f21..125c83da4c4 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, pam, openssl}:
+{ stdenv, fetchurl, fetchpatch, pam, openssl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "uw-imap-2007f";
 
   src = fetchurl {
@@ -12,14 +12,20 @@ stdenv.mkDerivation {
     then "osx"
     else "lnp" # Linux with PAM modules;
     # -fPIC is required to compile php with imap on x86_64 systems
-    + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC";
+    + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC"
+    + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " CC=${stdenv.hostPlatform.config}-gcc RANLIB=${stdenv.hostPlatform.config}-ranlib";
 
   hardeningDisable = [ "format" ];
 
   buildInputs = [ openssl ]
     ++ stdenv.lib.optional (!stdenv.isDarwin) pam;
 
-  patchPhase = ''
+  patches = [ (fetchpatch {
+    url = "https://anonscm.debian.org/cgit/collab-maint/uw-imap.git/plain/debian/patches/1006_openssl1.1_autoverify.patch?id=b4df81d246a6cdbfd035c21f43e844effda3582b";
+    sha256 = "09xb58awvkhzmmjhrkqgijzgv7ia381ablf0y7i1rvhcqkb5wga7";
+  }) ];
+
+  postPatch = ''
     sed -i src/osdep/unix/Makefile -e 's,/usr/local/ssl,${openssl.dev},'
     sed -i src/osdep/unix/Makefile -e 's,^SSLCERTS=.*,SSLCERTS=/etc/ssl/certs,'
     sed -i src/osdep/unix/Makefile -e 's,^SSLLIB=.*,SSLLIB=${openssl.out}/lib,'
@@ -46,4 +52,11 @@ stdenv.mkDerivation {
   passthru = {
     withSSL = true;
   };
-}
+} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
+  # This is set here to prevent rebuilds on native compilation.
+  # Configure phase is a no-op there, because this package doesn't use ./configure scripts.
+  configurePhase = ''
+    echo "Cross-compilation, injecting make flags"
+    makeFlagsArray+=("ARRC=${stdenv.hostPlatform.config}-ar rc")
+  '';
+})
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index 45e1440c849..b6c03c08cff 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.0";
+  version = "5.5.1";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "0h6lvsz868533irx68vd3hjhwcz93zh88axfq0qzji5ndc0ks4qb";
+    sha256 = "05dbc58dgq5ln28pahififljdb19gqicwlcmnni0vw4ny4r7r9bg";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index f918949a027..ef6b0d5c641 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     downloadPage = "https://git.zx2c4.com/WireGuard/refs/";
     homepage = "https://www.wireguard.com/";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 ];
+    maintainers = with maintainers; [ elseym ericsagnes mic92 zx2c4 globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/zerotierone/default.nix b/pkgs/tools/networking/zerotierone/default.nix
index 76a2dbd8850..59bab468c53 100644
--- a/pkgs/tools/networking/zerotierone/default.nix
+++ b/pkgs/tools/networking/zerotierone/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "14iwhlxmxsnvnm9rrp6rysiz461w0v5nsmnz5p91rfi351103a63";
+    sha256 = "1b78jr33xawdkn8dcs884g6klj0zg4dazwhr1qhrj7x54bs7gizr";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/nix/nixpkgs-fmt/default.nix b/pkgs/tools/nix/nixpkgs-fmt/default.nix
new file mode 100644
index 00000000000..51e4e22bc5b
--- /dev/null
+++ b/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -0,0 +1,21 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+rustPlatform.buildRustPackage rec {
+  pname = "nixpkgs-fmt";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0nz4njmrwacizz9z89ligxr2gyggk65vq9cmd6s4hn133gajf2n1";
+  };
+
+  cargoSha256 = "0p3qa1asdvw2npav4281lzndjczrzac6fr8z4y61m7rbn363s8sa";
+
+  meta = with lib; {
+    description = "Nix code formatter for nixpkgs";
+    homepage = "https://nix-community.github.io/nixpkgs-fmt";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/tools/package-management/cargo-download/Cargo.nix b/pkgs/tools/package-management/cargo-download/Cargo.nix
index 9735bde199d..21740ce2ead 100644
--- a/pkgs/tools/package-management/cargo-download/Cargo.nix
+++ b/pkgs/tools/package-management/cargo-download/Cargo.nix
@@ -1,3138 +1,675 @@
-# Generated by carnix 0.7.2: carnix nix
-{ lib, buildPlatform, buildRustCrate, fetchgit }:
-let kernel = buildPlatform.parsed.kernel.name;
-    abi = buildPlatform.parsed.abi.name;
-    include = includedFiles: src: builtins.filterSource (path: type:
-      lib.lists.any (f:
-        let p = toString (src + ("/" + f)); in
-        (path == p) || (type == "directory" && lib.strings.hasPrefix path p)
-      ) includedFiles
-    ) src;
-    updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
-    mapFeatures = features: map (fun: fun { features = features; });
-    mkFeatures = feat: lib.lists.foldl (features: featureName:
-      if feat.${featureName} or false then
-        [ featureName ] ++ features
-      else
-        features
-    ) [] (builtins.attrNames feat);
+# Generated by carnix 0.10.0: carnix generate-nix
+{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
+with buildRustCrateHelpers;
+let inherit (lib.lists) fold;
+    inherit (lib.attrsets) recursiveUpdate;
 in
 rec {
-  cargo_download = f: cargo_download_0_1_1 { features = cargo_download_0_1_1_features { cargo_download_0_1_1 = f; }; };
+  crates = cratesIO;
+  cargo_download = crates.crates.cargo_download."0.1.2" deps;
   __all = [ (cargo_download {}) ];
-  adler32_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "adler32";
-    version = "1.0.3";
-    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
-    sha256 = "1z3mvjgw02mbqk98kizzibrca01d5wfkpazsrp3vkkv3i56pn6fb";
-    inherit dependencies buildDependencies features;
-  };
-  aho_corasick_0_5_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "aho-corasick";
-    version = "0.5.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
-    libName = "aho_corasick";
-    crateBin = [ {  name = "aho-corasick-dot"; } ];
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.9.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
-    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
-    inherit dependencies buildDependencies features;
-  };
-  ansi_term_0_11_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.11.0";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
-    sha256 = "08fk0p2xvkqpmz3zlrwnf6l8sj2vngw464rvzspzp31sbgxbwm4v";
-    inherit dependencies buildDependencies features;
-  };
-  arrayvec_0_4_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "arrayvec";
-    version = "0.4.7";
-    authors = [ "bluss" ];
-    sha256 = "0fzgv7z1x1qnyd7j32vdcadk4k9wfx897y06mr3bw1yi52iqf4z4";
-    inherit dependencies buildDependencies features;
-  };
-  atty_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "atty";
-    version = "0.2.11";
-    authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "0by1bj2km9jxi4i4g76zzi76fc2rcm9934jpnyrqd95zw344pb20";
-    inherit dependencies buildDependencies features;
-  };
-  base64_0_9_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "base64";
-    version = "0.9.2";
-    authors = [ "Alice Maz <alice@alicemaz.com>" "Marshall Pierce <marshall@mpierce.org>" ];
-    sha256 = "0g4xxl8jhwjhvr69qlxdmbzd521xcn5j67lhkr20nh7ajvl6k0l1";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_0_9_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "0.9.1";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
-    inherit dependencies buildDependencies features;
-  };
-  bitflags_1_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bitflags";
-    version = "1.0.3";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "162p4w4h1ad76awq6b5yivmls3d50m9cl27d8g588lsps6g8s5rw";
-    inherit dependencies buildDependencies features;
-  };
-  build_const_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "build_const";
-    version = "0.2.1";
-    authors = [ "Garrett Berg <vitiral@gmail.com>" ];
-    sha256 = "15249xzi3qlm72p4glxgavwyq70fx2sp4df6ii0sdlrixrrp77pl";
-    inherit dependencies buildDependencies features;
-  };
-  byteorder_1_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "byteorder";
-    version = "1.2.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1xghv5f5rydzsam8lnfqhfk090i8a1knb77ikbs0ik44bvrw2ij3";
-    inherit dependencies buildDependencies features;
-  };
-  bytes_0_4_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "bytes";
-    version = "0.4.9";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1jiqc94j85la9vs165vqpf6s1sah8n3ivnhsfapcjrvbhjawi6i6";
-    inherit dependencies buildDependencies features;
-  };
-  cargo_download_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cargo-download";
-    version = "0.1.1";
-    authors = [ "Karol Kuczmarski <karol.kuczmarski@gmail.com>" ];
-    sha256 = "1xiffk4df6i9cvwimzwyf1finv6w8f8gr0zjp21fzbiz5c0ksx65";
-    crateBin = [ {  name = "cargo-download"; } ];
-    inherit dependencies buildDependencies features;
-  };
-  case_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "case";
-    version = "0.1.0";
-    authors = [ "Skyler Lipthay <skyler.lipthay@gmail.com>" ];
-    sha256 = "06i1x3wqv30rkvlgj134qf9vzxhzz28bz41mm0rgki0i0f7gf96n";
-    inherit dependencies buildDependencies features;
-  };
-  cc_1_0_18_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.18";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0wcnpa54qvm5921wwrrkn8cwxd5y0p5f4gb1qgyh5imii7rdhpjx";
-    inherit dependencies buildDependencies features;
-  };
-  cfg_if_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "cfg-if";
-    version = "0.1.4";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0n5baxk53dvqjymzwynq55wb805b24390qx1n16zi8fjzq90j7k4";
-    inherit dependencies buildDependencies features;
-  };
-  chrono_0_2_25_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "chrono";
-    version = "0.2.25";
-    authors = [ "Kang Seonghoon <public+rust@mearie.org>" ];
-    sha256 = "0gsvqk8cnmm43qj3xyngqvfqh50cbdbqas7ik0wjgnvknirmmca7";
-    inherit dependencies buildDependencies features;
-  };
-  clap_2_32_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "clap";
-    version = "2.32.0";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "1hdjf0janvpjkwrjdjx1mm2aayzr54k72w6mriyr0n5anjkcj1lx";
-    inherit dependencies buildDependencies features;
-  };
-  conv_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "conv";
-    version = "0.3.3";
-    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
-    sha256 = "08rl72k1a48xah0ar5l9v1bw19pp8jdw2pdkd3vvj9ijsyyg9yik";
-    inherit dependencies buildDependencies features;
-  };
-  core_foundation_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "core-foundation";
-    version = "0.2.3";
-    authors = [ "The Servo Project Developers" ];
-    sha256 = "1g0vpya5h2wa0nlz4a74jar6y8z09f0p76zbzfqrm3dbfsrld1pm";
-    inherit dependencies buildDependencies features;
-  };
-  core_foundation_sys_0_2_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "core-foundation-sys";
-    version = "0.2.3";
-    authors = [ "The Servo Project Developers" ];
-    sha256 = "19s0d03294m9s5j8cvy345db3gkhs2y02j5268ap0c6ky5apl53s";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  crc_1_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crc";
-    version = "1.8.1";
-    authors = [ "Rui Hu <code@mrhooray.com>" ];
-    sha256 = "00m9jjqrddp3bqyanvyxv0hf6s56bx1wy51vcdcxg4n2jdhg109s";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_0_2_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam";
-    version = "0.2.12";
-    authors = [ "Aaron Turon <aturon@mozilla.com>" ];
-    sha256 = "0jkm95is7bwv4parwfq4aim6cigiwd4w9hz09cpild4hp5ry625i";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_deque_0_3_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam-deque";
-    version = "0.3.1";
-    authors = [ "The Crossbeam Project Developers" ];
-    sha256 = "1km0mavyp9ddwb7k7kcdmyryi3bwxf0nmr6jqcpyjzvzmxjlkqap";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_epoch_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam-epoch";
-    version = "0.4.3";
-    authors = [ "The Crossbeam Project Developers" ];
-    sha256 = "18xfgi7h9aq4lqqrqzy366xg885z1hlkbhvycl2i3zhkhkvadhv3";
-    inherit dependencies buildDependencies features;
-  };
-  crossbeam_utils_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "crossbeam-utils";
-    version = "0.3.2";
-    authors = [ "The Crossbeam Project Developers" ];
-    sha256 = "1byx31nkxl48la58571h40ssk94faky26jwz15w40v2gba3v4fql";
-    inherit dependencies buildDependencies features;
-  };
-  custom_derive_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "custom_derive";
-    version = "0.1.7";
-    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
-    sha256 = "160q3pzri2fgrr6czfdkwy1sbddki2za96r7ivvyii52qp1523zs";
-    inherit dependencies buildDependencies features;
-  };
-  derive_error_0_0_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "derive-error";
-    version = "0.0.3";
-    authors = [ "rushmorem <rushmore@webenchanter.com>" ];
-    sha256 = "0239vzxn5xr9nm3i4d6hmqy7dv8llcjblgh1xixfk5dcgcqan77y";
-    procMacro = true;
-    inherit dependencies buildDependencies features;
-  };
-  dtoa_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "dtoa";
-    version = "0.4.3";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1xysdxdm24sk5ysim7lps4r2qaxfnj0sbakhmps4d42yssx30cw8";
-    inherit dependencies buildDependencies features;
-  };
-  either_1_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "either";
-    version = "1.5.0";
-    authors = [ "bluss" ];
-    sha256 = "1f7kl2ln01y02m8fpd2zrdjiwqmgfvl9nxxrfry3k19d1gd2bsvz";
-    inherit dependencies buildDependencies features;
-  };
-  encoding_rs_0_7_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "encoding_rs";
-    version = "0.7.2";
-    authors = [ "Henri Sivonen <hsivonen@hsivonen.fi>" ];
-    sha256 = "1c23bi3q4qmi2ci8g7p5j4b4i5abyggvyg6hkl7w4p4r527c9g3q";
-    inherit dependencies buildDependencies features;
-  };
-  exitcode_1_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "exitcode";
-    version = "1.1.2";
-    authors = [ "Ben Wilber <benwilber@gmail.com>" ];
-    sha256 = "1cw9p4vzbscvyrbzv7z68gv2cairrns2d4wcb4nkahkcjk25phip";
-    inherit dependencies buildDependencies features;
-  };
-  filetime_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "filetime";
-    version = "0.2.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1wmbj3jnpl39851lymw64j9ac1nmy1z96h1wymvlvypspl68w5y0";
-    inherit dependencies buildDependencies features;
-  };
-  flate2_0_2_20_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "flate2";
-    version = "0.2.20";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
-    inherit dependencies buildDependencies features;
-  };
-  foreign_types_0_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "foreign-types";
-    version = "0.3.2";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8";
-    inherit dependencies buildDependencies features;
-  };
-  foreign_types_shared_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "foreign-types-shared";
-    version = "0.1.1";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
-    inherit dependencies buildDependencies features;
-  };
-  fuchsia_zircon_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fuchsia-zircon";
-    version = "0.3.3";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
-    inherit dependencies buildDependencies features;
-  };
-  fuchsia_zircon_sys_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "fuchsia-zircon-sys";
-    version = "0.3.3";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
-    inherit dependencies buildDependencies features;
-  };
-  futures_0_1_23_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "futures";
-    version = "0.1.23";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "075s7sv1iqzf2r3lvb4hk81k5c9xzfcyb8q92h2s35fnypxyqd21";
-    inherit dependencies buildDependencies features;
-  };
-  futures_cpupool_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "futures-cpupool";
-    version = "0.1.8";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0ficd31n5ljiixy6x0vjglhq4fp0v1p4qzxm3v6ymsrb3z080l5c";
-    inherit dependencies buildDependencies features;
-  };
-  httparse_1_3_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "httparse";
-    version = "1.3.2";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1mm10m2hv1inxzzvm85s6fdmwl9a3q9vik0nzh5qrx2hx5x8fcwl";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  hyper_0_11_27_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "hyper";
-    version = "0.11.27";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0q5as4lhvh31bzk4qm7j84snrmxyxyaqk040rfk72b42dn98mryi";
-    inherit dependencies buildDependencies features;
-  };
-  hyper_tls_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "hyper-tls";
-    version = "0.1.3";
-    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-    sha256 = "1dr5arj79pdyz9f2jggqmna1qpc578f9pdgsf2ana5amjpsp0j89";
-    inherit dependencies buildDependencies features;
-  };
-  idna_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "idna";
-    version = "0.1.5";
-    authors = [ "The rust-url developers" ];
-    sha256 = "1gwgl19rz5vzi67rrhamczhxy050f5ynx4ybabfapyalv7z1qmjy";
-    inherit dependencies buildDependencies features;
-  };
-  iovec_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "iovec";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0vjymmb7wj4v4kza5jjn48fcdb85j3k37y7msjl3ifz0p9yiyp2r";
-    inherit dependencies buildDependencies features;
-  };
-  isatty_0_1_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "isatty";
-    version = "0.1.8";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1n5wzzkb1kxkfbcyv5vfrsybika0a1k01sp06ngad73ljx4kwj5h";
-    inherit dependencies buildDependencies features;
-  };
-  itertools_0_6_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "itertools";
-    version = "0.6.5";
-    authors = [ "bluss" ];
-    sha256 = "0gbhgn7s8qkxxw10i514fzpqnc3aissn4kcgylm2cvnv9zmg8mw1";
-    inherit dependencies buildDependencies features;
-  };
-  itoa_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "itoa";
-    version = "0.4.2";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "193a744yd74rmk13hl8xvd9p2hqhdkyf8xkvi1mxm5s10bby0h8v";
-    inherit dependencies buildDependencies features;
-  };
-  kernel32_sys_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  language_tags_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "language-tags";
-    version = "0.2.2";
-    authors = [ "Pyfisch <pyfisch@gmail.com>" ];
-    sha256 = "1zkrdzsqzzc7509kd7nngdwrp461glm2g09kqpzaqksp82frjdvy";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_0_2_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.11";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
-    inherit dependencies buildDependencies features;
-  };
-  lazy_static_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "1.0.2";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0ix4dmy6zb4v3m75l4alg84fk06y145z52z9pyysc9labw2x5r3r";
-    inherit dependencies buildDependencies features;
-  };
-  lazycell_0_6_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "lazycell";
-    version = "0.6.0";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Nikita Pekin <contact@nikitapek.in>" ];
-    sha256 = "1ax148clinbvp6alxcih8s5i2bg3mc5mi69n3hvzvzbwlm6k532r";
-    inherit dependencies buildDependencies features;
-  };
-  libc_0_2_42_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.42";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "064v49hz1zpl081w8c4vwikrkhaxp06y4i9l7x7wx6bjpwp19pjx";
-    inherit dependencies buildDependencies features;
-  };
-  libflate_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "libflate";
-    version = "0.1.16";
-    authors = [ "Takeru Ohta <phjgt308@gmail.com>" ];
-    sha256 = "0l15g61h10bznxsjirwq9c43w17mjpqx6wz0357agskardkdh14n";
-    inherit dependencies buildDependencies features;
-  };
-  log_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "log";
-    version = "0.3.9";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "19i9pwp7lhaqgzangcpw00kc3zsgcqcx84crv07xgz3v7d3kvfa2";
-    inherit dependencies buildDependencies features;
-  };
-  log_0_4_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "log";
-    version = "0.4.3";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1gdmwrbm7s18zcdz4lcdhz975m4gwhi854c7j1rvj1gsr8aca250";
-    inherit dependencies buildDependencies features;
-  };
-  maplit_0_1_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "maplit";
-    version = "0.1.6";
-    authors = [ "bluss" ];
-    sha256 = "1f8kf5v7xra8ssvh5c10qlacbk4l0z2817pkscflx5s5q6y7925h";
-    inherit dependencies buildDependencies features;
-  };
-  matches_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "matches";
-    version = "0.1.7";
-    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-    sha256 = "0zx9gi5flyzkh9nx52fyc3k2zz08b9ww1c4yndlfrw72kr8m7yfy";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  memchr_0_1_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "memchr";
-    version = "0.1.11";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
-    inherit dependencies buildDependencies features;
-  };
-  memoffset_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "memoffset";
-    version = "0.2.1";
-    authors = [ "Gilad Naaman <gilad.naaman@gmail.com>" ];
-    sha256 = "00vym01jk9slibq2nsiilgffp7n6k52a4q3n4dqp0xf5kzxvffcf";
-    inherit dependencies buildDependencies features;
-  };
-  mime_0_3_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "mime";
-    version = "0.3.8";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1577adg9zvkd1qdb2nqqg1ryap33p5r4qsw01n9pw162xpisqjm3";
-    inherit dependencies buildDependencies features;
-  };
-  mime_guess_2_0_0_alpha_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "mime_guess";
-    version = "2.0.0-alpha.6";
-    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
-    sha256 = "1k2mdq43gi2qr63b7m5zs624rfi40ysk33cay49jlhq97jwnk9db";
-    inherit dependencies buildDependencies features;
-  };
-  miniz_sys_0_1_10_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "miniz-sys";
-    version = "0.1.10";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
-    libPath = "lib.rs";
-    libName = "miniz_sys";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  mio_0_6_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "mio";
-    version = "0.6.15";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0a93wxsmkh8x38wxivhn6qdj08pj9f0j3y46p4wv3xclbq8i4aaa";
-    inherit dependencies buildDependencies features;
-  };
-  miow_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "miow";
-    version = "0.2.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
-    inherit dependencies buildDependencies features;
-  };
-  native_tls_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "native-tls";
-    version = "0.1.5";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "11f75qmbny5pnn6zp0vlvadrvc9ph9qsxiyn4n6q02xyd93pxxlf";
-    inherit dependencies buildDependencies features;
-  };
-  net2_0_2_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "net2";
-    version = "0.2.33";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1qnmajafgybj5wyxz9iffa8x5wgbwd2znfklmhqj7vl6lw1m65mq";
-    inherit dependencies buildDependencies features;
-  };
-  nodrop_0_1_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "nodrop";
-    version = "0.1.12";
-    authors = [ "bluss" ];
-    sha256 = "1b9rxvdg8061gxjc239l9slndf0ds3m6fy2sf3gs8f9kknqgl49d";
-    inherit dependencies buildDependencies features;
-  };
-  num_0_1_42_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num";
-    version = "0.1.42";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1632gczzrmmxdsj3jignwcr793jq8vxw3qkdzpdvbip3vaf1ljgq";
-    inherit dependencies buildDependencies features;
-  };
-  num_integer_0_1_39_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-integer";
-    version = "0.1.39";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1f42ls46cghs13qfzgbd7syib2zc6m7hlmv1qlar6c9mdxapvvbg";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_iter_0_1_37_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-iter";
-    version = "0.1.37";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1rglyvi4yjfxfvfm2s7i60g1dkl5xmsyi77g6vy53jb11r6wl8ly";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_traits_0_2_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num-traits";
-    version = "0.2.5";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0ql203ca6lzppksy4fsfnpz3kq96vwlwvyn3ahvnd9g6k9f5ncj0";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  num_cpus_1_8_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "num_cpus";
-    version = "1.8.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1y6qnd9r8ga6y8mvlabdrr73nc8cshjjlzbvnanzyj9b8zzkfwk2";
-    inherit dependencies buildDependencies features;
-  };
-  openssl_0_9_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "openssl";
-    version = "0.9.24";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0wzm3c11g3ndaqyzq36mcdcm1q4a8pmsyi33ibybhjz28g2z0f79";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  openssl_sys_0_9_33_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "openssl-sys";
-    version = "0.9.33";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "1q5f7ykkxgniwjrqifx1ssrqjzcf8fi4fzh770xrbyp8n6v14qr6";
-    build = "build/main.rs";
-    inherit dependencies buildDependencies features;
-  };
-  percent_encoding_1_0_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "percent-encoding";
-    version = "1.0.1";
-    authors = [ "The rust-url developers" ];
-    sha256 = "04ahrp7aw4ip7fmadb0bknybmkfav0kk0gw4ps3ydq5w6hr0ib5i";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0b58l863rhmqyqsfj2d89nmdzc21g9yvvvq1m4c3a615zpcykb3i";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_codegen_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_codegen";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0k8yx4gr9m6cfrvh21s6bhnh1azz13j4xih88bvm06r6blfl89fs";
-    inherit dependencies buildDependencies features;
-  };
-  phf_generator_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_generator";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "093gla320qb6rbk8z7wqqxl79zrh874sa7sxir31q2p7mrw4b70k";
-    inherit dependencies buildDependencies features;
-  };
-  phf_shared_0_7_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "phf_shared";
-    version = "0.7.22";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0ij9flicfi0ab5vpzdwbizpdyxhk891qxa8nxsqlv4sg4abqang6";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  pkg_config_0_3_12_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "pkg-config";
-    version = "0.3.12";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0k343rlyv9qmplxwxn8clzkyx1zbplhnvm0psjl6s111fjqmgsgh";
-    inherit dependencies buildDependencies features;
-  };
-  quote_0_3_15_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "quote";
-    version = "0.3.15";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_3_22_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.3.22";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wrj12acx7l4hr7ag3nz8b50yhp8ancyq988bzmnnsxln67rsys0";
-    inherit dependencies buildDependencies features;
-  };
-  rand_0_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "rand";
-    version = "0.4.2";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0h8pkg23wb67i8904sm76iyr1jlmhklb85vbpz9c9191a24xzkfm";
-    inherit dependencies buildDependencies features;
-  };
-  redox_syscall_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "redox_syscall";
-    version = "0.1.40";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "132rnhrq49l3z7gjrwj2zfadgw6q0355s6a7id7x7c0d7sk72611";
-    libName = "syscall";
-    inherit dependencies buildDependencies features;
-  };
-  redox_termios_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "redox_termios";
-    version = "0.1.1";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  regex_0_1_80_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "regex";
-    version = "0.1.80";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
-    inherit dependencies buildDependencies features;
-  };
-  regex_syntax_0_3_9_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "regex-syntax";
-    version = "0.3.9";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
-    inherit dependencies buildDependencies features;
-  };
-  relay_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "relay";
-    version = "0.1.1";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "16csfaslbmj25iaxs88p8wcfh2zfpkh9isg9adid0nxjxvknh07r";
-    inherit dependencies buildDependencies features;
-  };
-  remove_dir_all_0_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "remove_dir_all";
-    version = "0.5.1";
-    authors = [ "Aaronepower <theaaronepower@gmail.com>" ];
-    sha256 = "1chx3yvfbj46xjz4bzsvps208l46hfbcy0sm98gpiya454n4rrl7";
-    inherit dependencies buildDependencies features;
-  };
-  reqwest_0_8_6_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "reqwest";
-    version = "0.8.6";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0ka9ndgybhf65fn44badnjbasn1fi0mvjfa3sfiw485mgg21n3a0";
-    inherit dependencies buildDependencies features;
-  };
-  safemem_0_2_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "safemem";
-    version = "0.2.0";
-    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
-    sha256 = "058m251q202n479ip1h6s91yw3plg66vsk5mpaflssn6rs5hijdm";
-    inherit dependencies buildDependencies features;
-  };
-  schannel_0_1_13_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "schannel";
-    version = "0.1.13";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" "Steffen Butzer <steffen.butzer@outlook.com>" ];
-    sha256 = "033zavvq2k6z5akk38vzaglzbxzljaixgmhj9am27nr21dgaj6b3";
-    inherit dependencies buildDependencies features;
-  };
-  scoped_tls_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scoped-tls";
-    version = "0.1.2";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0nblksgki698cqsclsnd6f1pq4yy34350dn2slaah9dlmx9z5xla";
-    inherit dependencies buildDependencies features;
-  };
-  scopeguard_0_3_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "scopeguard";
-    version = "0.3.3";
-    authors = [ "bluss" ];
-    sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r";
-    inherit dependencies buildDependencies features;
-  };
-  security_framework_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "security-framework";
-    version = "0.1.16";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "1kxczsaj8gz4922jl5af2gkxh71rasb6khaf3dp7ldlnw9qf2sbm";
-    inherit dependencies buildDependencies features;
-  };
-  security_framework_sys_0_1_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "security-framework-sys";
-    version = "0.1.16";
-    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
-    sha256 = "0ai2pivdr5fyc7czbkpcrwap0imyy0r8ndarrl3n5kiv0jha1js3";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  semver_0_9_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "semver";
-    version = "0.9.0";
-    authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
-    sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63";
-    inherit dependencies buildDependencies features;
-  };
-  semver_parser_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "semver-parser";
-    version = "0.7.0";
-    authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
-    sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
-    inherit dependencies buildDependencies features;
-  };
-  serde_1_0_70_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde";
-    version = "1.0.70";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1z1gyjf5rrs1k3j1civfzqjqs790651bwf8m31bw2pagclhnazs4";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  serde_json_1_0_24_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde_json";
-    version = "1.0.24";
-    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1wvvc3y0202my2p00ah8ygl1794nspar9pf39fz1525jd6m6k8a1";
-    inherit dependencies buildDependencies features;
-  };
-  serde_urlencoded_0_5_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "serde_urlencoded";
-    version = "0.5.2";
-    authors = [ "Anthony Ramine <n.oxyde@gmail.com>" ];
-    sha256 = "0m5pigng0665qrk4ii1z84pb4lchbsswhgb863yglljskmm056m0";
-    inherit dependencies buildDependencies features;
-  };
-  siphasher_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "siphasher";
-    version = "0.2.2";
-    authors = [ "Frank Denis <github@pureftpd.org>" ];
-    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
-    inherit dependencies buildDependencies features;
-  };
-  slab_0_3_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slab";
-    version = "0.3.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0y6lhjggksh57hyfd3l6p9wgv5nhvw9c6djrysq7jnalz8fih21k";
-    inherit dependencies buildDependencies features;
-  };
-  slab_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slab";
-    version = "0.4.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1qy2vkgwqgj5z4ygdkh040n9yh1vz80v5flxb1xrvw3i4wxs7yx0";
-    inherit dependencies buildDependencies features;
-  };
-  slog_1_7_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog";
-    version = "1.7.1";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "1qhnwv2gbxmnwasaa0vlhddq6cdhq6n3l8d6h3ql73367h7aav65";
-    inherit dependencies buildDependencies features;
-  };
-  slog_envlogger_0_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-envlogger";
-    version = "0.5.0";
-    authors = [ "The Rust Project Developers" "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0ry9k2ppj7z6prdz2kf924w7l9y2kbysrigca6shni1kz2j163qb";
-    libPath = "src/lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_extra_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-extra";
-    version = "0.1.2";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0jrw0xcc81wwcl59xx9qglfcv5l3ad5kbpcyp6ygk94p9kxfrhyj";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_stdlog_1_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-stdlog";
-    version = "1.1.0";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0ig4mjixr4y3dn3s53rlnrpplwkqb8b0z2zkaiiiwyv7nhjxdg46";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_stream_1_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-stream";
-    version = "1.2.1";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "03dwzbydaamfzjpr16gm065i696lk86gqcpspv5qaqyv938fm2yj";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  slog_term_1_5_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "slog-term";
-    version = "1.5.0";
-    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
-    sha256 = "0zq2kyvm7jhqj6sc09w540wqfrrpa46yxf9sgzq7jqpkr66wsiar";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  smallvec_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "smallvec";
-    version = "0.2.1";
-    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-    sha256 = "0rnsll9af52bpjngz0067dpm1ndqmh76i64a58fc118l4lvnjxw2";
-    libPath = "lib.rs";
-    inherit dependencies buildDependencies features;
-  };
-  strsim_0_7_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "strsim";
-    version = "0.7.0";
-    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "0fy0k5f2705z73mb3x9459bpcvrx4ky8jpr4zikcbiwan4bnm0iv";
-    inherit dependencies buildDependencies features;
-  };
-  syn_0_11_11_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "syn";
-    version = "0.11.11";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-    inherit dependencies buildDependencies features;
-  };
-  synom_0_11_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "synom";
-    version = "0.11.3";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-    inherit dependencies buildDependencies features;
-  };
-  take_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "take";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "17rfh39di5n8w9aghpic2r94cndi3dr04l60nkjylmxfxr3iwlhd";
-    inherit dependencies buildDependencies features;
-  };
-  tar_0_4_16_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tar";
-    version = "0.4.16";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0s36d0nzn2hs20y805wpmpc4asd1jhrpabqwcpqf5ha442fa7f3b";
-    inherit dependencies buildDependencies features;
-  };
-  tempdir_0_3_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tempdir";
-    version = "0.3.7";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0y53sxybyljrr7lh0x0ysrsa7p7cljmwv9v80acy3rc6n97g67vy";
-    inherit dependencies buildDependencies features;
-  };
-  termion_1_5_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "termion";
-    version = "1.5.1";
-    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-    inherit dependencies buildDependencies features;
-  };
-  textwrap_0_10_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "textwrap";
-    version = "0.10.0";
-    authors = [ "Martin Geisler <martin@geisler.net>" ];
-    sha256 = "1s8d5cna12smhgj0x2y1xphklyk2an1yzbadnj89p1vy5vnjpsas";
-    inherit dependencies buildDependencies features;
-  };
-  thread_id_2_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "thread-id";
-    version = "2.0.0";
-    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
-    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
-    inherit dependencies buildDependencies features;
-  };
-  thread_local_0_2_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.2.7";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
-    inherit dependencies buildDependencies features;
-  };
-  thread_local_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.3.5";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "0mkp0sp91aqsk7brgygai4igv751r1754rsxn37mig3ag5rx8np6";
-    inherit dependencies buildDependencies features;
-  };
-  time_0_1_40_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "time";
-    version = "0.1.40";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0wgnbjamljz6bqxsd5axc4p2mmhkqfrryj4gf2yswjaxiw5dd01m";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio";
-    version = "0.1.7";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0d5fj90wk05m5vbd924irg1pl1d4fn86jjw5napzanh6vbwsnr66";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_codec_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-codec";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" "Bryan Burgers <bryan@burgers.io>" ];
-    sha256 = "0347ygccbj05yn9krjk4ifcy5xbv41xk7yyi9cl2cnxrc285xnm7";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_core_0_1_17_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-core";
-    version = "0.1.17";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1j6c5q3aakvb1hjx4r95xwl5ms8rp19k4qsr6v6ngwbvr6f9z6rs";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_executor_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-executor";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1y4mwqjw438x6jskigz1knvfbpbinxfv6h43s60w6wdb80xmyg48";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_fs_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-fs";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "18rxwslv2hdmij6alpqfcm8aywcd28vw12s826ajgvkskh8jsdh2";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_io_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-io";
-    version = "0.1.7";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "08r46b5lp7929agwal1iaabdhfv309wyvd6cld1g39x5ml8x7hp2";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_proto_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-proto";
-    version = "0.1.1";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "030q9h8pn1ngm80klff5irglxxki60hf5maw0mppmmr46k773z66";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_reactor_0_1_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-reactor";
-    version = "0.1.2";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "11yx7fvyv1c5h097lspfrim1r67axl8y8m22y5mgny8nhly56s4m";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_service_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-service";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0c85wm5qz9fabg0k6k763j89m43n6max72d3a8sxcs940id6qmih";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_tcp_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-tcp";
-    version = "0.1.0";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "19cyajkqvvbn3qqnak0qzivdq6amfjymbc30k7bbqhx4y1pcgqvh";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_threadpool_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-threadpool";
-    version = "0.1.5";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "04nzjdjlir33s0z5nh3vh2h4v3vb1rwzv45jdjridrk92rqpb2vc";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_timer_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-timer";
-    version = "0.2.4";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0imv1k4g583hh61qkh6mpx06ik9accyl4582vq0z61rr484050gi";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_tls_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-tls";
-    version = "0.1.4";
-    authors = [ "Carl Lerche <me@carllerche.com>" "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "07rwv3q6jbg65ln1ahzb4g648l8lcn4hvc0ax3r12bnsi1py7agp";
-    inherit dependencies buildDependencies features;
-  };
-  tokio_udp_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "tokio-udp";
-    version = "0.1.1";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1zsq3bny959dq7cnhdjrlaglrdcm63zn82jpkjs6nrrcfhb9l6z9";
-    inherit dependencies buildDependencies features;
-  };
-  try_lock_0_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "try-lock";
-    version = "0.1.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "0kfrqrb2xkjig54s3qfy80dpldknr19p3rmp0n82yk5929j879k3";
-    inherit dependencies buildDependencies features;
-  };
-  unicase_1_4_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicase";
-    version = "1.4.2";
-    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
-    sha256 = "0rbnhw2mnhcwrij3vczp0sl8zdfmvf2dlh8hly81kj7132kfj0mf";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  unicase_2_1_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicase";
-    version = "2.1.0";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1zzn16hh8fdx5pnbbnl32q8m2mh4vpd1jm9pdcv969ik83dw4byp";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_bidi_0_3_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-bidi";
-    version = "0.3.4";
-    authors = [ "The Servo Project Developers" ];
-    sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
-    libName = "unicode_bidi";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_normalization_0_1_7_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-normalization";
-    version = "0.1.7";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1da2hv800pd0wilmn4idwpgv5p510hjxizjcfv6xzb40xcsjd8gs";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_width_0_1_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.5";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "0886lc2aymwgy0lhavwn6s48ik3c61ykzzd3za6prgnw51j7bi4w";
-    inherit dependencies buildDependencies features;
-  };
-  unicode_xid_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unicode-xid";
-    version = "0.0.4";
-    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-    inherit dependencies buildDependencies features;
-  };
-  unreachable_1_0_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "unreachable";
-    version = "1.0.0";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-    inherit dependencies buildDependencies features;
-  };
-  url_1_7_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "url";
-    version = "1.7.1";
-    authors = [ "The rust-url developers" ];
-    sha256 = "1l36pbvlwdnh3zqz4wp5n6jg332wkis9pi2g3vy12xr8k4nfyk8i";
-    inherit dependencies buildDependencies features;
-  };
-  utf8_ranges_0_1_3_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "utf8-ranges";
-    version = "0.1.3";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
-    inherit dependencies buildDependencies features;
-  };
-  uuid_0_6_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "uuid";
-    version = "0.6.5";
-    authors = [ "Ashley Mannix<ashleymannix@live.com.au>" "Christopher Armstrong" "Dylan DPC<dylan.dpc@gmail.com>" "Hunar Roop Kahlon<hunar.roop@gmail.com>" ];
-    sha256 = "1jy15m4yxxwma0jsy070garhbgfprky23i77rawjkk75vqhnnhlf";
-    inherit dependencies buildDependencies features;
-  };
-  vcpkg_0_2_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vcpkg";
-    version = "0.2.4";
-    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
-    sha256 = "0xgk5axv1qhj4rfn2rca7768wnvzihccnajkgc6im8ndsx371nml";
-    inherit dependencies buildDependencies features;
-  };
-  vec_map_0_8_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "vec_map";
-    version = "0.8.1";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-    sha256 = "1jj2nrg8h3l53d43rwkpkikq5a5x15ms4rf1rw92hp5lrqhi8mpi";
-    inherit dependencies buildDependencies features;
-  };
-  version_check_0_1_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "version_check";
-    version = "0.1.4";
-    authors = [ "Sergio Benitez <sb@sergio.bz>" ];
-    sha256 = "1ghi6bw2qsj53x2vyprs883dbrq8cjzmshlamjsxvmwd2zp13bck";
-    inherit dependencies buildDependencies features;
-  };
-  void_1_0_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "void";
-    version = "1.0.2";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-    inherit dependencies buildDependencies features;
-  };
-  want_0_0_4_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "want";
-    version = "0.0.4";
-    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
-    sha256 = "1l1qy4pvg5q71nrzfjldw9xzqhhgicj4slly1bal89hr2aaibpy0";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_2_8_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_0_3_5_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.3.5";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0cfdsxa5yf832r5i2z7dhdvnryyvhfp3nb32gpcaq502zgjdm3w6";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_build_0_1_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_i686_pc_windows_gnu_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-i686-pc-windows-gnu";
-    version = "0.4.0";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  winapi_x86_64_pc_windows_gnu_0_4_0_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "winapi-x86_64-pc-windows-gnu";
-    version = "0.4.0";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  ws2_32_sys_0_2_1_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "ws2_32-sys";
-    version = "0.2.1";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
-    libName = "ws2_32";
-    build = "build.rs";
-    inherit dependencies buildDependencies features;
-  };
-  xattr_0_2_2_ = { dependencies?[], buildDependencies?[], features?[] }: buildRustCrate {
-    crateName = "xattr";
-    version = "0.2.2";
-    authors = [ "Steven Allen <steven@stebalien.com>" ];
-    sha256 = "01zqnn6bhrd58hvpj3y1nqnbmlswrvsdapn2zbi7h1bh5lspiyk5";
-    inherit dependencies buildDependencies features;
-  };
-  adler32_1_0_3 = { features?(adler32_1_0_3_features {}) }: adler32_1_0_3_ {};
-  adler32_1_0_3_features = f: updateFeatures f (rec {
-    adler32_1_0_3.default = (f.adler32_1_0_3.default or true);
-  }) [];
-  aho_corasick_0_5_3 = { features?(aho_corasick_0_5_3_features {}) }: aho_corasick_0_5_3_ {
-    dependencies = mapFeatures features ([ memchr_0_1_11 ]);
-  };
-  aho_corasick_0_5_3_features = f: updateFeatures f (rec {
-    aho_corasick_0_5_3.default = (f.aho_corasick_0_5_3.default or true);
-    memchr_0_1_11.default = true;
-  }) [ memchr_0_1_11_features ];
-  ansi_term_0_9_0 = { features?(ansi_term_0_9_0_features {}) }: ansi_term_0_9_0_ {};
-  ansi_term_0_9_0_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = (f.ansi_term_0_9_0.default or true);
-  }) [];
-  ansi_term_0_11_0 = { features?(ansi_term_0_11_0_features {}) }: ansi_term_0_11_0_ {
-    dependencies = (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  ansi_term_0_11_0_features = f: updateFeatures f (rec {
-    ansi_term_0_11_0.default = (f.ansi_term_0_11_0.default or true);
-    winapi_0_3_5.consoleapi = true;
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.errhandlingapi = true;
-    winapi_0_3_5.processenv = true;
-  }) [ winapi_0_3_5_features ];
-  arrayvec_0_4_7 = { features?(arrayvec_0_4_7_features {}) }: arrayvec_0_4_7_ {
-    dependencies = mapFeatures features ([ nodrop_0_1_12 ]);
-    features = mkFeatures (features.arrayvec_0_4_7 or {});
-  };
-  arrayvec_0_4_7_features = f: updateFeatures f (rec {
-    arrayvec_0_4_7.default = (f.arrayvec_0_4_7.default or true);
-    arrayvec_0_4_7.serde =
-      (f.arrayvec_0_4_7.serde or false) ||
-      (f.arrayvec_0_4_7.serde-1 or false) ||
-      (arrayvec_0_4_7.serde-1 or false);
-    arrayvec_0_4_7.std =
-      (f.arrayvec_0_4_7.std or false) ||
-      (f.arrayvec_0_4_7.default or false) ||
-      (arrayvec_0_4_7.default or false);
-    nodrop_0_1_12.default = (f.nodrop_0_1_12.default or false);
-  }) [ nodrop_0_1_12_features ];
-  atty_0_2_11 = { features?(atty_0_2_11_features {}) }: atty_0_2_11_ {
-    dependencies = (if kernel == "redox" then mapFeatures features ([ termion_1_5_1 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  atty_0_2_11_features = f: updateFeatures f (rec {
-    atty_0_2_11.default = (f.atty_0_2_11.default or true);
-    libc_0_2_42.default = (f.libc_0_2_42.default or false);
-    termion_1_5_1.default = true;
-    winapi_0_3_5.consoleapi = true;
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.minwinbase = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.processenv = true;
-    winapi_0_3_5.winbase = true;
-  }) [ termion_1_5_1_features libc_0_2_42_features winapi_0_3_5_features ];
-  base64_0_9_2 = { features?(base64_0_9_2_features {}) }: base64_0_9_2_ {
-    dependencies = mapFeatures features ([ byteorder_1_2_3 safemem_0_2_0 ]);
-  };
-  base64_0_9_2_features = f: updateFeatures f (rec {
-    base64_0_9_2.default = (f.base64_0_9_2.default or true);
-    byteorder_1_2_3.default = true;
-    safemem_0_2_0.default = true;
-  }) [ byteorder_1_2_3_features safemem_0_2_0_features ];
-  bitflags_0_9_1 = { features?(bitflags_0_9_1_features {}) }: bitflags_0_9_1_ {
-    features = mkFeatures (features.bitflags_0_9_1 or {});
-  };
-  bitflags_0_9_1_features = f: updateFeatures f (rec {
-    bitflags_0_9_1.default = (f.bitflags_0_9_1.default or true);
-    bitflags_0_9_1.example_generated =
-      (f.bitflags_0_9_1.example_generated or false) ||
-      (f.bitflags_0_9_1.default or false) ||
-      (bitflags_0_9_1.default or false);
-  }) [];
-  bitflags_1_0_3 = { features?(bitflags_1_0_3_features {}) }: bitflags_1_0_3_ {
-    features = mkFeatures (features.bitflags_1_0_3 or {});
-  };
-  bitflags_1_0_3_features = f: updateFeatures f (rec {
-    bitflags_1_0_3.default = (f.bitflags_1_0_3.default or true);
-  }) [];
-  build_const_0_2_1 = { features?(build_const_0_2_1_features {}) }: build_const_0_2_1_ {
-    features = mkFeatures (features.build_const_0_2_1 or {});
-  };
-  build_const_0_2_1_features = f: updateFeatures f (rec {
-    build_const_0_2_1.default = (f.build_const_0_2_1.default or true);
-    build_const_0_2_1.std =
-      (f.build_const_0_2_1.std or false) ||
-      (f.build_const_0_2_1.default or false) ||
-      (build_const_0_2_1.default or false);
-  }) [];
-  byteorder_1_2_3 = { features?(byteorder_1_2_3_features {}) }: byteorder_1_2_3_ {
-    features = mkFeatures (features.byteorder_1_2_3 or {});
-  };
-  byteorder_1_2_3_features = f: updateFeatures f (rec {
-    byteorder_1_2_3.default = (f.byteorder_1_2_3.default or true);
-    byteorder_1_2_3.std =
-      (f.byteorder_1_2_3.std or false) ||
-      (f.byteorder_1_2_3.default or false) ||
-      (byteorder_1_2_3.default or false);
-  }) [];
-  bytes_0_4_9 = { features?(bytes_0_4_9_features {}) }: bytes_0_4_9_ {
-    dependencies = mapFeatures features ([ byteorder_1_2_3 iovec_0_1_2 ]);
-    features = mkFeatures (features.bytes_0_4_9 or {});
-  };
-  bytes_0_4_9_features = f: updateFeatures f (rec {
-    byteorder_1_2_3.default = true;
-    byteorder_1_2_3.i128 =
-      (f.byteorder_1_2_3.i128 or false) ||
-      (bytes_0_4_9.i128 or false) ||
-      (f.bytes_0_4_9.i128 or false);
-    bytes_0_4_9.default = (f.bytes_0_4_9.default or true);
-    iovec_0_1_2.default = true;
-  }) [ byteorder_1_2_3_features iovec_0_1_2_features ];
-  cargo_download_0_1_1 = { features?(cargo_download_0_1_1_features {}) }: cargo_download_0_1_1_ {
-    dependencies = mapFeatures features ([ ansi_term_0_9_0 clap_2_32_0 conv_0_3_3 derive_error_0_0_3 exitcode_1_1_2 flate2_0_2_20 isatty_0_1_8 itertools_0_6_5 lazy_static_0_2_11 log_0_3_9 maplit_0_1_6 reqwest_0_8_6 semver_0_9_0 serde_json_1_0_24 slog_1_7_1 slog_envlogger_0_5_0 slog_stdlog_1_1_0 slog_stream_1_2_1 tar_0_4_16 time_0_1_40 ]);
-  };
-  cargo_download_0_1_1_features = f: updateFeatures f (rec {
-    ansi_term_0_9_0.default = true;
-    cargo_download_0_1_1.default = (f.cargo_download_0_1_1.default or true);
-    clap_2_32_0.default = true;
-    conv_0_3_3.default = true;
-    derive_error_0_0_3.default = true;
-    exitcode_1_1_2.default = true;
-    flate2_0_2_20.default = true;
-    isatty_0_1_8.default = true;
-    itertools_0_6_5.default = true;
-    lazy_static_0_2_11.default = true;
-    log_0_3_9.default = true;
-    maplit_0_1_6.default = true;
-    reqwest_0_8_6.default = true;
-    semver_0_9_0.default = true;
-    serde_json_1_0_24.default = true;
-    slog_1_7_1.default = true;
-    slog_envlogger_0_5_0.default = true;
-    slog_stdlog_1_1_0.default = true;
-    slog_stream_1_2_1.default = true;
-    tar_0_4_16.default = true;
-    time_0_1_40.default = true;
-  }) [ ansi_term_0_9_0_features clap_2_32_0_features conv_0_3_3_features derive_error_0_0_3_features exitcode_1_1_2_features flate2_0_2_20_features isatty_0_1_8_features itertools_0_6_5_features lazy_static_0_2_11_features log_0_3_9_features maplit_0_1_6_features reqwest_0_8_6_features semver_0_9_0_features serde_json_1_0_24_features slog_1_7_1_features slog_envlogger_0_5_0_features slog_stdlog_1_1_0_features slog_stream_1_2_1_features tar_0_4_16_features time_0_1_40_features ];
-  case_0_1_0 = { features?(case_0_1_0_features {}) }: case_0_1_0_ {};
-  case_0_1_0_features = f: updateFeatures f (rec {
-    case_0_1_0.default = (f.case_0_1_0.default or true);
-  }) [];
-  cc_1_0_18 = { features?(cc_1_0_18_features {}) }: cc_1_0_18_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.cc_1_0_18 or {});
-  };
-  cc_1_0_18_features = f: updateFeatures f (rec {
-    cc_1_0_18.default = (f.cc_1_0_18.default or true);
-    cc_1_0_18.rayon =
-      (f.cc_1_0_18.rayon or false) ||
-      (f.cc_1_0_18.parallel or false) ||
-      (cc_1_0_18.parallel or false);
-  }) [];
-  cfg_if_0_1_4 = { features?(cfg_if_0_1_4_features {}) }: cfg_if_0_1_4_ {};
-  cfg_if_0_1_4_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = (f.cfg_if_0_1_4.default or true);
-  }) [];
-  chrono_0_2_25 = { features?(chrono_0_2_25_features {}) }: chrono_0_2_25_ {
-    dependencies = mapFeatures features ([ num_0_1_42 time_0_1_40 ]);
-  };
-  chrono_0_2_25_features = f: updateFeatures f (rec {
-    chrono_0_2_25.default = (f.chrono_0_2_25.default or true);
-    num_0_1_42.default = (f.num_0_1_42.default or false);
-    time_0_1_40.default = true;
-  }) [ num_0_1_42_features time_0_1_40_features ];
-  clap_2_32_0 = { features?(clap_2_32_0_features {}) }: clap_2_32_0_ {
-    dependencies = mapFeatures features ([ bitflags_1_0_3 textwrap_0_10_0 unicode_width_0_1_5 ]
-      ++ (if features.clap_2_32_0.atty or false then [ atty_0_2_11 ] else [])
-      ++ (if features.clap_2_32_0.strsim or false then [ strsim_0_7_0 ] else [])
-      ++ (if features.clap_2_32_0.vec_map or false then [ vec_map_0_8_1 ] else []))
-      ++ (if !(kernel == "windows") then mapFeatures features ([ ]
-      ++ (if features.clap_2_32_0.ansi_term or false then [ ansi_term_0_11_0 ] else [])) else []);
-    features = mkFeatures (features.clap_2_32_0 or {});
-  };
-  clap_2_32_0_features = f: updateFeatures f (rec {
-    ansi_term_0_11_0.default = true;
-    atty_0_2_11.default = true;
-    bitflags_1_0_3.default = true;
-    clap_2_32_0.ansi_term =
-      (f.clap_2_32_0.ansi_term or false) ||
-      (f.clap_2_32_0.color or false) ||
-      (clap_2_32_0.color or false);
-    clap_2_32_0.atty =
-      (f.clap_2_32_0.atty or false) ||
-      (f.clap_2_32_0.color or false) ||
-      (clap_2_32_0.color or false);
-    clap_2_32_0.clippy =
-      (f.clap_2_32_0.clippy or false) ||
-      (f.clap_2_32_0.lints or false) ||
-      (clap_2_32_0.lints or false);
-    clap_2_32_0.color =
-      (f.clap_2_32_0.color or false) ||
-      (f.clap_2_32_0.default or false) ||
-      (clap_2_32_0.default or false);
-    clap_2_32_0.default = (f.clap_2_32_0.default or true);
-    clap_2_32_0.strsim =
-      (f.clap_2_32_0.strsim or false) ||
-      (f.clap_2_32_0.suggestions or false) ||
-      (clap_2_32_0.suggestions or false);
-    clap_2_32_0.suggestions =
-      (f.clap_2_32_0.suggestions or false) ||
-      (f.clap_2_32_0.default or false) ||
-      (clap_2_32_0.default or false);
-    clap_2_32_0.term_size =
-      (f.clap_2_32_0.term_size or false) ||
-      (f.clap_2_32_0.wrap_help or false) ||
-      (clap_2_32_0.wrap_help or false);
-    clap_2_32_0.vec_map =
-      (f.clap_2_32_0.vec_map or false) ||
-      (f.clap_2_32_0.default or false) ||
-      (clap_2_32_0.default or false);
-    clap_2_32_0.yaml =
-      (f.clap_2_32_0.yaml or false) ||
-      (f.clap_2_32_0.doc or false) ||
-      (clap_2_32_0.doc or false);
-    clap_2_32_0.yaml-rust =
-      (f.clap_2_32_0.yaml-rust or false) ||
-      (f.clap_2_32_0.yaml or false) ||
-      (clap_2_32_0.yaml or false);
-    strsim_0_7_0.default = true;
-    textwrap_0_10_0.default = true;
-    textwrap_0_10_0.term_size =
-      (f.textwrap_0_10_0.term_size or false) ||
-      (clap_2_32_0.wrap_help or false) ||
-      (f.clap_2_32_0.wrap_help or false);
-    unicode_width_0_1_5.default = true;
-    vec_map_0_8_1.default = true;
-  }) [ atty_0_2_11_features bitflags_1_0_3_features strsim_0_7_0_features textwrap_0_10_0_features unicode_width_0_1_5_features vec_map_0_8_1_features ansi_term_0_11_0_features ];
-  conv_0_3_3 = { features?(conv_0_3_3_features {}) }: conv_0_3_3_ {
-    dependencies = mapFeatures features ([ custom_derive_0_1_7 ]);
-  };
-  conv_0_3_3_features = f: updateFeatures f (rec {
-    conv_0_3_3.default = (f.conv_0_3_3.default or true);
-    custom_derive_0_1_7.default = true;
-  }) [ custom_derive_0_1_7_features ];
-  core_foundation_0_2_3 = { features?(core_foundation_0_2_3_features {}) }: core_foundation_0_2_3_ {
-    dependencies = mapFeatures features ([ core_foundation_sys_0_2_3 libc_0_2_42 ]);
-  };
-  core_foundation_0_2_3_features = f: updateFeatures f (rec {
-    core_foundation_0_2_3.default = (f.core_foundation_0_2_3.default or true);
-    core_foundation_sys_0_2_3.default = true;
-    libc_0_2_42.default = true;
-  }) [ core_foundation_sys_0_2_3_features libc_0_2_42_features ];
-  core_foundation_sys_0_2_3 = { features?(core_foundation_sys_0_2_3_features {}) }: core_foundation_sys_0_2_3_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-  };
-  core_foundation_sys_0_2_3_features = f: updateFeatures f (rec {
-    core_foundation_sys_0_2_3.default = (f.core_foundation_sys_0_2_3.default or true);
-    libc_0_2_42.default = true;
-  }) [ libc_0_2_42_features ];
-  crc_1_8_1 = { features?(crc_1_8_1_features {}) }: crc_1_8_1_ {
-    buildDependencies = mapFeatures features ([ build_const_0_2_1 ]);
-    features = mkFeatures (features.crc_1_8_1 or {});
-  };
-  crc_1_8_1_features = f: updateFeatures f (rec {
-    build_const_0_2_1.default = true;
-    crc_1_8_1.default = (f.crc_1_8_1.default or true);
-    crc_1_8_1.std =
-      (f.crc_1_8_1.std or false) ||
-      (f.crc_1_8_1.default or false) ||
-      (crc_1_8_1.default or false);
-  }) [ build_const_0_2_1_features ];
-  crossbeam_0_2_12 = { features?(crossbeam_0_2_12_features {}) }: crossbeam_0_2_12_ {
-    features = mkFeatures (features.crossbeam_0_2_12 or {});
-  };
-  crossbeam_0_2_12_features = f: updateFeatures f (rec {
-    crossbeam_0_2_12.default = (f.crossbeam_0_2_12.default or true);
-  }) [];
-  crossbeam_deque_0_3_1 = { features?(crossbeam_deque_0_3_1_features {}) }: crossbeam_deque_0_3_1_ {
-    dependencies = mapFeatures features ([ crossbeam_epoch_0_4_3 crossbeam_utils_0_3_2 ]);
-  };
-  crossbeam_deque_0_3_1_features = f: updateFeatures f (rec {
-    crossbeam_deque_0_3_1.default = (f.crossbeam_deque_0_3_1.default or true);
-    crossbeam_epoch_0_4_3.default = true;
-    crossbeam_utils_0_3_2.default = true;
-  }) [ crossbeam_epoch_0_4_3_features crossbeam_utils_0_3_2_features ];
-  crossbeam_epoch_0_4_3 = { features?(crossbeam_epoch_0_4_3_features {}) }: crossbeam_epoch_0_4_3_ {
-    dependencies = mapFeatures features ([ arrayvec_0_4_7 cfg_if_0_1_4 crossbeam_utils_0_3_2 memoffset_0_2_1 scopeguard_0_3_3 ]
-      ++ (if features.crossbeam_epoch_0_4_3.lazy_static or false then [ lazy_static_1_0_2 ] else []));
-    features = mkFeatures (features.crossbeam_epoch_0_4_3 or {});
-  };
-  crossbeam_epoch_0_4_3_features = f: updateFeatures f (rec {
-    arrayvec_0_4_7.default = (f.arrayvec_0_4_7.default or false);
-    arrayvec_0_4_7.use_union =
-      (f.arrayvec_0_4_7.use_union or false) ||
-      (crossbeam_epoch_0_4_3.nightly or false) ||
-      (f.crossbeam_epoch_0_4_3.nightly or false);
-    cfg_if_0_1_4.default = true;
-    crossbeam_epoch_0_4_3.default = (f.crossbeam_epoch_0_4_3.default or true);
-    crossbeam_epoch_0_4_3.lazy_static =
-      (f.crossbeam_epoch_0_4_3.lazy_static or false) ||
-      (f.crossbeam_epoch_0_4_3.use_std or false) ||
-      (crossbeam_epoch_0_4_3.use_std or false);
-    crossbeam_epoch_0_4_3.use_std =
-      (f.crossbeam_epoch_0_4_3.use_std or false) ||
-      (f.crossbeam_epoch_0_4_3.default or false) ||
-      (crossbeam_epoch_0_4_3.default or false);
-    crossbeam_utils_0_3_2.default = (f.crossbeam_utils_0_3_2.default or false);
-    crossbeam_utils_0_3_2.use_std =
-      (f.crossbeam_utils_0_3_2.use_std or false) ||
-      (crossbeam_epoch_0_4_3.use_std or false) ||
-      (f.crossbeam_epoch_0_4_3.use_std or false);
-    lazy_static_1_0_2.default = true;
-    memoffset_0_2_1.default = true;
-    scopeguard_0_3_3.default = (f.scopeguard_0_3_3.default or false);
-  }) [ arrayvec_0_4_7_features cfg_if_0_1_4_features crossbeam_utils_0_3_2_features lazy_static_1_0_2_features memoffset_0_2_1_features scopeguard_0_3_3_features ];
-  crossbeam_utils_0_3_2 = { features?(crossbeam_utils_0_3_2_features {}) }: crossbeam_utils_0_3_2_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]);
-    features = mkFeatures (features.crossbeam_utils_0_3_2 or {});
-  };
-  crossbeam_utils_0_3_2_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    crossbeam_utils_0_3_2.default = (f.crossbeam_utils_0_3_2.default or true);
-    crossbeam_utils_0_3_2.use_std =
-      (f.crossbeam_utils_0_3_2.use_std or false) ||
-      (f.crossbeam_utils_0_3_2.default or false) ||
-      (crossbeam_utils_0_3_2.default or false);
-  }) [ cfg_if_0_1_4_features ];
-  custom_derive_0_1_7 = { features?(custom_derive_0_1_7_features {}) }: custom_derive_0_1_7_ {
-    features = mkFeatures (features.custom_derive_0_1_7 or {});
-  };
-  custom_derive_0_1_7_features = f: updateFeatures f (rec {
-    custom_derive_0_1_7.default = (f.custom_derive_0_1_7.default or true);
-    custom_derive_0_1_7.std =
-      (f.custom_derive_0_1_7.std or false) ||
-      (f.custom_derive_0_1_7.default or false) ||
-      (custom_derive_0_1_7.default or false);
-  }) [];
-  derive_error_0_0_3 = { features?(derive_error_0_0_3_features {}) }: derive_error_0_0_3_ {
-    dependencies = mapFeatures features ([ case_0_1_0 quote_0_3_15 syn_0_11_11 ]);
-  };
-  derive_error_0_0_3_features = f: updateFeatures f (rec {
-    case_0_1_0.default = true;
-    derive_error_0_0_3.default = (f.derive_error_0_0_3.default or true);
-    quote_0_3_15.default = true;
-    syn_0_11_11.default = true;
-  }) [ case_0_1_0_features quote_0_3_15_features syn_0_11_11_features ];
-  dtoa_0_4_3 = { features?(dtoa_0_4_3_features {}) }: dtoa_0_4_3_ {};
-  dtoa_0_4_3_features = f: updateFeatures f (rec {
-    dtoa_0_4_3.default = (f.dtoa_0_4_3.default or true);
-  }) [];
-  either_1_5_0 = { features?(either_1_5_0_features {}) }: either_1_5_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.either_1_5_0 or {});
-  };
-  either_1_5_0_features = f: updateFeatures f (rec {
-    either_1_5_0.default = (f.either_1_5_0.default or true);
-    either_1_5_0.use_std =
-      (f.either_1_5_0.use_std or false) ||
-      (f.either_1_5_0.default or false) ||
-      (either_1_5_0.default or false);
-  }) [];
-  encoding_rs_0_7_2 = { features?(encoding_rs_0_7_2_features {}) }: encoding_rs_0_7_2_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]);
-    features = mkFeatures (features.encoding_rs_0_7_2 or {});
-  };
-  encoding_rs_0_7_2_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    encoding_rs_0_7_2.default = (f.encoding_rs_0_7_2.default or true);
-    encoding_rs_0_7_2.simd =
-      (f.encoding_rs_0_7_2.simd or false) ||
-      (f.encoding_rs_0_7_2.simd-accel or false) ||
-      (encoding_rs_0_7_2.simd-accel or false);
-  }) [ cfg_if_0_1_4_features ];
-  exitcode_1_1_2 = { features?(exitcode_1_1_2_features {}) }: exitcode_1_1_2_ {};
-  exitcode_1_1_2_features = f: updateFeatures f (rec {
-    exitcode_1_1_2.default = (f.exitcode_1_1_2.default or true);
-  }) [];
-  filetime_0_2_1 = { features?(filetime_0_2_1_features {}) }: filetime_0_2_1_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else []);
-  };
-  filetime_0_2_1_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    filetime_0_2_1.default = (f.filetime_0_2_1.default or true);
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-  }) [ cfg_if_0_1_4_features redox_syscall_0_1_40_features libc_0_2_42_features ];
-  flate2_0_2_20 = { features?(flate2_0_2_20_features {}) }: flate2_0_2_20_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]
-      ++ (if features.flate2_0_2_20.miniz-sys or false then [ miniz_sys_0_1_10 ] else []));
-    features = mkFeatures (features.flate2_0_2_20 or {});
-  };
-  flate2_0_2_20_features = f: updateFeatures f (rec {
-    flate2_0_2_20.default = (f.flate2_0_2_20.default or true);
-    flate2_0_2_20.futures =
-      (f.flate2_0_2_20.futures or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    flate2_0_2_20.libz-sys =
-      (f.flate2_0_2_20.libz-sys or false) ||
-      (f.flate2_0_2_20.zlib or false) ||
-      (flate2_0_2_20.zlib or false);
-    flate2_0_2_20.miniz-sys =
-      (f.flate2_0_2_20.miniz-sys or false) ||
-      (f.flate2_0_2_20.default or false) ||
-      (flate2_0_2_20.default or false);
-    flate2_0_2_20.tokio-io =
-      (f.flate2_0_2_20.tokio-io or false) ||
-      (f.flate2_0_2_20.tokio or false) ||
-      (flate2_0_2_20.tokio or false);
-    libc_0_2_42.default = true;
-    miniz_sys_0_1_10.default = true;
-  }) [ libc_0_2_42_features miniz_sys_0_1_10_features ];
-  foreign_types_0_3_2 = { features?(foreign_types_0_3_2_features {}) }: foreign_types_0_3_2_ {
-    dependencies = mapFeatures features ([ foreign_types_shared_0_1_1 ]);
-  };
-  foreign_types_0_3_2_features = f: updateFeatures f (rec {
-    foreign_types_0_3_2.default = (f.foreign_types_0_3_2.default or true);
-    foreign_types_shared_0_1_1.default = true;
-  }) [ foreign_types_shared_0_1_1_features ];
-  foreign_types_shared_0_1_1 = { features?(foreign_types_shared_0_1_1_features {}) }: foreign_types_shared_0_1_1_ {};
-  foreign_types_shared_0_1_1_features = f: updateFeatures f (rec {
-    foreign_types_shared_0_1_1.default = (f.foreign_types_shared_0_1_1.default or true);
-  }) [];
-  fuchsia_zircon_0_3_3 = { features?(fuchsia_zircon_0_3_3_features {}) }: fuchsia_zircon_0_3_3_ {
-    dependencies = mapFeatures features ([ bitflags_1_0_3 fuchsia_zircon_sys_0_3_3 ]);
-  };
-  fuchsia_zircon_0_3_3_features = f: updateFeatures f (rec {
-    bitflags_1_0_3.default = true;
-    fuchsia_zircon_0_3_3.default = (f.fuchsia_zircon_0_3_3.default or true);
-    fuchsia_zircon_sys_0_3_3.default = true;
-  }) [ bitflags_1_0_3_features fuchsia_zircon_sys_0_3_3_features ];
-  fuchsia_zircon_sys_0_3_3 = { features?(fuchsia_zircon_sys_0_3_3_features {}) }: fuchsia_zircon_sys_0_3_3_ {};
-  fuchsia_zircon_sys_0_3_3_features = f: updateFeatures f (rec {
-    fuchsia_zircon_sys_0_3_3.default = (f.fuchsia_zircon_sys_0_3_3.default or true);
-  }) [];
-  futures_0_1_23 = { features?(futures_0_1_23_features {}) }: futures_0_1_23_ {
-    features = mkFeatures (features.futures_0_1_23 or {});
-  };
-  futures_0_1_23_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = (f.futures_0_1_23.default or true);
-    futures_0_1_23.use_std =
-      (f.futures_0_1_23.use_std or false) ||
-      (f.futures_0_1_23.default or false) ||
-      (futures_0_1_23.default or false);
-    futures_0_1_23.with-deprecated =
-      (f.futures_0_1_23.with-deprecated or false) ||
-      (f.futures_0_1_23.default or false) ||
-      (futures_0_1_23.default or false);
-  }) [];
-  futures_cpupool_0_1_8 = { features?(futures_cpupool_0_1_8_features {}) }: futures_cpupool_0_1_8_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 num_cpus_1_8_0 ]);
-    features = mkFeatures (features.futures_cpupool_0_1_8 or {});
-  };
-  futures_cpupool_0_1_8_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = (f.futures_0_1_23.default or false);
-    futures_0_1_23.use_std = true;
-    futures_0_1_23.with-deprecated =
-      (f.futures_0_1_23.with-deprecated or false) ||
-      (futures_cpupool_0_1_8.with-deprecated or false) ||
-      (f.futures_cpupool_0_1_8.with-deprecated or false);
-    futures_cpupool_0_1_8.default = (f.futures_cpupool_0_1_8.default or true);
-    futures_cpupool_0_1_8.with-deprecated =
-      (f.futures_cpupool_0_1_8.with-deprecated or false) ||
-      (f.futures_cpupool_0_1_8.default or false) ||
-      (futures_cpupool_0_1_8.default or false);
-    num_cpus_1_8_0.default = true;
-  }) [ futures_0_1_23_features num_cpus_1_8_0_features ];
-  httparse_1_3_2 = { features?(httparse_1_3_2_features {}) }: httparse_1_3_2_ {
-    features = mkFeatures (features.httparse_1_3_2 or {});
-  };
-  httparse_1_3_2_features = f: updateFeatures f (rec {
-    httparse_1_3_2.default = (f.httparse_1_3_2.default or true);
-    httparse_1_3_2.std =
-      (f.httparse_1_3_2.std or false) ||
-      (f.httparse_1_3_2.default or false) ||
-      (httparse_1_3_2.default or false);
-  }) [];
-  hyper_0_11_27 = { features?(hyper_0_11_27_features {}) }: hyper_0_11_27_ {
-    dependencies = mapFeatures features ([ base64_0_9_2 bytes_0_4_9 futures_0_1_23 futures_cpupool_0_1_8 httparse_1_3_2 iovec_0_1_2 language_tags_0_2_2 log_0_4_3 mime_0_3_8 net2_0_2_33 percent_encoding_1_0_1 relay_0_1_1 time_0_1_40 tokio_core_0_1_17 tokio_io_0_1_7 tokio_service_0_1_0 unicase_2_1_0 want_0_0_4 ]
-      ++ (if features.hyper_0_11_27.tokio-proto or false then [ tokio_proto_0_1_1 ] else []));
-    features = mkFeatures (features.hyper_0_11_27 or {});
-  };
-  hyper_0_11_27_features = f: updateFeatures f (rec {
-    base64_0_9_2.default = true;
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    futures_cpupool_0_1_8.default = true;
-    httparse_1_3_2.default = true;
-    hyper_0_11_27.default = (f.hyper_0_11_27.default or true);
-    hyper_0_11_27.http =
-      (f.hyper_0_11_27.http or false) ||
-      (f.hyper_0_11_27.compat or false) ||
-      (hyper_0_11_27.compat or false);
-    hyper_0_11_27.server-proto =
-      (f.hyper_0_11_27.server-proto or false) ||
-      (f.hyper_0_11_27.default or false) ||
-      (hyper_0_11_27.default or false);
-    hyper_0_11_27.tokio-proto =
-      (f.hyper_0_11_27.tokio-proto or false) ||
-      (f.hyper_0_11_27.server-proto or false) ||
-      (hyper_0_11_27.server-proto or false);
-    iovec_0_1_2.default = true;
-    language_tags_0_2_2.default = true;
-    log_0_4_3.default = true;
-    mime_0_3_8.default = true;
-    net2_0_2_33.default = true;
-    percent_encoding_1_0_1.default = true;
-    relay_0_1_1.default = true;
-    time_0_1_40.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_proto_0_1_1.default = true;
-    tokio_service_0_1_0.default = true;
-    unicase_2_1_0.default = true;
-    want_0_0_4.default = true;
-  }) [ base64_0_9_2_features bytes_0_4_9_features futures_0_1_23_features futures_cpupool_0_1_8_features httparse_1_3_2_features iovec_0_1_2_features language_tags_0_2_2_features log_0_4_3_features mime_0_3_8_features net2_0_2_33_features percent_encoding_1_0_1_features relay_0_1_1_features time_0_1_40_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_proto_0_1_1_features tokio_service_0_1_0_features unicase_2_1_0_features want_0_0_4_features ];
-  hyper_tls_0_1_3 = { features?(hyper_tls_0_1_3_features {}) }: hyper_tls_0_1_3_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 hyper_0_11_27 native_tls_0_1_5 tokio_core_0_1_17 tokio_io_0_1_7 tokio_service_0_1_0 tokio_tls_0_1_4 ]);
-  };
-  hyper_tls_0_1_3_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    hyper_0_11_27.default = true;
-    hyper_tls_0_1_3.default = (f.hyper_tls_0_1_3.default or true);
-    native_tls_0_1_5.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_service_0_1_0.default = true;
-    tokio_tls_0_1_4.default = true;
-  }) [ futures_0_1_23_features hyper_0_11_27_features native_tls_0_1_5_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_service_0_1_0_features tokio_tls_0_1_4_features ];
-  idna_0_1_5 = { features?(idna_0_1_5_features {}) }: idna_0_1_5_ {
-    dependencies = mapFeatures features ([ matches_0_1_7 unicode_bidi_0_3_4 unicode_normalization_0_1_7 ]);
-  };
-  idna_0_1_5_features = f: updateFeatures f (rec {
-    idna_0_1_5.default = (f.idna_0_1_5.default or true);
-    matches_0_1_7.default = true;
-    unicode_bidi_0_3_4.default = true;
-    unicode_normalization_0_1_7.default = true;
-  }) [ matches_0_1_7_features unicode_bidi_0_3_4_features unicode_normalization_0_1_7_features ];
-  iovec_0_1_2 = { features?(iovec_0_1_2_features {}) }: iovec_0_1_2_ {
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_2_8 ]) else []);
-  };
-  iovec_0_1_2_features = f: updateFeatures f (rec {
-    iovec_0_1_2.default = (f.iovec_0_1_2.default or true);
-    libc_0_2_42.default = true;
-    winapi_0_2_8.default = true;
-  }) [ libc_0_2_42_features winapi_0_2_8_features ];
-  isatty_0_1_8 = { features?(isatty_0_1_8_features {}) }: isatty_0_1_8_ {
-    dependencies = (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  isatty_0_1_8_features = f: updateFeatures f (rec {
-    isatty_0_1_8.default = (f.isatty_0_1_8.default or true);
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    winapi_0_3_5.consoleapi = true;
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.fileapi = true;
-    winapi_0_3_5.minwinbase = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.processenv = true;
-    winapi_0_3_5.winbase = true;
-    winapi_0_3_5.winnt = true;
-  }) [ redox_syscall_0_1_40_features libc_0_2_42_features winapi_0_3_5_features ];
-  itertools_0_6_5 = { features?(itertools_0_6_5_features {}) }: itertools_0_6_5_ {
-    dependencies = mapFeatures features ([ either_1_5_0 ]);
-  };
-  itertools_0_6_5_features = f: updateFeatures f (rec {
-    either_1_5_0.default = (f.either_1_5_0.default or false);
-    itertools_0_6_5.default = (f.itertools_0_6_5.default or true);
-  }) [ either_1_5_0_features ];
-  itoa_0_4_2 = { features?(itoa_0_4_2_features {}) }: itoa_0_4_2_ {
-    features = mkFeatures (features.itoa_0_4_2 or {});
-  };
-  itoa_0_4_2_features = f: updateFeatures f (rec {
-    itoa_0_4_2.default = (f.itoa_0_4_2.default or true);
-    itoa_0_4_2.std =
-      (f.itoa_0_4_2.std or false) ||
-      (f.itoa_0_4_2.default or false) ||
-      (itoa_0_4_2.default or false);
-  }) [];
-  kernel32_sys_0_2_2 = { features?(kernel32_sys_0_2_2_features {}) }: kernel32_sys_0_2_2_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  kernel32_sys_0_2_2_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = (f.kernel32_sys_0_2_2.default or true);
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  language_tags_0_2_2 = { features?(language_tags_0_2_2_features {}) }: language_tags_0_2_2_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.language_tags_0_2_2 or {});
-  };
-  language_tags_0_2_2_features = f: updateFeatures f (rec {
-    language_tags_0_2_2.default = (f.language_tags_0_2_2.default or true);
-    language_tags_0_2_2.heapsize =
-      (f.language_tags_0_2_2.heapsize or false) ||
-      (f.language_tags_0_2_2.heap_size or false) ||
-      (language_tags_0_2_2.heap_size or false);
-    language_tags_0_2_2.heapsize_plugin =
-      (f.language_tags_0_2_2.heapsize_plugin or false) ||
-      (f.language_tags_0_2_2.heap_size or false) ||
-      (language_tags_0_2_2.heap_size or false);
-  }) [];
-  lazy_static_0_2_11 = { features?(lazy_static_0_2_11_features {}) }: lazy_static_0_2_11_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_0_2_11 or {});
-  };
-  lazy_static_0_2_11_features = f: updateFeatures f (rec {
-    lazy_static_0_2_11.compiletest_rs =
-      (f.lazy_static_0_2_11.compiletest_rs or false) ||
-      (f.lazy_static_0_2_11.compiletest or false) ||
-      (lazy_static_0_2_11.compiletest or false);
-    lazy_static_0_2_11.default = (f.lazy_static_0_2_11.default or true);
-    lazy_static_0_2_11.nightly =
-      (f.lazy_static_0_2_11.nightly or false) ||
-      (f.lazy_static_0_2_11.spin_no_std or false) ||
-      (lazy_static_0_2_11.spin_no_std or false);
-    lazy_static_0_2_11.spin =
-      (f.lazy_static_0_2_11.spin or false) ||
-      (f.lazy_static_0_2_11.spin_no_std or false) ||
-      (lazy_static_0_2_11.spin_no_std or false);
-  }) [];
-  lazy_static_1_0_2 = { features?(lazy_static_1_0_2_features {}) }: lazy_static_1_0_2_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazy_static_1_0_2 or {});
-  };
-  lazy_static_1_0_2_features = f: updateFeatures f (rec {
-    lazy_static_1_0_2.default = (f.lazy_static_1_0_2.default or true);
-    lazy_static_1_0_2.nightly =
-      (f.lazy_static_1_0_2.nightly or false) ||
-      (f.lazy_static_1_0_2.spin_no_std or false) ||
-      (lazy_static_1_0_2.spin_no_std or false);
-    lazy_static_1_0_2.spin =
-      (f.lazy_static_1_0_2.spin or false) ||
-      (f.lazy_static_1_0_2.spin_no_std or false) ||
-      (lazy_static_1_0_2.spin_no_std or false);
-  }) [];
-  lazycell_0_6_0 = { features?(lazycell_0_6_0_features {}) }: lazycell_0_6_0_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.lazycell_0_6_0 or {});
-  };
-  lazycell_0_6_0_features = f: updateFeatures f (rec {
-    lazycell_0_6_0.clippy =
-      (f.lazycell_0_6_0.clippy or false) ||
-      (f.lazycell_0_6_0.nightly-testing or false) ||
-      (lazycell_0_6_0.nightly-testing or false);
-    lazycell_0_6_0.default = (f.lazycell_0_6_0.default or true);
-    lazycell_0_6_0.nightly =
-      (f.lazycell_0_6_0.nightly or false) ||
-      (f.lazycell_0_6_0.nightly-testing or false) ||
-      (lazycell_0_6_0.nightly-testing or false);
-  }) [];
-  libc_0_2_42 = { features?(libc_0_2_42_features {}) }: libc_0_2_42_ {
-    features = mkFeatures (features.libc_0_2_42 or {});
-  };
-  libc_0_2_42_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = (f.libc_0_2_42.default or true);
-    libc_0_2_42.use_std =
-      (f.libc_0_2_42.use_std or false) ||
-      (f.libc_0_2_42.default or false) ||
-      (libc_0_2_42.default or false);
-  }) [];
-  libflate_0_1_16 = { features?(libflate_0_1_16_features {}) }: libflate_0_1_16_ {
-    dependencies = mapFeatures features ([ adler32_1_0_3 byteorder_1_2_3 crc_1_8_1 ]);
-  };
-  libflate_0_1_16_features = f: updateFeatures f (rec {
-    adler32_1_0_3.default = true;
-    byteorder_1_2_3.default = true;
-    crc_1_8_1.default = true;
-    libflate_0_1_16.default = (f.libflate_0_1_16.default or true);
-  }) [ adler32_1_0_3_features byteorder_1_2_3_features crc_1_8_1_features ];
-  log_0_3_9 = { features?(log_0_3_9_features {}) }: log_0_3_9_ {
-    dependencies = mapFeatures features ([ log_0_4_3 ]);
-    features = mkFeatures (features.log_0_3_9 or {});
-  };
-  log_0_3_9_features = f: updateFeatures f (rec {
-    log_0_3_9.default = (f.log_0_3_9.default or true);
-    log_0_3_9.use_std =
-      (f.log_0_3_9.use_std or false) ||
-      (f.log_0_3_9.default or false) ||
-      (log_0_3_9.default or false);
-    log_0_4_3.default = true;
-    log_0_4_3.max_level_debug =
-      (f.log_0_4_3.max_level_debug or false) ||
-      (log_0_3_9.max_level_debug or false) ||
-      (f.log_0_3_9.max_level_debug or false);
-    log_0_4_3.max_level_error =
-      (f.log_0_4_3.max_level_error or false) ||
-      (log_0_3_9.max_level_error or false) ||
-      (f.log_0_3_9.max_level_error or false);
-    log_0_4_3.max_level_info =
-      (f.log_0_4_3.max_level_info or false) ||
-      (log_0_3_9.max_level_info or false) ||
-      (f.log_0_3_9.max_level_info or false);
-    log_0_4_3.max_level_off =
-      (f.log_0_4_3.max_level_off or false) ||
-      (log_0_3_9.max_level_off or false) ||
-      (f.log_0_3_9.max_level_off or false);
-    log_0_4_3.max_level_trace =
-      (f.log_0_4_3.max_level_trace or false) ||
-      (log_0_3_9.max_level_trace or false) ||
-      (f.log_0_3_9.max_level_trace or false);
-    log_0_4_3.max_level_warn =
-      (f.log_0_4_3.max_level_warn or false) ||
-      (log_0_3_9.max_level_warn or false) ||
-      (f.log_0_3_9.max_level_warn or false);
-    log_0_4_3.release_max_level_debug =
-      (f.log_0_4_3.release_max_level_debug or false) ||
-      (log_0_3_9.release_max_level_debug or false) ||
-      (f.log_0_3_9.release_max_level_debug or false);
-    log_0_4_3.release_max_level_error =
-      (f.log_0_4_3.release_max_level_error or false) ||
-      (log_0_3_9.release_max_level_error or false) ||
-      (f.log_0_3_9.release_max_level_error or false);
-    log_0_4_3.release_max_level_info =
-      (f.log_0_4_3.release_max_level_info or false) ||
-      (log_0_3_9.release_max_level_info or false) ||
-      (f.log_0_3_9.release_max_level_info or false);
-    log_0_4_3.release_max_level_off =
-      (f.log_0_4_3.release_max_level_off or false) ||
-      (log_0_3_9.release_max_level_off or false) ||
-      (f.log_0_3_9.release_max_level_off or false);
-    log_0_4_3.release_max_level_trace =
-      (f.log_0_4_3.release_max_level_trace or false) ||
-      (log_0_3_9.release_max_level_trace or false) ||
-      (f.log_0_3_9.release_max_level_trace or false);
-    log_0_4_3.release_max_level_warn =
-      (f.log_0_4_3.release_max_level_warn or false) ||
-      (log_0_3_9.release_max_level_warn or false) ||
-      (f.log_0_3_9.release_max_level_warn or false);
-    log_0_4_3.std =
-      (f.log_0_4_3.std or false) ||
-      (log_0_3_9.use_std or false) ||
-      (f.log_0_3_9.use_std or false);
-  }) [ log_0_4_3_features ];
-  log_0_4_3 = { features?(log_0_4_3_features {}) }: log_0_4_3_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]);
-    features = mkFeatures (features.log_0_4_3 or {});
-  };
-  log_0_4_3_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    log_0_4_3.default = (f.log_0_4_3.default or true);
-  }) [ cfg_if_0_1_4_features ];
-  maplit_0_1_6 = { features?(maplit_0_1_6_features {}) }: maplit_0_1_6_ {};
-  maplit_0_1_6_features = f: updateFeatures f (rec {
-    maplit_0_1_6.default = (f.maplit_0_1_6.default or true);
-  }) [];
-  matches_0_1_7 = { features?(matches_0_1_7_features {}) }: matches_0_1_7_ {};
-  matches_0_1_7_features = f: updateFeatures f (rec {
-    matches_0_1_7.default = (f.matches_0_1_7.default or true);
-  }) [];
-  memchr_0_1_11 = { features?(memchr_0_1_11_features {}) }: memchr_0_1_11_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-  };
-  memchr_0_1_11_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    memchr_0_1_11.default = (f.memchr_0_1_11.default or true);
-  }) [ libc_0_2_42_features ];
-  memoffset_0_2_1 = { features?(memoffset_0_2_1_features {}) }: memoffset_0_2_1_ {};
-  memoffset_0_2_1_features = f: updateFeatures f (rec {
-    memoffset_0_2_1.default = (f.memoffset_0_2_1.default or true);
-  }) [];
-  mime_0_3_8 = { features?(mime_0_3_8_features {}) }: mime_0_3_8_ {
-    dependencies = mapFeatures features ([ unicase_2_1_0 ]);
-  };
-  mime_0_3_8_features = f: updateFeatures f (rec {
-    mime_0_3_8.default = (f.mime_0_3_8.default or true);
-    unicase_2_1_0.default = true;
-  }) [ unicase_2_1_0_features ];
-  mime_guess_2_0_0_alpha_6 = { features?(mime_guess_2_0_0_alpha_6_features {}) }: mime_guess_2_0_0_alpha_6_ {
-    dependencies = mapFeatures features ([ mime_0_3_8 phf_0_7_22 unicase_1_4_2 ]);
-    buildDependencies = mapFeatures features ([ phf_codegen_0_7_22 unicase_1_4_2 ]);
-    features = mkFeatures (features.mime_guess_2_0_0_alpha_6 or {});
-  };
-  mime_guess_2_0_0_alpha_6_features = f: updateFeatures f (rec {
-    mime_0_3_8.default = true;
-    mime_guess_2_0_0_alpha_6.default = (f.mime_guess_2_0_0_alpha_6.default or true);
-    phf_0_7_22.default = true;
-    phf_0_7_22.unicase = true;
-    phf_codegen_0_7_22.default = true;
-    unicase_1_4_2.default = true;
-  }) [ mime_0_3_8_features phf_0_7_22_features unicase_1_4_2_features phf_codegen_0_7_22_features unicase_1_4_2_features ];
-  miniz_sys_0_1_10 = { features?(miniz_sys_0_1_10_features {}) }: miniz_sys_0_1_10_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-    buildDependencies = mapFeatures features ([ cc_1_0_18 ]);
-  };
-  miniz_sys_0_1_10_features = f: updateFeatures f (rec {
-    cc_1_0_18.default = true;
-    libc_0_2_42.default = true;
-    miniz_sys_0_1_10.default = (f.miniz_sys_0_1_10.default or true);
-  }) [ libc_0_2_42_features cc_1_0_18_features ];
-  mio_0_6_15 = { features?(mio_0_6_15_features {}) }: mio_0_6_15_ {
-    dependencies = mapFeatures features ([ iovec_0_1_2 lazycell_0_6_0 log_0_4_3 net2_0_2_33 slab_0_4_0 ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 fuchsia_zircon_sys_0_3_3 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ kernel32_sys_0_2_2 miow_0_2_1 winapi_0_2_8 ]) else []);
-    features = mkFeatures (features.mio_0_6_15 or {});
-  };
-  mio_0_6_15_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_3_3.default = true;
-    fuchsia_zircon_sys_0_3_3.default = true;
-    iovec_0_1_2.default = true;
-    kernel32_sys_0_2_2.default = true;
-    lazycell_0_6_0.default = true;
-    libc_0_2_42.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = (f.mio_0_6_15.default or true);
-    mio_0_6_15.with-deprecated =
-      (f.mio_0_6_15.with-deprecated or false) ||
-      (f.mio_0_6_15.default or false) ||
-      (mio_0_6_15.default or false);
-    miow_0_2_1.default = true;
-    net2_0_2_33.default = true;
-    slab_0_4_0.default = true;
-    winapi_0_2_8.default = true;
-  }) [ iovec_0_1_2_features lazycell_0_6_0_features log_0_4_3_features net2_0_2_33_features slab_0_4_0_features fuchsia_zircon_0_3_3_features fuchsia_zircon_sys_0_3_3_features libc_0_2_42_features kernel32_sys_0_2_2_features miow_0_2_1_features winapi_0_2_8_features ];
-  miow_0_2_1 = { features?(miow_0_2_1_features {}) }: miow_0_2_1_ {
-    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 net2_0_2_33 winapi_0_2_8 ws2_32_sys_0_2_1 ]);
-  };
-  miow_0_2_1_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    miow_0_2_1.default = (f.miow_0_2_1.default or true);
-    net2_0_2_33.default = (f.net2_0_2_33.default or false);
-    winapi_0_2_8.default = true;
-    ws2_32_sys_0_2_1.default = true;
-  }) [ kernel32_sys_0_2_2_features net2_0_2_33_features winapi_0_2_8_features ws2_32_sys_0_2_1_features ];
-  native_tls_0_1_5 = { features?(native_tls_0_1_5_features {}) }: native_tls_0_1_5_ {
-    dependencies = mapFeatures features ([ lazy_static_0_2_11 ])
-      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([ libc_0_2_42 security_framework_0_1_16 security_framework_sys_0_1_16 tempdir_0_3_7 ]) else [])
-      ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([ openssl_0_9_24 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ schannel_0_1_13 ]) else []);
-  };
-  native_tls_0_1_5_features = f: updateFeatures f (rec {
-    lazy_static_0_2_11.default = true;
-    libc_0_2_42.default = true;
-    native_tls_0_1_5.default = (f.native_tls_0_1_5.default or true);
-    openssl_0_9_24.default = true;
-    schannel_0_1_13.default = true;
-    security_framework_0_1_16.OSX_10_8 = true;
-    security_framework_0_1_16.default = true;
-    security_framework_sys_0_1_16.default = true;
-    tempdir_0_3_7.default = true;
-  }) [ lazy_static_0_2_11_features libc_0_2_42_features security_framework_0_1_16_features security_framework_sys_0_1_16_features tempdir_0_3_7_features openssl_0_9_24_features schannel_0_1_13_features ];
-  net2_0_2_33 = { features?(net2_0_2_33_features {}) }: net2_0_2_33_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ])
-      ++ (if kernel == "redox" || (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-    features = mkFeatures (features.net2_0_2_33 or {});
-  };
-  net2_0_2_33_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    libc_0_2_42.default = true;
-    net2_0_2_33.default = (f.net2_0_2_33.default or true);
-    net2_0_2_33.duration =
-      (f.net2_0_2_33.duration or false) ||
-      (f.net2_0_2_33.default or false) ||
-      (net2_0_2_33.default or false);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.handleapi = true;
-    winapi_0_3_5.winsock2 = true;
-    winapi_0_3_5.ws2def = true;
-    winapi_0_3_5.ws2ipdef = true;
-    winapi_0_3_5.ws2tcpip = true;
-  }) [ cfg_if_0_1_4_features libc_0_2_42_features winapi_0_3_5_features ];
-  nodrop_0_1_12 = { features?(nodrop_0_1_12_features {}) }: nodrop_0_1_12_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.nodrop_0_1_12 or {});
-  };
-  nodrop_0_1_12_features = f: updateFeatures f (rec {
-    nodrop_0_1_12.default = (f.nodrop_0_1_12.default or true);
-    nodrop_0_1_12.nodrop-union =
-      (f.nodrop_0_1_12.nodrop-union or false) ||
-      (f.nodrop_0_1_12.use_union or false) ||
-      (nodrop_0_1_12.use_union or false);
-    nodrop_0_1_12.std =
-      (f.nodrop_0_1_12.std or false) ||
-      (f.nodrop_0_1_12.default or false) ||
-      (nodrop_0_1_12.default or false);
-  }) [];
-  num_0_1_42 = { features?(num_0_1_42_features {}) }: num_0_1_42_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_39 num_iter_0_1_37 num_traits_0_2_5 ]);
-    features = mkFeatures (features.num_0_1_42 or {});
-  };
-  num_0_1_42_features = f: updateFeatures f (rec {
-    num_0_1_42.bigint =
-      (f.num_0_1_42.bigint or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_0_1_42.complex =
-      (f.num_0_1_42.complex or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_0_1_42.default = (f.num_0_1_42.default or true);
-    num_0_1_42.num-bigint =
-      (f.num_0_1_42.num-bigint or false) ||
-      (f.num_0_1_42.bigint or false) ||
-      (num_0_1_42.bigint or false);
-    num_0_1_42.num-complex =
-      (f.num_0_1_42.num-complex or false) ||
-      (f.num_0_1_42.complex or false) ||
-      (num_0_1_42.complex or false);
-    num_0_1_42.num-rational =
-      (f.num_0_1_42.num-rational or false) ||
-      (f.num_0_1_42.rational or false) ||
-      (num_0_1_42.rational or false);
-    num_0_1_42.rational =
-      (f.num_0_1_42.rational or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_0_1_42.rustc-serialize =
-      (f.num_0_1_42.rustc-serialize or false) ||
-      (f.num_0_1_42.default or false) ||
-      (num_0_1_42.default or false);
-    num_integer_0_1_39.default = true;
-    num_iter_0_1_37.default = true;
-    num_traits_0_2_5.default = true;
-  }) [ num_integer_0_1_39_features num_iter_0_1_37_features num_traits_0_2_5_features ];
-  num_integer_0_1_39 = { features?(num_integer_0_1_39_features {}) }: num_integer_0_1_39_ {
-    dependencies = mapFeatures features ([ num_traits_0_2_5 ]);
-    features = mkFeatures (features.num_integer_0_1_39 or {});
-  };
-  num_integer_0_1_39_features = f: updateFeatures f (rec {
-    num_integer_0_1_39.default = (f.num_integer_0_1_39.default or true);
-    num_integer_0_1_39.std =
-      (f.num_integer_0_1_39.std or false) ||
-      (f.num_integer_0_1_39.default or false) ||
-      (num_integer_0_1_39.default or false);
-    num_traits_0_2_5.default = (f.num_traits_0_2_5.default or false);
-    num_traits_0_2_5.i128 =
-      (f.num_traits_0_2_5.i128 or false) ||
-      (num_integer_0_1_39.i128 or false) ||
-      (f.num_integer_0_1_39.i128 or false);
-    num_traits_0_2_5.std =
-      (f.num_traits_0_2_5.std or false) ||
-      (num_integer_0_1_39.std or false) ||
-      (f.num_integer_0_1_39.std or false);
-  }) [ num_traits_0_2_5_features ];
-  num_iter_0_1_37 = { features?(num_iter_0_1_37_features {}) }: num_iter_0_1_37_ {
-    dependencies = mapFeatures features ([ num_integer_0_1_39 num_traits_0_2_5 ]);
-    features = mkFeatures (features.num_iter_0_1_37 or {});
-  };
-  num_iter_0_1_37_features = f: updateFeatures f (rec {
-    num_integer_0_1_39.default = (f.num_integer_0_1_39.default or false);
-    num_integer_0_1_39.i128 =
-      (f.num_integer_0_1_39.i128 or false) ||
-      (num_iter_0_1_37.i128 or false) ||
-      (f.num_iter_0_1_37.i128 or false);
-    num_integer_0_1_39.std =
-      (f.num_integer_0_1_39.std or false) ||
-      (num_iter_0_1_37.std or false) ||
-      (f.num_iter_0_1_37.std or false);
-    num_iter_0_1_37.default = (f.num_iter_0_1_37.default or true);
-    num_iter_0_1_37.std =
-      (f.num_iter_0_1_37.std or false) ||
-      (f.num_iter_0_1_37.default or false) ||
-      (num_iter_0_1_37.default or false);
-    num_traits_0_2_5.default = (f.num_traits_0_2_5.default or false);
-    num_traits_0_2_5.i128 =
-      (f.num_traits_0_2_5.i128 or false) ||
-      (num_iter_0_1_37.i128 or false) ||
-      (f.num_iter_0_1_37.i128 or false);
-    num_traits_0_2_5.std =
-      (f.num_traits_0_2_5.std or false) ||
-      (num_iter_0_1_37.std or false) ||
-      (f.num_iter_0_1_37.std or false);
-  }) [ num_integer_0_1_39_features num_traits_0_2_5_features ];
-  num_traits_0_2_5 = { features?(num_traits_0_2_5_features {}) }: num_traits_0_2_5_ {
-    features = mkFeatures (features.num_traits_0_2_5 or {});
-  };
-  num_traits_0_2_5_features = f: updateFeatures f (rec {
-    num_traits_0_2_5.default = (f.num_traits_0_2_5.default or true);
-    num_traits_0_2_5.std =
-      (f.num_traits_0_2_5.std or false) ||
-      (f.num_traits_0_2_5.default or false) ||
-      (num_traits_0_2_5.default or false);
-  }) [];
-  num_cpus_1_8_0 = { features?(num_cpus_1_8_0_features {}) }: num_cpus_1_8_0_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-  };
-  num_cpus_1_8_0_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    num_cpus_1_8_0.default = (f.num_cpus_1_8_0.default or true);
-  }) [ libc_0_2_42_features ];
-  openssl_0_9_24 = { features?(openssl_0_9_24_features {}) }: openssl_0_9_24_ {
-    dependencies = mapFeatures features ([ bitflags_0_9_1 foreign_types_0_3_2 lazy_static_1_0_2 libc_0_2_42 openssl_sys_0_9_33 ]);
-    features = mkFeatures (features.openssl_0_9_24 or {});
-  };
-  openssl_0_9_24_features = f: updateFeatures f (rec {
-    bitflags_0_9_1.default = true;
-    foreign_types_0_3_2.default = true;
-    lazy_static_1_0_2.default = true;
-    libc_0_2_42.default = true;
-    openssl_0_9_24.default = (f.openssl_0_9_24.default or true);
-    openssl_sys_0_9_33.default = true;
-  }) [ bitflags_0_9_1_features foreign_types_0_3_2_features lazy_static_1_0_2_features libc_0_2_42_features openssl_sys_0_9_33_features ];
-  openssl_sys_0_9_33 = { features?(openssl_sys_0_9_33_features {}) }: openssl_sys_0_9_33_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ])
-      ++ (if abi == "msvc" then mapFeatures features ([]) else []);
-    buildDependencies = mapFeatures features ([ cc_1_0_18 pkg_config_0_3_12 ]);
-  };
-  openssl_sys_0_9_33_features = f: updateFeatures f (rec {
-    cc_1_0_18.default = true;
-    libc_0_2_42.default = true;
-    openssl_sys_0_9_33.default = (f.openssl_sys_0_9_33.default or true);
-    pkg_config_0_3_12.default = true;
-  }) [ libc_0_2_42_features cc_1_0_18_features pkg_config_0_3_12_features ];
-  percent_encoding_1_0_1 = { features?(percent_encoding_1_0_1_features {}) }: percent_encoding_1_0_1_ {};
-  percent_encoding_1_0_1_features = f: updateFeatures f (rec {
-    percent_encoding_1_0_1.default = (f.percent_encoding_1_0_1.default or true);
-  }) [];
-  phf_0_7_22 = { features?(phf_0_7_22_features {}) }: phf_0_7_22_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_22 ]);
-    features = mkFeatures (features.phf_0_7_22 or {});
-  };
-  phf_0_7_22_features = f: updateFeatures f (rec {
-    phf_0_7_22.default = (f.phf_0_7_22.default or true);
-    phf_shared_0_7_22.core =
-      (f.phf_shared_0_7_22.core or false) ||
-      (phf_0_7_22.core or false) ||
-      (f.phf_0_7_22.core or false);
-    phf_shared_0_7_22.default = true;
-    phf_shared_0_7_22.unicase =
-      (f.phf_shared_0_7_22.unicase or false) ||
-      (phf_0_7_22.unicase or false) ||
-      (f.phf_0_7_22.unicase or false);
-  }) [ phf_shared_0_7_22_features ];
-  phf_codegen_0_7_22 = { features?(phf_codegen_0_7_22_features {}) }: phf_codegen_0_7_22_ {
-    dependencies = mapFeatures features ([ phf_generator_0_7_22 phf_shared_0_7_22 ]);
-  };
-  phf_codegen_0_7_22_features = f: updateFeatures f (rec {
-    phf_codegen_0_7_22.default = (f.phf_codegen_0_7_22.default or true);
-    phf_generator_0_7_22.default = true;
-    phf_shared_0_7_22.default = true;
-  }) [ phf_generator_0_7_22_features phf_shared_0_7_22_features ];
-  phf_generator_0_7_22 = { features?(phf_generator_0_7_22_features {}) }: phf_generator_0_7_22_ {
-    dependencies = mapFeatures features ([ phf_shared_0_7_22 rand_0_4_2 ]);
-  };
-  phf_generator_0_7_22_features = f: updateFeatures f (rec {
-    phf_generator_0_7_22.default = (f.phf_generator_0_7_22.default or true);
-    phf_shared_0_7_22.default = true;
-    rand_0_4_2.default = true;
-  }) [ phf_shared_0_7_22_features rand_0_4_2_features ];
-  phf_shared_0_7_22 = { features?(phf_shared_0_7_22_features {}) }: phf_shared_0_7_22_ {
-    dependencies = mapFeatures features ([ siphasher_0_2_2 ]
-      ++ (if features.phf_shared_0_7_22.unicase or false then [ unicase_1_4_2 ] else []));
-    features = mkFeatures (features.phf_shared_0_7_22 or {});
-  };
-  phf_shared_0_7_22_features = f: updateFeatures f (rec {
-    phf_shared_0_7_22.default = (f.phf_shared_0_7_22.default or true);
-    siphasher_0_2_2.default = true;
-    unicase_1_4_2.default = true;
-  }) [ siphasher_0_2_2_features unicase_1_4_2_features ];
-  pkg_config_0_3_12 = { features?(pkg_config_0_3_12_features {}) }: pkg_config_0_3_12_ {};
-  pkg_config_0_3_12_features = f: updateFeatures f (rec {
-    pkg_config_0_3_12.default = (f.pkg_config_0_3_12.default or true);
-  }) [];
-  quote_0_3_15 = { features?(quote_0_3_15_features {}) }: quote_0_3_15_ {};
-  quote_0_3_15_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = (f.quote_0_3_15.default or true);
-  }) [];
-  rand_0_3_22 = { features?(rand_0_3_22_features {}) }: rand_0_3_22_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 rand_0_4_2 ])
-      ++ (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 ]) else []);
-    features = mkFeatures (features.rand_0_3_22 or {});
-  };
-  rand_0_3_22_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_3_3.default = true;
-    libc_0_2_42.default = true;
-    rand_0_3_22.default = (f.rand_0_3_22.default or true);
-    rand_0_3_22.i128_support =
-      (f.rand_0_3_22.i128_support or false) ||
-      (f.rand_0_3_22.nightly or false) ||
-      (rand_0_3_22.nightly or false);
-    rand_0_4_2.default = true;
-  }) [ libc_0_2_42_features rand_0_4_2_features fuchsia_zircon_0_3_3_features ];
-  rand_0_4_2 = { features?(rand_0_4_2_features {}) }: rand_0_4_2_ {
-    dependencies = (if kernel == "fuchsia" then mapFeatures features ([ fuchsia_zircon_0_3_3 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ ]
-      ++ (if features.rand_0_4_2.libc or false then [ libc_0_2_42 ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-    features = mkFeatures (features.rand_0_4_2 or {});
-  };
-  rand_0_4_2_features = f: updateFeatures f (rec {
-    fuchsia_zircon_0_3_3.default = true;
-    libc_0_2_42.default = true;
-    rand_0_4_2.default = (f.rand_0_4_2.default or true);
-    rand_0_4_2.i128_support =
-      (f.rand_0_4_2.i128_support or false) ||
-      (f.rand_0_4_2.nightly or false) ||
-      (rand_0_4_2.nightly or false);
-    rand_0_4_2.libc =
-      (f.rand_0_4_2.libc or false) ||
-      (f.rand_0_4_2.std or false) ||
-      (rand_0_4_2.std or false);
-    rand_0_4_2.std =
-      (f.rand_0_4_2.std or false) ||
-      (f.rand_0_4_2.default or false) ||
-      (rand_0_4_2.default or false);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.ntsecapi = true;
-    winapi_0_3_5.profileapi = true;
-    winapi_0_3_5.winnt = true;
-  }) [ fuchsia_zircon_0_3_3_features libc_0_2_42_features winapi_0_3_5_features ];
-  redox_syscall_0_1_40 = { features?(redox_syscall_0_1_40_features {}) }: redox_syscall_0_1_40_ {};
-  redox_syscall_0_1_40_features = f: updateFeatures f (rec {
-    redox_syscall_0_1_40.default = (f.redox_syscall_0_1_40.default or true);
-  }) [];
-  redox_termios_0_1_1 = { features?(redox_termios_0_1_1_features {}) }: redox_termios_0_1_1_ {
-    dependencies = mapFeatures features ([ redox_syscall_0_1_40 ]);
-  };
-  redox_termios_0_1_1_features = f: updateFeatures f (rec {
-    redox_syscall_0_1_40.default = true;
-    redox_termios_0_1_1.default = (f.redox_termios_0_1_1.default or true);
-  }) [ redox_syscall_0_1_40_features ];
-  regex_0_1_80 = { features?(regex_0_1_80_features {}) }: regex_0_1_80_ {
-    dependencies = mapFeatures features ([ aho_corasick_0_5_3 memchr_0_1_11 regex_syntax_0_3_9 thread_local_0_2_7 utf8_ranges_0_1_3 ]);
-    features = mkFeatures (features.regex_0_1_80 or {});
-  };
-  regex_0_1_80_features = f: updateFeatures f (rec {
-    aho_corasick_0_5_3.default = true;
-    memchr_0_1_11.default = true;
-    regex_0_1_80.default = (f.regex_0_1_80.default or true);
-    regex_0_1_80.simd =
-      (f.regex_0_1_80.simd or false) ||
-      (f.regex_0_1_80.simd-accel or false) ||
-      (regex_0_1_80.simd-accel or false);
-    regex_syntax_0_3_9.default = true;
-    thread_local_0_2_7.default = true;
-    utf8_ranges_0_1_3.default = true;
-  }) [ aho_corasick_0_5_3_features memchr_0_1_11_features regex_syntax_0_3_9_features thread_local_0_2_7_features utf8_ranges_0_1_3_features ];
-  regex_syntax_0_3_9 = { features?(regex_syntax_0_3_9_features {}) }: regex_syntax_0_3_9_ {};
-  regex_syntax_0_3_9_features = f: updateFeatures f (rec {
-    regex_syntax_0_3_9.default = (f.regex_syntax_0_3_9.default or true);
-  }) [];
-  relay_0_1_1 = { features?(relay_0_1_1_features {}) }: relay_0_1_1_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 ]);
-  };
-  relay_0_1_1_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    relay_0_1_1.default = (f.relay_0_1_1.default or true);
-  }) [ futures_0_1_23_features ];
-  remove_dir_all_0_5_1 = { features?(remove_dir_all_0_5_1_features {}) }: remove_dir_all_0_5_1_ {
-    dependencies = (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  remove_dir_all_0_5_1_features = f: updateFeatures f (rec {
-    remove_dir_all_0_5_1.default = (f.remove_dir_all_0_5_1.default or true);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.errhandlingapi = true;
-    winapi_0_3_5.fileapi = true;
-    winapi_0_3_5.std = true;
-    winapi_0_3_5.winbase = true;
-    winapi_0_3_5.winerror = true;
-  }) [ winapi_0_3_5_features ];
-  reqwest_0_8_6 = { features?(reqwest_0_8_6_features {}) }: reqwest_0_8_6_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 encoding_rs_0_7_2 futures_0_1_23 hyper_0_11_27 hyper_tls_0_1_3 libflate_0_1_16 log_0_4_3 mime_guess_2_0_0_alpha_6 native_tls_0_1_5 serde_1_0_70 serde_json_1_0_24 serde_urlencoded_0_5_2 tokio_core_0_1_17 tokio_io_0_1_7 tokio_tls_0_1_4 url_1_7_1 uuid_0_6_5 ]);
-    features = mkFeatures (features.reqwest_0_8_6 or {});
-  };
-  reqwest_0_8_6_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    encoding_rs_0_7_2.default = true;
-    futures_0_1_23.default = true;
-    hyper_0_11_27.default = true;
-    hyper_tls_0_1_3.default = true;
-    libflate_0_1_16.default = true;
-    log_0_4_3.default = true;
-    mime_guess_2_0_0_alpha_6.default = true;
-    native_tls_0_1_5.default = true;
-    reqwest_0_8_6.default = (f.reqwest_0_8_6.default or true);
-    serde_1_0_70.default = true;
-    serde_json_1_0_24.default = true;
-    serde_urlencoded_0_5_2.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_tls_0_1_4.default = true;
-    url_1_7_1.default = true;
-    uuid_0_6_5.default = true;
-    uuid_0_6_5.v4 = true;
-  }) [ bytes_0_4_9_features encoding_rs_0_7_2_features futures_0_1_23_features hyper_0_11_27_features hyper_tls_0_1_3_features libflate_0_1_16_features log_0_4_3_features mime_guess_2_0_0_alpha_6_features native_tls_0_1_5_features serde_1_0_70_features serde_json_1_0_24_features serde_urlencoded_0_5_2_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_tls_0_1_4_features url_1_7_1_features uuid_0_6_5_features ];
-  safemem_0_2_0 = { features?(safemem_0_2_0_features {}) }: safemem_0_2_0_ {};
-  safemem_0_2_0_features = f: updateFeatures f (rec {
-    safemem_0_2_0.default = (f.safemem_0_2_0.default or true);
-  }) [];
-  schannel_0_1_13 = { features?(schannel_0_1_13_features {}) }: schannel_0_1_13_ {
-    dependencies = mapFeatures features ([ lazy_static_1_0_2 winapi_0_3_5 ]);
-  };
-  schannel_0_1_13_features = f: updateFeatures f (rec {
-    lazy_static_1_0_2.default = true;
-    schannel_0_1_13.default = (f.schannel_0_1_13.default or true);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.lmcons = true;
-    winapi_0_3_5.minschannel = true;
-    winapi_0_3_5.schannel = true;
-    winapi_0_3_5.securitybaseapi = true;
-    winapi_0_3_5.sysinfoapi = true;
-    winapi_0_3_5.timezoneapi = true;
-    winapi_0_3_5.winbase = true;
-    winapi_0_3_5.wincrypt = true;
-    winapi_0_3_5.winerror = true;
-  }) [ lazy_static_1_0_2_features winapi_0_3_5_features ];
-  scoped_tls_0_1_2 = { features?(scoped_tls_0_1_2_features {}) }: scoped_tls_0_1_2_ {
-    features = mkFeatures (features.scoped_tls_0_1_2 or {});
-  };
-  scoped_tls_0_1_2_features = f: updateFeatures f (rec {
-    scoped_tls_0_1_2.default = (f.scoped_tls_0_1_2.default or true);
-  }) [];
-  scopeguard_0_3_3 = { features?(scopeguard_0_3_3_features {}) }: scopeguard_0_3_3_ {
-    features = mkFeatures (features.scopeguard_0_3_3 or {});
-  };
-  scopeguard_0_3_3_features = f: updateFeatures f (rec {
-    scopeguard_0_3_3.default = (f.scopeguard_0_3_3.default or true);
-    scopeguard_0_3_3.use_std =
-      (f.scopeguard_0_3_3.use_std or false) ||
-      (f.scopeguard_0_3_3.default or false) ||
-      (scopeguard_0_3_3.default or false);
-  }) [];
-  security_framework_0_1_16 = { features?(security_framework_0_1_16_features {}) }: security_framework_0_1_16_ {
-    dependencies = mapFeatures features ([ core_foundation_0_2_3 core_foundation_sys_0_2_3 libc_0_2_42 security_framework_sys_0_1_16 ]);
-    features = mkFeatures (features.security_framework_0_1_16 or {});
-  };
-  security_framework_0_1_16_features = f: updateFeatures f (rec {
-    core_foundation_0_2_3.default = true;
-    core_foundation_sys_0_2_3.default = true;
-    libc_0_2_42.default = true;
-    security_framework_0_1_16.OSX_10_10 =
-      (f.security_framework_0_1_16.OSX_10_10 or false) ||
-      (f.security_framework_0_1_16.OSX_10_11 or false) ||
-      (security_framework_0_1_16.OSX_10_11 or false);
-    security_framework_0_1_16.OSX_10_11 =
-      (f.security_framework_0_1_16.OSX_10_11 or false) ||
-      (f.security_framework_0_1_16.OSX_10_12 or false) ||
-      (security_framework_0_1_16.OSX_10_12 or false);
-    security_framework_0_1_16.OSX_10_8 =
-      (f.security_framework_0_1_16.OSX_10_8 or false) ||
-      (f.security_framework_0_1_16.OSX_10_9 or false) ||
-      (security_framework_0_1_16.OSX_10_9 or false);
-    security_framework_0_1_16.OSX_10_9 =
-      (f.security_framework_0_1_16.OSX_10_9 or false) ||
-      (f.security_framework_0_1_16.OSX_10_10 or false) ||
-      (security_framework_0_1_16.OSX_10_10 or false);
-    security_framework_0_1_16.default = (f.security_framework_0_1_16.default or true);
-    security_framework_sys_0_1_16.OSX_10_10 =
-      (f.security_framework_sys_0_1_16.OSX_10_10 or false) ||
-      (security_framework_0_1_16.OSX_10_10 or false) ||
-      (f.security_framework_0_1_16.OSX_10_10 or false);
-    security_framework_sys_0_1_16.OSX_10_11 =
-      (f.security_framework_sys_0_1_16.OSX_10_11 or false) ||
-      (security_framework_0_1_16.OSX_10_11 or false) ||
-      (f.security_framework_0_1_16.OSX_10_11 or false) ||
-      (security_framework_0_1_16.OSX_10_12 or false) ||
-      (f.security_framework_0_1_16.OSX_10_12 or false);
-    security_framework_sys_0_1_16.OSX_10_8 =
-      (f.security_framework_sys_0_1_16.OSX_10_8 or false) ||
-      (security_framework_0_1_16.OSX_10_8 or false) ||
-      (f.security_framework_0_1_16.OSX_10_8 or false);
-    security_framework_sys_0_1_16.OSX_10_9 =
-      (f.security_framework_sys_0_1_16.OSX_10_9 or false) ||
-      (security_framework_0_1_16.OSX_10_9 or false) ||
-      (f.security_framework_0_1_16.OSX_10_9 or false);
-    security_framework_sys_0_1_16.default = true;
-  }) [ core_foundation_0_2_3_features core_foundation_sys_0_2_3_features libc_0_2_42_features security_framework_sys_0_1_16_features ];
-  security_framework_sys_0_1_16 = { features?(security_framework_sys_0_1_16_features {}) }: security_framework_sys_0_1_16_ {
-    dependencies = mapFeatures features ([ core_foundation_sys_0_2_3 libc_0_2_42 ]);
-    features = mkFeatures (features.security_framework_sys_0_1_16 or {});
-  };
-  security_framework_sys_0_1_16_features = f: updateFeatures f (rec {
-    core_foundation_sys_0_2_3.default = true;
-    libc_0_2_42.default = true;
-    security_framework_sys_0_1_16.OSX_10_10 =
-      (f.security_framework_sys_0_1_16.OSX_10_10 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_11 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_11 or false);
-    security_framework_sys_0_1_16.OSX_10_11 =
-      (f.security_framework_sys_0_1_16.OSX_10_11 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_12 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_12 or false);
-    security_framework_sys_0_1_16.OSX_10_8 =
-      (f.security_framework_sys_0_1_16.OSX_10_8 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_9 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_9 or false);
-    security_framework_sys_0_1_16.OSX_10_9 =
-      (f.security_framework_sys_0_1_16.OSX_10_9 or false) ||
-      (f.security_framework_sys_0_1_16.OSX_10_10 or false) ||
-      (security_framework_sys_0_1_16.OSX_10_10 or false);
-    security_framework_sys_0_1_16.default = (f.security_framework_sys_0_1_16.default or true);
-  }) [ core_foundation_sys_0_2_3_features libc_0_2_42_features ];
-  semver_0_9_0 = { features?(semver_0_9_0_features {}) }: semver_0_9_0_ {
-    dependencies = mapFeatures features ([ semver_parser_0_7_0 ]);
-    features = mkFeatures (features.semver_0_9_0 or {});
-  };
-  semver_0_9_0_features = f: updateFeatures f (rec {
-    semver_0_9_0.default = (f.semver_0_9_0.default or true);
-    semver_0_9_0.serde =
-      (f.semver_0_9_0.serde or false) ||
-      (f.semver_0_9_0.ci or false) ||
-      (semver_0_9_0.ci or false);
-    semver_parser_0_7_0.default = true;
-  }) [ semver_parser_0_7_0_features ];
-  semver_parser_0_7_0 = { features?(semver_parser_0_7_0_features {}) }: semver_parser_0_7_0_ {};
-  semver_parser_0_7_0_features = f: updateFeatures f (rec {
-    semver_parser_0_7_0.default = (f.semver_parser_0_7_0.default or true);
-  }) [];
-  serde_1_0_70 = { features?(serde_1_0_70_features {}) }: serde_1_0_70_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.serde_1_0_70 or {});
-  };
-  serde_1_0_70_features = f: updateFeatures f (rec {
-    serde_1_0_70.default = (f.serde_1_0_70.default or true);
-    serde_1_0_70.serde_derive =
-      (f.serde_1_0_70.serde_derive or false) ||
-      (f.serde_1_0_70.derive or false) ||
-      (serde_1_0_70.derive or false);
-    serde_1_0_70.std =
-      (f.serde_1_0_70.std or false) ||
-      (f.serde_1_0_70.default or false) ||
-      (serde_1_0_70.default or false);
-    serde_1_0_70.unstable =
-      (f.serde_1_0_70.unstable or false) ||
-      (f.serde_1_0_70.alloc or false) ||
-      (serde_1_0_70.alloc or false);
-  }) [];
-  serde_json_1_0_24 = { features?(serde_json_1_0_24_features {}) }: serde_json_1_0_24_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_3 itoa_0_4_2 serde_1_0_70 ]);
-    features = mkFeatures (features.serde_json_1_0_24 or {});
-  };
-  serde_json_1_0_24_features = f: updateFeatures f (rec {
-    dtoa_0_4_3.default = true;
-    itoa_0_4_2.default = true;
-    serde_1_0_70.default = true;
-    serde_json_1_0_24.default = (f.serde_json_1_0_24.default or true);
-    serde_json_1_0_24.indexmap =
-      (f.serde_json_1_0_24.indexmap or false) ||
-      (f.serde_json_1_0_24.preserve_order or false) ||
-      (serde_json_1_0_24.preserve_order or false);
-  }) [ dtoa_0_4_3_features itoa_0_4_2_features serde_1_0_70_features ];
-  serde_urlencoded_0_5_2 = { features?(serde_urlencoded_0_5_2_features {}) }: serde_urlencoded_0_5_2_ {
-    dependencies = mapFeatures features ([ dtoa_0_4_3 itoa_0_4_2 serde_1_0_70 url_1_7_1 ]);
-  };
-  serde_urlencoded_0_5_2_features = f: updateFeatures f (rec {
-    dtoa_0_4_3.default = true;
-    itoa_0_4_2.default = true;
-    serde_1_0_70.default = true;
-    serde_urlencoded_0_5_2.default = (f.serde_urlencoded_0_5_2.default or true);
-    url_1_7_1.default = true;
-  }) [ dtoa_0_4_3_features itoa_0_4_2_features serde_1_0_70_features url_1_7_1_features ];
-  siphasher_0_2_2 = { features?(siphasher_0_2_2_features {}) }: siphasher_0_2_2_ {
-    dependencies = mapFeatures features ([]);
-  };
-  siphasher_0_2_2_features = f: updateFeatures f (rec {
-    siphasher_0_2_2.default = (f.siphasher_0_2_2.default or true);
-  }) [];
-  slab_0_3_0 = { features?(slab_0_3_0_features {}) }: slab_0_3_0_ {};
-  slab_0_3_0_features = f: updateFeatures f (rec {
-    slab_0_3_0.default = (f.slab_0_3_0.default or true);
-  }) [];
-  slab_0_4_0 = { features?(slab_0_4_0_features {}) }: slab_0_4_0_ {};
-  slab_0_4_0_features = f: updateFeatures f (rec {
-    slab_0_4_0.default = (f.slab_0_4_0.default or true);
-  }) [];
-  slog_1_7_1 = { features?(slog_1_7_1_features {}) }: slog_1_7_1_ {
-    features = mkFeatures (features.slog_1_7_1 or {});
-  };
-  slog_1_7_1_features = f: updateFeatures f (rec {
-    slog_1_7_1.default = (f.slog_1_7_1.default or true);
-    slog_1_7_1.std =
-      (f.slog_1_7_1.std or false) ||
-      (f.slog_1_7_1.default or false) ||
-      (slog_1_7_1.default or false);
-  }) [];
-  slog_envlogger_0_5_0 = { features?(slog_envlogger_0_5_0_features {}) }: slog_envlogger_0_5_0_ {
-    dependencies = mapFeatures features ([ log_0_3_9 regex_0_1_80 slog_1_7_1 slog_stdlog_1_1_0 slog_term_1_5_0 ]);
-  };
-  slog_envlogger_0_5_0_features = f: updateFeatures f (rec {
-    log_0_3_9.default = true;
-    regex_0_1_80.default = true;
-    slog_1_7_1.default = true;
-    slog_envlogger_0_5_0.default = (f.slog_envlogger_0_5_0.default or true);
-    slog_stdlog_1_1_0.default = true;
-    slog_term_1_5_0.default = true;
-  }) [ log_0_3_9_features regex_0_1_80_features slog_1_7_1_features slog_stdlog_1_1_0_features slog_term_1_5_0_features ];
-  slog_extra_0_1_2 = { features?(slog_extra_0_1_2_features {}) }: slog_extra_0_1_2_ {
-    dependencies = mapFeatures features ([ slog_1_7_1 thread_local_0_3_5 ]);
-  };
-  slog_extra_0_1_2_features = f: updateFeatures f (rec {
-    slog_1_7_1.default = true;
-    slog_extra_0_1_2.default = (f.slog_extra_0_1_2.default or true);
-    thread_local_0_3_5.default = true;
-  }) [ slog_1_7_1_features thread_local_0_3_5_features ];
-  slog_stdlog_1_1_0 = { features?(slog_stdlog_1_1_0_features {}) }: slog_stdlog_1_1_0_ {
-    dependencies = mapFeatures features ([ crossbeam_0_2_12 lazy_static_0_2_11 log_0_3_9 slog_1_7_1 slog_term_1_5_0 ]);
-  };
-  slog_stdlog_1_1_0_features = f: updateFeatures f (rec {
-    crossbeam_0_2_12.default = true;
-    lazy_static_0_2_11.default = true;
-    log_0_3_9.default = true;
-    slog_1_7_1.default = true;
-    slog_stdlog_1_1_0.default = (f.slog_stdlog_1_1_0.default or true);
-    slog_term_1_5_0.default = true;
-  }) [ crossbeam_0_2_12_features lazy_static_0_2_11_features log_0_3_9_features slog_1_7_1_features slog_term_1_5_0_features ];
-  slog_stream_1_2_1 = { features?(slog_stream_1_2_1_features {}) }: slog_stream_1_2_1_ {
-    dependencies = mapFeatures features ([ slog_1_7_1 slog_extra_0_1_2 thread_local_0_3_5 ]);
-  };
-  slog_stream_1_2_1_features = f: updateFeatures f (rec {
-    slog_1_7_1.default = true;
-    slog_extra_0_1_2.default = true;
-    slog_stream_1_2_1.default = (f.slog_stream_1_2_1.default or true);
-    thread_local_0_3_5.default = true;
-  }) [ slog_1_7_1_features slog_extra_0_1_2_features thread_local_0_3_5_features ];
-  slog_term_1_5_0 = { features?(slog_term_1_5_0_features {}) }: slog_term_1_5_0_ {
-    dependencies = mapFeatures features ([ chrono_0_2_25 isatty_0_1_8 slog_1_7_1 slog_stream_1_2_1 thread_local_0_3_5 ]);
-  };
-  slog_term_1_5_0_features = f: updateFeatures f (rec {
-    chrono_0_2_25.default = true;
-    isatty_0_1_8.default = true;
-    slog_1_7_1.default = true;
-    slog_stream_1_2_1.default = true;
-    slog_term_1_5_0.default = (f.slog_term_1_5_0.default or true);
-    thread_local_0_3_5.default = true;
-  }) [ chrono_0_2_25_features isatty_0_1_8_features slog_1_7_1_features slog_stream_1_2_1_features thread_local_0_3_5_features ];
-  smallvec_0_2_1 = { features?(smallvec_0_2_1_features {}) }: smallvec_0_2_1_ {};
-  smallvec_0_2_1_features = f: updateFeatures f (rec {
-    smallvec_0_2_1.default = (f.smallvec_0_2_1.default or true);
-  }) [];
-  strsim_0_7_0 = { features?(strsim_0_7_0_features {}) }: strsim_0_7_0_ {};
-  strsim_0_7_0_features = f: updateFeatures f (rec {
-    strsim_0_7_0.default = (f.strsim_0_7_0.default or true);
-  }) [];
-  syn_0_11_11 = { features?(syn_0_11_11_features {}) }: syn_0_11_11_ {
-    dependencies = mapFeatures features ([ ]
-      ++ (if features.syn_0_11_11.quote or false then [ quote_0_3_15 ] else [])
-      ++ (if features.syn_0_11_11.synom or false then [ synom_0_11_3 ] else [])
-      ++ (if features.syn_0_11_11.unicode-xid or false then [ unicode_xid_0_0_4 ] else []));
-    features = mkFeatures (features.syn_0_11_11 or {});
-  };
-  syn_0_11_11_features = f: updateFeatures f (rec {
-    quote_0_3_15.default = true;
-    syn_0_11_11.default = (f.syn_0_11_11.default or true);
-    syn_0_11_11.parsing =
-      (f.syn_0_11_11.parsing or false) ||
-      (f.syn_0_11_11.default or false) ||
-      (syn_0_11_11.default or false);
-    syn_0_11_11.printing =
-      (f.syn_0_11_11.printing or false) ||
-      (f.syn_0_11_11.default or false) ||
-      (syn_0_11_11.default or false);
-    syn_0_11_11.quote =
-      (f.syn_0_11_11.quote or false) ||
-      (f.syn_0_11_11.printing or false) ||
-      (syn_0_11_11.printing or false);
-    syn_0_11_11.synom =
-      (f.syn_0_11_11.synom or false) ||
-      (f.syn_0_11_11.parsing or false) ||
-      (syn_0_11_11.parsing or false);
-    syn_0_11_11.unicode-xid =
-      (f.syn_0_11_11.unicode-xid or false) ||
-      (f.syn_0_11_11.parsing or false) ||
-      (syn_0_11_11.parsing or false);
-    synom_0_11_3.default = true;
-    unicode_xid_0_0_4.default = true;
-  }) [ quote_0_3_15_features synom_0_11_3_features unicode_xid_0_0_4_features ];
-  synom_0_11_3 = { features?(synom_0_11_3_features {}) }: synom_0_11_3_ {
-    dependencies = mapFeatures features ([ unicode_xid_0_0_4 ]);
-  };
-  synom_0_11_3_features = f: updateFeatures f (rec {
-    synom_0_11_3.default = (f.synom_0_11_3.default or true);
-    unicode_xid_0_0_4.default = true;
-  }) [ unicode_xid_0_0_4_features ];
-  take_0_1_0 = { features?(take_0_1_0_features {}) }: take_0_1_0_ {};
-  take_0_1_0_features = f: updateFeatures f (rec {
-    take_0_1_0.default = (f.take_0_1_0.default or true);
-  }) [];
-  tar_0_4_16 = { features?(tar_0_4_16_features {}) }: tar_0_4_16_ {
-    dependencies = mapFeatures features ([ filetime_0_2_1 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([ libc_0_2_42 ]
-      ++ (if features.tar_0_4_16.xattr or false then [ xattr_0_2_2 ] else [])) else []);
-    features = mkFeatures (features.tar_0_4_16 or {});
-  };
-  tar_0_4_16_features = f: updateFeatures f (rec {
-    filetime_0_2_1.default = true;
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    tar_0_4_16.default = (f.tar_0_4_16.default or true);
-    tar_0_4_16.xattr =
-      (f.tar_0_4_16.xattr or false) ||
-      (f.tar_0_4_16.default or false) ||
-      (tar_0_4_16.default or false);
-    xattr_0_2_2.default = true;
-  }) [ filetime_0_2_1_features redox_syscall_0_1_40_features libc_0_2_42_features xattr_0_2_2_features ];
-  tempdir_0_3_7 = { features?(tempdir_0_3_7_features {}) }: tempdir_0_3_7_ {
-    dependencies = mapFeatures features ([ rand_0_4_2 remove_dir_all_0_5_1 ]);
-  };
-  tempdir_0_3_7_features = f: updateFeatures f (rec {
-    rand_0_4_2.default = true;
-    remove_dir_all_0_5_1.default = true;
-    tempdir_0_3_7.default = (f.tempdir_0_3_7.default or true);
-  }) [ rand_0_4_2_features remove_dir_all_0_5_1_features ];
-  termion_1_5_1 = { features?(termion_1_5_1_features {}) }: termion_1_5_1_ {
-    dependencies = (if !(kernel == "redox") then mapFeatures features ([ libc_0_2_42 ]) else [])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 redox_termios_0_1_1 ]) else []);
-  };
-  termion_1_5_1_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    redox_termios_0_1_1.default = true;
-    termion_1_5_1.default = (f.termion_1_5_1.default or true);
-  }) [ libc_0_2_42_features redox_syscall_0_1_40_features redox_termios_0_1_1_features ];
-  textwrap_0_10_0 = { features?(textwrap_0_10_0_features {}) }: textwrap_0_10_0_ {
-    dependencies = mapFeatures features ([ unicode_width_0_1_5 ]);
-  };
-  textwrap_0_10_0_features = f: updateFeatures f (rec {
-    textwrap_0_10_0.default = (f.textwrap_0_10_0.default or true);
-    unicode_width_0_1_5.default = true;
-  }) [ unicode_width_0_1_5_features ];
-  thread_id_2_0_0 = { features?(thread_id_2_0_0_features {}) }: thread_id_2_0_0_ {
-    dependencies = mapFeatures features ([ kernel32_sys_0_2_2 libc_0_2_42 ]);
-  };
-  thread_id_2_0_0_features = f: updateFeatures f (rec {
-    kernel32_sys_0_2_2.default = true;
-    libc_0_2_42.default = true;
-    thread_id_2_0_0.default = (f.thread_id_2_0_0.default or true);
-  }) [ kernel32_sys_0_2_2_features libc_0_2_42_features ];
-  thread_local_0_2_7 = { features?(thread_local_0_2_7_features {}) }: thread_local_0_2_7_ {
-    dependencies = mapFeatures features ([ thread_id_2_0_0 ]);
-  };
-  thread_local_0_2_7_features = f: updateFeatures f (rec {
-    thread_id_2_0_0.default = true;
-    thread_local_0_2_7.default = (f.thread_local_0_2_7.default or true);
-  }) [ thread_id_2_0_0_features ];
-  thread_local_0_3_5 = { features?(thread_local_0_3_5_features {}) }: thread_local_0_3_5_ {
-    dependencies = mapFeatures features ([ lazy_static_1_0_2 unreachable_1_0_0 ]);
-  };
-  thread_local_0_3_5_features = f: updateFeatures f (rec {
-    lazy_static_1_0_2.default = true;
-    thread_local_0_3_5.default = (f.thread_local_0_3_5.default or true);
-    unreachable_1_0_0.default = true;
-  }) [ lazy_static_1_0_2_features unreachable_1_0_0_features ];
-  time_0_1_40 = { features?(time_0_1_40_features {}) }: time_0_1_40_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ])
-      ++ (if kernel == "redox" then mapFeatures features ([ redox_syscall_0_1_40 ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([ winapi_0_3_5 ]) else []);
-  };
-  time_0_1_40_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    redox_syscall_0_1_40.default = true;
-    time_0_1_40.default = (f.time_0_1_40.default or true);
-    winapi_0_3_5.default = true;
-    winapi_0_3_5.minwinbase = true;
-    winapi_0_3_5.minwindef = true;
-    winapi_0_3_5.ntdef = true;
-    winapi_0_3_5.profileapi = true;
-    winapi_0_3_5.std = true;
-    winapi_0_3_5.sysinfoapi = true;
-    winapi_0_3_5.timezoneapi = true;
-  }) [ libc_0_2_42_features redox_syscall_0_1_40_features winapi_0_3_5_features ];
-  tokio_0_1_7 = { features?(tokio_0_1_7_features {}) }: tokio_0_1_7_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 mio_0_6_15 tokio_executor_0_1_2 tokio_fs_0_1_2 tokio_io_0_1_7 tokio_reactor_0_1_2 tokio_tcp_0_1_0 tokio_threadpool_0_1_5 tokio_timer_0_2_4 tokio_udp_0_1_1 ]);
-  };
-  tokio_0_1_7_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    mio_0_6_15.default = true;
-    tokio_0_1_7.default = (f.tokio_0_1_7.default or true);
-    tokio_executor_0_1_2.default = true;
-    tokio_fs_0_1_2.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_tcp_0_1_0.default = true;
-    tokio_threadpool_0_1_5.default = true;
-    tokio_timer_0_2_4.default = true;
-    tokio_udp_0_1_1.default = true;
-  }) [ futures_0_1_23_features mio_0_6_15_features tokio_executor_0_1_2_features tokio_fs_0_1_2_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features tokio_tcp_0_1_0_features tokio_threadpool_0_1_5_features tokio_timer_0_2_4_features tokio_udp_0_1_1_features ];
-  tokio_codec_0_1_0 = { features?(tokio_codec_0_1_0_features {}) }: tokio_codec_0_1_0_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 tokio_io_0_1_7 ]);
-  };
-  tokio_codec_0_1_0_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    tokio_codec_0_1_0.default = (f.tokio_codec_0_1_0.default or true);
-    tokio_io_0_1_7.default = true;
-  }) [ bytes_0_4_9_features futures_0_1_23_features tokio_io_0_1_7_features ];
-  tokio_core_0_1_17 = { features?(tokio_core_0_1_17_features {}) }: tokio_core_0_1_17_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 iovec_0_1_2 log_0_4_3 mio_0_6_15 scoped_tls_0_1_2 tokio_0_1_7 tokio_executor_0_1_2 tokio_io_0_1_7 tokio_reactor_0_1_2 tokio_timer_0_2_4 ]);
-  };
-  tokio_core_0_1_17_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    iovec_0_1_2.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = true;
-    scoped_tls_0_1_2.default = true;
-    tokio_0_1_7.default = true;
-    tokio_core_0_1_17.default = (f.tokio_core_0_1_17.default or true);
-    tokio_executor_0_1_2.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_timer_0_2_4.default = true;
-  }) [ bytes_0_4_9_features futures_0_1_23_features iovec_0_1_2_features log_0_4_3_features mio_0_6_15_features scoped_tls_0_1_2_features tokio_0_1_7_features tokio_executor_0_1_2_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features tokio_timer_0_2_4_features ];
-  tokio_executor_0_1_2 = { features?(tokio_executor_0_1_2_features {}) }: tokio_executor_0_1_2_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 ]);
-    features = mkFeatures (features.tokio_executor_0_1_2 or {});
-  };
-  tokio_executor_0_1_2_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_executor_0_1_2.default = (f.tokio_executor_0_1_2.default or true);
-    tokio_executor_0_1_2.futures2 =
-      (f.tokio_executor_0_1_2.futures2 or false) ||
-      (f.tokio_executor_0_1_2.unstable-futures or false) ||
-      (tokio_executor_0_1_2.unstable-futures or false);
-  }) [ futures_0_1_23_features ];
-  tokio_fs_0_1_2 = { features?(tokio_fs_0_1_2_features {}) }: tokio_fs_0_1_2_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 tokio_io_0_1_7 tokio_threadpool_0_1_5 ]);
-  };
-  tokio_fs_0_1_2_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_fs_0_1_2.default = (f.tokio_fs_0_1_2.default or true);
-    tokio_io_0_1_7.default = true;
-    tokio_threadpool_0_1_5.default = true;
-  }) [ futures_0_1_23_features tokio_io_0_1_7_features tokio_threadpool_0_1_5_features ];
-  tokio_io_0_1_7 = { features?(tokio_io_0_1_7_features {}) }: tokio_io_0_1_7_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 log_0_4_3 ]);
-  };
-  tokio_io_0_1_7_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    tokio_io_0_1_7.default = (f.tokio_io_0_1_7.default or true);
-  }) [ bytes_0_4_9_features futures_0_1_23_features log_0_4_3_features ];
-  tokio_proto_0_1_1 = { features?(tokio_proto_0_1_1_features {}) }: tokio_proto_0_1_1_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 log_0_3_9 net2_0_2_33 rand_0_3_22 slab_0_3_0 smallvec_0_2_1 take_0_1_0 tokio_core_0_1_17 tokio_io_0_1_7 tokio_service_0_1_0 ]);
-  };
-  tokio_proto_0_1_1_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    log_0_3_9.default = true;
-    net2_0_2_33.default = true;
-    rand_0_3_22.default = true;
-    slab_0_3_0.default = true;
-    smallvec_0_2_1.default = true;
-    take_0_1_0.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_proto_0_1_1.default = (f.tokio_proto_0_1_1.default or true);
-    tokio_service_0_1_0.default = true;
-  }) [ futures_0_1_23_features log_0_3_9_features net2_0_2_33_features rand_0_3_22_features slab_0_3_0_features smallvec_0_2_1_features take_0_1_0_features tokio_core_0_1_17_features tokio_io_0_1_7_features tokio_service_0_1_0_features ];
-  tokio_reactor_0_1_2 = { features?(tokio_reactor_0_1_2_features {}) }: tokio_reactor_0_1_2_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 log_0_4_3 mio_0_6_15 slab_0_4_0 tokio_executor_0_1_2 tokio_io_0_1_7 ]);
-  };
-  tokio_reactor_0_1_2_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = true;
-    slab_0_4_0.default = true;
-    tokio_executor_0_1_2.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = (f.tokio_reactor_0_1_2.default or true);
-  }) [ futures_0_1_23_features log_0_4_3_features mio_0_6_15_features slab_0_4_0_features tokio_executor_0_1_2_features tokio_io_0_1_7_features ];
-  tokio_service_0_1_0 = { features?(tokio_service_0_1_0_features {}) }: tokio_service_0_1_0_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 ]);
-  };
-  tokio_service_0_1_0_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_service_0_1_0.default = (f.tokio_service_0_1_0.default or true);
-  }) [ futures_0_1_23_features ];
-  tokio_tcp_0_1_0 = { features?(tokio_tcp_0_1_0_features {}) }: tokio_tcp_0_1_0_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 iovec_0_1_2 mio_0_6_15 tokio_io_0_1_7 tokio_reactor_0_1_2 ]);
-    features = mkFeatures (features.tokio_tcp_0_1_0 or {});
-  };
-  tokio_tcp_0_1_0_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    iovec_0_1_2.default = true;
-    mio_0_6_15.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_tcp_0_1_0.default = (f.tokio_tcp_0_1_0.default or true);
-    tokio_tcp_0_1_0.futures2 =
-      (f.tokio_tcp_0_1_0.futures2 or false) ||
-      (f.tokio_tcp_0_1_0.unstable-futures or false) ||
-      (tokio_tcp_0_1_0.unstable-futures or false);
-  }) [ bytes_0_4_9_features futures_0_1_23_features iovec_0_1_2_features mio_0_6_15_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features ];
-  tokio_threadpool_0_1_5 = { features?(tokio_threadpool_0_1_5_features {}) }: tokio_threadpool_0_1_5_ {
-    dependencies = mapFeatures features ([ crossbeam_deque_0_3_1 futures_0_1_23 log_0_4_3 num_cpus_1_8_0 rand_0_4_2 tokio_executor_0_1_2 ]);
-  };
-  tokio_threadpool_0_1_5_features = f: updateFeatures f (rec {
-    crossbeam_deque_0_3_1.default = true;
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    num_cpus_1_8_0.default = true;
-    rand_0_4_2.default = true;
-    tokio_executor_0_1_2.default = true;
-    tokio_threadpool_0_1_5.default = (f.tokio_threadpool_0_1_5.default or true);
-  }) [ crossbeam_deque_0_3_1_features futures_0_1_23_features log_0_4_3_features num_cpus_1_8_0_features rand_0_4_2_features tokio_executor_0_1_2_features ];
-  tokio_timer_0_2_4 = { features?(tokio_timer_0_2_4_features {}) }: tokio_timer_0_2_4_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 tokio_executor_0_1_2 ]);
-  };
-  tokio_timer_0_2_4_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    tokio_executor_0_1_2.default = true;
-    tokio_timer_0_2_4.default = (f.tokio_timer_0_2_4.default or true);
-  }) [ futures_0_1_23_features tokio_executor_0_1_2_features ];
-  tokio_tls_0_1_4 = { features?(tokio_tls_0_1_4_features {}) }: tokio_tls_0_1_4_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 native_tls_0_1_5 tokio_core_0_1_17 tokio_io_0_1_7 ])
-      ++ (if !(kernel == "darwin") && !(kernel == "windows") && !(kernel == "ios") then mapFeatures features ([]) else [])
-      ++ (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([]) else []);
-  };
-  tokio_tls_0_1_4_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    native_tls_0_1_5.default = true;
-    tokio_core_0_1_17.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_tls_0_1_4.default = (f.tokio_tls_0_1_4.default or true);
-  }) [ futures_0_1_23_features native_tls_0_1_5_features tokio_core_0_1_17_features tokio_io_0_1_7_features ];
-  tokio_udp_0_1_1 = { features?(tokio_udp_0_1_1_features {}) }: tokio_udp_0_1_1_ {
-    dependencies = mapFeatures features ([ bytes_0_4_9 futures_0_1_23 log_0_4_3 mio_0_6_15 tokio_codec_0_1_0 tokio_io_0_1_7 tokio_reactor_0_1_2 ]);
-  };
-  tokio_udp_0_1_1_features = f: updateFeatures f (rec {
-    bytes_0_4_9.default = true;
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    mio_0_6_15.default = true;
-    tokio_codec_0_1_0.default = true;
-    tokio_io_0_1_7.default = true;
-    tokio_reactor_0_1_2.default = true;
-    tokio_udp_0_1_1.default = (f.tokio_udp_0_1_1.default or true);
-  }) [ bytes_0_4_9_features futures_0_1_23_features log_0_4_3_features mio_0_6_15_features tokio_codec_0_1_0_features tokio_io_0_1_7_features tokio_reactor_0_1_2_features ];
-  try_lock_0_1_0 = { features?(try_lock_0_1_0_features {}) }: try_lock_0_1_0_ {};
-  try_lock_0_1_0_features = f: updateFeatures f (rec {
-    try_lock_0_1_0.default = (f.try_lock_0_1_0.default or true);
-  }) [];
-  unicase_1_4_2 = { features?(unicase_1_4_2_features {}) }: unicase_1_4_2_ {
-    dependencies = mapFeatures features ([]);
-    buildDependencies = mapFeatures features ([ version_check_0_1_4 ]);
-    features = mkFeatures (features.unicase_1_4_2 or {});
-  };
-  unicase_1_4_2_features = f: updateFeatures f (rec {
-    unicase_1_4_2.default = (f.unicase_1_4_2.default or true);
-    unicase_1_4_2.heapsize =
-      (f.unicase_1_4_2.heapsize or false) ||
-      (f.unicase_1_4_2.heap_size or false) ||
-      (unicase_1_4_2.heap_size or false);
-    unicase_1_4_2.heapsize_plugin =
-      (f.unicase_1_4_2.heapsize_plugin or false) ||
-      (f.unicase_1_4_2.heap_size or false) ||
-      (unicase_1_4_2.heap_size or false);
-    version_check_0_1_4.default = true;
-  }) [ version_check_0_1_4_features ];
-  unicase_2_1_0 = { features?(unicase_2_1_0_features {}) }: unicase_2_1_0_ {
-    buildDependencies = mapFeatures features ([ version_check_0_1_4 ]);
-    features = mkFeatures (features.unicase_2_1_0 or {});
-  };
-  unicase_2_1_0_features = f: updateFeatures f (rec {
-    unicase_2_1_0.default = (f.unicase_2_1_0.default or true);
-    version_check_0_1_4.default = true;
-  }) [ version_check_0_1_4_features ];
-  unicode_bidi_0_3_4 = { features?(unicode_bidi_0_3_4_features {}) }: unicode_bidi_0_3_4_ {
-    dependencies = mapFeatures features ([ matches_0_1_7 ]);
-    features = mkFeatures (features.unicode_bidi_0_3_4 or {});
-  };
-  unicode_bidi_0_3_4_features = f: updateFeatures f (rec {
-    matches_0_1_7.default = true;
-    unicode_bidi_0_3_4.default = (f.unicode_bidi_0_3_4.default or true);
-    unicode_bidi_0_3_4.flame =
-      (f.unicode_bidi_0_3_4.flame or false) ||
-      (f.unicode_bidi_0_3_4.flame_it or false) ||
-      (unicode_bidi_0_3_4.flame_it or false);
-    unicode_bidi_0_3_4.flamer =
-      (f.unicode_bidi_0_3_4.flamer or false) ||
-      (f.unicode_bidi_0_3_4.flame_it or false) ||
-      (unicode_bidi_0_3_4.flame_it or false);
-    unicode_bidi_0_3_4.serde =
-      (f.unicode_bidi_0_3_4.serde or false) ||
-      (f.unicode_bidi_0_3_4.with_serde or false) ||
-      (unicode_bidi_0_3_4.with_serde or false);
-  }) [ matches_0_1_7_features ];
-  unicode_normalization_0_1_7 = { features?(unicode_normalization_0_1_7_features {}) }: unicode_normalization_0_1_7_ {};
-  unicode_normalization_0_1_7_features = f: updateFeatures f (rec {
-    unicode_normalization_0_1_7.default = (f.unicode_normalization_0_1_7.default or true);
-  }) [];
-  unicode_width_0_1_5 = { features?(unicode_width_0_1_5_features {}) }: unicode_width_0_1_5_ {
-    features = mkFeatures (features.unicode_width_0_1_5 or {});
-  };
-  unicode_width_0_1_5_features = f: updateFeatures f (rec {
-    unicode_width_0_1_5.default = (f.unicode_width_0_1_5.default or true);
-  }) [];
-  unicode_xid_0_0_4 = { features?(unicode_xid_0_0_4_features {}) }: unicode_xid_0_0_4_ {
-    features = mkFeatures (features.unicode_xid_0_0_4 or {});
-  };
-  unicode_xid_0_0_4_features = f: updateFeatures f (rec {
-    unicode_xid_0_0_4.default = (f.unicode_xid_0_0_4.default or true);
-  }) [];
-  unreachable_1_0_0 = { features?(unreachable_1_0_0_features {}) }: unreachable_1_0_0_ {
-    dependencies = mapFeatures features ([ void_1_0_2 ]);
-  };
-  unreachable_1_0_0_features = f: updateFeatures f (rec {
-    unreachable_1_0_0.default = (f.unreachable_1_0_0.default or true);
-    void_1_0_2.default = (f.void_1_0_2.default or false);
-  }) [ void_1_0_2_features ];
-  url_1_7_1 = { features?(url_1_7_1_features {}) }: url_1_7_1_ {
-    dependencies = mapFeatures features ([ idna_0_1_5 matches_0_1_7 percent_encoding_1_0_1 ]);
-    features = mkFeatures (features.url_1_7_1 or {});
-  };
-  url_1_7_1_features = f: updateFeatures f (rec {
-    idna_0_1_5.default = true;
-    matches_0_1_7.default = true;
-    percent_encoding_1_0_1.default = true;
-    url_1_7_1.default = (f.url_1_7_1.default or true);
-    url_1_7_1.encoding =
-      (f.url_1_7_1.encoding or false) ||
-      (f.url_1_7_1.query_encoding or false) ||
-      (url_1_7_1.query_encoding or false);
-    url_1_7_1.heapsize =
-      (f.url_1_7_1.heapsize or false) ||
-      (f.url_1_7_1.heap_size or false) ||
-      (url_1_7_1.heap_size or false);
-  }) [ idna_0_1_5_features matches_0_1_7_features percent_encoding_1_0_1_features ];
-  utf8_ranges_0_1_3 = { features?(utf8_ranges_0_1_3_features {}) }: utf8_ranges_0_1_3_ {};
-  utf8_ranges_0_1_3_features = f: updateFeatures f (rec {
-    utf8_ranges_0_1_3.default = (f.utf8_ranges_0_1_3.default or true);
-  }) [];
-  uuid_0_6_5 = { features?(uuid_0_6_5_features {}) }: uuid_0_6_5_ {
-    dependencies = mapFeatures features ([ cfg_if_0_1_4 ]
-      ++ (if features.uuid_0_6_5.rand or false then [ rand_0_4_2 ] else []));
-    features = mkFeatures (features.uuid_0_6_5 or {});
-  };
-  uuid_0_6_5_features = f: updateFeatures f (rec {
-    cfg_if_0_1_4.default = true;
-    rand_0_4_2.default = true;
-    uuid_0_6_5.byteorder =
-      (f.uuid_0_6_5.byteorder or false) ||
-      (f.uuid_0_6_5.u128 or false) ||
-      (uuid_0_6_5.u128 or false);
-    uuid_0_6_5.default = (f.uuid_0_6_5.default or true);
-    uuid_0_6_5.md5 =
-      (f.uuid_0_6_5.md5 or false) ||
-      (f.uuid_0_6_5.v3 or false) ||
-      (uuid_0_6_5.v3 or false);
-    uuid_0_6_5.nightly =
-      (f.uuid_0_6_5.nightly or false) ||
-      (f.uuid_0_6_5.const_fn or false) ||
-      (uuid_0_6_5.const_fn or false);
-    uuid_0_6_5.rand =
-      (f.uuid_0_6_5.rand or false) ||
-      (f.uuid_0_6_5.v3 or false) ||
-      (uuid_0_6_5.v3 or false) ||
-      (f.uuid_0_6_5.v4 or false) ||
-      (uuid_0_6_5.v4 or false) ||
-      (f.uuid_0_6_5.v5 or false) ||
-      (uuid_0_6_5.v5 or false);
-    uuid_0_6_5.sha1 =
-      (f.uuid_0_6_5.sha1 or false) ||
-      (f.uuid_0_6_5.v5 or false) ||
-      (uuid_0_6_5.v5 or false);
-    uuid_0_6_5.std =
-      (f.uuid_0_6_5.std or false) ||
-      (f.uuid_0_6_5.default or false) ||
-      (uuid_0_6_5.default or false) ||
-      (f.uuid_0_6_5.use_std or false) ||
-      (uuid_0_6_5.use_std or false);
-  }) [ cfg_if_0_1_4_features rand_0_4_2_features ];
-  vcpkg_0_2_4 = { features?(vcpkg_0_2_4_features {}) }: vcpkg_0_2_4_ {};
-  vcpkg_0_2_4_features = f: updateFeatures f (rec {
-    vcpkg_0_2_4.default = (f.vcpkg_0_2_4.default or true);
-  }) [];
-  vec_map_0_8_1 = { features?(vec_map_0_8_1_features {}) }: vec_map_0_8_1_ {
-    dependencies = mapFeatures features ([]);
-    features = mkFeatures (features.vec_map_0_8_1 or {});
-  };
-  vec_map_0_8_1_features = f: updateFeatures f (rec {
-    vec_map_0_8_1.default = (f.vec_map_0_8_1.default or true);
-    vec_map_0_8_1.serde =
-      (f.vec_map_0_8_1.serde or false) ||
-      (f.vec_map_0_8_1.eders or false) ||
-      (vec_map_0_8_1.eders or false);
-  }) [];
-  version_check_0_1_4 = { features?(version_check_0_1_4_features {}) }: version_check_0_1_4_ {};
-  version_check_0_1_4_features = f: updateFeatures f (rec {
-    version_check_0_1_4.default = (f.version_check_0_1_4.default or true);
-  }) [];
-  void_1_0_2 = { features?(void_1_0_2_features {}) }: void_1_0_2_ {
-    features = mkFeatures (features.void_1_0_2 or {});
-  };
-  void_1_0_2_features = f: updateFeatures f (rec {
-    void_1_0_2.default = (f.void_1_0_2.default or true);
-    void_1_0_2.std =
-      (f.void_1_0_2.std or false) ||
-      (f.void_1_0_2.default or false) ||
-      (void_1_0_2.default or false);
-  }) [];
-  want_0_0_4 = { features?(want_0_0_4_features {}) }: want_0_0_4_ {
-    dependencies = mapFeatures features ([ futures_0_1_23 log_0_4_3 try_lock_0_1_0 ]);
-  };
-  want_0_0_4_features = f: updateFeatures f (rec {
-    futures_0_1_23.default = true;
-    log_0_4_3.default = true;
-    try_lock_0_1_0.default = true;
-    want_0_0_4.default = (f.want_0_0_4.default or true);
-  }) [ futures_0_1_23_features log_0_4_3_features try_lock_0_1_0_features ];
-  winapi_0_2_8 = { features?(winapi_0_2_8_features {}) }: winapi_0_2_8_ {};
-  winapi_0_2_8_features = f: updateFeatures f (rec {
-    winapi_0_2_8.default = (f.winapi_0_2_8.default or true);
-  }) [];
-  winapi_0_3_5 = { features?(winapi_0_3_5_features {}) }: winapi_0_3_5_ {
-    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([ winapi_i686_pc_windows_gnu_0_4_0 ]) else [])
-      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([ winapi_x86_64_pc_windows_gnu_0_4_0 ]) else []);
-    features = mkFeatures (features.winapi_0_3_5 or {});
-  };
-  winapi_0_3_5_features = f: updateFeatures f (rec {
-    winapi_0_3_5.default = (f.winapi_0_3_5.default or true);
-    winapi_i686_pc_windows_gnu_0_4_0.default = true;
-    winapi_x86_64_pc_windows_gnu_0_4_0.default = true;
-  }) [ winapi_i686_pc_windows_gnu_0_4_0_features winapi_x86_64_pc_windows_gnu_0_4_0_features ];
-  winapi_build_0_1_1 = { features?(winapi_build_0_1_1_features {}) }: winapi_build_0_1_1_ {};
-  winapi_build_0_1_1_features = f: updateFeatures f (rec {
-    winapi_build_0_1_1.default = (f.winapi_build_0_1_1.default or true);
-  }) [];
-  winapi_i686_pc_windows_gnu_0_4_0 = { features?(winapi_i686_pc_windows_gnu_0_4_0_features {}) }: winapi_i686_pc_windows_gnu_0_4_0_ {};
-  winapi_i686_pc_windows_gnu_0_4_0_features = f: updateFeatures f (rec {
-    winapi_i686_pc_windows_gnu_0_4_0.default = (f.winapi_i686_pc_windows_gnu_0_4_0.default or true);
-  }) [];
-  winapi_x86_64_pc_windows_gnu_0_4_0 = { features?(winapi_x86_64_pc_windows_gnu_0_4_0_features {}) }: winapi_x86_64_pc_windows_gnu_0_4_0_ {};
-  winapi_x86_64_pc_windows_gnu_0_4_0_features = f: updateFeatures f (rec {
-    winapi_x86_64_pc_windows_gnu_0_4_0.default = (f.winapi_x86_64_pc_windows_gnu_0_4_0.default or true);
-  }) [];
-  ws2_32_sys_0_2_1 = { features?(ws2_32_sys_0_2_1_features {}) }: ws2_32_sys_0_2_1_ {
-    dependencies = mapFeatures features ([ winapi_0_2_8 ]);
-    buildDependencies = mapFeatures features ([ winapi_build_0_1_1 ]);
-  };
-  ws2_32_sys_0_2_1_features = f: updateFeatures f (rec {
-    winapi_0_2_8.default = true;
-    winapi_build_0_1_1.default = true;
-    ws2_32_sys_0_2_1.default = (f.ws2_32_sys_0_2_1.default or true);
-  }) [ winapi_0_2_8_features winapi_build_0_1_1_features ];
-  xattr_0_2_2 = { features?(xattr_0_2_2_features {}) }: xattr_0_2_2_ {
-    dependencies = mapFeatures features ([ libc_0_2_42 ]);
-    features = mkFeatures (features.xattr_0_2_2 or {});
-  };
-  xattr_0_2_2_features = f: updateFeatures f (rec {
-    libc_0_2_42.default = true;
-    xattr_0_2_2.default = (f.xattr_0_2_2.default or true);
-    xattr_0_2_2.unsupported =
-      (f.xattr_0_2_2.unsupported or false) ||
-      (f.xattr_0_2_2.default or false) ||
-      (xattr_0_2_2.default or false);
-  }) [ libc_0_2_42_features ];
+  deps.adler32."1.0.2" = {};
+  deps.aho_corasick."0.5.3" = {
+    memchr = "0.1.11";
+  };
+  deps.ansi_term."0.9.0" = {};
+  deps.arrayvec."0.4.8" = {
+    nodrop = "0.1.13";
+  };
+  deps.atty."0.2.3" = {
+    termion = "1.5.1";
+    libc = "0.2.44";
+    kernel32_sys = "0.2.2";
+    winapi = "0.2.8";
+  };
+  deps.base64."0.9.3" = {
+    byteorder = "1.1.0";
+    safemem = "0.3.0";
+  };
+  deps.bitflags."0.7.0" = {};
+  deps.bitflags."0.9.1" = {};
+  deps.bitflags."1.0.4" = {};
+  deps.byteorder."1.1.0" = {};
+  deps.bytes."0.4.11" = {
+    byteorder = "1.1.0";
+    iovec = "0.1.1";
+  };
+  deps.cargo_download."0.1.2" = {
+    ansi_term = "0.9.0";
+    clap = "2.27.1";
+    conv = "0.3.3";
+    derive_error = "0.0.3";
+    exitcode = "1.1.2";
+    flate2 = "0.2.20";
+    isatty = "0.1.5";
+    itertools = "0.6.5";
+    lazy_static = "0.2.10";
+    log = "0.3.8";
+    maplit = "0.1.6";
+    reqwest = "0.9.5";
+    semver = "0.9.0";
+    serde_json = "1.0.6";
+    slog = "1.7.1";
+    slog_envlogger = "0.5.0";
+    slog_stdlog = "1.1.0";
+    slog_stream = "1.2.1";
+    tar = "0.4.13";
+    time = "0.1.38";
+  };
+  deps.case."0.1.0" = {};
+  deps.cc."1.0.3" = {};
+  deps.cfg_if."0.1.2" = {};
+  deps.chrono."0.2.25" = {
+    num = "0.1.40";
+    time = "0.1.38";
+  };
+  deps.clap."2.27.1" = {
+    ansi_term = "0.9.0";
+    atty = "0.2.3";
+    bitflags = "0.9.1";
+    strsim = "0.6.0";
+    textwrap = "0.9.0";
+    unicode_width = "0.1.4";
+    vec_map = "0.8.0";
+  };
+  deps.cloudabi."0.0.3" = {
+    bitflags = "1.0.4";
+  };
+  deps.conv."0.3.3" = {
+    custom_derive = "0.1.7";
+  };
+  deps.core_foundation."0.5.1" = {
+    core_foundation_sys = "0.5.1";
+    libc = "0.2.44";
+  };
+  deps.core_foundation_sys."0.5.1" = {
+    libc = "0.2.44";
+  };
+  deps.crc32fast."1.1.1" = {};
+  deps.crossbeam."0.2.10" = {};
+  deps.crossbeam_deque."0.6.2" = {
+    crossbeam_epoch = "0.6.1";
+    crossbeam_utils = "0.6.1";
+  };
+  deps.crossbeam_epoch."0.6.1" = {
+    arrayvec = "0.4.8";
+    cfg_if = "0.1.2";
+    crossbeam_utils = "0.6.1";
+    lazy_static = "1.2.0";
+    memoffset = "0.2.1";
+    scopeguard = "0.3.3";
+  };
+  deps.crossbeam_utils."0.6.1" = {
+    cfg_if = "0.1.2";
+  };
+  deps.custom_derive."0.1.7" = {};
+  deps.derive_error."0.0.3" = {
+    case = "0.1.0";
+    quote = "0.3.15";
+    syn = "0.11.11";
+  };
+  deps.dtoa."0.4.2" = {};
+  deps.either."1.4.0" = {};
+  deps.encoding_rs."0.8.13" = {
+    cfg_if = "0.1.2";
+  };
+  deps.exitcode."1.1.2" = {};
+  deps.filetime."0.1.14" = {
+    cfg_if = "0.1.2";
+    redox_syscall = "0.1.31";
+    libc = "0.2.44";
+  };
+  deps.flate2."0.2.20" = {
+    libc = "0.2.44";
+    miniz_sys = "0.1.10";
+  };
+  deps.fnv."1.0.6" = {};
+  deps.foreign_types."0.3.2" = {
+    foreign_types_shared = "0.1.1";
+  };
+  deps.foreign_types_shared."0.1.1" = {};
+  deps.fuchsia_zircon."0.2.1" = {
+    fuchsia_zircon_sys = "0.2.0";
+  };
+  deps.fuchsia_zircon."0.3.3" = {
+    bitflags = "1.0.4";
+    fuchsia_zircon_sys = "0.3.3";
+  };
+  deps.fuchsia_zircon_sys."0.2.0" = {
+    bitflags = "0.7.0";
+  };
+  deps.fuchsia_zircon_sys."0.3.3" = {};
+  deps.futures."0.1.25" = {};
+  deps.futures_cpupool."0.1.7" = {
+    futures = "0.1.25";
+    num_cpus = "1.8.0";
+  };
+  deps.h2."0.1.13" = {
+    byteorder = "1.1.0";
+    bytes = "0.4.11";
+    fnv = "1.0.6";
+    futures = "0.1.25";
+    http = "0.1.14";
+    indexmap = "1.0.2";
+    log = "0.4.6";
+    slab = "0.4.0";
+    string = "0.1.2";
+    tokio_io = "0.1.10";
+  };
+  deps.http."0.1.14" = {
+    bytes = "0.4.11";
+    fnv = "1.0.6";
+    itoa = "0.4.3";
+  };
+  deps.httparse."1.2.3" = {};
+  deps.hyper."0.12.16" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    futures_cpupool = "0.1.7";
+    h2 = "0.1.13";
+    http = "0.1.14";
+    httparse = "1.2.3";
+    iovec = "0.1.1";
+    itoa = "0.4.3";
+    log = "0.4.6";
+    net2 = "0.2.33";
+    time = "0.1.38";
+    tokio = "0.1.7";
+    tokio_executor = "0.1.5";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+    tokio_tcp = "0.1.2";
+    tokio_threadpool = "0.1.9";
+    tokio_timer = "0.2.5";
+    want = "0.0.6";
+  };
+  deps.hyper_tls."0.3.1" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    hyper = "0.12.16";
+    native_tls = "0.2.2";
+    tokio_io = "0.1.10";
+  };
+  deps.idna."0.1.4" = {
+    matches = "0.1.6";
+    unicode_bidi = "0.3.4";
+    unicode_normalization = "0.1.5";
+  };
+  deps.indexmap."1.0.2" = {};
+  deps.iovec."0.1.1" = {
+    libc = "0.2.44";
+    winapi = "0.2.8";
+  };
+  deps.isatty."0.1.5" = {
+    libc = "0.2.44";
+    kernel32_sys = "0.2.2";
+    winapi = "0.2.8";
+  };
+  deps.itertools."0.6.5" = {
+    either = "1.4.0";
+  };
+  deps.itoa."0.3.4" = {};
+  deps.itoa."0.4.3" = {};
+  deps.kernel32_sys."0.2.2" = {
+    winapi = "0.2.8";
+    winapi_build = "0.1.1";
+  };
+  deps.lazy_static."0.2.10" = {};
+  deps.lazy_static."1.2.0" = {};
+  deps.lazycell."1.2.0" = {};
+  deps.libc."0.2.44" = {};
+  deps.libflate."0.1.19" = {
+    adler32 = "1.0.2";
+    byteorder = "1.1.0";
+    crc32fast = "1.1.1";
+  };
+  deps.lock_api."0.1.5" = {
+    owning_ref = "0.4.0";
+    scopeguard = "0.3.3";
+  };
+  deps.log."0.3.8" = {};
+  deps.log."0.4.6" = {
+    cfg_if = "0.1.2";
+  };
+  deps.maplit."0.1.6" = {};
+  deps.matches."0.1.6" = {};
+  deps.memchr."0.1.11" = {
+    libc = "0.2.44";
+  };
+  deps.memoffset."0.2.1" = {};
+  deps.mime."0.3.12" = {
+    unicase = "2.1.0";
+  };
+  deps.mime_guess."2.0.0-alpha.6" = {
+    mime = "0.3.12";
+    phf = "0.7.21";
+    unicase = "1.4.2";
+    phf_codegen = "0.7.21";
+  };
+  deps.miniz_sys."0.1.10" = {
+    libc = "0.2.44";
+    cc = "1.0.3";
+  };
+  deps.mio."0.6.16" = {
+    iovec = "0.1.1";
+    lazycell = "1.2.0";
+    log = "0.4.6";
+    net2 = "0.2.33";
+    slab = "0.4.0";
+    fuchsia_zircon = "0.3.3";
+    fuchsia_zircon_sys = "0.3.3";
+    libc = "0.2.44";
+    kernel32_sys = "0.2.2";
+    miow = "0.2.1";
+    winapi = "0.2.8";
+  };
+  deps.miow."0.2.1" = {
+    kernel32_sys = "0.2.2";
+    net2 = "0.2.33";
+    winapi = "0.2.8";
+    ws2_32_sys = "0.2.1";
+  };
+  deps.native_tls."0.2.2" = {
+    lazy_static = "1.2.0";
+    libc = "0.2.44";
+    security_framework = "0.2.1";
+    security_framework_sys = "0.2.1";
+    tempfile = "3.0.5";
+    openssl = "0.10.15";
+    openssl_probe = "0.1.2";
+    openssl_sys = "0.9.39";
+    log = "0.4.6";
+    schannel = "0.1.14";
+  };
+  deps.net2."0.2.33" = {
+    cfg_if = "0.1.2";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.nodrop."0.1.13" = {};
+  deps.num."0.1.40" = {
+    num_integer = "0.1.35";
+    num_iter = "0.1.34";
+    num_traits = "0.1.40";
+  };
+  deps.num_integer."0.1.35" = {
+    num_traits = "0.1.40";
+  };
+  deps.num_iter."0.1.34" = {
+    num_integer = "0.1.35";
+    num_traits = "0.1.40";
+  };
+  deps.num_traits."0.1.40" = {};
+  deps.num_cpus."1.8.0" = {
+    libc = "0.2.44";
+  };
+  deps.openssl."0.10.15" = {
+    bitflags = "1.0.4";
+    cfg_if = "0.1.2";
+    foreign_types = "0.3.2";
+    lazy_static = "1.2.0";
+    libc = "0.2.44";
+    openssl_sys = "0.9.39";
+  };
+  deps.openssl_probe."0.1.2" = {};
+  deps.openssl_sys."0.9.39" = {
+    libc = "0.2.44";
+    cc = "1.0.3";
+    pkg_config = "0.3.9";
+  };
+  deps.owning_ref."0.4.0" = {
+    stable_deref_trait = "1.1.1";
+  };
+  deps.parking_lot."0.6.4" = {
+    lock_api = "0.1.5";
+    parking_lot_core = "0.3.1";
+  };
+  deps.parking_lot_core."0.3.1" = {
+    rand = "0.5.5";
+    smallvec = "0.6.7";
+    rustc_version = "0.2.3";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.percent_encoding."1.0.1" = {};
+  deps.phf."0.7.21" = {
+    phf_shared = "0.7.21";
+  };
+  deps.phf_codegen."0.7.21" = {
+    phf_generator = "0.7.21";
+    phf_shared = "0.7.21";
+  };
+  deps.phf_generator."0.7.21" = {
+    phf_shared = "0.7.21";
+    rand = "0.3.18";
+  };
+  deps.phf_shared."0.7.21" = {
+    siphasher = "0.2.2";
+    unicase = "1.4.2";
+  };
+  deps.pkg_config."0.3.9" = {};
+  deps.quote."0.3.15" = {};
+  deps.rand."0.3.18" = {
+    libc = "0.2.44";
+    fuchsia_zircon = "0.2.1";
+  };
+  deps.rand."0.5.5" = {
+    rand_core = "0.2.2";
+    cloudabi = "0.0.3";
+    fuchsia_zircon = "0.3.3";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.rand."0.6.1" = {
+    rand_chacha = "0.1.0";
+    rand_core = "0.3.0";
+    rand_hc = "0.1.0";
+    rand_isaac = "0.1.1";
+    rand_pcg = "0.1.1";
+    rand_xorshift = "0.1.0";
+    rustc_version = "0.2.3";
+    cloudabi = "0.0.3";
+    fuchsia_zircon = "0.3.3";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.rand_chacha."0.1.0" = {
+    rand_core = "0.3.0";
+    rustc_version = "0.2.3";
+  };
+  deps.rand_core."0.2.2" = {
+    rand_core = "0.3.0";
+  };
+  deps.rand_core."0.3.0" = {};
+  deps.rand_hc."0.1.0" = {
+    rand_core = "0.3.0";
+  };
+  deps.rand_isaac."0.1.1" = {
+    rand_core = "0.3.0";
+  };
+  deps.rand_pcg."0.1.1" = {
+    rand_core = "0.3.0";
+    rustc_version = "0.2.3";
+  };
+  deps.rand_xorshift."0.1.0" = {
+    rand_core = "0.3.0";
+  };
+  deps.redox_syscall."0.1.31" = {};
+  deps.redox_termios."0.1.1" = {
+    redox_syscall = "0.1.31";
+  };
+  deps.regex."0.1.80" = {
+    aho_corasick = "0.5.3";
+    memchr = "0.1.11";
+    regex_syntax = "0.3.9";
+    thread_local = "0.2.7";
+    utf8_ranges = "0.1.3";
+  };
+  deps.regex_syntax."0.3.9" = {};
+  deps.remove_dir_all."0.5.1" = {
+    winapi = "0.3.6";
+  };
+  deps.reqwest."0.9.5" = {
+    base64 = "0.9.3";
+    bytes = "0.4.11";
+    encoding_rs = "0.8.13";
+    futures = "0.1.25";
+    http = "0.1.14";
+    hyper = "0.12.16";
+    hyper_tls = "0.3.1";
+    libflate = "0.1.19";
+    log = "0.4.6";
+    mime = "0.3.12";
+    mime_guess = "2.0.0-alpha.6";
+    native_tls = "0.2.2";
+    serde = "1.0.21";
+    serde_json = "1.0.6";
+    serde_urlencoded = "0.5.1";
+    tokio = "0.1.7";
+    tokio_io = "0.1.10";
+    url = "1.6.0";
+    uuid = "0.7.1";
+  };
+  deps.rustc_version."0.2.3" = {
+    semver = "0.9.0";
+  };
+  deps.safemem."0.3.0" = {};
+  deps.schannel."0.1.14" = {
+    lazy_static = "1.2.0";
+    winapi = "0.3.6";
+  };
+  deps.scopeguard."0.3.3" = {};
+  deps.security_framework."0.2.1" = {
+    core_foundation = "0.5.1";
+    core_foundation_sys = "0.5.1";
+    libc = "0.2.44";
+    security_framework_sys = "0.2.1";
+  };
+  deps.security_framework_sys."0.2.1" = {
+    core_foundation_sys = "0.5.1";
+    libc = "0.2.44";
+  };
+  deps.semver."0.9.0" = {
+    semver_parser = "0.7.0";
+  };
+  deps.semver_parser."0.7.0" = {};
+  deps.serde."1.0.21" = {};
+  deps.serde_json."1.0.6" = {
+    dtoa = "0.4.2";
+    itoa = "0.3.4";
+    num_traits = "0.1.40";
+    serde = "1.0.21";
+  };
+  deps.serde_urlencoded."0.5.1" = {
+    dtoa = "0.4.2";
+    itoa = "0.3.4";
+    serde = "1.0.21";
+    url = "1.6.0";
+  };
+  deps.siphasher."0.2.2" = {};
+  deps.slab."0.4.0" = {};
+  deps.slog."1.7.1" = {};
+  deps.slog_envlogger."0.5.0" = {
+    log = "0.3.8";
+    regex = "0.1.80";
+    slog = "1.7.1";
+    slog_stdlog = "1.1.0";
+    slog_term = "1.5.0";
+  };
+  deps.slog_extra."0.1.2" = {
+    slog = "1.7.1";
+    thread_local = "0.3.4";
+  };
+  deps.slog_stdlog."1.1.0" = {
+    crossbeam = "0.2.10";
+    lazy_static = "0.2.10";
+    log = "0.3.8";
+    slog = "1.7.1";
+    slog_term = "1.5.0";
+  };
+  deps.slog_stream."1.2.1" = {
+    slog = "1.7.1";
+    slog_extra = "0.1.2";
+    thread_local = "0.3.4";
+  };
+  deps.slog_term."1.5.0" = {
+    chrono = "0.2.25";
+    isatty = "0.1.5";
+    slog = "1.7.1";
+    slog_stream = "1.2.1";
+    thread_local = "0.3.4";
+  };
+  deps.smallvec."0.6.7" = {
+    unreachable = "1.0.0";
+  };
+  deps.stable_deref_trait."1.1.1" = {};
+  deps.string."0.1.2" = {};
+  deps.strsim."0.6.0" = {};
+  deps.syn."0.11.11" = {
+    quote = "0.3.15";
+    synom = "0.11.3";
+    unicode_xid = "0.0.4";
+  };
+  deps.synom."0.11.3" = {
+    unicode_xid = "0.0.4";
+  };
+  deps.tar."0.4.13" = {
+    filetime = "0.1.14";
+    libc = "0.2.44";
+    xattr = "0.1.11";
+  };
+  deps.tempfile."3.0.5" = {
+    cfg_if = "0.1.2";
+    rand = "0.6.1";
+    remove_dir_all = "0.5.1";
+    redox_syscall = "0.1.31";
+    libc = "0.2.44";
+    winapi = "0.3.6";
+  };
+  deps.termion."1.5.1" = {
+    libc = "0.2.44";
+    redox_syscall = "0.1.31";
+    redox_termios = "0.1.1";
+  };
+  deps.textwrap."0.9.0" = {
+    unicode_width = "0.1.4";
+  };
+  deps.thread_id."2.0.0" = {
+    kernel32_sys = "0.2.2";
+    libc = "0.2.44";
+  };
+  deps.thread_local."0.2.7" = {
+    thread_id = "2.0.0";
+  };
+  deps.thread_local."0.3.4" = {
+    lazy_static = "0.2.10";
+    unreachable = "1.0.0";
+  };
+  deps.time."0.1.38" = {
+    libc = "0.2.44";
+    redox_syscall = "0.1.31";
+    kernel32_sys = "0.2.2";
+    winapi = "0.2.8";
+  };
+  deps.tokio."0.1.7" = {
+    futures = "0.1.25";
+    mio = "0.6.16";
+    tokio_executor = "0.1.5";
+    tokio_fs = "0.1.4";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+    tokio_tcp = "0.1.2";
+    tokio_threadpool = "0.1.9";
+    tokio_timer = "0.2.5";
+    tokio_udp = "0.1.3";
+  };
+  deps.tokio_codec."0.1.1" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    tokio_io = "0.1.10";
+  };
+  deps.tokio_executor."0.1.5" = {
+    futures = "0.1.25";
+  };
+  deps.tokio_fs."0.1.4" = {
+    futures = "0.1.25";
+    tokio_io = "0.1.10";
+    tokio_threadpool = "0.1.9";
+  };
+  deps.tokio_io."0.1.10" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    log = "0.4.6";
+  };
+  deps.tokio_reactor."0.1.7" = {
+    crossbeam_utils = "0.6.1";
+    futures = "0.1.25";
+    lazy_static = "1.2.0";
+    log = "0.4.6";
+    mio = "0.6.16";
+    num_cpus = "1.8.0";
+    parking_lot = "0.6.4";
+    slab = "0.4.0";
+    tokio_executor = "0.1.5";
+    tokio_io = "0.1.10";
+  };
+  deps.tokio_tcp."0.1.2" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    iovec = "0.1.1";
+    mio = "0.6.16";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+  };
+  deps.tokio_threadpool."0.1.9" = {
+    crossbeam_deque = "0.6.2";
+    crossbeam_utils = "0.6.1";
+    futures = "0.1.25";
+    log = "0.4.6";
+    num_cpus = "1.8.0";
+    rand = "0.6.1";
+    tokio_executor = "0.1.5";
+  };
+  deps.tokio_timer."0.2.5" = {
+    futures = "0.1.25";
+    tokio_executor = "0.1.5";
+  };
+  deps.tokio_udp."0.1.3" = {
+    bytes = "0.4.11";
+    futures = "0.1.25";
+    log = "0.4.6";
+    mio = "0.6.16";
+    tokio_codec = "0.1.1";
+    tokio_io = "0.1.10";
+    tokio_reactor = "0.1.7";
+  };
+  deps.try_lock."0.2.2" = {};
+  deps.unicase."1.4.2" = {
+    version_check = "0.1.3";
+  };
+  deps.unicase."2.1.0" = {
+    version_check = "0.1.3";
+  };
+  deps.unicode_bidi."0.3.4" = {
+    matches = "0.1.6";
+  };
+  deps.unicode_normalization."0.1.5" = {};
+  deps.unicode_width."0.1.4" = {};
+  deps.unicode_xid."0.0.4" = {};
+  deps.unreachable."1.0.0" = {
+    void = "1.0.2";
+  };
+  deps.url."1.6.0" = {
+    idna = "0.1.4";
+    matches = "0.1.6";
+    percent_encoding = "1.0.1";
+  };
+  deps.utf8_ranges."0.1.3" = {};
+  deps.uuid."0.7.1" = {
+    rand = "0.5.5";
+  };
+  deps.vcpkg."0.2.2" = {};
+  deps.vec_map."0.8.0" = {};
+  deps.version_check."0.1.3" = {};
+  deps.void."1.0.2" = {};
+  deps.want."0.0.6" = {
+    futures = "0.1.25";
+    log = "0.4.6";
+    try_lock = "0.2.2";
+  };
+  deps.winapi."0.2.8" = {};
+  deps.winapi."0.3.6" = {
+    winapi_i686_pc_windows_gnu = "0.4.0";
+    winapi_x86_64_pc_windows_gnu = "0.4.0";
+  };
+  deps.winapi_build."0.1.1" = {};
+  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
+  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
+  deps.ws2_32_sys."0.2.1" = {
+    winapi = "0.2.8";
+    winapi_build = "0.1.1";
+  };
+  deps.xattr."0.1.11" = {
+    libc = "0.2.44";
+  };
 }
diff --git a/pkgs/tools/package-management/cargo-download/crates-io.nix b/pkgs/tools/package-management/cargo-download/crates-io.nix
new file mode 100644
index 00000000000..d120a05e00d
--- /dev/null
+++ b/pkgs/tools/package-management/cargo-download/crates-io.nix
@@ -0,0 +1,5289 @@
+{ lib, buildRustCrate, buildRustCrateHelpers }:
+with buildRustCrateHelpers;
+let inherit (lib.lists) fold;
+    inherit (lib.attrsets) recursiveUpdate;
+in
+rec {
+
+# adler32-1.0.2
+
+  crates.adler32."1.0.2" = deps: { features?(features_.adler32."1.0.2" deps {}) }: buildRustCrate {
+    crateName = "adler32";
+    version = "1.0.2";
+    description = "Minimal Adler32 implementation for Rust.";
+    authors = [ "Remi Rampin <remirampin@gmail.com>" ];
+    sha256 = "1974q3nysai026zhz24df506cxwi09jdzqksll4h7ibpb5n9g1d4";
+  };
+  features_.adler32."1.0.2" = deps: f: updateFeatures f (rec {
+    adler32."1.0.2".default = (f.adler32."1.0.2".default or true);
+  }) [];
+
+
+# end
+# aho-corasick-0.5.3
+
+  crates.aho_corasick."0.5.3" = deps: { features?(features_.aho_corasick."0.5.3" deps {}) }: buildRustCrate {
+    crateName = "aho-corasick";
+    version = "0.5.3";
+    description = "Fast multiple substring searching with finite state machines.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1igab46mvgknga3sxkqc917yfff0wsjxjzabdigmh240p5qxqlnn";
+    libName = "aho_corasick";
+    crateBin =
+      [{  name = "aho-corasick-dot"; }];
+    dependencies = mapFeatures features ([
+      (crates."memchr"."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
+    ]);
+  };
+  features_.aho_corasick."0.5.3" = deps: f: updateFeatures f (rec {
+    aho_corasick."0.5.3".default = (f.aho_corasick."0.5.3".default or true);
+    memchr."${deps.aho_corasick."0.5.3".memchr}".default = true;
+  }) [
+    (features_.memchr."${deps."aho_corasick"."0.5.3"."memchr"}" deps)
+  ];
+
+
+# end
+# ansi_term-0.9.0
+
+  crates.ansi_term."0.9.0" = deps: { features?(features_.ansi_term."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "ansi_term";
+    version = "0.9.0";
+    description = "Library for ANSI terminal colours and styles (bold, underline)";
+    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" ];
+    sha256 = "1vcd8m2hglrdi4zmqnkkz5zy3c73ifgii245k7vj6qr5dzpn9hij";
+  };
+  features_.ansi_term."0.9.0" = deps: f: updateFeatures f (rec {
+    ansi_term."0.9.0".default = (f.ansi_term."0.9.0".default or true);
+  }) [];
+
+
+# end
+# arrayvec-0.4.8
+
+  crates.arrayvec."0.4.8" = deps: { features?(features_.arrayvec."0.4.8" deps {}) }: buildRustCrate {
+    crateName = "arrayvec";
+    version = "0.4.8";
+    description = "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString.";
+    authors = [ "bluss" ];
+    sha256 = "0zwpjdxgr0a11h9x7mkrif4wyx3c81b90paxjf326i86s13kib1g";
+    dependencies = mapFeatures features ([
+      (crates."nodrop"."${deps."arrayvec"."0.4.8"."nodrop"}" deps)
+    ]);
+    features = mkFeatures (features."arrayvec"."0.4.8" or {});
+  };
+  features_.arrayvec."0.4.8" = deps: f: updateFeatures f (rec {
+    arrayvec = fold recursiveUpdate {} [
+      { "0.4.8"."serde" =
+        (f.arrayvec."0.4.8"."serde" or false) ||
+        (f.arrayvec."0.4.8".serde-1 or false) ||
+        (arrayvec."0.4.8"."serde-1" or false); }
+      { "0.4.8"."std" =
+        (f.arrayvec."0.4.8"."std" or false) ||
+        (f.arrayvec."0.4.8".default or false) ||
+        (arrayvec."0.4.8"."default" or false); }
+      { "0.4.8".default = (f.arrayvec."0.4.8".default or true); }
+    ];
+    nodrop."${deps.arrayvec."0.4.8".nodrop}".default = (f.nodrop."${deps.arrayvec."0.4.8".nodrop}".default or false);
+  }) [
+    (features_.nodrop."${deps."arrayvec"."0.4.8"."nodrop"}" deps)
+  ];
+
+
+# end
+# atty-0.2.3
+
+  crates.atty."0.2.3" = deps: { features?(features_.atty."0.2.3" deps {}) }: buildRustCrate {
+    crateName = "atty";
+    version = "0.2.3";
+    description = "A simple interface for querying atty";
+    authors = [ "softprops <d.tangren@gmail.com>" ];
+    sha256 = "0zl0cjfgarp5y78nd755lpki5bbkj4hgmi88v265m543yg29i88f";
+    dependencies = (if kernel == "redox" then mapFeatures features ([
+      (crates."termion"."${deps."atty"."0.2.3"."termion"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."atty"."0.2.3"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."atty"."0.2.3"."kernel32_sys"}" deps)
+      (crates."winapi"."${deps."atty"."0.2.3"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.atty."0.2.3" = deps: f: updateFeatures f (rec {
+    atty."0.2.3".default = (f.atty."0.2.3".default or true);
+    kernel32_sys."${deps.atty."0.2.3".kernel32_sys}".default = true;
+    libc."${deps.atty."0.2.3".libc}".default = (f.libc."${deps.atty."0.2.3".libc}".default or false);
+    termion."${deps.atty."0.2.3".termion}".default = true;
+    winapi."${deps.atty."0.2.3".winapi}".default = true;
+  }) [
+    (features_.termion."${deps."atty"."0.2.3"."termion"}" deps)
+    (features_.libc."${deps."atty"."0.2.3"."libc"}" deps)
+    (features_.kernel32_sys."${deps."atty"."0.2.3"."kernel32_sys"}" deps)
+    (features_.winapi."${deps."atty"."0.2.3"."winapi"}" deps)
+  ];
+
+
+# end
+# base64-0.9.3
+
+  crates.base64."0.9.3" = deps: { features?(features_.base64."0.9.3" deps {}) }: buildRustCrate {
+    crateName = "base64";
+    version = "0.9.3";
+    description = "encodes and decodes base64 as bytes or utf8";
+    authors = [ "Alice Maz <alice@alicemaz.com>" "Marshall Pierce <marshall@mpierce.org>" ];
+    sha256 = "11hhz8ln4zbpn2h2gm9fbbb9j254wrd4fpmddlyah2rrnqsmmqkd";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."base64"."0.9.3"."byteorder"}" deps)
+      (crates."safemem"."${deps."base64"."0.9.3"."safemem"}" deps)
+    ]);
+  };
+  features_.base64."0.9.3" = deps: f: updateFeatures f (rec {
+    base64."0.9.3".default = (f.base64."0.9.3".default or true);
+    byteorder."${deps.base64."0.9.3".byteorder}".default = true;
+    safemem."${deps.base64."0.9.3".safemem}".default = true;
+  }) [
+    (features_.byteorder."${deps."base64"."0.9.3"."byteorder"}" deps)
+    (features_.safemem."${deps."base64"."0.9.3"."safemem"}" deps)
+  ];
+
+
+# end
+# bitflags-0.7.0
+
+  crates.bitflags."0.7.0" = deps: { features?(features_.bitflags."0.7.0" deps {}) }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.7.0";
+    description = "A macro to generate structures which behave like bitflags.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1hr72xg5slm0z4pxs2hiy4wcyx3jva70h58b7mid8l0a4c8f7gn5";
+  };
+  features_.bitflags."0.7.0" = deps: f: updateFeatures f (rec {
+    bitflags."0.7.0".default = (f.bitflags."0.7.0".default or true);
+  }) [];
+
+
+# end
+# bitflags-0.9.1
+
+  crates.bitflags."0.9.1" = deps: { features?(features_.bitflags."0.9.1" deps {}) }: buildRustCrate {
+    crateName = "bitflags";
+    version = "0.9.1";
+    description = "A macro to generate structures which behave like bitflags.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "18h073l5jd88rx4qdr95fjddr9rk79pb1aqnshzdnw16cfmb9rws";
+    features = mkFeatures (features."bitflags"."0.9.1" or {});
+  };
+  features_.bitflags."0.9.1" = deps: f: updateFeatures f (rec {
+    bitflags = fold recursiveUpdate {} [
+      { "0.9.1"."example_generated" =
+        (f.bitflags."0.9.1"."example_generated" or false) ||
+        (f.bitflags."0.9.1".default or false) ||
+        (bitflags."0.9.1"."default" or false); }
+      { "0.9.1".default = (f.bitflags."0.9.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# bitflags-1.0.4
+
+  crates.bitflags."1.0.4" = deps: { features?(features_.bitflags."1.0.4" deps {}) }: buildRustCrate {
+    crateName = "bitflags";
+    version = "1.0.4";
+    description = "A macro to generate structures which behave like bitflags.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1g1wmz2001qmfrd37dnd5qiss5njrw26aywmg6yhkmkbyrhjxb08";
+    features = mkFeatures (features."bitflags"."1.0.4" or {});
+  };
+  features_.bitflags."1.0.4" = deps: f: updateFeatures f (rec {
+    bitflags."1.0.4".default = (f.bitflags."1.0.4".default or true);
+  }) [];
+
+
+# end
+# byteorder-1.1.0
+
+  crates.byteorder."1.1.0" = deps: { features?(features_.byteorder."1.1.0" deps {}) }: buildRustCrate {
+    crateName = "byteorder";
+    version = "1.1.0";
+    description = "Library for reading/writing numbers in big-endian and little-endian.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1i2n0161jm00zvzh4bncgv9zrwa6ydbxdn5j4bx0wwn7rvi9zycp";
+    features = mkFeatures (features."byteorder"."1.1.0" or {});
+  };
+  features_.byteorder."1.1.0" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "1.1.0"."std" =
+        (f.byteorder."1.1.0"."std" or false) ||
+        (f.byteorder."1.1.0".default or false) ||
+        (byteorder."1.1.0"."default" or false); }
+      { "1.1.0".default = (f.byteorder."1.1.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# bytes-0.4.11
+
+  crates.bytes."0.4.11" = deps: { features?(features_.bytes."0.4.11" deps {}) }: buildRustCrate {
+    crateName = "bytes";
+    version = "0.4.11";
+    description = "Types and traits for working with bytes";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1lk8bnxcd8shiizarf0n6ljmj1542n90jw6lz6i270gxl7rzplmh";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."bytes"."0.4.11"."byteorder"}" deps)
+      (crates."iovec"."${deps."bytes"."0.4.11"."iovec"}" deps)
+    ]);
+    features = mkFeatures (features."bytes"."0.4.11" or {});
+  };
+  features_.bytes."0.4.11" = deps: f: updateFeatures f (rec {
+    byteorder = fold recursiveUpdate {} [
+      { "${deps.bytes."0.4.11".byteorder}"."i128" =
+        (f.byteorder."${deps.bytes."0.4.11".byteorder}"."i128" or false) ||
+        (bytes."0.4.11"."i128" or false) ||
+        (f."bytes"."0.4.11"."i128" or false); }
+      { "${deps.bytes."0.4.11".byteorder}".default = true; }
+    ];
+    bytes."0.4.11".default = (f.bytes."0.4.11".default or true);
+    iovec."${deps.bytes."0.4.11".iovec}".default = true;
+  }) [
+    (features_.byteorder."${deps."bytes"."0.4.11"."byteorder"}" deps)
+    (features_.iovec."${deps."bytes"."0.4.11"."iovec"}" deps)
+  ];
+
+
+# end
+# cargo-download-0.1.2
+
+  crates.cargo_download."0.1.2" = deps: { features?(features_.cargo_download."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "cargo-download";
+    version = "0.1.2";
+    description = "Cargo subcommand for downloading crate sources";
+    authors = [ "Karol Kuczmarski <karol.kuczmarski@gmail.com>" ];
+    sha256 = "1gfn0iabiriq0n9sqkyp2g73rw12mr9ng61fx198xaffflxk7g36";
+    crateBin =
+      [{  name = "cargo-download"; }];
+    dependencies = mapFeatures features ([
+      (crates."ansi_term"."${deps."cargo_download"."0.1.2"."ansi_term"}" deps)
+      (crates."clap"."${deps."cargo_download"."0.1.2"."clap"}" deps)
+      (crates."conv"."${deps."cargo_download"."0.1.2"."conv"}" deps)
+      (crates."derive_error"."${deps."cargo_download"."0.1.2"."derive_error"}" deps)
+      (crates."exitcode"."${deps."cargo_download"."0.1.2"."exitcode"}" deps)
+      (crates."flate2"."${deps."cargo_download"."0.1.2"."flate2"}" deps)
+      (crates."isatty"."${deps."cargo_download"."0.1.2"."isatty"}" deps)
+      (crates."itertools"."${deps."cargo_download"."0.1.2"."itertools"}" deps)
+      (crates."lazy_static"."${deps."cargo_download"."0.1.2"."lazy_static"}" deps)
+      (crates."log"."${deps."cargo_download"."0.1.2"."log"}" deps)
+      (crates."maplit"."${deps."cargo_download"."0.1.2"."maplit"}" deps)
+      (crates."reqwest"."${deps."cargo_download"."0.1.2"."reqwest"}" deps)
+      (crates."semver"."${deps."cargo_download"."0.1.2"."semver"}" deps)
+      (crates."serde_json"."${deps."cargo_download"."0.1.2"."serde_json"}" deps)
+      (crates."slog"."${deps."cargo_download"."0.1.2"."slog"}" deps)
+      (crates."slog_envlogger"."${deps."cargo_download"."0.1.2"."slog_envlogger"}" deps)
+      (crates."slog_stdlog"."${deps."cargo_download"."0.1.2"."slog_stdlog"}" deps)
+      (crates."slog_stream"."${deps."cargo_download"."0.1.2"."slog_stream"}" deps)
+      (crates."tar"."${deps."cargo_download"."0.1.2"."tar"}" deps)
+      (crates."time"."${deps."cargo_download"."0.1.2"."time"}" deps)
+    ]);
+  };
+  features_.cargo_download."0.1.2" = deps: f: updateFeatures f (rec {
+    ansi_term."${deps.cargo_download."0.1.2".ansi_term}".default = true;
+    cargo_download."0.1.2".default = (f.cargo_download."0.1.2".default or true);
+    clap."${deps.cargo_download."0.1.2".clap}".default = true;
+    conv."${deps.cargo_download."0.1.2".conv}".default = true;
+    derive_error."${deps.cargo_download."0.1.2".derive_error}".default = true;
+    exitcode."${deps.cargo_download."0.1.2".exitcode}".default = true;
+    flate2."${deps.cargo_download."0.1.2".flate2}".default = true;
+    isatty."${deps.cargo_download."0.1.2".isatty}".default = true;
+    itertools."${deps.cargo_download."0.1.2".itertools}".default = true;
+    lazy_static."${deps.cargo_download."0.1.2".lazy_static}".default = true;
+    log."${deps.cargo_download."0.1.2".log}".default = true;
+    maplit."${deps.cargo_download."0.1.2".maplit}".default = true;
+    reqwest."${deps.cargo_download."0.1.2".reqwest}".default = true;
+    semver."${deps.cargo_download."0.1.2".semver}".default = true;
+    serde_json."${deps.cargo_download."0.1.2".serde_json}".default = true;
+    slog."${deps.cargo_download."0.1.2".slog}".default = true;
+    slog_envlogger."${deps.cargo_download."0.1.2".slog_envlogger}".default = true;
+    slog_stdlog."${deps.cargo_download."0.1.2".slog_stdlog}".default = true;
+    slog_stream."${deps.cargo_download."0.1.2".slog_stream}".default = true;
+    tar."${deps.cargo_download."0.1.2".tar}".default = true;
+    time."${deps.cargo_download."0.1.2".time}".default = true;
+  }) [
+    (features_.ansi_term."${deps."cargo_download"."0.1.2"."ansi_term"}" deps)
+    (features_.clap."${deps."cargo_download"."0.1.2"."clap"}" deps)
+    (features_.conv."${deps."cargo_download"."0.1.2"."conv"}" deps)
+    (features_.derive_error."${deps."cargo_download"."0.1.2"."derive_error"}" deps)
+    (features_.exitcode."${deps."cargo_download"."0.1.2"."exitcode"}" deps)
+    (features_.flate2."${deps."cargo_download"."0.1.2"."flate2"}" deps)
+    (features_.isatty."${deps."cargo_download"."0.1.2"."isatty"}" deps)
+    (features_.itertools."${deps."cargo_download"."0.1.2"."itertools"}" deps)
+    (features_.lazy_static."${deps."cargo_download"."0.1.2"."lazy_static"}" deps)
+    (features_.log."${deps."cargo_download"."0.1.2"."log"}" deps)
+    (features_.maplit."${deps."cargo_download"."0.1.2"."maplit"}" deps)
+    (features_.reqwest."${deps."cargo_download"."0.1.2"."reqwest"}" deps)
+    (features_.semver."${deps."cargo_download"."0.1.2"."semver"}" deps)
+    (features_.serde_json."${deps."cargo_download"."0.1.2"."serde_json"}" deps)
+    (features_.slog."${deps."cargo_download"."0.1.2"."slog"}" deps)
+    (features_.slog_envlogger."${deps."cargo_download"."0.1.2"."slog_envlogger"}" deps)
+    (features_.slog_stdlog."${deps."cargo_download"."0.1.2"."slog_stdlog"}" deps)
+    (features_.slog_stream."${deps."cargo_download"."0.1.2"."slog_stream"}" deps)
+    (features_.tar."${deps."cargo_download"."0.1.2"."tar"}" deps)
+    (features_.time."${deps."cargo_download"."0.1.2"."time"}" deps)
+  ];
+
+
+# end
+# case-0.1.0
+
+  crates.case."0.1.0" = deps: { features?(features_.case."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "case";
+    version = "0.1.0";
+    description = "A set of letter case string helpers";
+    authors = [ "Skyler Lipthay <skyler.lipthay@gmail.com>" ];
+    sha256 = "06i1x3wqv30rkvlgj134qf9vzxhzz28bz41mm0rgki0i0f7gf96n";
+  };
+  features_.case."0.1.0" = deps: f: updateFeatures f (rec {
+    case."0.1.0".default = (f.case."0.1.0".default or true);
+  }) [];
+
+
+# end
+# cc-1.0.3
+
+  crates.cc."1.0.3" = deps: { features?(features_.cc."1.0.3" deps {}) }: buildRustCrate {
+    crateName = "cc";
+    version = "1.0.3";
+    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "193pwqgh79w6k0k29svyds5nnlrwx44myqyrw605d5jj4yk2zmpr";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."cc"."1.0.3" or {});
+  };
+  features_.cc."1.0.3" = deps: f: updateFeatures f (rec {
+    cc = fold recursiveUpdate {} [
+      { "1.0.3"."rayon" =
+        (f.cc."1.0.3"."rayon" or false) ||
+        (f.cc."1.0.3".parallel or false) ||
+        (cc."1.0.3"."parallel" or false); }
+      { "1.0.3".default = (f.cc."1.0.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# cfg-if-0.1.2
+
+  crates.cfg_if."0.1.2" = deps: { features?(features_.cfg_if."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "cfg-if";
+    version = "0.1.2";
+    description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0x06hvrrqy96m97593823vvxcgvjaxckghwyy2jcyc8qc7c6cyhi";
+  };
+  features_.cfg_if."0.1.2" = deps: f: updateFeatures f (rec {
+    cfg_if."0.1.2".default = (f.cfg_if."0.1.2".default or true);
+  }) [];
+
+
+# end
+# chrono-0.2.25
+
+  crates.chrono."0.2.25" = deps: { features?(features_.chrono."0.2.25" deps {}) }: buildRustCrate {
+    crateName = "chrono";
+    version = "0.2.25";
+    description = "Date and time library for Rust";
+    authors = [ "Kang Seonghoon <public+rust@mearie.org>" ];
+    sha256 = "0gsvqk8cnmm43qj3xyngqvfqh50cbdbqas7ik0wjgnvknirmmca7";
+    dependencies = mapFeatures features ([
+      (crates."num"."${deps."chrono"."0.2.25"."num"}" deps)
+      (crates."time"."${deps."chrono"."0.2.25"."time"}" deps)
+    ]);
+  };
+  features_.chrono."0.2.25" = deps: f: updateFeatures f (rec {
+    chrono."0.2.25".default = (f.chrono."0.2.25".default or true);
+    num."${deps.chrono."0.2.25".num}".default = (f.num."${deps.chrono."0.2.25".num}".default or false);
+    time."${deps.chrono."0.2.25".time}".default = true;
+  }) [
+    (features_.num."${deps."chrono"."0.2.25"."num"}" deps)
+    (features_.time."${deps."chrono"."0.2.25"."time"}" deps)
+  ];
+
+
+# end
+# clap-2.27.1
+
+  crates.clap."2.27.1" = deps: { features?(features_.clap."2.27.1" deps {}) }: buildRustCrate {
+    crateName = "clap";
+    version = "2.27.1";
+    description = "A simple to use, efficient, and full featured  Command Line Argument Parser\n";
+    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
+    sha256 = "0zx8rskqfl3iqn3vlyxzyd99hpifa7bm871akhxpz9wvrm688zaj";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."clap"."2.27.1"."bitflags"}" deps)
+      (crates."textwrap"."${deps."clap"."2.27.1"."textwrap"}" deps)
+      (crates."unicode_width"."${deps."clap"."2.27.1"."unicode_width"}" deps)
+    ]
+      ++ (if features.clap."2.27.1".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.27.1".ansi_term}" deps) ] else [])
+      ++ (if features.clap."2.27.1".atty or false then [ (crates.atty."${deps."clap"."2.27.1".atty}" deps) ] else [])
+      ++ (if features.clap."2.27.1".strsim or false then [ (crates.strsim."${deps."clap"."2.27.1".strsim}" deps) ] else [])
+      ++ (if features.clap."2.27.1".vec_map or false then [ (crates.vec_map."${deps."clap"."2.27.1".vec_map}" deps) ] else []));
+    features = mkFeatures (features."clap"."2.27.1" or {});
+  };
+  features_.clap."2.27.1" = deps: f: updateFeatures f (rec {
+    ansi_term."${deps.clap."2.27.1".ansi_term}".default = true;
+    atty."${deps.clap."2.27.1".atty}".default = true;
+    bitflags."${deps.clap."2.27.1".bitflags}".default = true;
+    clap = fold recursiveUpdate {} [
+      { "2.27.1"."ansi_term" =
+        (f.clap."2.27.1"."ansi_term" or false) ||
+        (f.clap."2.27.1".color or false) ||
+        (clap."2.27.1"."color" or false); }
+      { "2.27.1"."atty" =
+        (f.clap."2.27.1"."atty" or false) ||
+        (f.clap."2.27.1".color or false) ||
+        (clap."2.27.1"."color" or false); }
+      { "2.27.1"."clippy" =
+        (f.clap."2.27.1"."clippy" or false) ||
+        (f.clap."2.27.1".lints or false) ||
+        (clap."2.27.1"."lints" or false); }
+      { "2.27.1"."color" =
+        (f.clap."2.27.1"."color" or false) ||
+        (f.clap."2.27.1".default or false) ||
+        (clap."2.27.1"."default" or false); }
+      { "2.27.1"."strsim" =
+        (f.clap."2.27.1"."strsim" or false) ||
+        (f.clap."2.27.1".suggestions or false) ||
+        (clap."2.27.1"."suggestions" or false); }
+      { "2.27.1"."suggestions" =
+        (f.clap."2.27.1"."suggestions" or false) ||
+        (f.clap."2.27.1".default or false) ||
+        (clap."2.27.1"."default" or false); }
+      { "2.27.1"."term_size" =
+        (f.clap."2.27.1"."term_size" or false) ||
+        (f.clap."2.27.1".wrap_help or false) ||
+        (clap."2.27.1"."wrap_help" or false); }
+      { "2.27.1"."vec_map" =
+        (f.clap."2.27.1"."vec_map" or false) ||
+        (f.clap."2.27.1".default or false) ||
+        (clap."2.27.1"."default" or false); }
+      { "2.27.1"."yaml" =
+        (f.clap."2.27.1"."yaml" or false) ||
+        (f.clap."2.27.1".doc or false) ||
+        (clap."2.27.1"."doc" or false); }
+      { "2.27.1"."yaml-rust" =
+        (f.clap."2.27.1"."yaml-rust" or false) ||
+        (f.clap."2.27.1".yaml or false) ||
+        (clap."2.27.1"."yaml" or false); }
+      { "2.27.1".default = (f.clap."2.27.1".default or true); }
+    ];
+    strsim."${deps.clap."2.27.1".strsim}".default = true;
+    textwrap = fold recursiveUpdate {} [
+      { "${deps.clap."2.27.1".textwrap}"."term_size" =
+        (f.textwrap."${deps.clap."2.27.1".textwrap}"."term_size" or false) ||
+        (clap."2.27.1"."wrap_help" or false) ||
+        (f."clap"."2.27.1"."wrap_help" or false); }
+      { "${deps.clap."2.27.1".textwrap}".default = true; }
+    ];
+    unicode_width."${deps.clap."2.27.1".unicode_width}".default = true;
+    vec_map."${deps.clap."2.27.1".vec_map}".default = true;
+  }) [
+    (features_.ansi_term."${deps."clap"."2.27.1"."ansi_term"}" deps)
+    (features_.atty."${deps."clap"."2.27.1"."atty"}" deps)
+    (features_.bitflags."${deps."clap"."2.27.1"."bitflags"}" deps)
+    (features_.strsim."${deps."clap"."2.27.1"."strsim"}" deps)
+    (features_.textwrap."${deps."clap"."2.27.1"."textwrap"}" deps)
+    (features_.unicode_width."${deps."clap"."2.27.1"."unicode_width"}" deps)
+    (features_.vec_map."${deps."clap"."2.27.1"."vec_map"}" deps)
+  ];
+
+
+# end
+# cloudabi-0.0.3
+
+  crates.cloudabi."0.0.3" = deps: { features?(features_.cloudabi."0.0.3" deps {}) }: buildRustCrate {
+    crateName = "cloudabi";
+    version = "0.0.3";
+    description = "Low level interface to CloudABI. Contains all syscalls and related types.";
+    authors = [ "Nuxi (https://nuxi.nl/) and contributors" ];
+    sha256 = "1z9lby5sr6vslfd14d6igk03s7awf91mxpsfmsp3prxbxlk0x7h5";
+    libPath = "cloudabi.rs";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.cloudabi."0.0.3".bitflags or false then [ (crates.bitflags."${deps."cloudabi"."0.0.3".bitflags}" deps) ] else []));
+    features = mkFeatures (features."cloudabi"."0.0.3" or {});
+  };
+  features_.cloudabi."0.0.3" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.cloudabi."0.0.3".bitflags}".default = true;
+    cloudabi = fold recursiveUpdate {} [
+      { "0.0.3"."bitflags" =
+        (f.cloudabi."0.0.3"."bitflags" or false) ||
+        (f.cloudabi."0.0.3".default or false) ||
+        (cloudabi."0.0.3"."default" or false); }
+      { "0.0.3".default = (f.cloudabi."0.0.3".default or true); }
+    ];
+  }) [
+    (features_.bitflags."${deps."cloudabi"."0.0.3"."bitflags"}" deps)
+  ];
+
+
+# end
+# conv-0.3.3
+
+  crates.conv."0.3.3" = deps: { features?(features_.conv."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "conv";
+    version = "0.3.3";
+    description = "This crate provides a number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'.";
+    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
+    sha256 = "08rl72k1a48xah0ar5l9v1bw19pp8jdw2pdkd3vvj9ijsyyg9yik";
+    dependencies = mapFeatures features ([
+      (crates."custom_derive"."${deps."conv"."0.3.3"."custom_derive"}" deps)
+    ]);
+  };
+  features_.conv."0.3.3" = deps: f: updateFeatures f (rec {
+    conv."0.3.3".default = (f.conv."0.3.3".default or true);
+    custom_derive."${deps.conv."0.3.3".custom_derive}".default = true;
+  }) [
+    (features_.custom_derive."${deps."conv"."0.3.3"."custom_derive"}" deps)
+  ];
+
+
+# end
+# core-foundation-0.5.1
+
+  crates.core_foundation."0.5.1" = deps: { features?(features_.core_foundation."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "core-foundation";
+    version = "0.5.1";
+    description = "Bindings to Core Foundation for OS X";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "03s11z23rb1kk325c34rmsbd7k0l5rkzk4q6id55n174z28zqln1";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation_sys"."${deps."core_foundation"."0.5.1"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."core_foundation"."0.5.1"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."core_foundation"."0.5.1" or {});
+  };
+  features_.core_foundation."0.5.1" = deps: f: updateFeatures f (rec {
+    core_foundation = fold recursiveUpdate {} [
+      { "0.5.1"."chrono" =
+        (f.core_foundation."0.5.1"."chrono" or false) ||
+        (f.core_foundation."0.5.1".with-chrono or false) ||
+        (core_foundation."0.5.1"."with-chrono" or false); }
+      { "0.5.1"."uuid" =
+        (f.core_foundation."0.5.1"."uuid" or false) ||
+        (f.core_foundation."0.5.1".with-uuid or false) ||
+        (core_foundation."0.5.1"."with-uuid" or false); }
+      { "0.5.1".default = (f.core_foundation."0.5.1".default or true); }
+    ];
+    core_foundation_sys = fold recursiveUpdate {} [
+      { "${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_7_support" =
+        (f.core_foundation_sys."${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_7_support" or false) ||
+        (core_foundation."0.5.1"."mac_os_10_7_support" or false) ||
+        (f."core_foundation"."0.5.1"."mac_os_10_7_support" or false); }
+      { "${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_8_features" =
+        (f.core_foundation_sys."${deps.core_foundation."0.5.1".core_foundation_sys}"."mac_os_10_8_features" or false) ||
+        (core_foundation."0.5.1"."mac_os_10_8_features" or false) ||
+        (f."core_foundation"."0.5.1"."mac_os_10_8_features" or false); }
+      { "${deps.core_foundation."0.5.1".core_foundation_sys}".default = true; }
+    ];
+    libc."${deps.core_foundation."0.5.1".libc}".default = true;
+  }) [
+    (features_.core_foundation_sys."${deps."core_foundation"."0.5.1"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."core_foundation"."0.5.1"."libc"}" deps)
+  ];
+
+
+# end
+# core-foundation-sys-0.5.1
+
+  crates.core_foundation_sys."0.5.1" = deps: { features?(features_.core_foundation_sys."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "core-foundation-sys";
+    version = "0.5.1";
+    description = "Bindings to Core Foundation for OS X";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "0qbrasll5nw1bgr071i8s8jc975d0y4qfysf868bh9xp0f6vcypa";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."core_foundation_sys"."0.5.1"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."core_foundation_sys"."0.5.1" or {});
+  };
+  features_.core_foundation_sys."0.5.1" = deps: f: updateFeatures f (rec {
+    core_foundation_sys."0.5.1".default = (f.core_foundation_sys."0.5.1".default or true);
+    libc."${deps.core_foundation_sys."0.5.1".libc}".default = true;
+  }) [
+    (features_.libc."${deps."core_foundation_sys"."0.5.1"."libc"}" deps)
+  ];
+
+
+# end
+# crc32fast-1.1.1
+
+  crates.crc32fast."1.1.1" = deps: { features?(features_.crc32fast."1.1.1" deps {}) }: buildRustCrate {
+    crateName = "crc32fast";
+    version = "1.1.1";
+    description = "Fast, SIMD-accelerated CRC32 (IEEE) checksum computation";
+    authors = [ "Sam Rijs <srijs@airpost.net>" "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1rwvhb98w41mk5phr84mryally58f68h0v933772gdxqvqbcayqy";
+  };
+  features_.crc32fast."1.1.1" = deps: f: updateFeatures f (rec {
+    crc32fast."1.1.1".default = (f.crc32fast."1.1.1".default or true);
+  }) [];
+
+
+# end
+# crossbeam-0.2.10
+
+  crates.crossbeam."0.2.10" = deps: { features?(features_.crossbeam."0.2.10" deps {}) }: buildRustCrate {
+    crateName = "crossbeam";
+    version = "0.2.10";
+    description = "Support for lock-free data structures, synchronizers, and parallel programming";
+    authors = [ "Aaron Turon <aturon@mozilla.com>" ];
+    sha256 = "1k1a4q5gy7zakiw39hdzrblnw3kk4nsqmkdp1dpzh8h558140rhq";
+    features = mkFeatures (features."crossbeam"."0.2.10" or {});
+  };
+  features_.crossbeam."0.2.10" = deps: f: updateFeatures f (rec {
+    crossbeam."0.2.10".default = (f.crossbeam."0.2.10".default or true);
+  }) [];
+
+
+# end
+# crossbeam-deque-0.6.2
+
+  crates.crossbeam_deque."0.6.2" = deps: { features?(features_.crossbeam_deque."0.6.2" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-deque";
+    version = "0.6.2";
+    description = "Concurrent work-stealing deque";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "0qjdpq03snj6xp5gydgy1bdd5zzwpdxa57vhky3mf4djxiq81ara";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_epoch"."${deps."crossbeam_deque"."0.6.2"."crossbeam_epoch"}" deps)
+      (crates."crossbeam_utils"."${deps."crossbeam_deque"."0.6.2"."crossbeam_utils"}" deps)
+    ]);
+  };
+  features_.crossbeam_deque."0.6.2" = deps: f: updateFeatures f (rec {
+    crossbeam_deque."0.6.2".default = (f.crossbeam_deque."0.6.2".default or true);
+    crossbeam_epoch."${deps.crossbeam_deque."0.6.2".crossbeam_epoch}".default = true;
+    crossbeam_utils."${deps.crossbeam_deque."0.6.2".crossbeam_utils}".default = true;
+  }) [
+    (features_.crossbeam_epoch."${deps."crossbeam_deque"."0.6.2"."crossbeam_epoch"}" deps)
+    (features_.crossbeam_utils."${deps."crossbeam_deque"."0.6.2"."crossbeam_utils"}" deps)
+  ];
+
+
+# end
+# crossbeam-epoch-0.6.1
+
+  crates.crossbeam_epoch."0.6.1" = deps: { features?(features_.crossbeam_epoch."0.6.1" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-epoch";
+    version = "0.6.1";
+    description = "Epoch-based garbage collection";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "0qlwzsf2xmdjbh6pv9bxra2qdq72cmywq4fq1q114zw2s06zr039";
+    dependencies = mapFeatures features ([
+      (crates."arrayvec"."${deps."crossbeam_epoch"."0.6.1"."arrayvec"}" deps)
+      (crates."cfg_if"."${deps."crossbeam_epoch"."0.6.1"."cfg_if"}" deps)
+      (crates."crossbeam_utils"."${deps."crossbeam_epoch"."0.6.1"."crossbeam_utils"}" deps)
+      (crates."memoffset"."${deps."crossbeam_epoch"."0.6.1"."memoffset"}" deps)
+      (crates."scopeguard"."${deps."crossbeam_epoch"."0.6.1"."scopeguard"}" deps)
+    ]
+      ++ (if features.crossbeam_epoch."0.6.1".lazy_static or false then [ (crates.lazy_static."${deps."crossbeam_epoch"."0.6.1".lazy_static}" deps) ] else []));
+    features = mkFeatures (features."crossbeam_epoch"."0.6.1" or {});
+  };
+  features_.crossbeam_epoch."0.6.1" = deps: f: updateFeatures f (rec {
+    arrayvec = fold recursiveUpdate {} [
+      { "${deps.crossbeam_epoch."0.6.1".arrayvec}"."use_union" =
+        (f.arrayvec."${deps.crossbeam_epoch."0.6.1".arrayvec}"."use_union" or false) ||
+        (crossbeam_epoch."0.6.1"."nightly" or false) ||
+        (f."crossbeam_epoch"."0.6.1"."nightly" or false); }
+      { "${deps.crossbeam_epoch."0.6.1".arrayvec}".default = (f.arrayvec."${deps.crossbeam_epoch."0.6.1".arrayvec}".default or false); }
+    ];
+    cfg_if."${deps.crossbeam_epoch."0.6.1".cfg_if}".default = true;
+    crossbeam_epoch = fold recursiveUpdate {} [
+      { "0.6.1"."lazy_static" =
+        (f.crossbeam_epoch."0.6.1"."lazy_static" or false) ||
+        (f.crossbeam_epoch."0.6.1".std or false) ||
+        (crossbeam_epoch."0.6.1"."std" or false); }
+      { "0.6.1"."std" =
+        (f.crossbeam_epoch."0.6.1"."std" or false) ||
+        (f.crossbeam_epoch."0.6.1".default or false) ||
+        (crossbeam_epoch."0.6.1"."default" or false); }
+      { "0.6.1".default = (f.crossbeam_epoch."0.6.1".default or true); }
+    ];
+    crossbeam_utils = fold recursiveUpdate {} [
+      { "${deps.crossbeam_epoch."0.6.1".crossbeam_utils}"."std" =
+        (f.crossbeam_utils."${deps.crossbeam_epoch."0.6.1".crossbeam_utils}"."std" or false) ||
+        (crossbeam_epoch."0.6.1"."std" or false) ||
+        (f."crossbeam_epoch"."0.6.1"."std" or false); }
+      { "${deps.crossbeam_epoch."0.6.1".crossbeam_utils}".default = (f.crossbeam_utils."${deps.crossbeam_epoch."0.6.1".crossbeam_utils}".default or false); }
+    ];
+    lazy_static."${deps.crossbeam_epoch."0.6.1".lazy_static}".default = true;
+    memoffset."${deps.crossbeam_epoch."0.6.1".memoffset}".default = true;
+    scopeguard."${deps.crossbeam_epoch."0.6.1".scopeguard}".default = (f.scopeguard."${deps.crossbeam_epoch."0.6.1".scopeguard}".default or false);
+  }) [
+    (features_.arrayvec."${deps."crossbeam_epoch"."0.6.1"."arrayvec"}" deps)
+    (features_.cfg_if."${deps."crossbeam_epoch"."0.6.1"."cfg_if"}" deps)
+    (features_.crossbeam_utils."${deps."crossbeam_epoch"."0.6.1"."crossbeam_utils"}" deps)
+    (features_.lazy_static."${deps."crossbeam_epoch"."0.6.1"."lazy_static"}" deps)
+    (features_.memoffset."${deps."crossbeam_epoch"."0.6.1"."memoffset"}" deps)
+    (features_.scopeguard."${deps."crossbeam_epoch"."0.6.1"."scopeguard"}" deps)
+  ];
+
+
+# end
+# crossbeam-utils-0.6.1
+
+  crates.crossbeam_utils."0.6.1" = deps: { features?(features_.crossbeam_utils."0.6.1" deps {}) }: buildRustCrate {
+    crateName = "crossbeam-utils";
+    version = "0.6.1";
+    description = "Utilities for concurrent programming";
+    authors = [ "The Crossbeam Project Developers" ];
+    sha256 = "031lk6ls49yvwkdxhjm4fvg81iww01h108jq1cnlh88yzbcnwn2c";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."crossbeam_utils"."0.6.1"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."crossbeam_utils"."0.6.1" or {});
+  };
+  features_.crossbeam_utils."0.6.1" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.crossbeam_utils."0.6.1".cfg_if}".default = true;
+    crossbeam_utils = fold recursiveUpdate {} [
+      { "0.6.1"."std" =
+        (f.crossbeam_utils."0.6.1"."std" or false) ||
+        (f.crossbeam_utils."0.6.1".default or false) ||
+        (crossbeam_utils."0.6.1"."default" or false); }
+      { "0.6.1".default = (f.crossbeam_utils."0.6.1".default or true); }
+    ];
+  }) [
+    (features_.cfg_if."${deps."crossbeam_utils"."0.6.1"."cfg_if"}" deps)
+  ];
+
+
+# end
+# custom_derive-0.1.7
+
+  crates.custom_derive."0.1.7" = deps: { features?(features_.custom_derive."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "custom_derive";
+    version = "0.1.7";
+    description = "(Note: superseded by `macro-attr`) This crate provides a macro that enables the use of custom derive attributes.";
+    authors = [ "Daniel Keep <daniel.keep@gmail.com>" ];
+    sha256 = "160q3pzri2fgrr6czfdkwy1sbddki2za96r7ivvyii52qp1523zs";
+    features = mkFeatures (features."custom_derive"."0.1.7" or {});
+  };
+  features_.custom_derive."0.1.7" = deps: f: updateFeatures f (rec {
+    custom_derive = fold recursiveUpdate {} [
+      { "0.1.7"."std" =
+        (f.custom_derive."0.1.7"."std" or false) ||
+        (f.custom_derive."0.1.7".default or false) ||
+        (custom_derive."0.1.7"."default" or false); }
+      { "0.1.7".default = (f.custom_derive."0.1.7".default or true); }
+    ];
+  }) [];
+
+
+# end
+# derive-error-0.0.3
+
+  crates.derive_error."0.0.3" = deps: { features?(features_.derive_error."0.0.3" deps {}) }: buildRustCrate {
+    crateName = "derive-error";
+    version = "0.0.3";
+    description = "Derive macro for Error using macros 1.1";
+    authors = [ "rushmorem <rushmore@webenchanter.com>" ];
+    sha256 = "0239vzxn5xr9nm3i4d6hmqy7dv8llcjblgh1xixfk5dcgcqan77y";
+    procMacro = true;
+    dependencies = mapFeatures features ([
+      (crates."case"."${deps."derive_error"."0.0.3"."case"}" deps)
+      (crates."quote"."${deps."derive_error"."0.0.3"."quote"}" deps)
+      (crates."syn"."${deps."derive_error"."0.0.3"."syn"}" deps)
+    ]);
+  };
+  features_.derive_error."0.0.3" = deps: f: updateFeatures f (rec {
+    case."${deps.derive_error."0.0.3".case}".default = true;
+    derive_error."0.0.3".default = (f.derive_error."0.0.3".default or true);
+    quote."${deps.derive_error."0.0.3".quote}".default = true;
+    syn."${deps.derive_error."0.0.3".syn}".default = true;
+  }) [
+    (features_.case."${deps."derive_error"."0.0.3"."case"}" deps)
+    (features_.quote."${deps."derive_error"."0.0.3"."quote"}" deps)
+    (features_.syn."${deps."derive_error"."0.0.3"."syn"}" deps)
+  ];
+
+
+# end
+# dtoa-0.4.2
+
+  crates.dtoa."0.4.2" = deps: { features?(features_.dtoa."0.4.2" deps {}) }: buildRustCrate {
+    crateName = "dtoa";
+    version = "0.4.2";
+    description = "Fast functions for printing floating-point primitives to an io::Write";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1bxsh6fags7nr36vlz07ik2a1rzyipc8x1y30kjk832hf2pzadmw";
+  };
+  features_.dtoa."0.4.2" = deps: f: updateFeatures f (rec {
+    dtoa."0.4.2".default = (f.dtoa."0.4.2".default or true);
+  }) [];
+
+
+# end
+# either-1.4.0
+
+  crates.either."1.4.0" = deps: { features?(features_.either."1.4.0" deps {}) }: buildRustCrate {
+    crateName = "either";
+    version = "1.4.0";
+    description = "The enum [`Either`] with variants `Left` and `Right` is a general purpose sum type with two cases.\n";
+    authors = [ "bluss" ];
+    sha256 = "04kpfd84lvyrkb2z4sljlz2d3d5qczd0sb1yy37fgijq2yx3vb37";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."either"."1.4.0" or {});
+  };
+  features_.either."1.4.0" = deps: f: updateFeatures f (rec {
+    either = fold recursiveUpdate {} [
+      { "1.4.0"."use_std" =
+        (f.either."1.4.0"."use_std" or false) ||
+        (f.either."1.4.0".default or false) ||
+        (either."1.4.0"."default" or false); }
+      { "1.4.0".default = (f.either."1.4.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# encoding_rs-0.8.13
+
+  crates.encoding_rs."0.8.13" = deps: { features?(features_.encoding_rs."0.8.13" deps {}) }: buildRustCrate {
+    crateName = "encoding_rs";
+    version = "0.8.13";
+    description = "A Gecko-oriented implementation of the Encoding Standard";
+    authors = [ "Henri Sivonen <hsivonen@hsivonen.fi>" ];
+    sha256 = "1a91x1cnw1iz3hc32mvdmwhbqcfx36kk04pnil17mcii1ni6xyy5";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."encoding_rs"."0.8.13"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."encoding_rs"."0.8.13" or {});
+  };
+  features_.encoding_rs."0.8.13" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.encoding_rs."0.8.13".cfg_if}".default = true;
+    encoding_rs = fold recursiveUpdate {} [
+      { "0.8.13"."fast-big5-hanzi-encode" =
+        (f.encoding_rs."0.8.13"."fast-big5-hanzi-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-gb-hanzi-encode" =
+        (f.encoding_rs."0.8.13"."fast-gb-hanzi-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-hangul-encode" =
+        (f.encoding_rs."0.8.13"."fast-hangul-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-hanja-encode" =
+        (f.encoding_rs."0.8.13"."fast-hanja-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."fast-kanji-encode" =
+        (f.encoding_rs."0.8.13"."fast-kanji-encode" or false) ||
+        (f.encoding_rs."0.8.13".fast-legacy-encode or false) ||
+        (encoding_rs."0.8.13"."fast-legacy-encode" or false); }
+      { "0.8.13"."simd" =
+        (f.encoding_rs."0.8.13"."simd" or false) ||
+        (f.encoding_rs."0.8.13".simd-accel or false) ||
+        (encoding_rs."0.8.13"."simd-accel" or false); }
+      { "0.8.13".default = (f.encoding_rs."0.8.13".default or true); }
+    ];
+  }) [
+    (features_.cfg_if."${deps."encoding_rs"."0.8.13"."cfg_if"}" deps)
+  ];
+
+
+# end
+# exitcode-1.1.2
+
+  crates.exitcode."1.1.2" = deps: { features?(features_.exitcode."1.1.2" deps {}) }: buildRustCrate {
+    crateName = "exitcode";
+    version = "1.1.2";
+    description = "Preferred system exit codes as defined by sysexits.h";
+    authors = [ "Ben Wilber <benwilber@gmail.com>" ];
+    sha256 = "1cw9p4vzbscvyrbzv7z68gv2cairrns2d4wcb4nkahkcjk25phip";
+  };
+  features_.exitcode."1.1.2" = deps: f: updateFeatures f (rec {
+    exitcode."1.1.2".default = (f.exitcode."1.1.2".default or true);
+  }) [];
+
+
+# end
+# filetime-0.1.14
+
+  crates.filetime."0.1.14" = deps: { features?(features_.filetime."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "filetime";
+    version = "0.1.14";
+    description = "Platform-agnostic accessors of timestamps in File metadata\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "0i6dvc3ba7vl1iccc91k7c9bv9j5md98mbvlmfy0kicikx0ffn08";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."filetime"."0.1.14"."cfg_if"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."filetime"."0.1.14"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."filetime"."0.1.14"."libc"}" deps)
+    ]) else []);
+  };
+  features_.filetime."0.1.14" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.filetime."0.1.14".cfg_if}".default = true;
+    filetime."0.1.14".default = (f.filetime."0.1.14".default or true);
+    libc."${deps.filetime."0.1.14".libc}".default = true;
+    redox_syscall."${deps.filetime."0.1.14".redox_syscall}".default = true;
+  }) [
+    (features_.cfg_if."${deps."filetime"."0.1.14"."cfg_if"}" deps)
+    (features_.redox_syscall."${deps."filetime"."0.1.14"."redox_syscall"}" deps)
+    (features_.libc."${deps."filetime"."0.1.14"."libc"}" deps)
+  ];
+
+
+# end
+# flate2-0.2.20
+
+  crates.flate2."0.2.20" = deps: { features?(features_.flate2."0.2.20" deps {}) }: buildRustCrate {
+    crateName = "flate2";
+    version = "0.2.20";
+    description = "Bindings to miniz.c for DEFLATE compression and decompression exposed as\nReader/Writer streams. Contains bindings for zlib, deflate, and gzip-based\nstreams.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1am0d2vmqym1vcg7rvv516vpcrbhdn1jisy0q03r3nbzdzh54ppl";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."flate2"."0.2.20"."libc"}" deps)
+    ]
+      ++ (if features.flate2."0.2.20".miniz-sys or false then [ (crates.miniz_sys."${deps."flate2"."0.2.20".miniz_sys}" deps) ] else []));
+    features = mkFeatures (features."flate2"."0.2.20" or {});
+  };
+  features_.flate2."0.2.20" = deps: f: updateFeatures f (rec {
+    flate2 = fold recursiveUpdate {} [
+      { "0.2.20"."futures" =
+        (f.flate2."0.2.20"."futures" or false) ||
+        (f.flate2."0.2.20".tokio or false) ||
+        (flate2."0.2.20"."tokio" or false); }
+      { "0.2.20"."libz-sys" =
+        (f.flate2."0.2.20"."libz-sys" or false) ||
+        (f.flate2."0.2.20".zlib or false) ||
+        (flate2."0.2.20"."zlib" or false); }
+      { "0.2.20"."miniz-sys" =
+        (f.flate2."0.2.20"."miniz-sys" or false) ||
+        (f.flate2."0.2.20".default or false) ||
+        (flate2."0.2.20"."default" or false); }
+      { "0.2.20"."tokio-io" =
+        (f.flate2."0.2.20"."tokio-io" or false) ||
+        (f.flate2."0.2.20".tokio or false) ||
+        (flate2."0.2.20"."tokio" or false); }
+      { "0.2.20".default = (f.flate2."0.2.20".default or true); }
+    ];
+    libc."${deps.flate2."0.2.20".libc}".default = true;
+    miniz_sys."${deps.flate2."0.2.20".miniz_sys}".default = true;
+  }) [
+    (features_.libc."${deps."flate2"."0.2.20"."libc"}" deps)
+    (features_.miniz_sys."${deps."flate2"."0.2.20"."miniz_sys"}" deps)
+  ];
+
+
+# end
+# fnv-1.0.6
+
+  crates.fnv."1.0.6" = deps: { features?(features_.fnv."1.0.6" deps {}) }: buildRustCrate {
+    crateName = "fnv";
+    version = "1.0.6";
+    description = "Fowler–Noll–Vo hash function";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "128mlh23y3gg6ag5h8iiqlcbl59smisdzraqy88ldrf75kbw27ip";
+    libPath = "lib.rs";
+  };
+  features_.fnv."1.0.6" = deps: f: updateFeatures f (rec {
+    fnv."1.0.6".default = (f.fnv."1.0.6".default or true);
+  }) [];
+
+
+# end
+# foreign-types-0.3.2
+
+  crates.foreign_types."0.3.2" = deps: { features?(features_.foreign_types."0.3.2" deps {}) }: buildRustCrate {
+    crateName = "foreign-types";
+    version = "0.3.2";
+    description = "A framework for Rust wrappers over C APIs";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "105n8sp2djb1s5lzrw04p7ss3dchr5qa3canmynx396nh3vwm2p8";
+    dependencies = mapFeatures features ([
+      (crates."foreign_types_shared"."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+    ]);
+  };
+  features_.foreign_types."0.3.2" = deps: f: updateFeatures f (rec {
+    foreign_types."0.3.2".default = (f.foreign_types."0.3.2".default or true);
+    foreign_types_shared."${deps.foreign_types."0.3.2".foreign_types_shared}".default = true;
+  }) [
+    (features_.foreign_types_shared."${deps."foreign_types"."0.3.2"."foreign_types_shared"}" deps)
+  ];
+
+
+# end
+# foreign-types-shared-0.1.1
+
+  crates.foreign_types_shared."0.1.1" = deps: { features?(features_.foreign_types_shared."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "foreign-types-shared";
+    version = "0.1.1";
+    description = "An internal crate used by foreign-types";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0b6cnvqbflws8dxywk4589vgbz80049lz4x1g9dfy4s1ppd3g4z5";
+  };
+  features_.foreign_types_shared."0.1.1" = deps: f: updateFeatures f (rec {
+    foreign_types_shared."0.1.1".default = (f.foreign_types_shared."0.1.1".default or true);
+  }) [];
+
+
+# end
+# fuchsia-zircon-0.2.1
+
+  crates.fuchsia_zircon."0.2.1" = deps: { features?(features_.fuchsia_zircon."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.2.1";
+    description = "Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0yd4rd7ql1vdr349p6vgq2dnwmpylky1kjp8g1zgvp250jxrhddb";
+    dependencies = mapFeatures features ([
+      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.2.1"."fuchsia_zircon_sys"}" deps)
+    ]);
+  };
+  features_.fuchsia_zircon."0.2.1" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon."0.2.1".default = (f.fuchsia_zircon."0.2.1".default or true);
+    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.2.1".fuchsia_zircon_sys}".default = true;
+  }) [
+    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.2.1"."fuchsia_zircon_sys"}" deps)
+  ];
+
+
+# end
+# fuchsia-zircon-0.3.3
+
+  crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon";
+    version = "0.3.3";
+    description = "Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
+      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
+    ]);
+  };
+  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.fuchsia_zircon."0.3.3".bitflags}".default = true;
+    fuchsia_zircon."0.3.3".default = (f.fuchsia_zircon."0.3.3".default or true);
+    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.3.3".fuchsia_zircon_sys}".default = true;
+  }) [
+    (features_.bitflags."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
+    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
+  ];
+
+
+# end
+# fuchsia-zircon-sys-0.2.0
+
+  crates.fuchsia_zircon_sys."0.2.0" = deps: { features?(features_.fuchsia_zircon_sys."0.2.0" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.2.0";
+    description = "Low-level Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "1yrqsrjwlhl3di6prxf5xmyd82gyjaysldbka5wwk83z11mpqh4w";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."fuchsia_zircon_sys"."0.2.0"."bitflags"}" deps)
+    ]);
+  };
+  features_.fuchsia_zircon_sys."0.2.0" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.fuchsia_zircon_sys."0.2.0".bitflags}".default = true;
+    fuchsia_zircon_sys."0.2.0".default = (f.fuchsia_zircon_sys."0.2.0".default or true);
+  }) [
+    (features_.bitflags."${deps."fuchsia_zircon_sys"."0.2.0"."bitflags"}" deps)
+  ];
+
+
+# end
+# fuchsia-zircon-sys-0.3.3
+
+  crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "fuchsia-zircon-sys";
+    version = "0.3.3";
+    description = "Low-level Rust bindings for the Zircon kernel";
+    authors = [ "Raph Levien <raph@google.com>" ];
+    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
+  };
+  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon_sys."0.3.3".default = (f.fuchsia_zircon_sys."0.3.3".default or true);
+  }) [];
+
+
+# end
+# futures-0.1.25
+
+  crates.futures."0.1.25" = deps: { features?(features_.futures."0.1.25" deps {}) }: buildRustCrate {
+    crateName = "futures";
+    version = "0.1.25";
+    description = "An implementation of futures and streams featuring zero allocations,\ncomposability, and iterator-like interfaces.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1gdn9z3mi3jjzbxgvawqh90895130c3ydks55rshja0ncpn985q3";
+    features = mkFeatures (features."futures"."0.1.25" or {});
+  };
+  features_.futures."0.1.25" = deps: f: updateFeatures f (rec {
+    futures = fold recursiveUpdate {} [
+      { "0.1.25"."use_std" =
+        (f.futures."0.1.25"."use_std" or false) ||
+        (f.futures."0.1.25".default or false) ||
+        (futures."0.1.25"."default" or false); }
+      { "0.1.25"."with-deprecated" =
+        (f.futures."0.1.25"."with-deprecated" or false) ||
+        (f.futures."0.1.25".default or false) ||
+        (futures."0.1.25"."default" or false); }
+      { "0.1.25".default = (f.futures."0.1.25".default or true); }
+    ];
+  }) [];
+
+
+# end
+# futures-cpupool-0.1.7
+
+  crates.futures_cpupool."0.1.7" = deps: { features?(features_.futures_cpupool."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "futures-cpupool";
+    version = "0.1.7";
+    description = "An implementation of thread pools which hand out futures to the results of the\ncomputation on the threads themselves.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1m0z5d54q1zr687acb4fh5fb3x692vr5ais6135lvp7vxap6p0xb";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."futures_cpupool"."0.1.7"."futures"}" deps)
+      (crates."num_cpus"."${deps."futures_cpupool"."0.1.7"."num_cpus"}" deps)
+    ]);
+    features = mkFeatures (features."futures_cpupool"."0.1.7" or {});
+  };
+  features_.futures_cpupool."0.1.7" = deps: f: updateFeatures f (rec {
+    futures = fold recursiveUpdate {} [
+      { "${deps.futures_cpupool."0.1.7".futures}"."use_std" = true; }
+      { "${deps.futures_cpupool."0.1.7".futures}"."with-deprecated" =
+        (f.futures."${deps.futures_cpupool."0.1.7".futures}"."with-deprecated" or false) ||
+        (futures_cpupool."0.1.7"."with-deprecated" or false) ||
+        (f."futures_cpupool"."0.1.7"."with-deprecated" or false); }
+      { "${deps.futures_cpupool."0.1.7".futures}".default = (f.futures."${deps.futures_cpupool."0.1.7".futures}".default or false); }
+    ];
+    futures_cpupool = fold recursiveUpdate {} [
+      { "0.1.7"."with-deprecated" =
+        (f.futures_cpupool."0.1.7"."with-deprecated" or false) ||
+        (f.futures_cpupool."0.1.7".default or false) ||
+        (futures_cpupool."0.1.7"."default" or false); }
+      { "0.1.7".default = (f.futures_cpupool."0.1.7".default or true); }
+    ];
+    num_cpus."${deps.futures_cpupool."0.1.7".num_cpus}".default = true;
+  }) [
+    (features_.futures."${deps."futures_cpupool"."0.1.7"."futures"}" deps)
+    (features_.num_cpus."${deps."futures_cpupool"."0.1.7"."num_cpus"}" deps)
+  ];
+
+
+# end
+# h2-0.1.13
+
+  crates.h2."0.1.13" = deps: { features?(features_.h2."0.1.13" deps {}) }: buildRustCrate {
+    crateName = "h2";
+    version = "0.1.13";
+    description = "An HTTP/2.0 client and server";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1nmbr5i1ssqbnfwmkgsfzghzr4m8676z38s2dmzs9gchha7n8wv7";
+    dependencies = mapFeatures features ([
+      (crates."byteorder"."${deps."h2"."0.1.13"."byteorder"}" deps)
+      (crates."bytes"."${deps."h2"."0.1.13"."bytes"}" deps)
+      (crates."fnv"."${deps."h2"."0.1.13"."fnv"}" deps)
+      (crates."futures"."${deps."h2"."0.1.13"."futures"}" deps)
+      (crates."http"."${deps."h2"."0.1.13"."http"}" deps)
+      (crates."indexmap"."${deps."h2"."0.1.13"."indexmap"}" deps)
+      (crates."log"."${deps."h2"."0.1.13"."log"}" deps)
+      (crates."slab"."${deps."h2"."0.1.13"."slab"}" deps)
+      (crates."string"."${deps."h2"."0.1.13"."string"}" deps)
+      (crates."tokio_io"."${deps."h2"."0.1.13"."tokio_io"}" deps)
+    ]);
+    features = mkFeatures (features."h2"."0.1.13" or {});
+  };
+  features_.h2."0.1.13" = deps: f: updateFeatures f (rec {
+    byteorder."${deps.h2."0.1.13".byteorder}".default = true;
+    bytes."${deps.h2."0.1.13".bytes}".default = true;
+    fnv."${deps.h2."0.1.13".fnv}".default = true;
+    futures."${deps.h2."0.1.13".futures}".default = true;
+    h2."0.1.13".default = (f.h2."0.1.13".default or true);
+    http."${deps.h2."0.1.13".http}".default = true;
+    indexmap."${deps.h2."0.1.13".indexmap}".default = true;
+    log."${deps.h2."0.1.13".log}".default = true;
+    slab."${deps.h2."0.1.13".slab}".default = true;
+    string."${deps.h2."0.1.13".string}".default = true;
+    tokio_io."${deps.h2."0.1.13".tokio_io}".default = true;
+  }) [
+    (features_.byteorder."${deps."h2"."0.1.13"."byteorder"}" deps)
+    (features_.bytes."${deps."h2"."0.1.13"."bytes"}" deps)
+    (features_.fnv."${deps."h2"."0.1.13"."fnv"}" deps)
+    (features_.futures."${deps."h2"."0.1.13"."futures"}" deps)
+    (features_.http."${deps."h2"."0.1.13"."http"}" deps)
+    (features_.indexmap."${deps."h2"."0.1.13"."indexmap"}" deps)
+    (features_.log."${deps."h2"."0.1.13"."log"}" deps)
+    (features_.slab."${deps."h2"."0.1.13"."slab"}" deps)
+    (features_.string."${deps."h2"."0.1.13"."string"}" deps)
+    (features_.tokio_io."${deps."h2"."0.1.13"."tokio_io"}" deps)
+  ];
+
+
+# end
+# http-0.1.14
+
+  crates.http."0.1.14" = deps: { features?(features_.http."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "http";
+    version = "0.1.14";
+    description = "A set of types for representing HTTP requests and responses.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Carl Lerche <me@carllerche.com>" "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1828cz2fh25nmp9rca0yzr548phsvkmzsqhspjnscqg1l9yc1557";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."http"."0.1.14"."bytes"}" deps)
+      (crates."fnv"."${deps."http"."0.1.14"."fnv"}" deps)
+      (crates."itoa"."${deps."http"."0.1.14"."itoa"}" deps)
+    ]);
+  };
+  features_.http."0.1.14" = deps: f: updateFeatures f (rec {
+    bytes."${deps.http."0.1.14".bytes}".default = true;
+    fnv."${deps.http."0.1.14".fnv}".default = true;
+    http."0.1.14".default = (f.http."0.1.14".default or true);
+    itoa."${deps.http."0.1.14".itoa}".default = true;
+  }) [
+    (features_.bytes."${deps."http"."0.1.14"."bytes"}" deps)
+    (features_.fnv."${deps."http"."0.1.14"."fnv"}" deps)
+    (features_.itoa."${deps."http"."0.1.14"."itoa"}" deps)
+  ];
+
+
+# end
+# httparse-1.2.3
+
+  crates.httparse."1.2.3" = deps: { features?(features_.httparse."1.2.3" deps {}) }: buildRustCrate {
+    crateName = "httparse";
+    version = "1.2.3";
+    description = "A tiny, safe, speedy, zero-copy HTTP/1.x parser.";
+    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
+    sha256 = "13x17y9bip0bija06y4vwpgh8jdmdi2gsvjq02kyfy0fbp5cqa93";
+    features = mkFeatures (features."httparse"."1.2.3" or {});
+  };
+  features_.httparse."1.2.3" = deps: f: updateFeatures f (rec {
+    httparse = fold recursiveUpdate {} [
+      { "1.2.3"."std" =
+        (f.httparse."1.2.3"."std" or false) ||
+        (f.httparse."1.2.3".default or false) ||
+        (httparse."1.2.3"."default" or false); }
+      { "1.2.3".default = (f.httparse."1.2.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# hyper-0.12.16
+
+  crates.hyper."0.12.16" = deps: { features?(features_.hyper."0.12.16" deps {}) }: buildRustCrate {
+    crateName = "hyper";
+    version = "0.12.16";
+    description = "A fast and correct HTTP library.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1h5h9swxh02jcg1m4cvwb5nmkb8z9g4b0p4wfbhfvsd7wf14qr0y";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."hyper"."0.12.16"."bytes"}" deps)
+      (crates."futures"."${deps."hyper"."0.12.16"."futures"}" deps)
+      (crates."h2"."${deps."hyper"."0.12.16"."h2"}" deps)
+      (crates."http"."${deps."hyper"."0.12.16"."http"}" deps)
+      (crates."httparse"."${deps."hyper"."0.12.16"."httparse"}" deps)
+      (crates."iovec"."${deps."hyper"."0.12.16"."iovec"}" deps)
+      (crates."itoa"."${deps."hyper"."0.12.16"."itoa"}" deps)
+      (crates."log"."${deps."hyper"."0.12.16"."log"}" deps)
+      (crates."time"."${deps."hyper"."0.12.16"."time"}" deps)
+      (crates."tokio_io"."${deps."hyper"."0.12.16"."tokio_io"}" deps)
+      (crates."want"."${deps."hyper"."0.12.16"."want"}" deps)
+    ]
+      ++ (if features.hyper."0.12.16".futures-cpupool or false then [ (crates.futures_cpupool."${deps."hyper"."0.12.16".futures_cpupool}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".net2 or false then [ (crates.net2."${deps."hyper"."0.12.16".net2}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio or false then [ (crates.tokio."${deps."hyper"."0.12.16".tokio}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-executor or false then [ (crates.tokio_executor."${deps."hyper"."0.12.16".tokio_executor}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-reactor or false then [ (crates.tokio_reactor."${deps."hyper"."0.12.16".tokio_reactor}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-tcp or false then [ (crates.tokio_tcp."${deps."hyper"."0.12.16".tokio_tcp}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-threadpool or false then [ (crates.tokio_threadpool."${deps."hyper"."0.12.16".tokio_threadpool}" deps) ] else [])
+      ++ (if features.hyper."0.12.16".tokio-timer or false then [ (crates.tokio_timer."${deps."hyper"."0.12.16".tokio_timer}" deps) ] else []));
+    features = mkFeatures (features."hyper"."0.12.16" or {});
+  };
+  features_.hyper."0.12.16" = deps: f: updateFeatures f (rec {
+    bytes."${deps.hyper."0.12.16".bytes}".default = true;
+    futures."${deps.hyper."0.12.16".futures}".default = true;
+    futures_cpupool."${deps.hyper."0.12.16".futures_cpupool}".default = true;
+    h2."${deps.hyper."0.12.16".h2}".default = true;
+    http."${deps.hyper."0.12.16".http}".default = true;
+    httparse."${deps.hyper."0.12.16".httparse}".default = true;
+    hyper = fold recursiveUpdate {} [
+      { "0.12.16"."__internal_flaky_tests" =
+        (f.hyper."0.12.16"."__internal_flaky_tests" or false) ||
+        (f.hyper."0.12.16".default or false) ||
+        (hyper."0.12.16"."default" or false); }
+      { "0.12.16"."futures-cpupool" =
+        (f.hyper."0.12.16"."futures-cpupool" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."net2" =
+        (f.hyper."0.12.16"."net2" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."runtime" =
+        (f.hyper."0.12.16"."runtime" or false) ||
+        (f.hyper."0.12.16".default or false) ||
+        (hyper."0.12.16"."default" or false); }
+      { "0.12.16"."tokio" =
+        (f.hyper."0.12.16"."tokio" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-executor" =
+        (f.hyper."0.12.16"."tokio-executor" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-reactor" =
+        (f.hyper."0.12.16"."tokio-reactor" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-tcp" =
+        (f.hyper."0.12.16"."tokio-tcp" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-threadpool" =
+        (f.hyper."0.12.16"."tokio-threadpool" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16"."tokio-timer" =
+        (f.hyper."0.12.16"."tokio-timer" or false) ||
+        (f.hyper."0.12.16".runtime or false) ||
+        (hyper."0.12.16"."runtime" or false); }
+      { "0.12.16".default = (f.hyper."0.12.16".default or true); }
+    ];
+    iovec."${deps.hyper."0.12.16".iovec}".default = true;
+    itoa."${deps.hyper."0.12.16".itoa}".default = true;
+    log."${deps.hyper."0.12.16".log}".default = true;
+    net2."${deps.hyper."0.12.16".net2}".default = true;
+    time."${deps.hyper."0.12.16".time}".default = true;
+    tokio."${deps.hyper."0.12.16".tokio}".default = true;
+    tokio_executor."${deps.hyper."0.12.16".tokio_executor}".default = true;
+    tokio_io."${deps.hyper."0.12.16".tokio_io}".default = true;
+    tokio_reactor."${deps.hyper."0.12.16".tokio_reactor}".default = true;
+    tokio_tcp."${deps.hyper."0.12.16".tokio_tcp}".default = true;
+    tokio_threadpool."${deps.hyper."0.12.16".tokio_threadpool}".default = true;
+    tokio_timer."${deps.hyper."0.12.16".tokio_timer}".default = true;
+    want."${deps.hyper."0.12.16".want}".default = true;
+  }) [
+    (features_.bytes."${deps."hyper"."0.12.16"."bytes"}" deps)
+    (features_.futures."${deps."hyper"."0.12.16"."futures"}" deps)
+    (features_.futures_cpupool."${deps."hyper"."0.12.16"."futures_cpupool"}" deps)
+    (features_.h2."${deps."hyper"."0.12.16"."h2"}" deps)
+    (features_.http."${deps."hyper"."0.12.16"."http"}" deps)
+    (features_.httparse."${deps."hyper"."0.12.16"."httparse"}" deps)
+    (features_.iovec."${deps."hyper"."0.12.16"."iovec"}" deps)
+    (features_.itoa."${deps."hyper"."0.12.16"."itoa"}" deps)
+    (features_.log."${deps."hyper"."0.12.16"."log"}" deps)
+    (features_.net2."${deps."hyper"."0.12.16"."net2"}" deps)
+    (features_.time."${deps."hyper"."0.12.16"."time"}" deps)
+    (features_.tokio."${deps."hyper"."0.12.16"."tokio"}" deps)
+    (features_.tokio_executor."${deps."hyper"."0.12.16"."tokio_executor"}" deps)
+    (features_.tokio_io."${deps."hyper"."0.12.16"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."hyper"."0.12.16"."tokio_reactor"}" deps)
+    (features_.tokio_tcp."${deps."hyper"."0.12.16"."tokio_tcp"}" deps)
+    (features_.tokio_threadpool."${deps."hyper"."0.12.16"."tokio_threadpool"}" deps)
+    (features_.tokio_timer."${deps."hyper"."0.12.16"."tokio_timer"}" deps)
+    (features_.want."${deps."hyper"."0.12.16"."want"}" deps)
+  ];
+
+
+# end
+# hyper-tls-0.3.1
+
+  crates.hyper_tls."0.3.1" = deps: { features?(features_.hyper_tls."0.3.1" deps {}) }: buildRustCrate {
+    crateName = "hyper-tls";
+    version = "0.3.1";
+    description = "Default TLS implementation for use with hyper";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0sk46mmnccxgxwn62rl5m58c2ivwgxgd590cjwg60pjkhx9qn5r7";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."hyper_tls"."0.3.1"."bytes"}" deps)
+      (crates."futures"."${deps."hyper_tls"."0.3.1"."futures"}" deps)
+      (crates."hyper"."${deps."hyper_tls"."0.3.1"."hyper"}" deps)
+      (crates."native_tls"."${deps."hyper_tls"."0.3.1"."native_tls"}" deps)
+      (crates."tokio_io"."${deps."hyper_tls"."0.3.1"."tokio_io"}" deps)
+    ]);
+    features = mkFeatures (features."hyper_tls"."0.3.1" or {});
+  };
+  features_.hyper_tls."0.3.1" = deps: f: updateFeatures f (rec {
+    bytes."${deps.hyper_tls."0.3.1".bytes}".default = true;
+    futures."${deps.hyper_tls."0.3.1".futures}".default = true;
+    hyper."${deps.hyper_tls."0.3.1".hyper}".default = true;
+    hyper_tls."0.3.1".default = (f.hyper_tls."0.3.1".default or true);
+    native_tls = fold recursiveUpdate {} [
+      { "${deps.hyper_tls."0.3.1".native_tls}"."vendored" =
+        (f.native_tls."${deps.hyper_tls."0.3.1".native_tls}"."vendored" or false) ||
+        (hyper_tls."0.3.1"."vendored" or false) ||
+        (f."hyper_tls"."0.3.1"."vendored" or false); }
+      { "${deps.hyper_tls."0.3.1".native_tls}".default = true; }
+    ];
+    tokio_io."${deps.hyper_tls."0.3.1".tokio_io}".default = true;
+  }) [
+    (features_.bytes."${deps."hyper_tls"."0.3.1"."bytes"}" deps)
+    (features_.futures."${deps."hyper_tls"."0.3.1"."futures"}" deps)
+    (features_.hyper."${deps."hyper_tls"."0.3.1"."hyper"}" deps)
+    (features_.native_tls."${deps."hyper_tls"."0.3.1"."native_tls"}" deps)
+    (features_.tokio_io."${deps."hyper_tls"."0.3.1"."tokio_io"}" deps)
+  ];
+
+
+# end
+# idna-0.1.4
+
+  crates.idna."0.1.4" = deps: { features?(features_.idna."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "idna";
+    version = "0.1.4";
+    description = "IDNA (Internationalizing Domain Names in Applications) and Punycode.";
+    authors = [ "The rust-url developers" ];
+    sha256 = "15j44qgjx1skwg9i7f4cm36ni4n99b1ayx23yxx7axxcw8vjf336";
+    dependencies = mapFeatures features ([
+      (crates."matches"."${deps."idna"."0.1.4"."matches"}" deps)
+      (crates."unicode_bidi"."${deps."idna"."0.1.4"."unicode_bidi"}" deps)
+      (crates."unicode_normalization"."${deps."idna"."0.1.4"."unicode_normalization"}" deps)
+    ]);
+  };
+  features_.idna."0.1.4" = deps: f: updateFeatures f (rec {
+    idna."0.1.4".default = (f.idna."0.1.4".default or true);
+    matches."${deps.idna."0.1.4".matches}".default = true;
+    unicode_bidi."${deps.idna."0.1.4".unicode_bidi}".default = true;
+    unicode_normalization."${deps.idna."0.1.4".unicode_normalization}".default = true;
+  }) [
+    (features_.matches."${deps."idna"."0.1.4"."matches"}" deps)
+    (features_.unicode_bidi."${deps."idna"."0.1.4"."unicode_bidi"}" deps)
+    (features_.unicode_normalization."${deps."idna"."0.1.4"."unicode_normalization"}" deps)
+  ];
+
+
+# end
+# indexmap-1.0.2
+
+  crates.indexmap."1.0.2" = deps: { features?(features_.indexmap."1.0.2" deps {}) }: buildRustCrate {
+    crateName = "indexmap";
+    version = "1.0.2";
+    description = "A hash table with consistent order and fast iteration.\n\nThe indexmap is a hash table where the iteration order of the key-value\npairs is independent of the hash values of the keys. It has the usual\nhash table functionality, it preserves insertion order except after\nremovals, and it allows lookup of its elements by either hash table key\nor numerical index. A corresponding hash set type is also provided.\n\nThis crate was initially published under the name ordermap, but it was renamed to\nindexmap.\n";
+    authors = [ "bluss" "Josh Stone <cuviper@gmail.com>" ];
+    sha256 = "18a0cn5xy3a7wswxg5lwfg3j4sh5blk28ykw0ysgr486djd353gf";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."indexmap"."1.0.2" or {});
+  };
+  features_.indexmap."1.0.2" = deps: f: updateFeatures f (rec {
+    indexmap = fold recursiveUpdate {} [
+      { "1.0.2"."serde" =
+        (f.indexmap."1.0.2"."serde" or false) ||
+        (f.indexmap."1.0.2".serde-1 or false) ||
+        (indexmap."1.0.2"."serde-1" or false); }
+      { "1.0.2".default = (f.indexmap."1.0.2".default or true); }
+    ];
+  }) [];
+
+
+# end
+# iovec-0.1.1
+
+  crates.iovec."0.1.1" = deps: { features?(features_.iovec."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "iovec";
+    version = "0.1.1";
+    description = "Portable buffer type for scatter/gather I/O operations\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "14fns3g3arbql6lkczf2gbbzaqh22mfv7y1wq5rr2y8jhh5m8jmm";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."iovec"."0.1.1"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."iovec"."0.1.1"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.iovec."0.1.1" = deps: f: updateFeatures f (rec {
+    iovec."0.1.1".default = (f.iovec."0.1.1".default or true);
+    libc."${deps.iovec."0.1.1".libc}".default = true;
+    winapi."${deps.iovec."0.1.1".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."iovec"."0.1.1"."libc"}" deps)
+    (features_.winapi."${deps."iovec"."0.1.1"."winapi"}" deps)
+  ];
+
+
+# end
+# isatty-0.1.5
+
+  crates.isatty."0.1.5" = deps: { features?(features_.isatty."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "isatty";
+    version = "0.1.5";
+    description = "libc::isatty that also works on Windows";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0gp781mgqmvsp6a3iyhwk2sqis2ys8jfg3grq40m135zgb4d2cvj";
+    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."isatty"."0.1.5"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."isatty"."0.1.5"."kernel32_sys"}" deps)
+      (crates."winapi"."${deps."isatty"."0.1.5"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.isatty."0.1.5" = deps: f: updateFeatures f (rec {
+    isatty."0.1.5".default = (f.isatty."0.1.5".default or true);
+    kernel32_sys."${deps.isatty."0.1.5".kernel32_sys}".default = true;
+    libc."${deps.isatty."0.1.5".libc}".default = true;
+    winapi."${deps.isatty."0.1.5".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."isatty"."0.1.5"."libc"}" deps)
+    (features_.kernel32_sys."${deps."isatty"."0.1.5"."kernel32_sys"}" deps)
+    (features_.winapi."${deps."isatty"."0.1.5"."winapi"}" deps)
+  ];
+
+
+# end
+# itertools-0.6.5
+
+  crates.itertools."0.6.5" = deps: { features?(features_.itertools."0.6.5" deps {}) }: buildRustCrate {
+    crateName = "itertools";
+    version = "0.6.5";
+    description = "Extra iterator adaptors, iterator methods, free functions, and macros.";
+    authors = [ "bluss" ];
+    sha256 = "0gbhgn7s8qkxxw10i514fzpqnc3aissn4kcgylm2cvnv9zmg8mw1";
+    dependencies = mapFeatures features ([
+      (crates."either"."${deps."itertools"."0.6.5"."either"}" deps)
+    ]);
+  };
+  features_.itertools."0.6.5" = deps: f: updateFeatures f (rec {
+    either."${deps.itertools."0.6.5".either}".default = (f.either."${deps.itertools."0.6.5".either}".default or false);
+    itertools."0.6.5".default = (f.itertools."0.6.5".default or true);
+  }) [
+    (features_.either."${deps."itertools"."0.6.5"."either"}" deps)
+  ];
+
+
+# end
+# itoa-0.3.4
+
+  crates.itoa."0.3.4" = deps: { features?(features_.itoa."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.3.4";
+    description = "Fast functions for printing integer primitives to an io::Write";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1nfkzz6vrgj0d9l3yzjkkkqzdgs68y294fjdbl7jq118qi8xc9d9";
+    features = mkFeatures (features."itoa"."0.3.4" or {});
+  };
+  features_.itoa."0.3.4" = deps: f: updateFeatures f (rec {
+    itoa."0.3.4".default = (f.itoa."0.3.4".default or true);
+  }) [];
+
+
+# end
+# itoa-0.4.3
+
+  crates.itoa."0.4.3" = deps: { features?(features_.itoa."0.4.3" deps {}) }: buildRustCrate {
+    crateName = "itoa";
+    version = "0.4.3";
+    description = "Fast functions for printing integer primitives to an io::Write";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0zadimmdgvili3gdwxqg7ljv3r4wcdg1kkdfp9nl15vnm23vrhy1";
+    features = mkFeatures (features."itoa"."0.4.3" or {});
+  };
+  features_.itoa."0.4.3" = deps: f: updateFeatures f (rec {
+    itoa = fold recursiveUpdate {} [
+      { "0.4.3"."std" =
+        (f.itoa."0.4.3"."std" or false) ||
+        (f.itoa."0.4.3".default or false) ||
+        (itoa."0.4.3"."default" or false); }
+      { "0.4.3".default = (f.itoa."0.4.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# kernel32-sys-0.2.2
+
+  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "kernel32-sys";
+    version = "0.2.2";
+    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
+    libName = "kernel32";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+    ]);
+  };
+  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec {
+    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
+    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
+    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
+  }) [
+    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
+    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
+  ];
+
+
+# end
+# lazy_static-0.2.10
+
+  crates.lazy_static."0.2.10" = deps: { features?(features_.lazy_static."0.2.10" deps {}) }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "0.2.10";
+    description = "A macro for declaring lazily evaluated statics in Rust.";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0ylwjvppsm56fpv32l4br7zw0pwn81wbfb1abalyyr1d9c94vg8r";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazy_static"."0.2.10" or {});
+  };
+  features_.lazy_static."0.2.10" = deps: f: updateFeatures f (rec {
+    lazy_static = fold recursiveUpdate {} [
+      { "0.2.10"."compiletest_rs" =
+        (f.lazy_static."0.2.10"."compiletest_rs" or false) ||
+        (f.lazy_static."0.2.10".compiletest or false) ||
+        (lazy_static."0.2.10"."compiletest" or false); }
+      { "0.2.10"."nightly" =
+        (f.lazy_static."0.2.10"."nightly" or false) ||
+        (f.lazy_static."0.2.10".spin_no_std or false) ||
+        (lazy_static."0.2.10"."spin_no_std" or false); }
+      { "0.2.10"."spin" =
+        (f.lazy_static."0.2.10"."spin" or false) ||
+        (f.lazy_static."0.2.10".spin_no_std or false) ||
+        (lazy_static."0.2.10"."spin_no_std" or false); }
+      { "0.2.10".default = (f.lazy_static."0.2.10".default or true); }
+    ];
+  }) [];
+
+
+# end
+# lazy_static-1.2.0
+
+  crates.lazy_static."1.2.0" = deps: { features?(features_.lazy_static."1.2.0" deps {}) }: buildRustCrate {
+    crateName = "lazy_static";
+    version = "1.2.0";
+    description = "A macro for declaring lazily evaluated statics in Rust.";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "07p3b30k2akyr6xw08ggd5qiz5nw3vd3agggj360fcc1njz7d0ss";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazy_static"."1.2.0" or {});
+  };
+  features_.lazy_static."1.2.0" = deps: f: updateFeatures f (rec {
+    lazy_static = fold recursiveUpdate {} [
+      { "1.2.0"."spin" =
+        (f.lazy_static."1.2.0"."spin" or false) ||
+        (f.lazy_static."1.2.0".spin_no_std or false) ||
+        (lazy_static."1.2.0"."spin_no_std" or false); }
+      { "1.2.0".default = (f.lazy_static."1.2.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# lazycell-1.2.0
+
+  crates.lazycell."1.2.0" = deps: { features?(features_.lazycell."1.2.0" deps {}) }: buildRustCrate {
+    crateName = "lazycell";
+    version = "1.2.0";
+    description = "A library providing a lazily filled Cell struct";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Nikita Pekin <contact@nikitapek.in>" ];
+    sha256 = "1lzdb3q17yjihw9hksynxgyg8wbph1h791wff8rrf1c2aqjwhmax";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."lazycell"."1.2.0" or {});
+  };
+  features_.lazycell."1.2.0" = deps: f: updateFeatures f (rec {
+    lazycell = fold recursiveUpdate {} [
+      { "1.2.0"."clippy" =
+        (f.lazycell."1.2.0"."clippy" or false) ||
+        (f.lazycell."1.2.0".nightly-testing or false) ||
+        (lazycell."1.2.0"."nightly-testing" or false); }
+      { "1.2.0"."nightly" =
+        (f.lazycell."1.2.0"."nightly" or false) ||
+        (f.lazycell."1.2.0".nightly-testing or false) ||
+        (lazycell."1.2.0"."nightly-testing" or false); }
+      { "1.2.0".default = (f.lazycell."1.2.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libc-0.2.44
+
+  crates.libc."0.2.44" = deps: { features?(features_.libc."0.2.44" deps {}) }: buildRustCrate {
+    crateName = "libc";
+    version = "0.2.44";
+    description = "A library for types and bindings to native C functions often found in libc or\nother common platform libraries.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "17a7p0lcf3qwl1pcxffdflgnx8zr2659mgzzg4zi5fnv1mlj3q6z";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."libc"."0.2.44" or {});
+  };
+  features_.libc."0.2.44" = deps: f: updateFeatures f (rec {
+    libc = fold recursiveUpdate {} [
+      { "0.2.44"."align" =
+        (f.libc."0.2.44"."align" or false) ||
+        (f.libc."0.2.44".rustc-dep-of-std or false) ||
+        (libc."0.2.44"."rustc-dep-of-std" or false); }
+      { "0.2.44"."rustc-std-workspace-core" =
+        (f.libc."0.2.44"."rustc-std-workspace-core" or false) ||
+        (f.libc."0.2.44".rustc-dep-of-std or false) ||
+        (libc."0.2.44"."rustc-dep-of-std" or false); }
+      { "0.2.44"."use_std" =
+        (f.libc."0.2.44"."use_std" or false) ||
+        (f.libc."0.2.44".default or false) ||
+        (libc."0.2.44"."default" or false); }
+      { "0.2.44".default = (f.libc."0.2.44".default or true); }
+    ];
+  }) [];
+
+
+# end
+# libflate-0.1.19
+
+  crates.libflate."0.1.19" = deps: { features?(features_.libflate."0.1.19" deps {}) }: buildRustCrate {
+    crateName = "libflate";
+    version = "0.1.19";
+    description = "A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP)";
+    authors = [ "Takeru Ohta <phjgt308@gmail.com>" ];
+    sha256 = "1klhvys9541xrwspyyv41qbr37xnwx4bdaspk6gbiprhrsqqkjp0";
+    dependencies = mapFeatures features ([
+      (crates."adler32"."${deps."libflate"."0.1.19"."adler32"}" deps)
+      (crates."byteorder"."${deps."libflate"."0.1.19"."byteorder"}" deps)
+      (crates."crc32fast"."${deps."libflate"."0.1.19"."crc32fast"}" deps)
+    ]);
+  };
+  features_.libflate."0.1.19" = deps: f: updateFeatures f (rec {
+    adler32."${deps.libflate."0.1.19".adler32}".default = true;
+    byteorder."${deps.libflate."0.1.19".byteorder}".default = true;
+    crc32fast."${deps.libflate."0.1.19".crc32fast}".default = true;
+    libflate."0.1.19".default = (f.libflate."0.1.19".default or true);
+  }) [
+    (features_.adler32."${deps."libflate"."0.1.19"."adler32"}" deps)
+    (features_.byteorder."${deps."libflate"."0.1.19"."byteorder"}" deps)
+    (features_.crc32fast."${deps."libflate"."0.1.19"."crc32fast"}" deps)
+  ];
+
+
+# end
+# lock_api-0.1.5
+
+  crates.lock_api."0.1.5" = deps: { features?(features_.lock_api."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "lock_api";
+    version = "0.1.5";
+    description = "Wrappers to create fully-featured Mutex and RwLock types. Compatible with no_std.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "132sidr5hvjfkaqm3l95zpcpi8yk5ddd0g79zf1ad4v65sxirqqm";
+    dependencies = mapFeatures features ([
+      (crates."scopeguard"."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+    ]
+      ++ (if features.lock_api."0.1.5".owning_ref or false then [ (crates.owning_ref."${deps."lock_api"."0.1.5".owning_ref}" deps) ] else []));
+    features = mkFeatures (features."lock_api"."0.1.5" or {});
+  };
+  features_.lock_api."0.1.5" = deps: f: updateFeatures f (rec {
+    lock_api."0.1.5".default = (f.lock_api."0.1.5".default or true);
+    owning_ref."${deps.lock_api."0.1.5".owning_ref}".default = true;
+    scopeguard."${deps.lock_api."0.1.5".scopeguard}".default = (f.scopeguard."${deps.lock_api."0.1.5".scopeguard}".default or false);
+  }) [
+    (features_.owning_ref."${deps."lock_api"."0.1.5"."owning_ref"}" deps)
+    (features_.scopeguard."${deps."lock_api"."0.1.5"."scopeguard"}" deps)
+  ];
+
+
+# end
+# log-0.3.8
+
+  crates.log."0.3.8" = deps: { features?(features_.log."0.3.8" deps {}) }: buildRustCrate {
+    crateName = "log";
+    version = "0.3.8";
+    description = "A lightweight logging facade for Rust\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1c43z4z85sxrsgir4s1hi84558ab5ic7jrn5qgmsiqcv90vvn006";
+    features = mkFeatures (features."log"."0.3.8" or {});
+  };
+  features_.log."0.3.8" = deps: f: updateFeatures f (rec {
+    log = fold recursiveUpdate {} [
+      { "0.3.8"."use_std" =
+        (f.log."0.3.8"."use_std" or false) ||
+        (f.log."0.3.8".default or false) ||
+        (log."0.3.8"."default" or false); }
+      { "0.3.8".default = (f.log."0.3.8".default or true); }
+    ];
+  }) [];
+
+
+# end
+# log-0.4.6
+
+  crates.log."0.4.6" = deps: { features?(features_.log."0.4.6" deps {}) }: buildRustCrate {
+    crateName = "log";
+    version = "0.4.6";
+    description = "A lightweight logging facade for Rust\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1nd8dl9mvc9vd6fks5d4gsxaz990xi6rzlb8ymllshmwi153vngr";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."log"."0.4.6"."cfg_if"}" deps)
+    ]);
+    features = mkFeatures (features."log"."0.4.6" or {});
+  };
+  features_.log."0.4.6" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.log."0.4.6".cfg_if}".default = true;
+    log."0.4.6".default = (f.log."0.4.6".default or true);
+  }) [
+    (features_.cfg_if."${deps."log"."0.4.6"."cfg_if"}" deps)
+  ];
+
+
+# end
+# maplit-0.1.6
+
+  crates.maplit."0.1.6" = deps: { features?(features_.maplit."0.1.6" deps {}) }: buildRustCrate {
+    crateName = "maplit";
+    version = "0.1.6";
+    description = "Container / collection literal macros for HashMap, HashSet, BTreeMap, BTreeSet.";
+    authors = [ "bluss" ];
+    sha256 = "1f8kf5v7xra8ssvh5c10qlacbk4l0z2817pkscflx5s5q6y7925h";
+  };
+  features_.maplit."0.1.6" = deps: f: updateFeatures f (rec {
+    maplit."0.1.6".default = (f.maplit."0.1.6".default or true);
+  }) [];
+
+
+# end
+# matches-0.1.6
+
+  crates.matches."0.1.6" = deps: { features?(features_.matches."0.1.6" deps {}) }: buildRustCrate {
+    crateName = "matches";
+    version = "0.1.6";
+    description = "A macro to evaluate, as a boolean, whether an expression matches a pattern.";
+    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
+    sha256 = "1zlrqlbvzxdil8z8ial2ihvxjwvlvg3g8dr0lcdpsjclkclasjan";
+    libPath = "lib.rs";
+  };
+  features_.matches."0.1.6" = deps: f: updateFeatures f (rec {
+    matches."0.1.6".default = (f.matches."0.1.6".default or true);
+  }) [];
+
+
+# end
+# memchr-0.1.11
+
+  crates.memchr."0.1.11" = deps: { features?(features_.memchr."0.1.11" deps {}) }: buildRustCrate {
+    crateName = "memchr";
+    version = "0.1.11";
+    description = "Safe interface to memchr.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
+    sha256 = "0x73jghamvxxq5fsw9wb0shk5m6qp3q6fsf0nibn0i6bbqkw91s8";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."memchr"."0.1.11"."libc"}" deps)
+    ]);
+  };
+  features_.memchr."0.1.11" = deps: f: updateFeatures f (rec {
+    libc."${deps.memchr."0.1.11".libc}".default = true;
+    memchr."0.1.11".default = (f.memchr."0.1.11".default or true);
+  }) [
+    (features_.libc."${deps."memchr"."0.1.11"."libc"}" deps)
+  ];
+
+
+# end
+# memoffset-0.2.1
+
+  crates.memoffset."0.2.1" = deps: { features?(features_.memoffset."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "memoffset";
+    version = "0.2.1";
+    description = "offset_of functionality for Rust structs.";
+    authors = [ "Gilad Naaman <gilad.naaman@gmail.com>" ];
+    sha256 = "00vym01jk9slibq2nsiilgffp7n6k52a4q3n4dqp0xf5kzxvffcf";
+  };
+  features_.memoffset."0.2.1" = deps: f: updateFeatures f (rec {
+    memoffset."0.2.1".default = (f.memoffset."0.2.1".default or true);
+  }) [];
+
+
+# end
+# mime-0.3.12
+
+  crates.mime."0.3.12" = deps: { features?(features_.mime."0.3.12" deps {}) }: buildRustCrate {
+    crateName = "mime";
+    version = "0.3.12";
+    description = "Strongly Typed Mimes";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "0lmcwkmxwbla9457w9ak13cfgqxfyn5wa1syjy1kll2ras5xifvh";
+    dependencies = mapFeatures features ([
+      (crates."unicase"."${deps."mime"."0.3.12"."unicase"}" deps)
+    ]);
+  };
+  features_.mime."0.3.12" = deps: f: updateFeatures f (rec {
+    mime."0.3.12".default = (f.mime."0.3.12".default or true);
+    unicase."${deps.mime."0.3.12".unicase}".default = true;
+  }) [
+    (features_.unicase."${deps."mime"."0.3.12"."unicase"}" deps)
+  ];
+
+
+# end
+# mime_guess-2.0.0-alpha.6
+
+  crates.mime_guess."2.0.0-alpha.6" = deps: { features?(features_.mime_guess."2.0.0-alpha.6" deps {}) }: buildRustCrate {
+    crateName = "mime_guess";
+    version = "2.0.0-alpha.6";
+    description = "A simple crate for detection of a file's MIME type by its extension.";
+    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
+    sha256 = "1k2mdq43gi2qr63b7m5zs624rfi40ysk33cay49jlhq97jwnk9db";
+    dependencies = mapFeatures features ([
+      (crates."mime"."${deps."mime_guess"."2.0.0-alpha.6"."mime"}" deps)
+      (crates."phf"."${deps."mime_guess"."2.0.0-alpha.6"."phf"}" deps)
+      (crates."unicase"."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."phf_codegen"."${deps."mime_guess"."2.0.0-alpha.6"."phf_codegen"}" deps)
+      (crates."unicase"."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+    ]);
+    features = mkFeatures (features."mime_guess"."2.0.0-alpha.6" or {});
+  };
+  features_.mime_guess."2.0.0-alpha.6" = deps: f: updateFeatures f (rec {
+    mime."${deps.mime_guess."2.0.0-alpha.6".mime}".default = true;
+    mime_guess."2.0.0-alpha.6".default = (f.mime_guess."2.0.0-alpha.6".default or true);
+    phf = fold recursiveUpdate {} [
+      { "${deps.mime_guess."2.0.0-alpha.6".phf}"."unicase" = true; }
+      { "${deps.mime_guess."2.0.0-alpha.6".phf}".default = true; }
+    ];
+    phf_codegen."${deps.mime_guess."2.0.0-alpha.6".phf_codegen}".default = true;
+    unicase."${deps.mime_guess."2.0.0-alpha.6".unicase}".default = true;
+  }) [
+    (features_.mime."${deps."mime_guess"."2.0.0-alpha.6"."mime"}" deps)
+    (features_.phf."${deps."mime_guess"."2.0.0-alpha.6"."phf"}" deps)
+    (features_.unicase."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+    (features_.phf_codegen."${deps."mime_guess"."2.0.0-alpha.6"."phf_codegen"}" deps)
+    (features_.unicase."${deps."mime_guess"."2.0.0-alpha.6"."unicase"}" deps)
+  ];
+
+
+# end
+# miniz-sys-0.1.10
+
+  crates.miniz_sys."0.1.10" = deps: { features?(features_.miniz_sys."0.1.10" deps {}) }: buildRustCrate {
+    crateName = "miniz-sys";
+    version = "0.1.10";
+    description = "Bindings to the miniz.c library.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "11vg6phafxil87nbxgrlhcx5hjr3145wsbwwkfmibvnmzxfdmvln";
+    libPath = "lib.rs";
+    libName = "miniz_sys";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."miniz_sys"."0.1.10"."libc"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."miniz_sys"."0.1.10"."cc"}" deps)
+    ]);
+  };
+  features_.miniz_sys."0.1.10" = deps: f: updateFeatures f (rec {
+    cc."${deps.miniz_sys."0.1.10".cc}".default = true;
+    libc."${deps.miniz_sys."0.1.10".libc}".default = true;
+    miniz_sys."0.1.10".default = (f.miniz_sys."0.1.10".default or true);
+  }) [
+    (features_.libc."${deps."miniz_sys"."0.1.10"."libc"}" deps)
+    (features_.cc."${deps."miniz_sys"."0.1.10"."cc"}" deps)
+  ];
+
+
+# end
+# mio-0.6.16
+
+  crates.mio."0.6.16" = deps: { features?(features_.mio."0.6.16" deps {}) }: buildRustCrate {
+    crateName = "mio";
+    version = "0.6.16";
+    description = "Lightweight non-blocking IO";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "14vyrlmf0w984pi7ad9qvmlfj6vrb0wn6i8ik9j87w5za2r3rban";
+    dependencies = mapFeatures features ([
+      (crates."iovec"."${deps."mio"."0.6.16"."iovec"}" deps)
+      (crates."lazycell"."${deps."mio"."0.6.16"."lazycell"}" deps)
+      (crates."log"."${deps."mio"."0.6.16"."log"}" deps)
+      (crates."net2"."${deps."mio"."0.6.16"."net2"}" deps)
+      (crates."slab"."${deps."mio"."0.6.16"."slab"}" deps)
+    ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+      (crates."fuchsia_zircon"."${deps."mio"."0.6.16"."fuchsia_zircon"}" deps)
+      (crates."fuchsia_zircon_sys"."${deps."mio"."0.6.16"."fuchsia_zircon_sys"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."mio"."0.6.16"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."mio"."0.6.16"."kernel32_sys"}" deps)
+      (crates."miow"."${deps."mio"."0.6.16"."miow"}" deps)
+      (crates."winapi"."${deps."mio"."0.6.16"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."mio"."0.6.16" or {});
+  };
+  features_.mio."0.6.16" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon."${deps.mio."0.6.16".fuchsia_zircon}".default = true;
+    fuchsia_zircon_sys."${deps.mio."0.6.16".fuchsia_zircon_sys}".default = true;
+    iovec."${deps.mio."0.6.16".iovec}".default = true;
+    kernel32_sys."${deps.mio."0.6.16".kernel32_sys}".default = true;
+    lazycell."${deps.mio."0.6.16".lazycell}".default = true;
+    libc."${deps.mio."0.6.16".libc}".default = true;
+    log."${deps.mio."0.6.16".log}".default = true;
+    mio = fold recursiveUpdate {} [
+      { "0.6.16"."with-deprecated" =
+        (f.mio."0.6.16"."with-deprecated" or false) ||
+        (f.mio."0.6.16".default or false) ||
+        (mio."0.6.16"."default" or false); }
+      { "0.6.16".default = (f.mio."0.6.16".default or true); }
+    ];
+    miow."${deps.mio."0.6.16".miow}".default = true;
+    net2."${deps.mio."0.6.16".net2}".default = true;
+    slab."${deps.mio."0.6.16".slab}".default = true;
+    winapi."${deps.mio."0.6.16".winapi}".default = true;
+  }) [
+    (features_.iovec."${deps."mio"."0.6.16"."iovec"}" deps)
+    (features_.lazycell."${deps."mio"."0.6.16"."lazycell"}" deps)
+    (features_.log."${deps."mio"."0.6.16"."log"}" deps)
+    (features_.net2."${deps."mio"."0.6.16"."net2"}" deps)
+    (features_.slab."${deps."mio"."0.6.16"."slab"}" deps)
+    (features_.fuchsia_zircon."${deps."mio"."0.6.16"."fuchsia_zircon"}" deps)
+    (features_.fuchsia_zircon_sys."${deps."mio"."0.6.16"."fuchsia_zircon_sys"}" deps)
+    (features_.libc."${deps."mio"."0.6.16"."libc"}" deps)
+    (features_.kernel32_sys."${deps."mio"."0.6.16"."kernel32_sys"}" deps)
+    (features_.miow."${deps."mio"."0.6.16"."miow"}" deps)
+    (features_.winapi."${deps."mio"."0.6.16"."winapi"}" deps)
+  ];
+
+
+# end
+# miow-0.2.1
+
+  crates.miow."0.2.1" = deps: { features?(features_.miow."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "miow";
+    version = "0.2.1";
+    description = "A zero overhead I/O library for Windows, focusing on IOCP and Async I/O\nabstractions.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "14f8zkc6ix7mkyis1vsqnim8m29b6l55abkba3p2yz7j1ibcvrl0";
+    dependencies = mapFeatures features ([
+      (crates."kernel32_sys"."${deps."miow"."0.2.1"."kernel32_sys"}" deps)
+      (crates."net2"."${deps."miow"."0.2.1"."net2"}" deps)
+      (crates."winapi"."${deps."miow"."0.2.1"."winapi"}" deps)
+      (crates."ws2_32_sys"."${deps."miow"."0.2.1"."ws2_32_sys"}" deps)
+    ]);
+  };
+  features_.miow."0.2.1" = deps: f: updateFeatures f (rec {
+    kernel32_sys."${deps.miow."0.2.1".kernel32_sys}".default = true;
+    miow."0.2.1".default = (f.miow."0.2.1".default or true);
+    net2."${deps.miow."0.2.1".net2}".default = (f.net2."${deps.miow."0.2.1".net2}".default or false);
+    winapi."${deps.miow."0.2.1".winapi}".default = true;
+    ws2_32_sys."${deps.miow."0.2.1".ws2_32_sys}".default = true;
+  }) [
+    (features_.kernel32_sys."${deps."miow"."0.2.1"."kernel32_sys"}" deps)
+    (features_.net2."${deps."miow"."0.2.1"."net2"}" deps)
+    (features_.winapi."${deps."miow"."0.2.1"."winapi"}" deps)
+    (features_.ws2_32_sys."${deps."miow"."0.2.1"."ws2_32_sys"}" deps)
+  ];
+
+
+# end
+# native-tls-0.2.2
+
+  crates.native_tls."0.2.2" = deps: { features?(features_.native_tls."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "native-tls";
+    version = "0.2.2";
+    description = "A wrapper over a platform's native TLS implementation";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0vl2hmmnrcjfylzjfsbnav20ri2n1qjgxn7bklb4mk3fyxfqm1m9";
+    dependencies = (if kernel == "darwin" || kernel == "ios" then mapFeatures features ([
+      (crates."lazy_static"."${deps."native_tls"."0.2.2"."lazy_static"}" deps)
+      (crates."libc"."${deps."native_tls"."0.2.2"."libc"}" deps)
+      (crates."security_framework"."${deps."native_tls"."0.2.2"."security_framework"}" deps)
+      (crates."security_framework_sys"."${deps."native_tls"."0.2.2"."security_framework_sys"}" deps)
+      (crates."tempfile"."${deps."native_tls"."0.2.2"."tempfile"}" deps)
+    ]) else [])
+      ++ (if !(kernel == "windows" || kernel == "darwin" || kernel == "ios") then mapFeatures features ([
+      (crates."openssl"."${deps."native_tls"."0.2.2"."openssl"}" deps)
+      (crates."openssl_probe"."${deps."native_tls"."0.2.2"."openssl_probe"}" deps)
+      (crates."openssl_sys"."${deps."native_tls"."0.2.2"."openssl_sys"}" deps)
+    ]) else [])
+      ++ (if kernel == "android" then mapFeatures features ([
+      (crates."log"."${deps."native_tls"."0.2.2"."log"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."schannel"."${deps."native_tls"."0.2.2"."schannel"}" deps)
+    ]) else []);
+    features = mkFeatures (features."native_tls"."0.2.2" or {});
+  };
+  features_.native_tls."0.2.2" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.native_tls."0.2.2".lazy_static}".default = true;
+    libc."${deps.native_tls."0.2.2".libc}".default = true;
+    log."${deps.native_tls."0.2.2".log}".default = true;
+    native_tls."0.2.2".default = (f.native_tls."0.2.2".default or true);
+    openssl."${deps.native_tls."0.2.2".openssl}".default = true;
+    openssl_probe."${deps.native_tls."0.2.2".openssl_probe}".default = true;
+    openssl_sys."${deps.native_tls."0.2.2".openssl_sys}".default = true;
+    schannel."${deps.native_tls."0.2.2".schannel}".default = true;
+    security_framework."${deps.native_tls."0.2.2".security_framework}".default = true;
+    security_framework_sys."${deps.native_tls."0.2.2".security_framework_sys}".default = true;
+    tempfile."${deps.native_tls."0.2.2".tempfile}".default = true;
+  }) [
+    (features_.lazy_static."${deps."native_tls"."0.2.2"."lazy_static"}" deps)
+    (features_.libc."${deps."native_tls"."0.2.2"."libc"}" deps)
+    (features_.security_framework."${deps."native_tls"."0.2.2"."security_framework"}" deps)
+    (features_.security_framework_sys."${deps."native_tls"."0.2.2"."security_framework_sys"}" deps)
+    (features_.tempfile."${deps."native_tls"."0.2.2"."tempfile"}" deps)
+    (features_.openssl."${deps."native_tls"."0.2.2"."openssl"}" deps)
+    (features_.openssl_probe."${deps."native_tls"."0.2.2"."openssl_probe"}" deps)
+    (features_.openssl_sys."${deps."native_tls"."0.2.2"."openssl_sys"}" deps)
+    (features_.log."${deps."native_tls"."0.2.2"."log"}" deps)
+    (features_.schannel."${deps."native_tls"."0.2.2"."schannel"}" deps)
+  ];
+
+
+# end
+# net2-0.2.33
+
+  crates.net2."0.2.33" = deps: { features?(features_.net2."0.2.33" deps {}) }: buildRustCrate {
+    crateName = "net2";
+    version = "0.2.33";
+    description = "Extensions to the standard library's networking types as proposed in RFC 1158.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1qnmajafgybj5wyxz9iffa8x5wgbwd2znfklmhqj7vl6lw1m65mq";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."net2"."0.2.33"."cfg_if"}" deps)
+    ])
+      ++ (if kernel == "redox" || (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."net2"."0.2.33"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."net2"."0.2.33"."winapi"}" deps)
+    ]) else []);
+    features = mkFeatures (features."net2"."0.2.33" or {});
+  };
+  features_.net2."0.2.33" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.net2."0.2.33".cfg_if}".default = true;
+    libc."${deps.net2."0.2.33".libc}".default = true;
+    net2 = fold recursiveUpdate {} [
+      { "0.2.33"."duration" =
+        (f.net2."0.2.33"."duration" or false) ||
+        (f.net2."0.2.33".default or false) ||
+        (net2."0.2.33"."default" or false); }
+      { "0.2.33".default = (f.net2."0.2.33".default or true); }
+    ];
+    winapi = fold recursiveUpdate {} [
+      { "${deps.net2."0.2.33".winapi}"."handleapi" = true; }
+      { "${deps.net2."0.2.33".winapi}"."winsock2" = true; }
+      { "${deps.net2."0.2.33".winapi}"."ws2def" = true; }
+      { "${deps.net2."0.2.33".winapi}"."ws2ipdef" = true; }
+      { "${deps.net2."0.2.33".winapi}"."ws2tcpip" = true; }
+      { "${deps.net2."0.2.33".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."net2"."0.2.33"."cfg_if"}" deps)
+    (features_.libc."${deps."net2"."0.2.33"."libc"}" deps)
+    (features_.winapi."${deps."net2"."0.2.33"."winapi"}" deps)
+  ];
+
+
+# end
+# nodrop-0.1.13
+
+  crates.nodrop."0.1.13" = deps: { features?(features_.nodrop."0.1.13" deps {}) }: buildRustCrate {
+    crateName = "nodrop";
+    version = "0.1.13";
+    description = "A wrapper type to inhibit drop (destructor). Use std::mem::ManuallyDrop instead!";
+    authors = [ "bluss" ];
+    sha256 = "0gkfx6wihr9z0m8nbdhma5pyvbipznjpkzny2d4zkc05b0vnhinb";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."nodrop"."0.1.13" or {});
+  };
+  features_.nodrop."0.1.13" = deps: f: updateFeatures f (rec {
+    nodrop = fold recursiveUpdate {} [
+      { "0.1.13"."nodrop-union" =
+        (f.nodrop."0.1.13"."nodrop-union" or false) ||
+        (f.nodrop."0.1.13".use_union or false) ||
+        (nodrop."0.1.13"."use_union" or false); }
+      { "0.1.13"."std" =
+        (f.nodrop."0.1.13"."std" or false) ||
+        (f.nodrop."0.1.13".default or false) ||
+        (nodrop."0.1.13"."default" or false); }
+      { "0.1.13".default = (f.nodrop."0.1.13".default or true); }
+    ];
+  }) [];
+
+
+# end
+# num-0.1.40
+
+  crates.num."0.1.40" = deps: { features?(features_.num."0.1.40" deps {}) }: buildRustCrate {
+    crateName = "num";
+    version = "0.1.40";
+    description = "A collection of numeric types and traits for Rust, including bigint,\ncomplex, rational, range iterators, generic integers, and more!\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0b29c25n9mpf6a921khj7a6y3hz5va4vgwppcd2if975qq1shakg";
+    dependencies = mapFeatures features ([
+      (crates."num_integer"."${deps."num"."0.1.40"."num_integer"}" deps)
+      (crates."num_iter"."${deps."num"."0.1.40"."num_iter"}" deps)
+      (crates."num_traits"."${deps."num"."0.1.40"."num_traits"}" deps)
+    ]);
+    features = mkFeatures (features."num"."0.1.40" or {});
+  };
+  features_.num."0.1.40" = deps: f: updateFeatures f (rec {
+    num = fold recursiveUpdate {} [
+      { "0.1.40"."bigint" =
+        (f.num."0.1.40"."bigint" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40"."complex" =
+        (f.num."0.1.40"."complex" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40"."num-bigint" =
+        (f.num."0.1.40"."num-bigint" or false) ||
+        (f.num."0.1.40".bigint or false) ||
+        (num."0.1.40"."bigint" or false); }
+      { "0.1.40"."num-complex" =
+        (f.num."0.1.40"."num-complex" or false) ||
+        (f.num."0.1.40".complex or false) ||
+        (num."0.1.40"."complex" or false); }
+      { "0.1.40"."num-rational" =
+        (f.num."0.1.40"."num-rational" or false) ||
+        (f.num."0.1.40".rational or false) ||
+        (num."0.1.40"."rational" or false); }
+      { "0.1.40"."rational" =
+        (f.num."0.1.40"."rational" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40"."rustc-serialize" =
+        (f.num."0.1.40"."rustc-serialize" or false) ||
+        (f.num."0.1.40".default or false) ||
+        (num."0.1.40"."default" or false); }
+      { "0.1.40".default = (f.num."0.1.40".default or true); }
+    ];
+    num_integer."${deps.num."0.1.40".num_integer}".default = true;
+    num_iter."${deps.num."0.1.40".num_iter}".default = true;
+    num_traits."${deps.num."0.1.40".num_traits}".default = true;
+  }) [
+    (features_.num_integer."${deps."num"."0.1.40"."num_integer"}" deps)
+    (features_.num_iter."${deps."num"."0.1.40"."num_iter"}" deps)
+    (features_.num_traits."${deps."num"."0.1.40"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-integer-0.1.35
+
+  crates.num_integer."0.1.35" = deps: { features?(features_.num_integer."0.1.35" deps {}) }: buildRustCrate {
+    crateName = "num-integer";
+    version = "0.1.35";
+    description = "Integer traits and functions";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0xybj8isi9b6wc646d5rc043i8l8j6wy0vrl4pn995qms9fxbbcc";
+    dependencies = mapFeatures features ([
+      (crates."num_traits"."${deps."num_integer"."0.1.35"."num_traits"}" deps)
+    ]);
+  };
+  features_.num_integer."0.1.35" = deps: f: updateFeatures f (rec {
+    num_integer."0.1.35".default = (f.num_integer."0.1.35".default or true);
+    num_traits."${deps.num_integer."0.1.35".num_traits}".default = true;
+  }) [
+    (features_.num_traits."${deps."num_integer"."0.1.35"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-iter-0.1.34
+
+  crates.num_iter."0.1.34" = deps: { features?(features_.num_iter."0.1.34" deps {}) }: buildRustCrate {
+    crateName = "num-iter";
+    version = "0.1.34";
+    description = "External iterators for generic mathematics";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "02cld7x9dzbqbs6sxxzq1i22z3awlcd6ljkgvhkfr9rsnaxphzl9";
+    dependencies = mapFeatures features ([
+      (crates."num_integer"."${deps."num_iter"."0.1.34"."num_integer"}" deps)
+      (crates."num_traits"."${deps."num_iter"."0.1.34"."num_traits"}" deps)
+    ]);
+  };
+  features_.num_iter."0.1.34" = deps: f: updateFeatures f (rec {
+    num_integer."${deps.num_iter."0.1.34".num_integer}".default = true;
+    num_iter."0.1.34".default = (f.num_iter."0.1.34".default or true);
+    num_traits."${deps.num_iter."0.1.34".num_traits}".default = true;
+  }) [
+    (features_.num_integer."${deps."num_iter"."0.1.34"."num_integer"}" deps)
+    (features_.num_traits."${deps."num_iter"."0.1.34"."num_traits"}" deps)
+  ];
+
+
+# end
+# num-traits-0.1.40
+
+  crates.num_traits."0.1.40" = deps: { features?(features_.num_traits."0.1.40" deps {}) }: buildRustCrate {
+    crateName = "num-traits";
+    version = "0.1.40";
+    description = "Numeric traits for generic mathematics";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1fr8ghp4i97q3agki54i0hpmqxv3s65i2mqd1pinc7w7arc3fplw";
+  };
+  features_.num_traits."0.1.40" = deps: f: updateFeatures f (rec {
+    num_traits."0.1.40".default = (f.num_traits."0.1.40".default or true);
+  }) [];
+
+
+# end
+# num_cpus-1.8.0
+
+  crates.num_cpus."1.8.0" = deps: { features?(features_.num_cpus."1.8.0" deps {}) }: buildRustCrate {
+    crateName = "num_cpus";
+    version = "1.8.0";
+    description = "Get the number of CPUs on a machine.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1y6qnd9r8ga6y8mvlabdrr73nc8cshjjlzbvnanzyj9b8zzkfwk2";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."num_cpus"."1.8.0"."libc"}" deps)
+    ]);
+  };
+  features_.num_cpus."1.8.0" = deps: f: updateFeatures f (rec {
+    libc."${deps.num_cpus."1.8.0".libc}".default = true;
+    num_cpus."1.8.0".default = (f.num_cpus."1.8.0".default or true);
+  }) [
+    (features_.libc."${deps."num_cpus"."1.8.0"."libc"}" deps)
+  ];
+
+
+# end
+# openssl-0.10.15
+
+  crates.openssl."0.10.15" = deps: { features?(features_.openssl."0.10.15" deps {}) }: buildRustCrate {
+    crateName = "openssl";
+    version = "0.10.15";
+    description = "OpenSSL bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0fj5g66ibkyb6vfdfjgaypfn45vpj2cdv7d7qpq653sv57glcqri";
+    dependencies = mapFeatures features ([
+      (crates."bitflags"."${deps."openssl"."0.10.15"."bitflags"}" deps)
+      (crates."cfg_if"."${deps."openssl"."0.10.15"."cfg_if"}" deps)
+      (crates."foreign_types"."${deps."openssl"."0.10.15"."foreign_types"}" deps)
+      (crates."lazy_static"."${deps."openssl"."0.10.15"."lazy_static"}" deps)
+      (crates."libc"."${deps."openssl"."0.10.15"."libc"}" deps)
+      (crates."openssl_sys"."${deps."openssl"."0.10.15"."openssl_sys"}" deps)
+    ]);
+    features = mkFeatures (features."openssl"."0.10.15" or {});
+  };
+  features_.openssl."0.10.15" = deps: f: updateFeatures f (rec {
+    bitflags."${deps.openssl."0.10.15".bitflags}".default = true;
+    cfg_if."${deps.openssl."0.10.15".cfg_if}".default = true;
+    foreign_types."${deps.openssl."0.10.15".foreign_types}".default = true;
+    lazy_static."${deps.openssl."0.10.15".lazy_static}".default = true;
+    libc."${deps.openssl."0.10.15".libc}".default = true;
+    openssl."0.10.15".default = (f.openssl."0.10.15".default or true);
+    openssl_sys = fold recursiveUpdate {} [
+      { "${deps.openssl."0.10.15".openssl_sys}"."vendored" =
+        (f.openssl_sys."${deps.openssl."0.10.15".openssl_sys}"."vendored" or false) ||
+        (openssl."0.10.15"."vendored" or false) ||
+        (f."openssl"."0.10.15"."vendored" or false); }
+      { "${deps.openssl."0.10.15".openssl_sys}".default = true; }
+    ];
+  }) [
+    (features_.bitflags."${deps."openssl"."0.10.15"."bitflags"}" deps)
+    (features_.cfg_if."${deps."openssl"."0.10.15"."cfg_if"}" deps)
+    (features_.foreign_types."${deps."openssl"."0.10.15"."foreign_types"}" deps)
+    (features_.lazy_static."${deps."openssl"."0.10.15"."lazy_static"}" deps)
+    (features_.libc."${deps."openssl"."0.10.15"."libc"}" deps)
+    (features_.openssl_sys."${deps."openssl"."0.10.15"."openssl_sys"}" deps)
+  ];
+
+
+# end
+# openssl-probe-0.1.2
+
+  crates.openssl_probe."0.1.2" = deps: { features?(features_.openssl_probe."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "openssl-probe";
+    version = "0.1.2";
+    description = "Tool for helping to find SSL certificate locations on the system for OpenSSL\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1a89fznx26vvaxyrxdvgf6iwai5xvs6xjvpjin68fgvrslv6n15a";
+  };
+  features_.openssl_probe."0.1.2" = deps: f: updateFeatures f (rec {
+    openssl_probe."0.1.2".default = (f.openssl_probe."0.1.2".default or true);
+  }) [];
+
+
+# end
+# openssl-sys-0.9.39
+
+  crates.openssl_sys."0.9.39" = deps: { features?(features_.openssl_sys."0.9.39" deps {}) }: buildRustCrate {
+    crateName = "openssl-sys";
+    version = "0.9.39";
+    description = "FFI bindings to OpenSSL";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1lraqg3xz4jxrc99na17kn6srfhsgnj1yjk29mgsh803w40s2056";
+    build = "build/main.rs";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."openssl_sys"."0.9.39"."libc"}" deps)
+    ])
+      ++ (if abi == "msvc" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."cc"."${deps."openssl_sys"."0.9.39"."cc"}" deps)
+      (crates."pkg_config"."${deps."openssl_sys"."0.9.39"."pkg_config"}" deps)
+    ]);
+    features = mkFeatures (features."openssl_sys"."0.9.39" or {});
+  };
+  features_.openssl_sys."0.9.39" = deps: f: updateFeatures f (rec {
+    cc."${deps.openssl_sys."0.9.39".cc}".default = true;
+    libc."${deps.openssl_sys."0.9.39".libc}".default = true;
+    openssl_sys = fold recursiveUpdate {} [
+      { "0.9.39"."openssl-src" =
+        (f.openssl_sys."0.9.39"."openssl-src" or false) ||
+        (f.openssl_sys."0.9.39".vendored or false) ||
+        (openssl_sys."0.9.39"."vendored" or false); }
+      { "0.9.39".default = (f.openssl_sys."0.9.39".default or true); }
+    ];
+    pkg_config."${deps.openssl_sys."0.9.39".pkg_config}".default = true;
+  }) [
+    (features_.libc."${deps."openssl_sys"."0.9.39"."libc"}" deps)
+    (features_.cc."${deps."openssl_sys"."0.9.39"."cc"}" deps)
+    (features_.pkg_config."${deps."openssl_sys"."0.9.39"."pkg_config"}" deps)
+  ];
+
+
+# end
+# owning_ref-0.4.0
+
+  crates.owning_ref."0.4.0" = deps: { features?(features_.owning_ref."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "owning_ref";
+    version = "0.4.0";
+    description = "A library for creating references that carry their owner with them.";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "1m95qpc3hamkw9wlbfzqkzk7h6skyj40zr6sa3ps151slcfnnchm";
+    dependencies = mapFeatures features ([
+      (crates."stable_deref_trait"."${deps."owning_ref"."0.4.0"."stable_deref_trait"}" deps)
+    ]);
+  };
+  features_.owning_ref."0.4.0" = deps: f: updateFeatures f (rec {
+    owning_ref."0.4.0".default = (f.owning_ref."0.4.0".default or true);
+    stable_deref_trait."${deps.owning_ref."0.4.0".stable_deref_trait}".default = true;
+  }) [
+    (features_.stable_deref_trait."${deps."owning_ref"."0.4.0"."stable_deref_trait"}" deps)
+  ];
+
+
+# end
+# parking_lot-0.6.4
+
+  crates.parking_lot."0.6.4" = deps: { features?(features_.parking_lot."0.6.4" deps {}) }: buildRustCrate {
+    crateName = "parking_lot";
+    version = "0.6.4";
+    description = "More compact and efficient implementations of the standard synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "0qwfysx8zfkj72sfcrqvd6pp7lgjmklyixsi3y0g6xjspw876rax";
+    dependencies = mapFeatures features ([
+      (crates."lock_api"."${deps."parking_lot"."0.6.4"."lock_api"}" deps)
+      (crates."parking_lot_core"."${deps."parking_lot"."0.6.4"."parking_lot_core"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot"."0.6.4" or {});
+  };
+  features_.parking_lot."0.6.4" = deps: f: updateFeatures f (rec {
+    lock_api = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.6.4".lock_api}"."nightly" =
+        (f.lock_api."${deps.parking_lot."0.6.4".lock_api}"."nightly" or false) ||
+        (parking_lot."0.6.4"."nightly" or false) ||
+        (f."parking_lot"."0.6.4"."nightly" or false); }
+      { "${deps.parking_lot."0.6.4".lock_api}"."owning_ref" =
+        (f.lock_api."${deps.parking_lot."0.6.4".lock_api}"."owning_ref" or false) ||
+        (parking_lot."0.6.4"."owning_ref" or false) ||
+        (f."parking_lot"."0.6.4"."owning_ref" or false); }
+      { "${deps.parking_lot."0.6.4".lock_api}".default = true; }
+    ];
+    parking_lot = fold recursiveUpdate {} [
+      { "0.6.4"."owning_ref" =
+        (f.parking_lot."0.6.4"."owning_ref" or false) ||
+        (f.parking_lot."0.6.4".default or false) ||
+        (parking_lot."0.6.4"."default" or false); }
+      { "0.6.4".default = (f.parking_lot."0.6.4".default or true); }
+    ];
+    parking_lot_core = fold recursiveUpdate {} [
+      { "${deps.parking_lot."0.6.4".parking_lot_core}"."deadlock_detection" =
+        (f.parking_lot_core."${deps.parking_lot."0.6.4".parking_lot_core}"."deadlock_detection" or false) ||
+        (parking_lot."0.6.4"."deadlock_detection" or false) ||
+        (f."parking_lot"."0.6.4"."deadlock_detection" or false); }
+      { "${deps.parking_lot."0.6.4".parking_lot_core}"."nightly" =
+        (f.parking_lot_core."${deps.parking_lot."0.6.4".parking_lot_core}"."nightly" or false) ||
+        (parking_lot."0.6.4"."nightly" or false) ||
+        (f."parking_lot"."0.6.4"."nightly" or false); }
+      { "${deps.parking_lot."0.6.4".parking_lot_core}".default = true; }
+    ];
+  }) [
+    (features_.lock_api."${deps."parking_lot"."0.6.4"."lock_api"}" deps)
+    (features_.parking_lot_core."${deps."parking_lot"."0.6.4"."parking_lot_core"}" deps)
+  ];
+
+
+# end
+# parking_lot_core-0.3.1
+
+  crates.parking_lot_core."0.3.1" = deps: { features?(features_.parking_lot_core."0.3.1" deps {}) }: buildRustCrate {
+    crateName = "parking_lot_core";
+    version = "0.3.1";
+    description = "An advanced API for creating custom synchronization primitives.";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "0h5p7dys8cx9y6ii4i57ampf7qdr8zmkpn543kd3h7nkhml8bw72";
+    dependencies = mapFeatures features ([
+      (crates."rand"."${deps."parking_lot_core"."0.3.1"."rand"}" deps)
+      (crates."smallvec"."${deps."parking_lot_core"."0.3.1"."smallvec"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."parking_lot_core"."0.3.1"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."parking_lot_core"."0.3.1"."winapi"}" deps)
+    ]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."parking_lot_core"."0.3.1"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."parking_lot_core"."0.3.1" or {});
+  };
+  features_.parking_lot_core."0.3.1" = deps: f: updateFeatures f (rec {
+    libc."${deps.parking_lot_core."0.3.1".libc}".default = true;
+    parking_lot_core = fold recursiveUpdate {} [
+      { "0.3.1"."backtrace" =
+        (f.parking_lot_core."0.3.1"."backtrace" or false) ||
+        (f.parking_lot_core."0.3.1".deadlock_detection or false) ||
+        (parking_lot_core."0.3.1"."deadlock_detection" or false); }
+      { "0.3.1"."petgraph" =
+        (f.parking_lot_core."0.3.1"."petgraph" or false) ||
+        (f.parking_lot_core."0.3.1".deadlock_detection or false) ||
+        (parking_lot_core."0.3.1"."deadlock_detection" or false); }
+      { "0.3.1"."thread-id" =
+        (f.parking_lot_core."0.3.1"."thread-id" or false) ||
+        (f.parking_lot_core."0.3.1".deadlock_detection or false) ||
+        (parking_lot_core."0.3.1"."deadlock_detection" or false); }
+      { "0.3.1".default = (f.parking_lot_core."0.3.1".default or true); }
+    ];
+    rand."${deps.parking_lot_core."0.3.1".rand}".default = true;
+    rustc_version."${deps.parking_lot_core."0.3.1".rustc_version}".default = true;
+    smallvec."${deps.parking_lot_core."0.3.1".smallvec}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.parking_lot_core."0.3.1".winapi}"."errhandlingapi" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."handleapi" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."minwindef" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."ntstatus" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."winbase" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."winerror" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}"."winnt" = true; }
+      { "${deps.parking_lot_core."0.3.1".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand."${deps."parking_lot_core"."0.3.1"."rand"}" deps)
+    (features_.smallvec."${deps."parking_lot_core"."0.3.1"."smallvec"}" deps)
+    (features_.rustc_version."${deps."parking_lot_core"."0.3.1"."rustc_version"}" deps)
+    (features_.libc."${deps."parking_lot_core"."0.3.1"."libc"}" deps)
+    (features_.winapi."${deps."parking_lot_core"."0.3.1"."winapi"}" deps)
+  ];
+
+
+# end
+# percent-encoding-1.0.1
+
+  crates.percent_encoding."1.0.1" = deps: { features?(features_.percent_encoding."1.0.1" deps {}) }: buildRustCrate {
+    crateName = "percent-encoding";
+    version = "1.0.1";
+    description = "Percent encoding and decoding";
+    authors = [ "The rust-url developers" ];
+    sha256 = "04ahrp7aw4ip7fmadb0bknybmkfav0kk0gw4ps3ydq5w6hr0ib5i";
+    libPath = "lib.rs";
+  };
+  features_.percent_encoding."1.0.1" = deps: f: updateFeatures f (rec {
+    percent_encoding."1.0.1".default = (f.percent_encoding."1.0.1".default or true);
+  }) [];
+
+
+# end
+# phf-0.7.21
+
+  crates.phf."0.7.21" = deps: { features?(features_.phf."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf";
+    version = "0.7.21";
+    description = "Runtime support for perfect hash function data structures";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "11m2rzm2s8s35m0s97gjxxb181xz352kjlhr387xj5c8q3qp5afg";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."phf_shared"."${deps."phf"."0.7.21"."phf_shared"}" deps)
+    ]);
+    features = mkFeatures (features."phf"."0.7.21" or {});
+  };
+  features_.phf."0.7.21" = deps: f: updateFeatures f (rec {
+    phf."0.7.21".default = (f.phf."0.7.21".default or true);
+    phf_shared = fold recursiveUpdate {} [
+      { "${deps.phf."0.7.21".phf_shared}"."core" =
+        (f.phf_shared."${deps.phf."0.7.21".phf_shared}"."core" or false) ||
+        (phf."0.7.21"."core" or false) ||
+        (f."phf"."0.7.21"."core" or false); }
+      { "${deps.phf."0.7.21".phf_shared}"."unicase" =
+        (f.phf_shared."${deps.phf."0.7.21".phf_shared}"."unicase" or false) ||
+        (phf."0.7.21"."unicase" or false) ||
+        (f."phf"."0.7.21"."unicase" or false); }
+      { "${deps.phf."0.7.21".phf_shared}".default = true; }
+    ];
+  }) [
+    (features_.phf_shared."${deps."phf"."0.7.21"."phf_shared"}" deps)
+  ];
+
+
+# end
+# phf_codegen-0.7.21
+
+  crates.phf_codegen."0.7.21" = deps: { features?(features_.phf_codegen."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf_codegen";
+    version = "0.7.21";
+    description = "Codegen library for PHF types";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0kgy8s2q4zr0iqcm21mgq4ppc45wy6z7b5wn98xyfsrcad6lwmmj";
+    dependencies = mapFeatures features ([
+      (crates."phf_generator"."${deps."phf_codegen"."0.7.21"."phf_generator"}" deps)
+      (crates."phf_shared"."${deps."phf_codegen"."0.7.21"."phf_shared"}" deps)
+    ]);
+  };
+  features_.phf_codegen."0.7.21" = deps: f: updateFeatures f (rec {
+    phf_codegen."0.7.21".default = (f.phf_codegen."0.7.21".default or true);
+    phf_generator."${deps.phf_codegen."0.7.21".phf_generator}".default = true;
+    phf_shared."${deps.phf_codegen."0.7.21".phf_shared}".default = true;
+  }) [
+    (features_.phf_generator."${deps."phf_codegen"."0.7.21"."phf_generator"}" deps)
+    (features_.phf_shared."${deps."phf_codegen"."0.7.21"."phf_shared"}" deps)
+  ];
+
+
+# end
+# phf_generator-0.7.21
+
+  crates.phf_generator."0.7.21" = deps: { features?(features_.phf_generator."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf_generator";
+    version = "0.7.21";
+    description = "PHF generation logic";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "1jxjfzc6d6d4l9nv0r2bb66if5brk9lnncmg4dpjjifn6zhhqd9g";
+    dependencies = mapFeatures features ([
+      (crates."phf_shared"."${deps."phf_generator"."0.7.21"."phf_shared"}" deps)
+      (crates."rand"."${deps."phf_generator"."0.7.21"."rand"}" deps)
+    ]);
+  };
+  features_.phf_generator."0.7.21" = deps: f: updateFeatures f (rec {
+    phf_generator."0.7.21".default = (f.phf_generator."0.7.21".default or true);
+    phf_shared."${deps.phf_generator."0.7.21".phf_shared}".default = true;
+    rand."${deps.phf_generator."0.7.21".rand}".default = true;
+  }) [
+    (features_.phf_shared."${deps."phf_generator"."0.7.21"."phf_shared"}" deps)
+    (features_.rand."${deps."phf_generator"."0.7.21"."rand"}" deps)
+  ];
+
+
+# end
+# phf_shared-0.7.21
+
+  crates.phf_shared."0.7.21" = deps: { features?(features_.phf_shared."0.7.21" deps {}) }: buildRustCrate {
+    crateName = "phf_shared";
+    version = "0.7.21";
+    description = "Support code shared by PHF libraries";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0lxpg3wgxfhzfalmf9ha9my1lsvfjy74ah9f6mfw88xlp545jlln";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."siphasher"."${deps."phf_shared"."0.7.21"."siphasher"}" deps)
+    ]
+      ++ (if features.phf_shared."0.7.21".unicase or false then [ (crates.unicase."${deps."phf_shared"."0.7.21".unicase}" deps) ] else []));
+    features = mkFeatures (features."phf_shared"."0.7.21" or {});
+  };
+  features_.phf_shared."0.7.21" = deps: f: updateFeatures f (rec {
+    phf_shared."0.7.21".default = (f.phf_shared."0.7.21".default or true);
+    siphasher."${deps.phf_shared."0.7.21".siphasher}".default = true;
+    unicase."${deps.phf_shared."0.7.21".unicase}".default = true;
+  }) [
+    (features_.siphasher."${deps."phf_shared"."0.7.21"."siphasher"}" deps)
+    (features_.unicase."${deps."phf_shared"."0.7.21"."unicase"}" deps)
+  ];
+
+
+# end
+# pkg-config-0.3.9
+
+  crates.pkg_config."0.3.9" = deps: { features?(features_.pkg_config."0.3.9" deps {}) }: buildRustCrate {
+    crateName = "pkg-config";
+    version = "0.3.9";
+    description = "A library to run the pkg-config system tool at build time in order to be used in\nCargo build scripts.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "06k8fxgrsrxj8mjpjcq1n7mn2p1shpxif4zg9y5h09c7vy20s146";
+  };
+  features_.pkg_config."0.3.9" = deps: f: updateFeatures f (rec {
+    pkg_config."0.3.9".default = (f.pkg_config."0.3.9".default or true);
+  }) [];
+
+
+# end
+# quote-0.3.15
+
+  crates.quote."0.3.15" = deps: { features?(features_.quote."0.3.15" deps {}) }: buildRustCrate {
+    crateName = "quote";
+    version = "0.3.15";
+    description = "Quasi-quoting macro quote!(...)";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
+  };
+  features_.quote."0.3.15" = deps: f: updateFeatures f (rec {
+    quote."0.3.15".default = (f.quote."0.3.15".default or true);
+  }) [];
+
+
+# end
+# rand-0.3.18
+
+  crates.rand."0.3.18" = deps: { features?(features_.rand."0.3.18" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.3.18";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "15d7c3myn968dzjs0a2pgv58hzdavxnq6swgj032lw2v966ir4xv";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."rand"."0.3.18"."libc"}" deps)
+    ])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+      (crates."fuchsia_zircon"."${deps."rand"."0.3.18"."fuchsia_zircon"}" deps)
+    ]) else []);
+    features = mkFeatures (features."rand"."0.3.18" or {});
+  };
+  features_.rand."0.3.18" = deps: f: updateFeatures f (rec {
+    fuchsia_zircon."${deps.rand."0.3.18".fuchsia_zircon}".default = true;
+    libc."${deps.rand."0.3.18".libc}".default = true;
+    rand = fold recursiveUpdate {} [
+      { "0.3.18"."i128_support" =
+        (f.rand."0.3.18"."i128_support" or false) ||
+        (f.rand."0.3.18".nightly or false) ||
+        (rand."0.3.18"."nightly" or false); }
+      { "0.3.18".default = (f.rand."0.3.18".default or true); }
+    ];
+  }) [
+    (features_.libc."${deps."rand"."0.3.18"."libc"}" deps)
+    (features_.fuchsia_zircon."${deps."rand"."0.3.18"."fuchsia_zircon"}" deps)
+  ];
+
+
+# end
+# rand-0.5.5
+
+  crates.rand."0.5.5" = deps: { features?(features_.rand."0.5.5" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.5.5";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0d7pnsh57qxhz1ghrzk113ddkn13kf2g758ffnbxq4nhwjfzhlc9";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand"."0.5.5"."rand_core"}" deps)
+    ])
+      ++ (if kernel == "cloudabi" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.5.5".cloudabi}" deps) ] else [])) else [])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".fuchsia-zircon or false then [ (crates.fuchsia_zircon."${deps."rand"."0.5.5".fuchsia_zircon}" deps) ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".libc or false then [ (crates.libc."${deps."rand"."0.5.5".libc}" deps) ] else [])) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.5.5".winapi or false then [ (crates.winapi."${deps."rand"."0.5.5".winapi}" deps) ] else [])) else [])
+      ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([
+]) else []);
+    features = mkFeatures (features."rand"."0.5.5" or {});
+  };
+  features_.rand."0.5.5" = deps: f: updateFeatures f (rec {
+    cloudabi."${deps.rand."0.5.5".cloudabi}".default = true;
+    fuchsia_zircon."${deps.rand."0.5.5".fuchsia_zircon}".default = true;
+    libc."${deps.rand."0.5.5".libc}".default = true;
+    rand = fold recursiveUpdate {} [
+      { "0.5.5"."alloc" =
+        (f.rand."0.5.5"."alloc" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."cloudabi" =
+        (f.rand."0.5.5"."cloudabi" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."fuchsia-zircon" =
+        (f.rand."0.5.5"."fuchsia-zircon" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."i128_support" =
+        (f.rand."0.5.5"."i128_support" or false) ||
+        (f.rand."0.5.5".nightly or false) ||
+        (rand."0.5.5"."nightly" or false); }
+      { "0.5.5"."libc" =
+        (f.rand."0.5.5"."libc" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5"."serde" =
+        (f.rand."0.5.5"."serde" or false) ||
+        (f.rand."0.5.5".serde1 or false) ||
+        (rand."0.5.5"."serde1" or false); }
+      { "0.5.5"."serde_derive" =
+        (f.rand."0.5.5"."serde_derive" or false) ||
+        (f.rand."0.5.5".serde1 or false) ||
+        (rand."0.5.5"."serde1" or false); }
+      { "0.5.5"."std" =
+        (f.rand."0.5.5"."std" or false) ||
+        (f.rand."0.5.5".default or false) ||
+        (rand."0.5.5"."default" or false); }
+      { "0.5.5"."winapi" =
+        (f.rand."0.5.5"."winapi" or false) ||
+        (f.rand."0.5.5".std or false) ||
+        (rand."0.5.5"."std" or false); }
+      { "0.5.5".default = (f.rand."0.5.5".default or true); }
+    ];
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand."0.5.5".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand."0.5.5".rand_core}"."alloc" or false) ||
+        (rand."0.5.5"."alloc" or false) ||
+        (f."rand"."0.5.5"."alloc" or false); }
+      { "${deps.rand."0.5.5".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand."0.5.5".rand_core}"."serde1" or false) ||
+        (rand."0.5.5"."serde1" or false) ||
+        (f."rand"."0.5.5"."serde1" or false); }
+      { "${deps.rand."0.5.5".rand_core}"."std" =
+        (f.rand_core."${deps.rand."0.5.5".rand_core}"."std" or false) ||
+        (rand."0.5.5"."std" or false) ||
+        (f."rand"."0.5.5"."std" or false); }
+      { "${deps.rand."0.5.5".rand_core}".default = (f.rand_core."${deps.rand."0.5.5".rand_core}".default or false); }
+    ];
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand."0.5.5".winapi}"."minwindef" = true; }
+      { "${deps.rand."0.5.5".winapi}"."ntsecapi" = true; }
+      { "${deps.rand."0.5.5".winapi}"."profileapi" = true; }
+      { "${deps.rand."0.5.5".winapi}"."winnt" = true; }
+      { "${deps.rand."0.5.5".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand"."0.5.5"."rand_core"}" deps)
+    (features_.cloudabi."${deps."rand"."0.5.5"."cloudabi"}" deps)
+    (features_.fuchsia_zircon."${deps."rand"."0.5.5"."fuchsia_zircon"}" deps)
+    (features_.libc."${deps."rand"."0.5.5"."libc"}" deps)
+    (features_.winapi."${deps."rand"."0.5.5"."winapi"}" deps)
+  ];
+
+
+# end
+# rand-0.6.1
+
+  crates.rand."0.6.1" = deps: { features?(features_.rand."0.6.1" deps {}) }: buildRustCrate {
+    crateName = "rand";
+    version = "0.6.1";
+    description = "Random number generators and other randomness functionality.\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "123s3w165iiifmf475lisqkd0kbr7nwnn3k4b1zg2cwap5v9m9bz";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_chacha"."${deps."rand"."0.6.1"."rand_chacha"}" deps)
+      (crates."rand_core"."${deps."rand"."0.6.1"."rand_core"}" deps)
+      (crates."rand_hc"."${deps."rand"."0.6.1"."rand_hc"}" deps)
+      (crates."rand_isaac"."${deps."rand"."0.6.1"."rand_isaac"}" deps)
+      (crates."rand_pcg"."${deps."rand"."0.6.1"."rand_pcg"}" deps)
+      (crates."rand_xorshift"."${deps."rand"."0.6.1"."rand_xorshift"}" deps)
+    ])
+      ++ (if kernel == "cloudabi" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".cloudabi or false then [ (crates.cloudabi."${deps."rand"."0.6.1".cloudabi}" deps) ] else [])) else [])
+      ++ (if kernel == "fuchsia" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".fuchsia-zircon or false then [ (crates.fuchsia_zircon."${deps."rand"."0.6.1".fuchsia_zircon}" deps) ] else [])) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".libc or false then [ (crates.libc."${deps."rand"."0.6.1".libc}" deps) ] else [])) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+    ]
+      ++ (if features.rand."0.6.1".winapi or false then [ (crates.winapi."${deps."rand"."0.6.1".winapi}" deps) ] else [])) else [])
+      ++ (if kernel == "wasm32-unknown-unknown" then mapFeatures features ([
+]) else []);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."rand"."0.6.1"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."rand"."0.6.1" or {});
+  };
+  features_.rand."0.6.1" = deps: f: updateFeatures f (rec {
+    cloudabi."${deps.rand."0.6.1".cloudabi}".default = true;
+    fuchsia_zircon."${deps.rand."0.6.1".fuchsia_zircon}".default = true;
+    libc."${deps.rand."0.6.1".libc}".default = (f.libc."${deps.rand."0.6.1".libc}".default or false);
+    rand = fold recursiveUpdate {} [
+      { "0.6.1"."alloc" =
+        (f.rand."0.6.1"."alloc" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."cloudabi" =
+        (f.rand."0.6.1"."cloudabi" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."fuchsia-zircon" =
+        (f.rand."0.6.1"."fuchsia-zircon" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."libc" =
+        (f.rand."0.6.1"."libc" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1"."packed_simd" =
+        (f.rand."0.6.1"."packed_simd" or false) ||
+        (f.rand."0.6.1".simd_support or false) ||
+        (rand."0.6.1"."simd_support" or false); }
+      { "0.6.1"."simd_support" =
+        (f.rand."0.6.1"."simd_support" or false) ||
+        (f.rand."0.6.1".nightly or false) ||
+        (rand."0.6.1"."nightly" or false); }
+      { "0.6.1"."std" =
+        (f.rand."0.6.1"."std" or false) ||
+        (f.rand."0.6.1".default or false) ||
+        (rand."0.6.1"."default" or false); }
+      { "0.6.1"."winapi" =
+        (f.rand."0.6.1"."winapi" or false) ||
+        (f.rand."0.6.1".std or false) ||
+        (rand."0.6.1"."std" or false); }
+      { "0.6.1".default = (f.rand."0.6.1".default or true); }
+    ];
+    rand_chacha."${deps.rand."0.6.1".rand_chacha}".default = true;
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand."0.6.1".rand_core}"."alloc" or false) ||
+        (rand."0.6.1"."alloc" or false) ||
+        (f."rand"."0.6.1"."alloc" or false); }
+      { "${deps.rand."0.6.1".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand."0.6.1".rand_core}"."serde1" or false) ||
+        (rand."0.6.1"."serde1" or false) ||
+        (f."rand"."0.6.1"."serde1" or false); }
+      { "${deps.rand."0.6.1".rand_core}"."std" =
+        (f.rand_core."${deps.rand."0.6.1".rand_core}"."std" or false) ||
+        (rand."0.6.1"."std" or false) ||
+        (f."rand"."0.6.1"."std" or false); }
+      { "${deps.rand."0.6.1".rand_core}".default = (f.rand_core."${deps.rand."0.6.1".rand_core}".default or false); }
+    ];
+    rand_hc."${deps.rand."0.6.1".rand_hc}".default = true;
+    rand_isaac = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".rand_isaac}"."serde1" =
+        (f.rand_isaac."${deps.rand."0.6.1".rand_isaac}"."serde1" or false) ||
+        (rand."0.6.1"."serde1" or false) ||
+        (f."rand"."0.6.1"."serde1" or false); }
+      { "${deps.rand."0.6.1".rand_isaac}".default = true; }
+    ];
+    rand_pcg."${deps.rand."0.6.1".rand_pcg}".default = true;
+    rand_xorshift = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".rand_xorshift}"."serde1" =
+        (f.rand_xorshift."${deps.rand."0.6.1".rand_xorshift}"."serde1" or false) ||
+        (rand."0.6.1"."serde1" or false) ||
+        (f."rand"."0.6.1"."serde1" or false); }
+      { "${deps.rand."0.6.1".rand_xorshift}".default = true; }
+    ];
+    rustc_version."${deps.rand."0.6.1".rustc_version}".default = true;
+    winapi = fold recursiveUpdate {} [
+      { "${deps.rand."0.6.1".winapi}"."minwindef" = true; }
+      { "${deps.rand."0.6.1".winapi}"."ntsecapi" = true; }
+      { "${deps.rand."0.6.1".winapi}"."profileapi" = true; }
+      { "${deps.rand."0.6.1".winapi}"."winnt" = true; }
+      { "${deps.rand."0.6.1".winapi}".default = true; }
+    ];
+  }) [
+    (features_.rand_chacha."${deps."rand"."0.6.1"."rand_chacha"}" deps)
+    (features_.rand_core."${deps."rand"."0.6.1"."rand_core"}" deps)
+    (features_.rand_hc."${deps."rand"."0.6.1"."rand_hc"}" deps)
+    (features_.rand_isaac."${deps."rand"."0.6.1"."rand_isaac"}" deps)
+    (features_.rand_pcg."${deps."rand"."0.6.1"."rand_pcg"}" deps)
+    (features_.rand_xorshift."${deps."rand"."0.6.1"."rand_xorshift"}" deps)
+    (features_.rustc_version."${deps."rand"."0.6.1"."rustc_version"}" deps)
+    (features_.cloudabi."${deps."rand"."0.6.1"."cloudabi"}" deps)
+    (features_.fuchsia_zircon."${deps."rand"."0.6.1"."fuchsia_zircon"}" deps)
+    (features_.libc."${deps."rand"."0.6.1"."libc"}" deps)
+    (features_.winapi."${deps."rand"."0.6.1"."winapi"}" deps)
+  ];
+
+
+# end
+# rand_chacha-0.1.0
+
+  crates.rand_chacha."0.1.0" = deps: { features?(features_.rand_chacha."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_chacha";
+    version = "0.1.0";
+    description = "ChaCha random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "0q5pq34cqv1mnibgzd1cmx9q49vkr2lvalkkvizmlld217jmlqc6";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_chacha"."0.1.0"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."rand_chacha"."0.1.0"."rustc_version"}" deps)
+    ]);
+  };
+  features_.rand_chacha."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_chacha."0.1.0".default = (f.rand_chacha."0.1.0".default or true);
+    rand_core."${deps.rand_chacha."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_chacha."0.1.0".rand_core}".default or false);
+    rustc_version."${deps.rand_chacha."0.1.0".rustc_version}".default = true;
+  }) [
+    (features_.rand_core."${deps."rand_chacha"."0.1.0"."rand_core"}" deps)
+    (features_.rustc_version."${deps."rand_chacha"."0.1.0"."rustc_version"}" deps)
+  ];
+
+
+# end
+# rand_core-0.2.2
+
+  crates.rand_core."0.2.2" = deps: { features?(features_.rand_core."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "rand_core";
+    version = "0.2.2";
+    description = "Core random number generator traits and tools for implementation.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1cxnaxmsirz2wxsajsjkd1wk6lqfqbcprqkha4bq3didznrl22sc";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_core"."0.2.2"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_core"."0.2.2" or {});
+  };
+  features_.rand_core."0.2.2" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_core."0.2.2".rand_core}"."alloc" =
+        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."alloc" or false) ||
+        (rand_core."0.2.2"."alloc" or false) ||
+        (f."rand_core"."0.2.2"."alloc" or false); }
+      { "${deps.rand_core."0.2.2".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."serde1" or false) ||
+        (rand_core."0.2.2"."serde1" or false) ||
+        (f."rand_core"."0.2.2"."serde1" or false); }
+      { "${deps.rand_core."0.2.2".rand_core}"."std" =
+        (f.rand_core."${deps.rand_core."0.2.2".rand_core}"."std" or false) ||
+        (rand_core."0.2.2"."std" or false) ||
+        (f."rand_core"."0.2.2"."std" or false); }
+      { "${deps.rand_core."0.2.2".rand_core}".default = (f.rand_core."${deps.rand_core."0.2.2".rand_core}".default or false); }
+      { "0.2.2".default = (f.rand_core."0.2.2".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_core"."0.2.2"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_core-0.3.0
+
+  crates.rand_core."0.3.0" = deps: { features?(features_.rand_core."0.3.0" deps {}) }: buildRustCrate {
+    crateName = "rand_core";
+    version = "0.3.0";
+    description = "Core random number generator traits and tools for implementation.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1vafw316apjys9va3j987s02djhqp7y21v671v3ix0p5j9bjq339";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."rand_core"."0.3.0" or {});
+  };
+  features_.rand_core."0.3.0" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "0.3.0"."alloc" =
+        (f.rand_core."0.3.0"."alloc" or false) ||
+        (f.rand_core."0.3.0".std or false) ||
+        (rand_core."0.3.0"."std" or false); }
+      { "0.3.0"."serde" =
+        (f.rand_core."0.3.0"."serde" or false) ||
+        (f.rand_core."0.3.0".serde1 or false) ||
+        (rand_core."0.3.0"."serde1" or false); }
+      { "0.3.0"."serde_derive" =
+        (f.rand_core."0.3.0"."serde_derive" or false) ||
+        (f.rand_core."0.3.0".serde1 or false) ||
+        (rand_core."0.3.0"."serde1" or false); }
+      { "0.3.0"."std" =
+        (f.rand_core."0.3.0"."std" or false) ||
+        (f.rand_core."0.3.0".default or false) ||
+        (rand_core."0.3.0"."default" or false); }
+      { "0.3.0".default = (f.rand_core."0.3.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# rand_hc-0.1.0
+
+  crates.rand_hc."0.1.0" = deps: { features?(features_.rand_hc."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_hc";
+    version = "0.1.0";
+    description = "HC128 random number generator\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "05agb75j87yp7y1zk8yf7bpm66hc0673r3dlypn0kazynr6fdgkz";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+    ]);
+  };
+  features_.rand_hc."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_hc."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_hc."0.1.0".rand_core}".default or false);
+    rand_hc."0.1.0".default = (f.rand_hc."0.1.0".default or true);
+  }) [
+    (features_.rand_core."${deps."rand_hc"."0.1.0"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_isaac-0.1.1
+
+  crates.rand_isaac."0.1.1" = deps: { features?(features_.rand_isaac."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_isaac";
+    version = "0.1.1";
+    description = "ISAAC random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "10hhdh5b5sa03s6b63y9bafm956jwilx41s71jbrzl63ccx8lxdq";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_isaac"."0.1.1" or {});
+  };
+  features_.rand_isaac."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core = fold recursiveUpdate {} [
+      { "${deps.rand_isaac."0.1.1".rand_core}"."serde1" =
+        (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}"."serde1" or false) ||
+        (rand_isaac."0.1.1"."serde1" or false) ||
+        (f."rand_isaac"."0.1.1"."serde1" or false); }
+      { "${deps.rand_isaac."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_isaac."0.1.1".rand_core}".default or false); }
+    ];
+    rand_isaac = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_isaac."0.1.1"."serde" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_isaac."0.1.1"."serde_derive" or false) ||
+        (f.rand_isaac."0.1.1".serde1 or false) ||
+        (rand_isaac."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_isaac."0.1.1".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_isaac"."0.1.1"."rand_core"}" deps)
+  ];
+
+
+# end
+# rand_pcg-0.1.1
+
+  crates.rand_pcg."0.1.1" = deps: { features?(features_.rand_pcg."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "rand_pcg";
+    version = "0.1.1";
+    description = "Selected PCG random number generators\n";
+    authors = [ "The Rand Project Developers" ];
+    sha256 = "0x6pzldj0c8c7gmr67ni5i7w2f7n7idvs3ckx0fc3wkhwl7wrbza";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_pcg"."0.1.1"."rand_core"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."rustc_version"."${deps."rand_pcg"."0.1.1"."rustc_version"}" deps)
+    ]);
+    features = mkFeatures (features."rand_pcg"."0.1.1" or {});
+  };
+  features_.rand_pcg."0.1.1" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_pcg."0.1.1".rand_core}".default = (f.rand_core."${deps.rand_pcg."0.1.1".rand_core}".default or false);
+    rand_pcg = fold recursiveUpdate {} [
+      { "0.1.1"."serde" =
+        (f.rand_pcg."0.1.1"."serde" or false) ||
+        (f.rand_pcg."0.1.1".serde1 or false) ||
+        (rand_pcg."0.1.1"."serde1" or false); }
+      { "0.1.1"."serde_derive" =
+        (f.rand_pcg."0.1.1"."serde_derive" or false) ||
+        (f.rand_pcg."0.1.1".serde1 or false) ||
+        (rand_pcg."0.1.1"."serde1" or false); }
+      { "0.1.1".default = (f.rand_pcg."0.1.1".default or true); }
+    ];
+    rustc_version."${deps.rand_pcg."0.1.1".rustc_version}".default = true;
+  }) [
+    (features_.rand_core."${deps."rand_pcg"."0.1.1"."rand_core"}" deps)
+    (features_.rustc_version."${deps."rand_pcg"."0.1.1"."rustc_version"}" deps)
+  ];
+
+
+# end
+# rand_xorshift-0.1.0
+
+  crates.rand_xorshift."0.1.0" = deps: { features?(features_.rand_xorshift."0.1.0" deps {}) }: buildRustCrate {
+    crateName = "rand_xorshift";
+    version = "0.1.0";
+    description = "Xorshift random number generator\n";
+    authors = [ "The Rand Project Developers" "The Rust Project Developers" ];
+    sha256 = "063vxb678ki8gq4rx9w7yg5f9i29ig1zwykl67mfsxn0kxlkv2ih";
+    dependencies = mapFeatures features ([
+      (crates."rand_core"."${deps."rand_xorshift"."0.1.0"."rand_core"}" deps)
+    ]);
+    features = mkFeatures (features."rand_xorshift"."0.1.0" or {});
+  };
+  features_.rand_xorshift."0.1.0" = deps: f: updateFeatures f (rec {
+    rand_core."${deps.rand_xorshift."0.1.0".rand_core}".default = (f.rand_core."${deps.rand_xorshift."0.1.0".rand_core}".default or false);
+    rand_xorshift = fold recursiveUpdate {} [
+      { "0.1.0"."serde" =
+        (f.rand_xorshift."0.1.0"."serde" or false) ||
+        (f.rand_xorshift."0.1.0".serde1 or false) ||
+        (rand_xorshift."0.1.0"."serde1" or false); }
+      { "0.1.0"."serde_derive" =
+        (f.rand_xorshift."0.1.0"."serde_derive" or false) ||
+        (f.rand_xorshift."0.1.0".serde1 or false) ||
+        (rand_xorshift."0.1.0"."serde1" or false); }
+      { "0.1.0".default = (f.rand_xorshift."0.1.0".default or true); }
+    ];
+  }) [
+    (features_.rand_core."${deps."rand_xorshift"."0.1.0"."rand_core"}" deps)
+  ];
+
+
+# end
+# redox_syscall-0.1.31
+
+  crates.redox_syscall."0.1.31" = deps: { features?(features_.redox_syscall."0.1.31" deps {}) }: buildRustCrate {
+    crateName = "redox_syscall";
+    version = "0.1.31";
+    description = "A Rust library to access raw Redox system calls";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "0kipd9qslzin4fgj4jrxv6yz5l3l71gnbd7fq1jhk2j7f2sq33j4";
+    libName = "syscall";
+  };
+  features_.redox_syscall."0.1.31" = deps: f: updateFeatures f (rec {
+    redox_syscall."0.1.31".default = (f.redox_syscall."0.1.31".default or true);
+  }) [];
+
+
+# end
+# redox_termios-0.1.1
+
+  crates.redox_termios."0.1.1" = deps: { features?(features_.redox_termios."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "redox_termios";
+    version = "0.1.1";
+    description = "A Rust library to access Redox termios functions";
+    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
+    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."redox_syscall"."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
+    ]);
+  };
+  features_.redox_termios."0.1.1" = deps: f: updateFeatures f (rec {
+    redox_syscall."${deps.redox_termios."0.1.1".redox_syscall}".default = true;
+    redox_termios."0.1.1".default = (f.redox_termios."0.1.1".default or true);
+  }) [
+    (features_.redox_syscall."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
+  ];
+
+
+# end
+# regex-0.1.80
+
+  crates.regex."0.1.80" = deps: { features?(features_.regex."0.1.80" deps {}) }: buildRustCrate {
+    crateName = "regex";
+    version = "0.1.80";
+    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "0y4s8ghhx6sgzb35irwivm3w0l2hhqhmdcd2px9hirqnkagal9l6";
+    dependencies = mapFeatures features ([
+      (crates."aho_corasick"."${deps."regex"."0.1.80"."aho_corasick"}" deps)
+      (crates."memchr"."${deps."regex"."0.1.80"."memchr"}" deps)
+      (crates."regex_syntax"."${deps."regex"."0.1.80"."regex_syntax"}" deps)
+      (crates."thread_local"."${deps."regex"."0.1.80"."thread_local"}" deps)
+      (crates."utf8_ranges"."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
+    ]);
+    features = mkFeatures (features."regex"."0.1.80" or {});
+  };
+  features_.regex."0.1.80" = deps: f: updateFeatures f (rec {
+    aho_corasick."${deps.regex."0.1.80".aho_corasick}".default = true;
+    memchr."${deps.regex."0.1.80".memchr}".default = true;
+    regex = fold recursiveUpdate {} [
+      { "0.1.80"."simd" =
+        (f.regex."0.1.80"."simd" or false) ||
+        (f.regex."0.1.80".simd-accel or false) ||
+        (regex."0.1.80"."simd-accel" or false); }
+      { "0.1.80".default = (f.regex."0.1.80".default or true); }
+    ];
+    regex_syntax."${deps.regex."0.1.80".regex_syntax}".default = true;
+    thread_local."${deps.regex."0.1.80".thread_local}".default = true;
+    utf8_ranges."${deps.regex."0.1.80".utf8_ranges}".default = true;
+  }) [
+    (features_.aho_corasick."${deps."regex"."0.1.80"."aho_corasick"}" deps)
+    (features_.memchr."${deps."regex"."0.1.80"."memchr"}" deps)
+    (features_.regex_syntax."${deps."regex"."0.1.80"."regex_syntax"}" deps)
+    (features_.thread_local."${deps."regex"."0.1.80"."thread_local"}" deps)
+    (features_.utf8_ranges."${deps."regex"."0.1.80"."utf8_ranges"}" deps)
+  ];
+
+
+# end
+# regex-syntax-0.3.9
+
+  crates.regex_syntax."0.3.9" = deps: { features?(features_.regex_syntax."0.3.9" deps {}) }: buildRustCrate {
+    crateName = "regex-syntax";
+    version = "0.3.9";
+    description = "A regular expression parser.";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1mzhphkbwppwd1zam2jkgjk550cqgf6506i87bw2yzrvcsraiw7m";
+  };
+  features_.regex_syntax."0.3.9" = deps: f: updateFeatures f (rec {
+    regex_syntax."0.3.9".default = (f.regex_syntax."0.3.9".default or true);
+  }) [];
+
+
+# end
+# remove_dir_all-0.5.1
+
+  crates.remove_dir_all."0.5.1" = deps: { features?(features_.remove_dir_all."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "remove_dir_all";
+    version = "0.5.1";
+    description = "A safe, reliable implementation of remove_dir_all for Windows";
+    authors = [ "Aaronepower <theaaronepower@gmail.com>" ];
+    sha256 = "1chx3yvfbj46xjz4bzsvps208l46hfbcy0sm98gpiya454n4rrl7";
+    dependencies = (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."remove_dir_all"."0.5.1"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.remove_dir_all."0.5.1" = deps: f: updateFeatures f (rec {
+    remove_dir_all."0.5.1".default = (f.remove_dir_all."0.5.1".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.remove_dir_all."0.5.1".winapi}"."errhandlingapi" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."fileapi" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."std" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."winbase" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}"."winerror" = true; }
+      { "${deps.remove_dir_all."0.5.1".winapi}".default = true; }
+    ];
+  }) [
+    (features_.winapi."${deps."remove_dir_all"."0.5.1"."winapi"}" deps)
+  ];
+
+
+# end
+# reqwest-0.9.5
+
+  crates.reqwest."0.9.5" = deps: { features?(features_.reqwest."0.9.5" deps {}) }: buildRustCrate {
+    crateName = "reqwest";
+    version = "0.9.5";
+    description = "higher level HTTP client library";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1y0fq8ifhbgn6bfvjq831svirqszszj7f73ykbd28inwc0xiv2ix";
+    dependencies = mapFeatures features ([
+      (crates."base64"."${deps."reqwest"."0.9.5"."base64"}" deps)
+      (crates."bytes"."${deps."reqwest"."0.9.5"."bytes"}" deps)
+      (crates."encoding_rs"."${deps."reqwest"."0.9.5"."encoding_rs"}" deps)
+      (crates."futures"."${deps."reqwest"."0.9.5"."futures"}" deps)
+      (crates."http"."${deps."reqwest"."0.9.5"."http"}" deps)
+      (crates."hyper"."${deps."reqwest"."0.9.5"."hyper"}" deps)
+      (crates."libflate"."${deps."reqwest"."0.9.5"."libflate"}" deps)
+      (crates."log"."${deps."reqwest"."0.9.5"."log"}" deps)
+      (crates."mime"."${deps."reqwest"."0.9.5"."mime"}" deps)
+      (crates."mime_guess"."${deps."reqwest"."0.9.5"."mime_guess"}" deps)
+      (crates."serde"."${deps."reqwest"."0.9.5"."serde"}" deps)
+      (crates."serde_json"."${deps."reqwest"."0.9.5"."serde_json"}" deps)
+      (crates."serde_urlencoded"."${deps."reqwest"."0.9.5"."serde_urlencoded"}" deps)
+      (crates."tokio"."${deps."reqwest"."0.9.5"."tokio"}" deps)
+      (crates."tokio_io"."${deps."reqwest"."0.9.5"."tokio_io"}" deps)
+      (crates."url"."${deps."reqwest"."0.9.5"."url"}" deps)
+      (crates."uuid"."${deps."reqwest"."0.9.5"."uuid"}" deps)
+    ]
+      ++ (if features.reqwest."0.9.5".hyper-tls or false then [ (crates.hyper_tls."${deps."reqwest"."0.9.5".hyper_tls}" deps) ] else [])
+      ++ (if features.reqwest."0.9.5".native-tls or false then [ (crates.native_tls."${deps."reqwest"."0.9.5".native_tls}" deps) ] else []));
+    features = mkFeatures (features."reqwest"."0.9.5" or {});
+  };
+  features_.reqwest."0.9.5" = deps: f: updateFeatures f (rec {
+    base64."${deps.reqwest."0.9.5".base64}".default = true;
+    bytes."${deps.reqwest."0.9.5".bytes}".default = true;
+    encoding_rs."${deps.reqwest."0.9.5".encoding_rs}".default = true;
+    futures."${deps.reqwest."0.9.5".futures}".default = true;
+    http."${deps.reqwest."0.9.5".http}".default = true;
+    hyper."${deps.reqwest."0.9.5".hyper}".default = true;
+    hyper_tls."${deps.reqwest."0.9.5".hyper_tls}".default = true;
+    libflate."${deps.reqwest."0.9.5".libflate}".default = true;
+    log."${deps.reqwest."0.9.5".log}".default = true;
+    mime."${deps.reqwest."0.9.5".mime}".default = true;
+    mime_guess."${deps.reqwest."0.9.5".mime_guess}".default = true;
+    native_tls."${deps.reqwest."0.9.5".native_tls}".default = true;
+    reqwest = fold recursiveUpdate {} [
+      { "0.9.5"."default-tls" =
+        (f.reqwest."0.9.5"."default-tls" or false) ||
+        (f.reqwest."0.9.5".default or false) ||
+        (reqwest."0.9.5"."default" or false); }
+      { "0.9.5"."hyper-old-types" =
+        (f.reqwest."0.9.5"."hyper-old-types" or false) ||
+        (f.reqwest."0.9.5".hyper-011 or false) ||
+        (reqwest."0.9.5"."hyper-011" or false); }
+      { "0.9.5"."hyper-tls" =
+        (f.reqwest."0.9.5"."hyper-tls" or false) ||
+        (f.reqwest."0.9.5".default-tls or false) ||
+        (reqwest."0.9.5"."default-tls" or false); }
+      { "0.9.5"."native-tls" =
+        (f.reqwest."0.9.5"."native-tls" or false) ||
+        (f.reqwest."0.9.5".default-tls or false) ||
+        (reqwest."0.9.5"."default-tls" or false); }
+      { "0.9.5".default = (f.reqwest."0.9.5".default or true); }
+    ];
+    serde."${deps.reqwest."0.9.5".serde}".default = true;
+    serde_json."${deps.reqwest."0.9.5".serde_json}".default = true;
+    serde_urlencoded."${deps.reqwest."0.9.5".serde_urlencoded}".default = true;
+    tokio."${deps.reqwest."0.9.5".tokio}".default = true;
+    tokio_io."${deps.reqwest."0.9.5".tokio_io}".default = true;
+    url."${deps.reqwest."0.9.5".url}".default = true;
+    uuid = fold recursiveUpdate {} [
+      { "${deps.reqwest."0.9.5".uuid}"."v4" = true; }
+      { "${deps.reqwest."0.9.5".uuid}".default = true; }
+    ];
+  }) [
+    (features_.base64."${deps."reqwest"."0.9.5"."base64"}" deps)
+    (features_.bytes."${deps."reqwest"."0.9.5"."bytes"}" deps)
+    (features_.encoding_rs."${deps."reqwest"."0.9.5"."encoding_rs"}" deps)
+    (features_.futures."${deps."reqwest"."0.9.5"."futures"}" deps)
+    (features_.http."${deps."reqwest"."0.9.5"."http"}" deps)
+    (features_.hyper."${deps."reqwest"."0.9.5"."hyper"}" deps)
+    (features_.hyper_tls."${deps."reqwest"."0.9.5"."hyper_tls"}" deps)
+    (features_.libflate."${deps."reqwest"."0.9.5"."libflate"}" deps)
+    (features_.log."${deps."reqwest"."0.9.5"."log"}" deps)
+    (features_.mime."${deps."reqwest"."0.9.5"."mime"}" deps)
+    (features_.mime_guess."${deps."reqwest"."0.9.5"."mime_guess"}" deps)
+    (features_.native_tls."${deps."reqwest"."0.9.5"."native_tls"}" deps)
+    (features_.serde."${deps."reqwest"."0.9.5"."serde"}" deps)
+    (features_.serde_json."${deps."reqwest"."0.9.5"."serde_json"}" deps)
+    (features_.serde_urlencoded."${deps."reqwest"."0.9.5"."serde_urlencoded"}" deps)
+    (features_.tokio."${deps."reqwest"."0.9.5"."tokio"}" deps)
+    (features_.tokio_io."${deps."reqwest"."0.9.5"."tokio_io"}" deps)
+    (features_.url."${deps."reqwest"."0.9.5"."url"}" deps)
+    (features_.uuid."${deps."reqwest"."0.9.5"."uuid"}" deps)
+  ];
+
+
+# end
+# rustc_version-0.2.3
+
+  crates.rustc_version."0.2.3" = deps: { features?(features_.rustc_version."0.2.3" deps {}) }: buildRustCrate {
+    crateName = "rustc_version";
+    version = "0.2.3";
+    description = "A library for querying the version of a installed rustc compiler";
+    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
+    sha256 = "0rgwzbgs3i9fqjm1p4ra3n7frafmpwl29c8lw85kv1rxn7n2zaa7";
+    dependencies = mapFeatures features ([
+      (crates."semver"."${deps."rustc_version"."0.2.3"."semver"}" deps)
+    ]);
+  };
+  features_.rustc_version."0.2.3" = deps: f: updateFeatures f (rec {
+    rustc_version."0.2.3".default = (f.rustc_version."0.2.3".default or true);
+    semver."${deps.rustc_version."0.2.3".semver}".default = true;
+  }) [
+    (features_.semver."${deps."rustc_version"."0.2.3"."semver"}" deps)
+  ];
+
+
+# end
+# safemem-0.3.0
+
+  crates.safemem."0.3.0" = deps: { features?(features_.safemem."0.3.0" deps {}) }: buildRustCrate {
+    crateName = "safemem";
+    version = "0.3.0";
+    description = "Safe wrappers for memory-accessing functions, like `std::ptr::copy()`.";
+    authors = [ "Austin Bonander <austin.bonander@gmail.com>" ];
+    sha256 = "0pr39b468d05f6m7m4alsngmj5p7an8df21apsxbi57k0lmwrr18";
+    features = mkFeatures (features."safemem"."0.3.0" or {});
+  };
+  features_.safemem."0.3.0" = deps: f: updateFeatures f (rec {
+    safemem = fold recursiveUpdate {} [
+      { "0.3.0"."std" =
+        (f.safemem."0.3.0"."std" or false) ||
+        (f.safemem."0.3.0".default or false) ||
+        (safemem."0.3.0"."default" or false); }
+      { "0.3.0".default = (f.safemem."0.3.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# schannel-0.1.14
+
+  crates.schannel."0.1.14" = deps: { features?(features_.schannel."0.1.14" deps {}) }: buildRustCrate {
+    crateName = "schannel";
+    version = "0.1.14";
+    description = "Schannel bindings for rust, allowing SSL/TLS (e.g. https) without openssl";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" "Steffen Butzer <steffen.butzer@outlook.com>" ];
+    sha256 = "1g0a88jknns1kwn3x1k3ci5y5zvg58pwdg1xrxkrw3cwd2hynm9k";
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."schannel"."0.1.14"."lazy_static"}" deps)
+      (crates."winapi"."${deps."schannel"."0.1.14"."winapi"}" deps)
+    ]);
+  };
+  features_.schannel."0.1.14" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.schannel."0.1.14".lazy_static}".default = true;
+    schannel."0.1.14".default = (f.schannel."0.1.14".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.schannel."0.1.14".winapi}"."lmcons" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."minschannel" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."schannel" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."securitybaseapi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."sspi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."sysinfoapi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."timezoneapi" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."winbase" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."wincrypt" = true; }
+      { "${deps.schannel."0.1.14".winapi}"."winerror" = true; }
+      { "${deps.schannel."0.1.14".winapi}".default = true; }
+    ];
+  }) [
+    (features_.lazy_static."${deps."schannel"."0.1.14"."lazy_static"}" deps)
+    (features_.winapi."${deps."schannel"."0.1.14"."winapi"}" deps)
+  ];
+
+
+# end
+# scopeguard-0.3.3
+
+  crates.scopeguard."0.3.3" = deps: { features?(features_.scopeguard."0.3.3" deps {}) }: buildRustCrate {
+    crateName = "scopeguard";
+    version = "0.3.3";
+    description = "A RAII scope guard that will run a given closure when it goes out of scope,\neven if the code between panics (assuming unwinding panic).\n\nDefines the macros `defer!` and `defer_on_unwind!`; the latter only runs\nif the scope is extited through unwinding on panic.\n";
+    authors = [ "bluss" ];
+    sha256 = "0i1l013csrqzfz6c68pr5pi01hg5v5yahq8fsdmaxy6p8ygsjf3r";
+    features = mkFeatures (features."scopeguard"."0.3.3" or {});
+  };
+  features_.scopeguard."0.3.3" = deps: f: updateFeatures f (rec {
+    scopeguard = fold recursiveUpdate {} [
+      { "0.3.3"."use_std" =
+        (f.scopeguard."0.3.3"."use_std" or false) ||
+        (f.scopeguard."0.3.3".default or false) ||
+        (scopeguard."0.3.3"."default" or false); }
+      { "0.3.3".default = (f.scopeguard."0.3.3".default or true); }
+    ];
+  }) [];
+
+
+# end
+# security-framework-0.2.1
+
+  crates.security_framework."0.2.1" = deps: { features?(features_.security_framework."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "security-framework";
+    version = "0.2.1";
+    description = "Security Framework bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0qia5g66zmjn57m9swhrkz3cll3bs4061qim6w72v08c2w0pkvsw";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation"."${deps."security_framework"."0.2.1"."core_foundation"}" deps)
+      (crates."core_foundation_sys"."${deps."security_framework"."0.2.1"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."security_framework"."0.2.1"."libc"}" deps)
+      (crates."security_framework_sys"."${deps."security_framework"."0.2.1"."security_framework_sys"}" deps)
+    ]);
+    features = mkFeatures (features."security_framework"."0.2.1" or {});
+  };
+  features_.security_framework."0.2.1" = deps: f: updateFeatures f (rec {
+    core_foundation."${deps.security_framework."0.2.1".core_foundation}".default = true;
+    core_foundation_sys."${deps.security_framework."0.2.1".core_foundation_sys}".default = true;
+    libc."${deps.security_framework."0.2.1".libc}".default = true;
+    security_framework = fold recursiveUpdate {} [
+      { "0.2.1"."OSX_10_10" =
+        (f.security_framework."0.2.1"."OSX_10_10" or false) ||
+        (f.security_framework."0.2.1".OSX_10_11 or false) ||
+        (security_framework."0.2.1"."OSX_10_11" or false); }
+      { "0.2.1"."OSX_10_11" =
+        (f.security_framework."0.2.1"."OSX_10_11" or false) ||
+        (f.security_framework."0.2.1".OSX_10_12 or false) ||
+        (security_framework."0.2.1"."OSX_10_12" or false); }
+      { "0.2.1"."OSX_10_9" =
+        (f.security_framework."0.2.1"."OSX_10_9" or false) ||
+        (f.security_framework."0.2.1".OSX_10_10 or false) ||
+        (security_framework."0.2.1"."OSX_10_10" or false); }
+      { "0.2.1".default = (f.security_framework."0.2.1".default or true); }
+    ];
+    security_framework_sys = fold recursiveUpdate {} [
+      { "${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_10" =
+        (f.security_framework_sys."${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_10" or false) ||
+        (security_framework."0.2.1"."OSX_10_10" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_10" or false); }
+      { "${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_11" =
+        (f.security_framework_sys."${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_11" or false) ||
+        (security_framework."0.2.1"."OSX_10_11" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_11" or false) ||
+        (security_framework."0.2.1"."OSX_10_12" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_12" or false); }
+      { "${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_9" =
+        (f.security_framework_sys."${deps.security_framework."0.2.1".security_framework_sys}"."OSX_10_9" or false) ||
+        (security_framework."0.2.1"."OSX_10_9" or false) ||
+        (f."security_framework"."0.2.1"."OSX_10_9" or false); }
+      { "${deps.security_framework."0.2.1".security_framework_sys}".default = true; }
+    ];
+  }) [
+    (features_.core_foundation."${deps."security_framework"."0.2.1"."core_foundation"}" deps)
+    (features_.core_foundation_sys."${deps."security_framework"."0.2.1"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."security_framework"."0.2.1"."libc"}" deps)
+    (features_.security_framework_sys."${deps."security_framework"."0.2.1"."security_framework_sys"}" deps)
+  ];
+
+
+# end
+# security-framework-sys-0.2.1
+
+  crates.security_framework_sys."0.2.1" = deps: { features?(features_.security_framework_sys."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "security-framework-sys";
+    version = "0.2.1";
+    description = "Security Framework bindings";
+    authors = [ "Steven Fackler <sfackler@gmail.com>" ];
+    sha256 = "0ijxy7bdi4am092hrhm645hcv36xprdx1gjcjmnyw6n78x8sv2iz";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."core_foundation_sys"."${deps."security_framework_sys"."0.2.1"."core_foundation_sys"}" deps)
+      (crates."libc"."${deps."security_framework_sys"."0.2.1"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."security_framework_sys"."0.2.1" or {});
+  };
+  features_.security_framework_sys."0.2.1" = deps: f: updateFeatures f (rec {
+    core_foundation_sys."${deps.security_framework_sys."0.2.1".core_foundation_sys}".default = true;
+    libc."${deps.security_framework_sys."0.2.1".libc}".default = true;
+    security_framework_sys = fold recursiveUpdate {} [
+      { "0.2.1"."OSX_10_10" =
+        (f.security_framework_sys."0.2.1"."OSX_10_10" or false) ||
+        (f.security_framework_sys."0.2.1".OSX_10_11 or false) ||
+        (security_framework_sys."0.2.1"."OSX_10_11" or false); }
+      { "0.2.1"."OSX_10_11" =
+        (f.security_framework_sys."0.2.1"."OSX_10_11" or false) ||
+        (f.security_framework_sys."0.2.1".OSX_10_12 or false) ||
+        (security_framework_sys."0.2.1"."OSX_10_12" or false); }
+      { "0.2.1"."OSX_10_9" =
+        (f.security_framework_sys."0.2.1"."OSX_10_9" or false) ||
+        (f.security_framework_sys."0.2.1".OSX_10_10 or false) ||
+        (security_framework_sys."0.2.1"."OSX_10_10" or false); }
+      { "0.2.1".default = (f.security_framework_sys."0.2.1".default or true); }
+    ];
+  }) [
+    (features_.core_foundation_sys."${deps."security_framework_sys"."0.2.1"."core_foundation_sys"}" deps)
+    (features_.libc."${deps."security_framework_sys"."0.2.1"."libc"}" deps)
+  ];
+
+
+# end
+# semver-0.9.0
+
+  crates.semver."0.9.0" = deps: { features?(features_.semver."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "semver";
+    version = "0.9.0";
+    description = "Semantic version parsing and comparison.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" "The Rust Project Developers" ];
+    sha256 = "0azak2lb2wc36s3x15az886kck7rpnksrw14lalm157rg9sc9z63";
+    dependencies = mapFeatures features ([
+      (crates."semver_parser"."${deps."semver"."0.9.0"."semver_parser"}" deps)
+    ]);
+    features = mkFeatures (features."semver"."0.9.0" or {});
+  };
+  features_.semver."0.9.0" = deps: f: updateFeatures f (rec {
+    semver = fold recursiveUpdate {} [
+      { "0.9.0"."serde" =
+        (f.semver."0.9.0"."serde" or false) ||
+        (f.semver."0.9.0".ci or false) ||
+        (semver."0.9.0"."ci" or false); }
+      { "0.9.0".default = (f.semver."0.9.0".default or true); }
+    ];
+    semver_parser."${deps.semver."0.9.0".semver_parser}".default = true;
+  }) [
+    (features_.semver_parser."${deps."semver"."0.9.0"."semver_parser"}" deps)
+  ];
+
+
+# end
+# semver-parser-0.7.0
+
+  crates.semver_parser."0.7.0" = deps: { features?(features_.semver_parser."0.7.0" deps {}) }: buildRustCrate {
+    crateName = "semver-parser";
+    version = "0.7.0";
+    description = "Parsing of the semver spec.\n";
+    authors = [ "Steve Klabnik <steve@steveklabnik.com>" ];
+    sha256 = "1da66c8413yakx0y15k8c055yna5lyb6fr0fw9318kdwkrk5k12h";
+  };
+  features_.semver_parser."0.7.0" = deps: f: updateFeatures f (rec {
+    semver_parser."0.7.0".default = (f.semver_parser."0.7.0".default or true);
+  }) [];
+
+
+# end
+# serde-1.0.21
+
+  crates.serde."1.0.21" = deps: { features?(features_.serde."1.0.21" deps {}) }: buildRustCrate {
+    crateName = "serde";
+    version = "1.0.21";
+    description = "A generic serialization/deserialization framework";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "10almq7pvx8s4ryiqk8gf7fj5igl0yq6dcjknwc67rkmxd8q50w3";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."serde"."1.0.21" or {});
+  };
+  features_.serde."1.0.21" = deps: f: updateFeatures f (rec {
+    serde = fold recursiveUpdate {} [
+      { "1.0.21"."serde_derive" =
+        (f.serde."1.0.21"."serde_derive" or false) ||
+        (f.serde."1.0.21".derive or false) ||
+        (serde."1.0.21"."derive" or false) ||
+        (f.serde."1.0.21".playground or false) ||
+        (serde."1.0.21"."playground" or false); }
+      { "1.0.21"."std" =
+        (f.serde."1.0.21"."std" or false) ||
+        (f.serde."1.0.21".default or false) ||
+        (serde."1.0.21"."default" or false); }
+      { "1.0.21"."unstable" =
+        (f.serde."1.0.21"."unstable" or false) ||
+        (f.serde."1.0.21".alloc or false) ||
+        (serde."1.0.21"."alloc" or false); }
+      { "1.0.21".default = (f.serde."1.0.21".default or true); }
+    ];
+  }) [];
+
+
+# end
+# serde_json-1.0.6
+
+  crates.serde_json."1.0.6" = deps: { features?(features_.serde_json."1.0.6" deps {}) }: buildRustCrate {
+    crateName = "serde_json";
+    version = "1.0.6";
+    description = "A JSON serialization file format";
+    authors = [ "Erick Tryzelaar <erick.tryzelaar@gmail.com>" "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1kacyc59splwbg8gr7qs32pp9smgy1khq0ggnv07yxhs7h355vjz";
+    dependencies = mapFeatures features ([
+      (crates."dtoa"."${deps."serde_json"."1.0.6"."dtoa"}" deps)
+      (crates."itoa"."${deps."serde_json"."1.0.6"."itoa"}" deps)
+      (crates."num_traits"."${deps."serde_json"."1.0.6"."num_traits"}" deps)
+      (crates."serde"."${deps."serde_json"."1.0.6"."serde"}" deps)
+    ]);
+    features = mkFeatures (features."serde_json"."1.0.6" or {});
+  };
+  features_.serde_json."1.0.6" = deps: f: updateFeatures f (rec {
+    dtoa."${deps.serde_json."1.0.6".dtoa}".default = true;
+    itoa."${deps.serde_json."1.0.6".itoa}".default = true;
+    num_traits."${deps.serde_json."1.0.6".num_traits}".default = true;
+    serde."${deps.serde_json."1.0.6".serde}".default = true;
+    serde_json = fold recursiveUpdate {} [
+      { "1.0.6"."linked-hash-map" =
+        (f.serde_json."1.0.6"."linked-hash-map" or false) ||
+        (f.serde_json."1.0.6".preserve_order or false) ||
+        (serde_json."1.0.6"."preserve_order" or false); }
+      { "1.0.6".default = (f.serde_json."1.0.6".default or true); }
+    ];
+  }) [
+    (features_.dtoa."${deps."serde_json"."1.0.6"."dtoa"}" deps)
+    (features_.itoa."${deps."serde_json"."1.0.6"."itoa"}" deps)
+    (features_.num_traits."${deps."serde_json"."1.0.6"."num_traits"}" deps)
+    (features_.serde."${deps."serde_json"."1.0.6"."serde"}" deps)
+  ];
+
+
+# end
+# serde_urlencoded-0.5.1
+
+  crates.serde_urlencoded."0.5.1" = deps: { features?(features_.serde_urlencoded."0.5.1" deps {}) }: buildRustCrate {
+    crateName = "serde_urlencoded";
+    version = "0.5.1";
+    description = "`x-www-form-urlencoded` meets Serde";
+    authors = [ "Anthony Ramine <n.oxyde@gmail.com>" ];
+    sha256 = "0zh2wlnapmcwqhxnnq1mdlmg8vily7j54wvj01s7cvapzg5jphdl";
+    dependencies = mapFeatures features ([
+      (crates."dtoa"."${deps."serde_urlencoded"."0.5.1"."dtoa"}" deps)
+      (crates."itoa"."${deps."serde_urlencoded"."0.5.1"."itoa"}" deps)
+      (crates."serde"."${deps."serde_urlencoded"."0.5.1"."serde"}" deps)
+      (crates."url"."${deps."serde_urlencoded"."0.5.1"."url"}" deps)
+    ]);
+  };
+  features_.serde_urlencoded."0.5.1" = deps: f: updateFeatures f (rec {
+    dtoa."${deps.serde_urlencoded."0.5.1".dtoa}".default = true;
+    itoa."${deps.serde_urlencoded."0.5.1".itoa}".default = true;
+    serde."${deps.serde_urlencoded."0.5.1".serde}".default = true;
+    serde_urlencoded."0.5.1".default = (f.serde_urlencoded."0.5.1".default or true);
+    url."${deps.serde_urlencoded."0.5.1".url}".default = true;
+  }) [
+    (features_.dtoa."${deps."serde_urlencoded"."0.5.1"."dtoa"}" deps)
+    (features_.itoa."${deps."serde_urlencoded"."0.5.1"."itoa"}" deps)
+    (features_.serde."${deps."serde_urlencoded"."0.5.1"."serde"}" deps)
+    (features_.url."${deps."serde_urlencoded"."0.5.1"."url"}" deps)
+  ];
+
+
+# end
+# siphasher-0.2.2
+
+  crates.siphasher."0.2.2" = deps: { features?(features_.siphasher."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "siphasher";
+    version = "0.2.2";
+    description = "SipHash functions from rust-core < 1.13";
+    authors = [ "Frank Denis <github@pureftpd.org>" ];
+    sha256 = "0iyx7nlzfny9ly1634a6zcq0yvrinhxhypwas4p8ry3zqnn76qqr";
+    dependencies = mapFeatures features ([
+]);
+  };
+  features_.siphasher."0.2.2" = deps: f: updateFeatures f (rec {
+    siphasher."0.2.2".default = (f.siphasher."0.2.2".default or true);
+  }) [];
+
+
+# end
+# slab-0.4.0
+
+  crates.slab."0.4.0" = deps: { features?(features_.slab."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "slab";
+    version = "0.4.0";
+    description = "Pre-allocated storage for a uniform data type";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1qy2vkgwqgj5z4ygdkh040n9yh1vz80v5flxb1xrvw3i4wxs7yx0";
+  };
+  features_.slab."0.4.0" = deps: f: updateFeatures f (rec {
+    slab."0.4.0".default = (f.slab."0.4.0".default or true);
+  }) [];
+
+
+# end
+# slog-1.7.1
+
+  crates.slog."1.7.1" = deps: { features?(features_.slog."1.7.1" deps {}) }: buildRustCrate {
+    crateName = "slog";
+    version = "1.7.1";
+    description = "Structured, composable logging for Rust";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "1qhnwv2gbxmnwasaa0vlhddq6cdhq6n3l8d6h3ql73367h7aav65";
+    features = mkFeatures (features."slog"."1.7.1" or {});
+  };
+  features_.slog."1.7.1" = deps: f: updateFeatures f (rec {
+    slog = fold recursiveUpdate {} [
+      { "1.7.1"."std" =
+        (f.slog."1.7.1"."std" or false) ||
+        (f.slog."1.7.1".default or false) ||
+        (slog."1.7.1"."default" or false); }
+      { "1.7.1".default = (f.slog."1.7.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# slog-envlogger-0.5.0
+
+  crates.slog_envlogger."0.5.0" = deps: { features?(features_.slog_envlogger."0.5.0" deps {}) }: buildRustCrate {
+    crateName = "slog-envlogger";
+    version = "0.5.0";
+    description = "Port of de facto standard logger implementation for Rust, to `slog-rs` framework.\n";
+    authors = [ "The Rust Project Developers" "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0ry9k2ppj7z6prdz2kf924w7l9y2kbysrigca6shni1kz2j163qb";
+    libPath = "src/lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."log"."${deps."slog_envlogger"."0.5.0"."log"}" deps)
+      (crates."regex"."${deps."slog_envlogger"."0.5.0"."regex"}" deps)
+      (crates."slog"."${deps."slog_envlogger"."0.5.0"."slog"}" deps)
+      (crates."slog_stdlog"."${deps."slog_envlogger"."0.5.0"."slog_stdlog"}" deps)
+      (crates."slog_term"."${deps."slog_envlogger"."0.5.0"."slog_term"}" deps)
+    ]);
+  };
+  features_.slog_envlogger."0.5.0" = deps: f: updateFeatures f (rec {
+    log."${deps.slog_envlogger."0.5.0".log}".default = true;
+    regex."${deps.slog_envlogger."0.5.0".regex}".default = true;
+    slog."${deps.slog_envlogger."0.5.0".slog}".default = true;
+    slog_envlogger."0.5.0".default = (f.slog_envlogger."0.5.0".default or true);
+    slog_stdlog."${deps.slog_envlogger."0.5.0".slog_stdlog}".default = true;
+    slog_term."${deps.slog_envlogger."0.5.0".slog_term}".default = true;
+  }) [
+    (features_.log."${deps."slog_envlogger"."0.5.0"."log"}" deps)
+    (features_.regex."${deps."slog_envlogger"."0.5.0"."regex"}" deps)
+    (features_.slog."${deps."slog_envlogger"."0.5.0"."slog"}" deps)
+    (features_.slog_stdlog."${deps."slog_envlogger"."0.5.0"."slog_stdlog"}" deps)
+    (features_.slog_term."${deps."slog_envlogger"."0.5.0"."slog_term"}" deps)
+  ];
+
+
+# end
+# slog-extra-0.1.2
+
+  crates.slog_extra."0.1.2" = deps: { features?(features_.slog_extra."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "slog-extra";
+    version = "0.1.2";
+    description = "Standard slog-rs extensions";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0jrw0xcc81wwcl59xx9qglfcv5l3ad5kbpcyp6ygk94p9kxfrhyj";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."slog"."${deps."slog_extra"."0.1.2"."slog"}" deps)
+      (crates."thread_local"."${deps."slog_extra"."0.1.2"."thread_local"}" deps)
+    ]);
+  };
+  features_.slog_extra."0.1.2" = deps: f: updateFeatures f (rec {
+    slog."${deps.slog_extra."0.1.2".slog}".default = true;
+    slog_extra."0.1.2".default = (f.slog_extra."0.1.2".default or true);
+    thread_local."${deps.slog_extra."0.1.2".thread_local}".default = true;
+  }) [
+    (features_.slog."${deps."slog_extra"."0.1.2"."slog"}" deps)
+    (features_.thread_local."${deps."slog_extra"."0.1.2"."thread_local"}" deps)
+  ];
+
+
+# end
+# slog-stdlog-1.1.0
+
+  crates.slog_stdlog."1.1.0" = deps: { features?(features_.slog_stdlog."1.1.0" deps {}) }: buildRustCrate {
+    crateName = "slog-stdlog";
+    version = "1.1.0";
+    description = "Standard Rust log crate adapter to slog-rs";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0ig4mjixr4y3dn3s53rlnrpplwkqb8b0z2zkaiiiwyv7nhjxdg46";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam"."${deps."slog_stdlog"."1.1.0"."crossbeam"}" deps)
+      (crates."lazy_static"."${deps."slog_stdlog"."1.1.0"."lazy_static"}" deps)
+      (crates."log"."${deps."slog_stdlog"."1.1.0"."log"}" deps)
+      (crates."slog"."${deps."slog_stdlog"."1.1.0"."slog"}" deps)
+      (crates."slog_term"."${deps."slog_stdlog"."1.1.0"."slog_term"}" deps)
+    ]);
+  };
+  features_.slog_stdlog."1.1.0" = deps: f: updateFeatures f (rec {
+    crossbeam."${deps.slog_stdlog."1.1.0".crossbeam}".default = true;
+    lazy_static."${deps.slog_stdlog."1.1.0".lazy_static}".default = true;
+    log."${deps.slog_stdlog."1.1.0".log}".default = true;
+    slog."${deps.slog_stdlog."1.1.0".slog}".default = true;
+    slog_stdlog."1.1.0".default = (f.slog_stdlog."1.1.0".default or true);
+    slog_term."${deps.slog_stdlog."1.1.0".slog_term}".default = true;
+  }) [
+    (features_.crossbeam."${deps."slog_stdlog"."1.1.0"."crossbeam"}" deps)
+    (features_.lazy_static."${deps."slog_stdlog"."1.1.0"."lazy_static"}" deps)
+    (features_.log."${deps."slog_stdlog"."1.1.0"."log"}" deps)
+    (features_.slog."${deps."slog_stdlog"."1.1.0"."slog"}" deps)
+    (features_.slog_term."${deps."slog_stdlog"."1.1.0"."slog_term"}" deps)
+  ];
+
+
+# end
+# slog-stream-1.2.1
+
+  crates.slog_stream."1.2.1" = deps: { features?(features_.slog_stream."1.2.1" deps {}) }: buildRustCrate {
+    crateName = "slog-stream";
+    version = "1.2.1";
+    description = "`io::Write` streamer for slog-rs";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "03dwzbydaamfzjpr16gm065i696lk86gqcpspv5qaqyv938fm2yj";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."slog"."${deps."slog_stream"."1.2.1"."slog"}" deps)
+      (crates."slog_extra"."${deps."slog_stream"."1.2.1"."slog_extra"}" deps)
+      (crates."thread_local"."${deps."slog_stream"."1.2.1"."thread_local"}" deps)
+    ]);
+  };
+  features_.slog_stream."1.2.1" = deps: f: updateFeatures f (rec {
+    slog."${deps.slog_stream."1.2.1".slog}".default = true;
+    slog_extra."${deps.slog_stream."1.2.1".slog_extra}".default = true;
+    slog_stream."1.2.1".default = (f.slog_stream."1.2.1".default or true);
+    thread_local."${deps.slog_stream."1.2.1".thread_local}".default = true;
+  }) [
+    (features_.slog."${deps."slog_stream"."1.2.1"."slog"}" deps)
+    (features_.slog_extra."${deps."slog_stream"."1.2.1"."slog_extra"}" deps)
+    (features_.thread_local."${deps."slog_stream"."1.2.1"."thread_local"}" deps)
+  ];
+
+
+# end
+# slog-term-1.5.0
+
+  crates.slog_term."1.5.0" = deps: { features?(features_.slog_term."1.5.0" deps {}) }: buildRustCrate {
+    crateName = "slog-term";
+    version = "1.5.0";
+    description = "Unix terminal drain and formatter for slog-rs";
+    authors = [ "Dawid Ciężarkiewicz <dpc@dpc.pw>" ];
+    sha256 = "0zq2kyvm7jhqj6sc09w540wqfrrpa46yxf9sgzq7jqpkr66wsiar";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."chrono"."${deps."slog_term"."1.5.0"."chrono"}" deps)
+      (crates."isatty"."${deps."slog_term"."1.5.0"."isatty"}" deps)
+      (crates."slog"."${deps."slog_term"."1.5.0"."slog"}" deps)
+      (crates."slog_stream"."${deps."slog_term"."1.5.0"."slog_stream"}" deps)
+      (crates."thread_local"."${deps."slog_term"."1.5.0"."thread_local"}" deps)
+    ]);
+  };
+  features_.slog_term."1.5.0" = deps: f: updateFeatures f (rec {
+    chrono."${deps.slog_term."1.5.0".chrono}".default = true;
+    isatty."${deps.slog_term."1.5.0".isatty}".default = true;
+    slog."${deps.slog_term."1.5.0".slog}".default = true;
+    slog_stream."${deps.slog_term."1.5.0".slog_stream}".default = true;
+    slog_term."1.5.0".default = (f.slog_term."1.5.0".default or true);
+    thread_local."${deps.slog_term."1.5.0".thread_local}".default = true;
+  }) [
+    (features_.chrono."${deps."slog_term"."1.5.0"."chrono"}" deps)
+    (features_.isatty."${deps."slog_term"."1.5.0"."isatty"}" deps)
+    (features_.slog."${deps."slog_term"."1.5.0"."slog"}" deps)
+    (features_.slog_stream."${deps."slog_term"."1.5.0"."slog_stream"}" deps)
+    (features_.thread_local."${deps."slog_term"."1.5.0"."thread_local"}" deps)
+  ];
+
+
+# end
+# smallvec-0.6.7
+
+  crates.smallvec."0.6.7" = deps: { features?(features_.smallvec."0.6.7" deps {}) }: buildRustCrate {
+    crateName = "smallvec";
+    version = "0.6.7";
+    description = "'Small vector' optimization: store up to a small number of items on the stack";
+    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
+    sha256 = "08ql2yi7ry08cqjl9n6vpb6x6zgqzwllzzk9pxj1143xwg503qcx";
+    libPath = "lib.rs";
+    dependencies = mapFeatures features ([
+      (crates."unreachable"."${deps."smallvec"."0.6.7"."unreachable"}" deps)
+    ]);
+    features = mkFeatures (features."smallvec"."0.6.7" or {});
+  };
+  features_.smallvec."0.6.7" = deps: f: updateFeatures f (rec {
+    smallvec = fold recursiveUpdate {} [
+      { "0.6.7"."std" =
+        (f.smallvec."0.6.7"."std" or false) ||
+        (f.smallvec."0.6.7".default or false) ||
+        (smallvec."0.6.7"."default" or false); }
+      { "0.6.7".default = (f.smallvec."0.6.7".default or true); }
+    ];
+    unreachable."${deps.smallvec."0.6.7".unreachable}".default = true;
+  }) [
+    (features_.unreachable."${deps."smallvec"."0.6.7"."unreachable"}" deps)
+  ];
+
+
+# end
+# stable_deref_trait-1.1.1
+
+  crates.stable_deref_trait."1.1.1" = deps: { features?(features_.stable_deref_trait."1.1.1" deps {}) }: buildRustCrate {
+    crateName = "stable_deref_trait";
+    version = "1.1.1";
+    description = "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.\n";
+    authors = [ "Robert Grosse <n210241048576@gmail.com>" ];
+    sha256 = "1xy9slzslrzr31nlnw52sl1d820b09y61b7f13lqgsn8n7y0l4g8";
+    features = mkFeatures (features."stable_deref_trait"."1.1.1" or {});
+  };
+  features_.stable_deref_trait."1.1.1" = deps: f: updateFeatures f (rec {
+    stable_deref_trait = fold recursiveUpdate {} [
+      { "1.1.1"."std" =
+        (f.stable_deref_trait."1.1.1"."std" or false) ||
+        (f.stable_deref_trait."1.1.1".default or false) ||
+        (stable_deref_trait."1.1.1"."default" or false); }
+      { "1.1.1".default = (f.stable_deref_trait."1.1.1".default or true); }
+    ];
+  }) [];
+
+
+# end
+# string-0.1.2
+
+  crates.string."0.1.2" = deps: { features?(features_.string."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "string";
+    version = "0.1.2";
+    description = "A UTF-8 encoded string with configurable byte storage.";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1120qvf02aydqj0k3kpr8d7zybq0y5arnmgmfsdw75r8qwz75wc6";
+  };
+  features_.string."0.1.2" = deps: f: updateFeatures f (rec {
+    string."0.1.2".default = (f.string."0.1.2".default or true);
+  }) [];
+
+
+# end
+# strsim-0.6.0
+
+  crates.strsim."0.6.0" = deps: { features?(features_.strsim."0.6.0" deps {}) }: buildRustCrate {
+    crateName = "strsim";
+    version = "0.6.0";
+    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
+    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
+    sha256 = "1lz85l6y68hr62lv4baww29yy7g8pg20dlr0lbaswxmmcb0wl7gd";
+  };
+  features_.strsim."0.6.0" = deps: f: updateFeatures f (rec {
+    strsim."0.6.0".default = (f.strsim."0.6.0".default or true);
+  }) [];
+
+
+# end
+# syn-0.11.11
+
+  crates.syn."0.11.11" = deps: { features?(features_.syn."0.11.11" deps {}) }: buildRustCrate {
+    crateName = "syn";
+    version = "0.11.11";
+    description = "Nom parser for Rust source code";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.syn."0.11.11".quote or false then [ (crates.quote."${deps."syn"."0.11.11".quote}" deps) ] else [])
+      ++ (if features.syn."0.11.11".synom or false then [ (crates.synom."${deps."syn"."0.11.11".synom}" deps) ] else [])
+      ++ (if features.syn."0.11.11".unicode-xid or false then [ (crates.unicode_xid."${deps."syn"."0.11.11".unicode_xid}" deps) ] else []));
+    features = mkFeatures (features."syn"."0.11.11" or {});
+  };
+  features_.syn."0.11.11" = deps: f: updateFeatures f (rec {
+    quote."${deps.syn."0.11.11".quote}".default = true;
+    syn = fold recursiveUpdate {} [
+      { "0.11.11"."parsing" =
+        (f.syn."0.11.11"."parsing" or false) ||
+        (f.syn."0.11.11".default or false) ||
+        (syn."0.11.11"."default" or false); }
+      { "0.11.11"."printing" =
+        (f.syn."0.11.11"."printing" or false) ||
+        (f.syn."0.11.11".default or false) ||
+        (syn."0.11.11"."default" or false); }
+      { "0.11.11"."quote" =
+        (f.syn."0.11.11"."quote" or false) ||
+        (f.syn."0.11.11".printing or false) ||
+        (syn."0.11.11"."printing" or false); }
+      { "0.11.11"."synom" =
+        (f.syn."0.11.11"."synom" or false) ||
+        (f.syn."0.11.11".parsing or false) ||
+        (syn."0.11.11"."parsing" or false); }
+      { "0.11.11"."unicode-xid" =
+        (f.syn."0.11.11"."unicode-xid" or false) ||
+        (f.syn."0.11.11".parsing or false) ||
+        (syn."0.11.11"."parsing" or false); }
+      { "0.11.11".default = (f.syn."0.11.11".default or true); }
+    ];
+    synom."${deps.syn."0.11.11".synom}".default = true;
+    unicode_xid."${deps.syn."0.11.11".unicode_xid}".default = true;
+  }) [
+    (features_.quote."${deps."syn"."0.11.11"."quote"}" deps)
+    (features_.synom."${deps."syn"."0.11.11"."synom"}" deps)
+    (features_.unicode_xid."${deps."syn"."0.11.11"."unicode_xid"}" deps)
+  ];
+
+
+# end
+# synom-0.11.3
+
+  crates.synom."0.11.3" = deps: { features?(features_.synom."0.11.3" deps {}) }: buildRustCrate {
+    crateName = "synom";
+    version = "0.11.3";
+    description = "Stripped-down Nom parser used by Syn";
+    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
+    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
+    dependencies = mapFeatures features ([
+      (crates."unicode_xid"."${deps."synom"."0.11.3"."unicode_xid"}" deps)
+    ]);
+  };
+  features_.synom."0.11.3" = deps: f: updateFeatures f (rec {
+    synom."0.11.3".default = (f.synom."0.11.3".default or true);
+    unicode_xid."${deps.synom."0.11.3".unicode_xid}".default = true;
+  }) [
+    (features_.unicode_xid."${deps."synom"."0.11.3"."unicode_xid"}" deps)
+  ];
+
+
+# end
+# tar-0.4.13
+
+  crates.tar."0.4.13" = deps: { features?(features_.tar."0.4.13" deps {}) }: buildRustCrate {
+    crateName = "tar";
+    version = "0.4.13";
+    description = "A Rust implementation of a TAR file reader and writer. This library does not\ncurrently handle compression, but it is abstract over all I/O readers and\nwriters. Additionally, great lengths are taken to ensure that the entire\ncontents are never required to be entirely resident in memory all at once.\n";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
+    sha256 = "1m425d07h0i6h2vbpxnh067zmc16l9yr9bii17zxw4z2inkfyfc4";
+    dependencies = mapFeatures features ([
+      (crates."filetime"."${deps."tar"."0.4.13"."filetime"}" deps)
+      (crates."libc"."${deps."tar"."0.4.13"."libc"}" deps)
+    ])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+    ]
+      ++ (if features.tar."0.4.13".xattr or false then [ (crates.xattr."${deps."tar"."0.4.13".xattr}" deps) ] else [])) else []);
+    features = mkFeatures (features."tar"."0.4.13" or {});
+  };
+  features_.tar."0.4.13" = deps: f: updateFeatures f (rec {
+    filetime."${deps.tar."0.4.13".filetime}".default = true;
+    libc."${deps.tar."0.4.13".libc}".default = true;
+    tar = fold recursiveUpdate {} [
+      { "0.4.13"."xattr" =
+        (f.tar."0.4.13"."xattr" or false) ||
+        (f.tar."0.4.13".default or false) ||
+        (tar."0.4.13"."default" or false); }
+      { "0.4.13".default = (f.tar."0.4.13".default or true); }
+    ];
+    xattr."${deps.tar."0.4.13".xattr}".default = true;
+  }) [
+    (features_.filetime."${deps."tar"."0.4.13"."filetime"}" deps)
+    (features_.libc."${deps."tar"."0.4.13"."libc"}" deps)
+    (features_.xattr."${deps."tar"."0.4.13"."xattr"}" deps)
+  ];
+
+
+# end
+# tempfile-3.0.5
+
+  crates.tempfile."3.0.5" = deps: { features?(features_.tempfile."3.0.5" deps {}) }: buildRustCrate {
+    crateName = "tempfile";
+    version = "3.0.5";
+    description = "A library for managing temporary files and directories.\n";
+    authors = [ "Steven Allen <steven@stebalien.com>" "The Rust Project Developers" "Ashley Mannix <ashleymannix@live.com.au>" "Jason White <jasonaw0@gmail.com>" ];
+    sha256 = "11xc89br78ypk4g27v51lm2baz57gp6v555i3sxhrj9qlas2iqfl";
+    dependencies = mapFeatures features ([
+      (crates."cfg_if"."${deps."tempfile"."3.0.5"."cfg_if"}" deps)
+      (crates."rand"."${deps."tempfile"."3.0.5"."rand"}" deps)
+      (crates."remove_dir_all"."${deps."tempfile"."3.0.5"."remove_dir_all"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."tempfile"."3.0.5"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
+      (crates."libc"."${deps."tempfile"."3.0.5"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."winapi"."${deps."tempfile"."3.0.5"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.tempfile."3.0.5" = deps: f: updateFeatures f (rec {
+    cfg_if."${deps.tempfile."3.0.5".cfg_if}".default = true;
+    libc."${deps.tempfile."3.0.5".libc}".default = true;
+    rand."${deps.tempfile."3.0.5".rand}".default = true;
+    redox_syscall."${deps.tempfile."3.0.5".redox_syscall}".default = true;
+    remove_dir_all."${deps.tempfile."3.0.5".remove_dir_all}".default = true;
+    tempfile."3.0.5".default = (f.tempfile."3.0.5".default or true);
+    winapi = fold recursiveUpdate {} [
+      { "${deps.tempfile."3.0.5".winapi}"."fileapi" = true; }
+      { "${deps.tempfile."3.0.5".winapi}"."handleapi" = true; }
+      { "${deps.tempfile."3.0.5".winapi}"."winbase" = true; }
+      { "${deps.tempfile."3.0.5".winapi}".default = true; }
+    ];
+  }) [
+    (features_.cfg_if."${deps."tempfile"."3.0.5"."cfg_if"}" deps)
+    (features_.rand."${deps."tempfile"."3.0.5"."rand"}" deps)
+    (features_.remove_dir_all."${deps."tempfile"."3.0.5"."remove_dir_all"}" deps)
+    (features_.redox_syscall."${deps."tempfile"."3.0.5"."redox_syscall"}" deps)
+    (features_.libc."${deps."tempfile"."3.0.5"."libc"}" deps)
+    (features_.winapi."${deps."tempfile"."3.0.5"."winapi"}" deps)
+  ];
+
+
+# end
+# termion-1.5.1
+
+  crates.termion."1.5.1" = deps: { features?(features_.termion."1.5.1" deps {}) }: buildRustCrate {
+    crateName = "termion";
+    version = "1.5.1";
+    description = "A bindless library for manipulating terminals.";
+    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
+    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
+    dependencies = (if !(kernel == "redox") then mapFeatures features ([
+      (crates."libc"."${deps."termion"."1.5.1"."libc"}" deps)
+    ]) else [])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."termion"."1.5.1"."redox_syscall"}" deps)
+      (crates."redox_termios"."${deps."termion"."1.5.1"."redox_termios"}" deps)
+    ]) else []);
+  };
+  features_.termion."1.5.1" = deps: f: updateFeatures f (rec {
+    libc."${deps.termion."1.5.1".libc}".default = true;
+    redox_syscall."${deps.termion."1.5.1".redox_syscall}".default = true;
+    redox_termios."${deps.termion."1.5.1".redox_termios}".default = true;
+    termion."1.5.1".default = (f.termion."1.5.1".default or true);
+  }) [
+    (features_.libc."${deps."termion"."1.5.1"."libc"}" deps)
+    (features_.redox_syscall."${deps."termion"."1.5.1"."redox_syscall"}" deps)
+    (features_.redox_termios."${deps."termion"."1.5.1"."redox_termios"}" deps)
+  ];
+
+
+# end
+# textwrap-0.9.0
+
+  crates.textwrap."0.9.0" = deps: { features?(features_.textwrap."0.9.0" deps {}) }: buildRustCrate {
+    crateName = "textwrap";
+    version = "0.9.0";
+    description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n";
+    authors = [ "Martin Geisler <martin@geisler.net>" ];
+    sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
+    dependencies = mapFeatures features ([
+      (crates."unicode_width"."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
+    ]);
+  };
+  features_.textwrap."0.9.0" = deps: f: updateFeatures f (rec {
+    textwrap."0.9.0".default = (f.textwrap."0.9.0".default or true);
+    unicode_width."${deps.textwrap."0.9.0".unicode_width}".default = true;
+  }) [
+    (features_.unicode_width."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
+  ];
+
+
+# end
+# thread-id-2.0.0
+
+  crates.thread_id."2.0.0" = deps: { features?(features_.thread_id."2.0.0" deps {}) }: buildRustCrate {
+    crateName = "thread-id";
+    version = "2.0.0";
+    description = "Get a unique thread ID";
+    authors = [ "Ruud van Asseldonk <dev@veniogames.com>" ];
+    sha256 = "06i3c8ckn97i5rp16civ2vpqbknlkx66dkrl070iw60nawi0kjc3";
+    dependencies = mapFeatures features ([
+      (crates."kernel32_sys"."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
+      (crates."libc"."${deps."thread_id"."2.0.0"."libc"}" deps)
+    ]);
+  };
+  features_.thread_id."2.0.0" = deps: f: updateFeatures f (rec {
+    kernel32_sys."${deps.thread_id."2.0.0".kernel32_sys}".default = true;
+    libc."${deps.thread_id."2.0.0".libc}".default = true;
+    thread_id."2.0.0".default = (f.thread_id."2.0.0".default or true);
+  }) [
+    (features_.kernel32_sys."${deps."thread_id"."2.0.0"."kernel32_sys"}" deps)
+    (features_.libc."${deps."thread_id"."2.0.0"."libc"}" deps)
+  ];
+
+
+# end
+# thread_local-0.2.7
+
+  crates.thread_local."0.2.7" = deps: { features?(features_.thread_local."0.2.7" deps {}) }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.2.7";
+    description = "Per-object thread-local storage";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "19p0zrs24rdwjvpi10jig5ms3sxj00pv8shkr9cpddri8cdghqp7";
+    dependencies = mapFeatures features ([
+      (crates."thread_id"."${deps."thread_local"."0.2.7"."thread_id"}" deps)
+    ]);
+  };
+  features_.thread_local."0.2.7" = deps: f: updateFeatures f (rec {
+    thread_id."${deps.thread_local."0.2.7".thread_id}".default = true;
+    thread_local."0.2.7".default = (f.thread_local."0.2.7".default or true);
+  }) [
+    (features_.thread_id."${deps."thread_local"."0.2.7"."thread_id"}" deps)
+  ];
+
+
+# end
+# thread_local-0.3.4
+
+  crates.thread_local."0.3.4" = deps: { features?(features_.thread_local."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "thread_local";
+    version = "0.3.4";
+    description = "Per-object thread-local storage";
+    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
+    sha256 = "1y6cwyhhx2nkz4b3dziwhqdvgq830z8wjp32b40pjd8r0hxqv2jr";
+    dependencies = mapFeatures features ([
+      (crates."lazy_static"."${deps."thread_local"."0.3.4"."lazy_static"}" deps)
+      (crates."unreachable"."${deps."thread_local"."0.3.4"."unreachable"}" deps)
+    ]);
+  };
+  features_.thread_local."0.3.4" = deps: f: updateFeatures f (rec {
+    lazy_static."${deps.thread_local."0.3.4".lazy_static}".default = true;
+    thread_local."0.3.4".default = (f.thread_local."0.3.4".default or true);
+    unreachable."${deps.thread_local."0.3.4".unreachable}".default = true;
+  }) [
+    (features_.lazy_static."${deps."thread_local"."0.3.4"."lazy_static"}" deps)
+    (features_.unreachable."${deps."thread_local"."0.3.4"."unreachable"}" deps)
+  ];
+
+
+# end
+# time-0.1.38
+
+  crates.time."0.1.38" = deps: { features?(features_.time."0.1.38" deps {}) }: buildRustCrate {
+    crateName = "time";
+    version = "0.1.38";
+    description = "Utilities for working with time-related functions in Rust.\n";
+    authors = [ "The Rust Project Developers" ];
+    sha256 = "1ws283vvz7c6jfiwn53rmc6kybapr4pjaahfxxrz232b0qzw7gcp";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."time"."0.1.38"."libc"}" deps)
+    ])
+      ++ (if kernel == "redox" then mapFeatures features ([
+      (crates."redox_syscall"."${deps."time"."0.1.38"."redox_syscall"}" deps)
+    ]) else [])
+      ++ (if kernel == "windows" then mapFeatures features ([
+      (crates."kernel32_sys"."${deps."time"."0.1.38"."kernel32_sys"}" deps)
+      (crates."winapi"."${deps."time"."0.1.38"."winapi"}" deps)
+    ]) else []);
+  };
+  features_.time."0.1.38" = deps: f: updateFeatures f (rec {
+    kernel32_sys."${deps.time."0.1.38".kernel32_sys}".default = true;
+    libc."${deps.time."0.1.38".libc}".default = true;
+    redox_syscall."${deps.time."0.1.38".redox_syscall}".default = true;
+    time."0.1.38".default = (f.time."0.1.38".default or true);
+    winapi."${deps.time."0.1.38".winapi}".default = true;
+  }) [
+    (features_.libc."${deps."time"."0.1.38"."libc"}" deps)
+    (features_.redox_syscall."${deps."time"."0.1.38"."redox_syscall"}" deps)
+    (features_.kernel32_sys."${deps."time"."0.1.38"."kernel32_sys"}" deps)
+    (features_.winapi."${deps."time"."0.1.38"."winapi"}" deps)
+  ];
+
+
+# end
+# tokio-0.1.7
+
+  crates.tokio."0.1.7" = deps: { features?(features_.tokio."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "tokio";
+    version = "0.1.7";
+    description = "An event-driven, non-blocking I/O platform for writing asynchronous I/O\nbacked applications.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0d5fj90wk05m5vbd924irg1pl1d4fn86jjw5napzanh6vbwsnr66";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio"."0.1.7"."futures"}" deps)
+      (crates."mio"."${deps."tokio"."0.1.7"."mio"}" deps)
+      (crates."tokio_executor"."${deps."tokio"."0.1.7"."tokio_executor"}" deps)
+      (crates."tokio_fs"."${deps."tokio"."0.1.7"."tokio_fs"}" deps)
+      (crates."tokio_io"."${deps."tokio"."0.1.7"."tokio_io"}" deps)
+      (crates."tokio_reactor"."${deps."tokio"."0.1.7"."tokio_reactor"}" deps)
+      (crates."tokio_tcp"."${deps."tokio"."0.1.7"."tokio_tcp"}" deps)
+      (crates."tokio_threadpool"."${deps."tokio"."0.1.7"."tokio_threadpool"}" deps)
+      (crates."tokio_timer"."${deps."tokio"."0.1.7"."tokio_timer"}" deps)
+      (crates."tokio_udp"."${deps."tokio"."0.1.7"."tokio_udp"}" deps)
+    ]);
+  };
+  features_.tokio."0.1.7" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio."0.1.7".futures}".default = true;
+    mio."${deps.tokio."0.1.7".mio}".default = true;
+    tokio."0.1.7".default = (f.tokio."0.1.7".default or true);
+    tokio_executor."${deps.tokio."0.1.7".tokio_executor}".default = true;
+    tokio_fs."${deps.tokio."0.1.7".tokio_fs}".default = true;
+    tokio_io."${deps.tokio."0.1.7".tokio_io}".default = true;
+    tokio_reactor."${deps.tokio."0.1.7".tokio_reactor}".default = true;
+    tokio_tcp."${deps.tokio."0.1.7".tokio_tcp}".default = true;
+    tokio_threadpool."${deps.tokio."0.1.7".tokio_threadpool}".default = true;
+    tokio_timer."${deps.tokio."0.1.7".tokio_timer}".default = true;
+    tokio_udp."${deps.tokio."0.1.7".tokio_udp}".default = true;
+  }) [
+    (features_.futures."${deps."tokio"."0.1.7"."futures"}" deps)
+    (features_.mio."${deps."tokio"."0.1.7"."mio"}" deps)
+    (features_.tokio_executor."${deps."tokio"."0.1.7"."tokio_executor"}" deps)
+    (features_.tokio_fs."${deps."tokio"."0.1.7"."tokio_fs"}" deps)
+    (features_.tokio_io."${deps."tokio"."0.1.7"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."tokio"."0.1.7"."tokio_reactor"}" deps)
+    (features_.tokio_tcp."${deps."tokio"."0.1.7"."tokio_tcp"}" deps)
+    (features_.tokio_threadpool."${deps."tokio"."0.1.7"."tokio_threadpool"}" deps)
+    (features_.tokio_timer."${deps."tokio"."0.1.7"."tokio_timer"}" deps)
+    (features_.tokio_udp."${deps."tokio"."0.1.7"."tokio_udp"}" deps)
+  ];
+
+
+# end
+# tokio-codec-0.1.1
+
+  crates.tokio_codec."0.1.1" = deps: { features?(features_.tokio_codec."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "tokio-codec";
+    version = "0.1.1";
+    description = "Utilities for encoding and decoding frames.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" "Bryan Burgers <bryan@burgers.io>" ];
+    sha256 = "0jc9lik540zyj4chbygg1rjh37m3zax8pd4bwcrwjmi1v56qwi4h";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_codec"."0.1.1"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_codec"."0.1.1"."futures"}" deps)
+      (crates."tokio_io"."${deps."tokio_codec"."0.1.1"."tokio_io"}" deps)
+    ]);
+  };
+  features_.tokio_codec."0.1.1" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_codec."0.1.1".bytes}".default = true;
+    futures."${deps.tokio_codec."0.1.1".futures}".default = true;
+    tokio_codec."0.1.1".default = (f.tokio_codec."0.1.1".default or true);
+    tokio_io."${deps.tokio_codec."0.1.1".tokio_io}".default = true;
+  }) [
+    (features_.bytes."${deps."tokio_codec"."0.1.1"."bytes"}" deps)
+    (features_.futures."${deps."tokio_codec"."0.1.1"."futures"}" deps)
+    (features_.tokio_io."${deps."tokio_codec"."0.1.1"."tokio_io"}" deps)
+  ];
+
+
+# end
+# tokio-executor-0.1.5
+
+  crates.tokio_executor."0.1.5" = deps: { features?(features_.tokio_executor."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "tokio-executor";
+    version = "0.1.5";
+    description = "Future execution primitives\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "15j2ybs8w38gncgbxkvp2qsp6wl62ibi3rns0vlwggx7svmx4bf3";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio_executor"."0.1.5"."futures"}" deps)
+    ]);
+  };
+  features_.tokio_executor."0.1.5" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio_executor."0.1.5".futures}".default = true;
+    tokio_executor."0.1.5".default = (f.tokio_executor."0.1.5".default or true);
+  }) [
+    (features_.futures."${deps."tokio_executor"."0.1.5"."futures"}" deps)
+  ];
+
+
+# end
+# tokio-fs-0.1.4
+
+  crates.tokio_fs."0.1.4" = deps: { features?(features_.tokio_fs."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "tokio-fs";
+    version = "0.1.4";
+    description = "Filesystem API for Tokio.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "05bpc1p1apb4jfw18i84agwwar57zn07d7smqvslpzagd9b3sd31";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio_fs"."0.1.4"."futures"}" deps)
+      (crates."tokio_io"."${deps."tokio_fs"."0.1.4"."tokio_io"}" deps)
+      (crates."tokio_threadpool"."${deps."tokio_fs"."0.1.4"."tokio_threadpool"}" deps)
+    ]);
+  };
+  features_.tokio_fs."0.1.4" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio_fs."0.1.4".futures}".default = true;
+    tokio_fs."0.1.4".default = (f.tokio_fs."0.1.4".default or true);
+    tokio_io."${deps.tokio_fs."0.1.4".tokio_io}".default = true;
+    tokio_threadpool."${deps.tokio_fs."0.1.4".tokio_threadpool}".default = true;
+  }) [
+    (features_.futures."${deps."tokio_fs"."0.1.4"."futures"}" deps)
+    (features_.tokio_io."${deps."tokio_fs"."0.1.4"."tokio_io"}" deps)
+    (features_.tokio_threadpool."${deps."tokio_fs"."0.1.4"."tokio_threadpool"}" deps)
+  ];
+
+
+# end
+# tokio-io-0.1.10
+
+  crates.tokio_io."0.1.10" = deps: { features?(features_.tokio_io."0.1.10" deps {}) }: buildRustCrate {
+    crateName = "tokio-io";
+    version = "0.1.10";
+    description = "Core I/O primitives for asynchronous I/O in Rust.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "14d65rqa5rb2msgkz2xn40cavs4m7f4qyi7vnfv98v7f10l9wlay";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_io"."0.1.10"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_io"."0.1.10"."futures"}" deps)
+      (crates."log"."${deps."tokio_io"."0.1.10"."log"}" deps)
+    ]);
+  };
+  features_.tokio_io."0.1.10" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_io."0.1.10".bytes}".default = true;
+    futures."${deps.tokio_io."0.1.10".futures}".default = true;
+    log."${deps.tokio_io."0.1.10".log}".default = true;
+    tokio_io."0.1.10".default = (f.tokio_io."0.1.10".default or true);
+  }) [
+    (features_.bytes."${deps."tokio_io"."0.1.10"."bytes"}" deps)
+    (features_.futures."${deps."tokio_io"."0.1.10"."futures"}" deps)
+    (features_.log."${deps."tokio_io"."0.1.10"."log"}" deps)
+  ];
+
+
+# end
+# tokio-reactor-0.1.7
+
+  crates.tokio_reactor."0.1.7" = deps: { features?(features_.tokio_reactor."0.1.7" deps {}) }: buildRustCrate {
+    crateName = "tokio-reactor";
+    version = "0.1.7";
+    description = "Event loop that drives Tokio I/O resources.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1ssrc6gic43lachv7jk97jxzw609sgcsrkwi7chf96sn7nqrhj0z";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_utils"."${deps."tokio_reactor"."0.1.7"."crossbeam_utils"}" deps)
+      (crates."futures"."${deps."tokio_reactor"."0.1.7"."futures"}" deps)
+      (crates."lazy_static"."${deps."tokio_reactor"."0.1.7"."lazy_static"}" deps)
+      (crates."log"."${deps."tokio_reactor"."0.1.7"."log"}" deps)
+      (crates."mio"."${deps."tokio_reactor"."0.1.7"."mio"}" deps)
+      (crates."num_cpus"."${deps."tokio_reactor"."0.1.7"."num_cpus"}" deps)
+      (crates."parking_lot"."${deps."tokio_reactor"."0.1.7"."parking_lot"}" deps)
+      (crates."slab"."${deps."tokio_reactor"."0.1.7"."slab"}" deps)
+      (crates."tokio_executor"."${deps."tokio_reactor"."0.1.7"."tokio_executor"}" deps)
+      (crates."tokio_io"."${deps."tokio_reactor"."0.1.7"."tokio_io"}" deps)
+    ]);
+  };
+  features_.tokio_reactor."0.1.7" = deps: f: updateFeatures f (rec {
+    crossbeam_utils."${deps.tokio_reactor."0.1.7".crossbeam_utils}".default = true;
+    futures."${deps.tokio_reactor."0.1.7".futures}".default = true;
+    lazy_static."${deps.tokio_reactor."0.1.7".lazy_static}".default = true;
+    log."${deps.tokio_reactor."0.1.7".log}".default = true;
+    mio."${deps.tokio_reactor."0.1.7".mio}".default = true;
+    num_cpus."${deps.tokio_reactor."0.1.7".num_cpus}".default = true;
+    parking_lot."${deps.tokio_reactor."0.1.7".parking_lot}".default = true;
+    slab."${deps.tokio_reactor."0.1.7".slab}".default = true;
+    tokio_executor."${deps.tokio_reactor."0.1.7".tokio_executor}".default = true;
+    tokio_io."${deps.tokio_reactor."0.1.7".tokio_io}".default = true;
+    tokio_reactor."0.1.7".default = (f.tokio_reactor."0.1.7".default or true);
+  }) [
+    (features_.crossbeam_utils."${deps."tokio_reactor"."0.1.7"."crossbeam_utils"}" deps)
+    (features_.futures."${deps."tokio_reactor"."0.1.7"."futures"}" deps)
+    (features_.lazy_static."${deps."tokio_reactor"."0.1.7"."lazy_static"}" deps)
+    (features_.log."${deps."tokio_reactor"."0.1.7"."log"}" deps)
+    (features_.mio."${deps."tokio_reactor"."0.1.7"."mio"}" deps)
+    (features_.num_cpus."${deps."tokio_reactor"."0.1.7"."num_cpus"}" deps)
+    (features_.parking_lot."${deps."tokio_reactor"."0.1.7"."parking_lot"}" deps)
+    (features_.slab."${deps."tokio_reactor"."0.1.7"."slab"}" deps)
+    (features_.tokio_executor."${deps."tokio_reactor"."0.1.7"."tokio_executor"}" deps)
+    (features_.tokio_io."${deps."tokio_reactor"."0.1.7"."tokio_io"}" deps)
+  ];
+
+
+# end
+# tokio-tcp-0.1.2
+
+  crates.tokio_tcp."0.1.2" = deps: { features?(features_.tokio_tcp."0.1.2" deps {}) }: buildRustCrate {
+    crateName = "tokio-tcp";
+    version = "0.1.2";
+    description = "TCP bindings for tokio.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0yvfwybqnyca24aj9as8rgydamjq0wrd9xbxxkjcasvsdmsv6z1d";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_tcp"."0.1.2"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_tcp"."0.1.2"."futures"}" deps)
+      (crates."iovec"."${deps."tokio_tcp"."0.1.2"."iovec"}" deps)
+      (crates."mio"."${deps."tokio_tcp"."0.1.2"."mio"}" deps)
+      (crates."tokio_io"."${deps."tokio_tcp"."0.1.2"."tokio_io"}" deps)
+      (crates."tokio_reactor"."${deps."tokio_tcp"."0.1.2"."tokio_reactor"}" deps)
+    ]);
+  };
+  features_.tokio_tcp."0.1.2" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_tcp."0.1.2".bytes}".default = true;
+    futures."${deps.tokio_tcp."0.1.2".futures}".default = true;
+    iovec."${deps.tokio_tcp."0.1.2".iovec}".default = true;
+    mio."${deps.tokio_tcp."0.1.2".mio}".default = true;
+    tokio_io."${deps.tokio_tcp."0.1.2".tokio_io}".default = true;
+    tokio_reactor."${deps.tokio_tcp."0.1.2".tokio_reactor}".default = true;
+    tokio_tcp."0.1.2".default = (f.tokio_tcp."0.1.2".default or true);
+  }) [
+    (features_.bytes."${deps."tokio_tcp"."0.1.2"."bytes"}" deps)
+    (features_.futures."${deps."tokio_tcp"."0.1.2"."futures"}" deps)
+    (features_.iovec."${deps."tokio_tcp"."0.1.2"."iovec"}" deps)
+    (features_.mio."${deps."tokio_tcp"."0.1.2"."mio"}" deps)
+    (features_.tokio_io."${deps."tokio_tcp"."0.1.2"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."tokio_tcp"."0.1.2"."tokio_reactor"}" deps)
+  ];
+
+
+# end
+# tokio-threadpool-0.1.9
+
+  crates.tokio_threadpool."0.1.9" = deps: { features?(features_.tokio_threadpool."0.1.9" deps {}) }: buildRustCrate {
+    crateName = "tokio-threadpool";
+    version = "0.1.9";
+    description = "A task scheduler backed by a work-stealing thread pool.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0ipr0j79mhjjsvc0ma95sj07m0aiyq6rkwgvlalqwhinivl5d39g";
+    dependencies = mapFeatures features ([
+      (crates."crossbeam_deque"."${deps."tokio_threadpool"."0.1.9"."crossbeam_deque"}" deps)
+      (crates."crossbeam_utils"."${deps."tokio_threadpool"."0.1.9"."crossbeam_utils"}" deps)
+      (crates."futures"."${deps."tokio_threadpool"."0.1.9"."futures"}" deps)
+      (crates."log"."${deps."tokio_threadpool"."0.1.9"."log"}" deps)
+      (crates."num_cpus"."${deps."tokio_threadpool"."0.1.9"."num_cpus"}" deps)
+      (crates."rand"."${deps."tokio_threadpool"."0.1.9"."rand"}" deps)
+      (crates."tokio_executor"."${deps."tokio_threadpool"."0.1.9"."tokio_executor"}" deps)
+    ]);
+  };
+  features_.tokio_threadpool."0.1.9" = deps: f: updateFeatures f (rec {
+    crossbeam_deque."${deps.tokio_threadpool."0.1.9".crossbeam_deque}".default = true;
+    crossbeam_utils."${deps.tokio_threadpool."0.1.9".crossbeam_utils}".default = true;
+    futures."${deps.tokio_threadpool."0.1.9".futures}".default = true;
+    log."${deps.tokio_threadpool."0.1.9".log}".default = true;
+    num_cpus."${deps.tokio_threadpool."0.1.9".num_cpus}".default = true;
+    rand."${deps.tokio_threadpool."0.1.9".rand}".default = true;
+    tokio_executor."${deps.tokio_threadpool."0.1.9".tokio_executor}".default = true;
+    tokio_threadpool."0.1.9".default = (f.tokio_threadpool."0.1.9".default or true);
+  }) [
+    (features_.crossbeam_deque."${deps."tokio_threadpool"."0.1.9"."crossbeam_deque"}" deps)
+    (features_.crossbeam_utils."${deps."tokio_threadpool"."0.1.9"."crossbeam_utils"}" deps)
+    (features_.futures."${deps."tokio_threadpool"."0.1.9"."futures"}" deps)
+    (features_.log."${deps."tokio_threadpool"."0.1.9"."log"}" deps)
+    (features_.num_cpus."${deps."tokio_threadpool"."0.1.9"."num_cpus"}" deps)
+    (features_.rand."${deps."tokio_threadpool"."0.1.9"."rand"}" deps)
+    (features_.tokio_executor."${deps."tokio_threadpool"."0.1.9"."tokio_executor"}" deps)
+  ];
+
+
+# end
+# tokio-timer-0.2.5
+
+  crates.tokio_timer."0.2.5" = deps: { features?(features_.tokio_timer."0.2.5" deps {}) }: buildRustCrate {
+    crateName = "tokio-timer";
+    version = "0.2.5";
+    description = "Timer facilities for Tokio\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "0jyhizvnpldkbqvqygrg0zd5zvfj9p0ywvjzf47iy632vq3qnwzm";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."tokio_timer"."0.2.5"."futures"}" deps)
+      (crates."tokio_executor"."${deps."tokio_timer"."0.2.5"."tokio_executor"}" deps)
+    ]);
+  };
+  features_.tokio_timer."0.2.5" = deps: f: updateFeatures f (rec {
+    futures."${deps.tokio_timer."0.2.5".futures}".default = true;
+    tokio_executor."${deps.tokio_timer."0.2.5".tokio_executor}".default = true;
+    tokio_timer."0.2.5".default = (f.tokio_timer."0.2.5".default or true);
+  }) [
+    (features_.futures."${deps."tokio_timer"."0.2.5"."futures"}" deps)
+    (features_.tokio_executor."${deps."tokio_timer"."0.2.5"."tokio_executor"}" deps)
+  ];
+
+
+# end
+# tokio-udp-0.1.3
+
+  crates.tokio_udp."0.1.3" = deps: { features?(features_.tokio_udp."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "tokio-udp";
+    version = "0.1.3";
+    description = "UDP bindings for tokio.\n";
+    authors = [ "Carl Lerche <me@carllerche.com>" ];
+    sha256 = "1g1x499vqvzwy7xfccr32vwymlx25zpmkx8ppqgifzqwrjnncajf";
+    dependencies = mapFeatures features ([
+      (crates."bytes"."${deps."tokio_udp"."0.1.3"."bytes"}" deps)
+      (crates."futures"."${deps."tokio_udp"."0.1.3"."futures"}" deps)
+      (crates."log"."${deps."tokio_udp"."0.1.3"."log"}" deps)
+      (crates."mio"."${deps."tokio_udp"."0.1.3"."mio"}" deps)
+      (crates."tokio_codec"."${deps."tokio_udp"."0.1.3"."tokio_codec"}" deps)
+      (crates."tokio_io"."${deps."tokio_udp"."0.1.3"."tokio_io"}" deps)
+      (crates."tokio_reactor"."${deps."tokio_udp"."0.1.3"."tokio_reactor"}" deps)
+    ]);
+  };
+  features_.tokio_udp."0.1.3" = deps: f: updateFeatures f (rec {
+    bytes."${deps.tokio_udp."0.1.3".bytes}".default = true;
+    futures."${deps.tokio_udp."0.1.3".futures}".default = true;
+    log."${deps.tokio_udp."0.1.3".log}".default = true;
+    mio."${deps.tokio_udp."0.1.3".mio}".default = true;
+    tokio_codec."${deps.tokio_udp."0.1.3".tokio_codec}".default = true;
+    tokio_io."${deps.tokio_udp."0.1.3".tokio_io}".default = true;
+    tokio_reactor."${deps.tokio_udp."0.1.3".tokio_reactor}".default = true;
+    tokio_udp."0.1.3".default = (f.tokio_udp."0.1.3".default or true);
+  }) [
+    (features_.bytes."${deps."tokio_udp"."0.1.3"."bytes"}" deps)
+    (features_.futures."${deps."tokio_udp"."0.1.3"."futures"}" deps)
+    (features_.log."${deps."tokio_udp"."0.1.3"."log"}" deps)
+    (features_.mio."${deps."tokio_udp"."0.1.3"."mio"}" deps)
+    (features_.tokio_codec."${deps."tokio_udp"."0.1.3"."tokio_codec"}" deps)
+    (features_.tokio_io."${deps."tokio_udp"."0.1.3"."tokio_io"}" deps)
+    (features_.tokio_reactor."${deps."tokio_udp"."0.1.3"."tokio_reactor"}" deps)
+  ];
+
+
+# end
+# try-lock-0.2.2
+
+  crates.try_lock."0.2.2" = deps: { features?(features_.try_lock."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "try-lock";
+    version = "0.2.2";
+    description = "A lightweight atomic lock.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1k8xc0jpbrmzp0fwghdh6pwzjb9xx2p8yy0xxnnb8065smc5fsrv";
+  };
+  features_.try_lock."0.2.2" = deps: f: updateFeatures f (rec {
+    try_lock."0.2.2".default = (f.try_lock."0.2.2".default or true);
+  }) [];
+
+
+# end
+# unicase-1.4.2
+
+  crates.unicase."1.4.2" = deps: { features?(features_.unicase."1.4.2" deps {}) }: buildRustCrate {
+    crateName = "unicase";
+    version = "1.4.2";
+    description = "A case-insensitive wrapper around strings.";
+    authors = [ "Sean McArthur <sean.monstar@gmail.com>" ];
+    sha256 = "0rbnhw2mnhcwrij3vczp0sl8zdfmvf2dlh8hly81kj7132kfj0mf";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."version_check"."${deps."unicase"."1.4.2"."version_check"}" deps)
+    ]);
+    features = mkFeatures (features."unicase"."1.4.2" or {});
+  };
+  features_.unicase."1.4.2" = deps: f: updateFeatures f (rec {
+    unicase = fold recursiveUpdate {} [
+      { "1.4.2"."heapsize" =
+        (f.unicase."1.4.2"."heapsize" or false) ||
+        (f.unicase."1.4.2".heap_size or false) ||
+        (unicase."1.4.2"."heap_size" or false); }
+      { "1.4.2"."heapsize_plugin" =
+        (f.unicase."1.4.2"."heapsize_plugin" or false) ||
+        (f.unicase."1.4.2".heap_size or false) ||
+        (unicase."1.4.2"."heap_size" or false); }
+      { "1.4.2".default = (f.unicase."1.4.2".default or true); }
+    ];
+    version_check."${deps.unicase."1.4.2".version_check}".default = true;
+  }) [
+    (features_.version_check."${deps."unicase"."1.4.2"."version_check"}" deps)
+  ];
+
+
+# end
+# unicase-2.1.0
+
+  crates.unicase."2.1.0" = deps: { features?(features_.unicase."2.1.0" deps {}) }: buildRustCrate {
+    crateName = "unicase";
+    version = "2.1.0";
+    description = "A case-insensitive wrapper around strings.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "1zzn16hh8fdx5pnbbnl32q8m2mh4vpd1jm9pdcv969ik83dw4byp";
+    build = "build.rs";
+
+    buildDependencies = mapFeatures features ([
+      (crates."version_check"."${deps."unicase"."2.1.0"."version_check"}" deps)
+    ]);
+    features = mkFeatures (features."unicase"."2.1.0" or {});
+  };
+  features_.unicase."2.1.0" = deps: f: updateFeatures f (rec {
+    unicase."2.1.0".default = (f.unicase."2.1.0".default or true);
+    version_check."${deps.unicase."2.1.0".version_check}".default = true;
+  }) [
+    (features_.version_check."${deps."unicase"."2.1.0"."version_check"}" deps)
+  ];
+
+
+# end
+# unicode-bidi-0.3.4
+
+  crates.unicode_bidi."0.3.4" = deps: { features?(features_.unicode_bidi."0.3.4" deps {}) }: buildRustCrate {
+    crateName = "unicode-bidi";
+    version = "0.3.4";
+    description = "Implementation of the Unicode Bidirectional Algorithm";
+    authors = [ "The Servo Project Developers" ];
+    sha256 = "0lcd6jasrf8p9p0q20qyf10c6xhvw40m2c4rr105hbk6zy26nj1q";
+    libName = "unicode_bidi";
+    dependencies = mapFeatures features ([
+      (crates."matches"."${deps."unicode_bidi"."0.3.4"."matches"}" deps)
+    ]);
+    features = mkFeatures (features."unicode_bidi"."0.3.4" or {});
+  };
+  features_.unicode_bidi."0.3.4" = deps: f: updateFeatures f (rec {
+    matches."${deps.unicode_bidi."0.3.4".matches}".default = true;
+    unicode_bidi = fold recursiveUpdate {} [
+      { "0.3.4"."flame" =
+        (f.unicode_bidi."0.3.4"."flame" or false) ||
+        (f.unicode_bidi."0.3.4".flame_it or false) ||
+        (unicode_bidi."0.3.4"."flame_it" or false); }
+      { "0.3.4"."flamer" =
+        (f.unicode_bidi."0.3.4"."flamer" or false) ||
+        (f.unicode_bidi."0.3.4".flame_it or false) ||
+        (unicode_bidi."0.3.4"."flame_it" or false); }
+      { "0.3.4"."serde" =
+        (f.unicode_bidi."0.3.4"."serde" or false) ||
+        (f.unicode_bidi."0.3.4".with_serde or false) ||
+        (unicode_bidi."0.3.4"."with_serde" or false); }
+      { "0.3.4".default = (f.unicode_bidi."0.3.4".default or true); }
+    ];
+  }) [
+    (features_.matches."${deps."unicode_bidi"."0.3.4"."matches"}" deps)
+  ];
+
+
+# end
+# unicode-normalization-0.1.5
+
+  crates.unicode_normalization."0.1.5" = deps: { features?(features_.unicode_normalization."0.1.5" deps {}) }: buildRustCrate {
+    crateName = "unicode-normalization";
+    version = "0.1.5";
+    description = "This crate provides functions for normalization of\nUnicode strings, including Canonical and Compatible\nDecomposition and Recomposition, as described in\nUnicode Standard Annex #15.\n";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "0hg29g86fca7b65mwk4sm5s838js6bqrl0gabadbazvbsgjam0j5";
+  };
+  features_.unicode_normalization."0.1.5" = deps: f: updateFeatures f (rec {
+    unicode_normalization."0.1.5".default = (f.unicode_normalization."0.1.5".default or true);
+  }) [];
+
+
+# end
+# unicode-width-0.1.4
+
+  crates.unicode_width."0.1.4" = deps: { features?(features_.unicode_width."0.1.4" deps {}) }: buildRustCrate {
+    crateName = "unicode-width";
+    version = "0.1.4";
+    description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n";
+    authors = [ "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
+    features = mkFeatures (features."unicode_width"."0.1.4" or {});
+  };
+  features_.unicode_width."0.1.4" = deps: f: updateFeatures f (rec {
+    unicode_width."0.1.4".default = (f.unicode_width."0.1.4".default or true);
+  }) [];
+
+
+# end
+# unicode-xid-0.0.4
+
+  crates.unicode_xid."0.0.4" = deps: { features?(features_.unicode_xid."0.0.4" deps {}) }: buildRustCrate {
+    crateName = "unicode-xid";
+    version = "0.0.4";
+    description = "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n";
+    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
+    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
+    features = mkFeatures (features."unicode_xid"."0.0.4" or {});
+  };
+  features_.unicode_xid."0.0.4" = deps: f: updateFeatures f (rec {
+    unicode_xid."0.0.4".default = (f.unicode_xid."0.0.4".default or true);
+  }) [];
+
+
+# end
+# unreachable-1.0.0
+
+  crates.unreachable."1.0.0" = deps: { features?(features_.unreachable."1.0.0" deps {}) }: buildRustCrate {
+    crateName = "unreachable";
+    version = "1.0.0";
+    description = "An unreachable code optimization hint in stable rust.";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
+    dependencies = mapFeatures features ([
+      (crates."void"."${deps."unreachable"."1.0.0"."void"}" deps)
+    ]);
+  };
+  features_.unreachable."1.0.0" = deps: f: updateFeatures f (rec {
+    unreachable."1.0.0".default = (f.unreachable."1.0.0".default or true);
+    void."${deps.unreachable."1.0.0".void}".default = (f.void."${deps.unreachable."1.0.0".void}".default or false);
+  }) [
+    (features_.void."${deps."unreachable"."1.0.0"."void"}" deps)
+  ];
+
+
+# end
+# url-1.6.0
+
+  crates.url."1.6.0" = deps: { features?(features_.url."1.6.0" deps {}) }: buildRustCrate {
+    crateName = "url";
+    version = "1.6.0";
+    description = "URL library for Rust, based on the WHATWG URL Standard";
+    authors = [ "The rust-url developers" ];
+    sha256 = "1bvzl4dvjj84h46ai3x23wyafa2wwhchj08vr2brf25dxwc7mg18";
+    dependencies = mapFeatures features ([
+      (crates."idna"."${deps."url"."1.6.0"."idna"}" deps)
+      (crates."matches"."${deps."url"."1.6.0"."matches"}" deps)
+      (crates."percent_encoding"."${deps."url"."1.6.0"."percent_encoding"}" deps)
+    ]);
+    features = mkFeatures (features."url"."1.6.0" or {});
+  };
+  features_.url."1.6.0" = deps: f: updateFeatures f (rec {
+    idna."${deps.url."1.6.0".idna}".default = true;
+    matches."${deps.url."1.6.0".matches}".default = true;
+    percent_encoding."${deps.url."1.6.0".percent_encoding}".default = true;
+    url = fold recursiveUpdate {} [
+      { "1.6.0"."encoding" =
+        (f.url."1.6.0"."encoding" or false) ||
+        (f.url."1.6.0".query_encoding or false) ||
+        (url."1.6.0"."query_encoding" or false); }
+      { "1.6.0"."heapsize" =
+        (f.url."1.6.0"."heapsize" or false) ||
+        (f.url."1.6.0".heap_size or false) ||
+        (url."1.6.0"."heap_size" or false); }
+      { "1.6.0".default = (f.url."1.6.0".default or true); }
+    ];
+  }) [
+    (features_.idna."${deps."url"."1.6.0"."idna"}" deps)
+    (features_.matches."${deps."url"."1.6.0"."matches"}" deps)
+    (features_.percent_encoding."${deps."url"."1.6.0"."percent_encoding"}" deps)
+  ];
+
+
+# end
+# utf8-ranges-0.1.3
+
+  crates.utf8_ranges."0.1.3" = deps: { features?(features_.utf8_ranges."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "utf8-ranges";
+    version = "0.1.3";
+    description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges.";
+    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
+    sha256 = "1cj548a91a93j8375p78qikaiam548xh84cb0ck8y119adbmsvbp";
+  };
+  features_.utf8_ranges."0.1.3" = deps: f: updateFeatures f (rec {
+    utf8_ranges."0.1.3".default = (f.utf8_ranges."0.1.3".default or true);
+  }) [];
+
+
+# end
+# uuid-0.7.1
+
+  crates.uuid."0.7.1" = deps: { features?(features_.uuid."0.7.1" deps {}) }: buildRustCrate {
+    crateName = "uuid";
+    version = "0.7.1";
+    description = "A library to generate and parse UUIDs.";
+    authors = [ "Ashley Mannix<ashleymannix@live.com.au>" "Christopher Armstrong" "Dylan DPC<dylan.dpc@gmail.com>" "Hunar Roop Kahlon<hunar.roop@gmail.com>" ];
+    sha256 = "1wh5izr7bssf1j8y3cawj4yfr5pz4cfxgsjlk2gs1vccc848qpbj";
+    dependencies = mapFeatures features ([
+    ]
+      ++ (if features.uuid."0.7.1".rand or false then [ (crates.rand."${deps."uuid"."0.7.1".rand}" deps) ] else []));
+    features = mkFeatures (features."uuid"."0.7.1" or {});
+  };
+  features_.uuid."0.7.1" = deps: f: updateFeatures f (rec {
+    rand."${deps.uuid."0.7.1".rand}".default = true;
+    uuid = fold recursiveUpdate {} [
+      { "0.7.1"."byteorder" =
+        (f.uuid."0.7.1"."byteorder" or false) ||
+        (f.uuid."0.7.1".u128 or false) ||
+        (uuid."0.7.1"."u128" or false); }
+      { "0.7.1"."md5" =
+        (f.uuid."0.7.1"."md5" or false) ||
+        (f.uuid."0.7.1".v3 or false) ||
+        (uuid."0.7.1"."v3" or false); }
+      { "0.7.1"."nightly" =
+        (f.uuid."0.7.1"."nightly" or false) ||
+        (f.uuid."0.7.1".const_fn or false) ||
+        (uuid."0.7.1"."const_fn" or false); }
+      { "0.7.1"."rand" =
+        (f.uuid."0.7.1"."rand" or false) ||
+        (f.uuid."0.7.1".v3 or false) ||
+        (uuid."0.7.1"."v3" or false) ||
+        (f.uuid."0.7.1".v4 or false) ||
+        (uuid."0.7.1"."v4" or false) ||
+        (f.uuid."0.7.1".v5 or false) ||
+        (uuid."0.7.1"."v5" or false); }
+      { "0.7.1"."sha1" =
+        (f.uuid."0.7.1"."sha1" or false) ||
+        (f.uuid."0.7.1".v5 or false) ||
+        (uuid."0.7.1"."v5" or false); }
+      { "0.7.1"."std" =
+        (f.uuid."0.7.1"."std" or false) ||
+        (f.uuid."0.7.1".default or false) ||
+        (uuid."0.7.1"."default" or false); }
+      { "0.7.1".default = (f.uuid."0.7.1".default or true); }
+    ];
+  }) [
+    (features_.rand."${deps."uuid"."0.7.1"."rand"}" deps)
+  ];
+
+
+# end
+# vcpkg-0.2.2
+
+  crates.vcpkg."0.2.2" = deps: { features?(features_.vcpkg."0.2.2" deps {}) }: buildRustCrate {
+    crateName = "vcpkg";
+    version = "0.2.2";
+    description = "A library to find native dependencies in a vcpkg tree at build\ntime in order to be used in Cargo build scripts.\n";
+    authors = [ "Jim McGrath <jimmc2@gmail.com>" ];
+    sha256 = "1fl5j0ksnwrnsrf1b1a9lqbjgnajdipq0030vsbhx81mb7d9478a";
+  };
+  features_.vcpkg."0.2.2" = deps: f: updateFeatures f (rec {
+    vcpkg."0.2.2".default = (f.vcpkg."0.2.2".default or true);
+  }) [];
+
+
+# end
+# vec_map-0.8.0
+
+  crates.vec_map."0.8.0" = deps: { features?(features_.vec_map."0.8.0" deps {}) }: buildRustCrate {
+    crateName = "vec_map";
+    version = "0.8.0";
+    description = "A simple map based on a vector for small integer keys";
+    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
+    sha256 = "07sgxp3cf1a4cxm9n3r27fcvqmld32bl2576mrcahnvm34j11xay";
+    dependencies = mapFeatures features ([
+]);
+    features = mkFeatures (features."vec_map"."0.8.0" or {});
+  };
+  features_.vec_map."0.8.0" = deps: f: updateFeatures f (rec {
+    vec_map = fold recursiveUpdate {} [
+      { "0.8.0"."serde" =
+        (f.vec_map."0.8.0"."serde" or false) ||
+        (f.vec_map."0.8.0".eders or false) ||
+        (vec_map."0.8.0"."eders" or false); }
+      { "0.8.0"."serde_derive" =
+        (f.vec_map."0.8.0"."serde_derive" or false) ||
+        (f.vec_map."0.8.0".eders or false) ||
+        (vec_map."0.8.0"."eders" or false); }
+      { "0.8.0".default = (f.vec_map."0.8.0".default or true); }
+    ];
+  }) [];
+
+
+# end
+# version_check-0.1.3
+
+  crates.version_check."0.1.3" = deps: { features?(features_.version_check."0.1.3" deps {}) }: buildRustCrate {
+    crateName = "version_check";
+    version = "0.1.3";
+    description = "Tiny crate to check the version of the installed/running rustc.";
+    authors = [ "Sergio Benitez <sb@sergio.bz>" ];
+    sha256 = "0z635wdclv9bvafj11fpgndn7y79ibpsnc364pm61i1m4wwg8msg";
+  };
+  features_.version_check."0.1.3" = deps: f: updateFeatures f (rec {
+    version_check."0.1.3".default = (f.version_check."0.1.3".default or true);
+  }) [];
+
+
+# end
+# void-1.0.2
+
+  crates.void."1.0.2" = deps: { features?(features_.void."1.0.2" deps {}) }: buildRustCrate {
+    crateName = "void";
+    version = "1.0.2";
+    description = "The uninhabited void type for use in statically impossible cases.";
+    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
+    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
+    features = mkFeatures (features."void"."1.0.2" or {});
+  };
+  features_.void."1.0.2" = deps: f: updateFeatures f (rec {
+    void = fold recursiveUpdate {} [
+      { "1.0.2"."std" =
+        (f.void."1.0.2"."std" or false) ||
+        (f.void."1.0.2".default or false) ||
+        (void."1.0.2"."default" or false); }
+      { "1.0.2".default = (f.void."1.0.2".default or true); }
+    ];
+  }) [];
+
+
+# end
+# want-0.0.6
+
+  crates.want."0.0.6" = deps: { features?(features_.want."0.0.6" deps {}) }: buildRustCrate {
+    crateName = "want";
+    version = "0.0.6";
+    description = "Detect when another Future wants a result.";
+    authors = [ "Sean McArthur <sean@seanmonstar.com>" ];
+    sha256 = "03cc2lndz531a4kgql1v9kppyb1yz2abcz5l52j1gg2nypmy3lh8";
+    dependencies = mapFeatures features ([
+      (crates."futures"."${deps."want"."0.0.6"."futures"}" deps)
+      (crates."log"."${deps."want"."0.0.6"."log"}" deps)
+      (crates."try_lock"."${deps."want"."0.0.6"."try_lock"}" deps)
+    ]);
+  };
+  features_.want."0.0.6" = deps: f: updateFeatures f (rec {
+    futures."${deps.want."0.0.6".futures}".default = true;
+    log."${deps.want."0.0.6".log}".default = true;
+    try_lock."${deps.want."0.0.6".try_lock}".default = true;
+    want."0.0.6".default = (f.want."0.0.6".default or true);
+  }) [
+    (features_.futures."${deps."want"."0.0.6"."futures"}" deps)
+    (features_.log."${deps."want"."0.0.6"."log"}" deps)
+    (features_.try_lock."${deps."want"."0.0.6"."try_lock"}" deps)
+  ];
+
+
+# end
+# winapi-0.2.8
+
+  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.2.8";
+    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
+  };
+  features_.winapi."0.2.8" = deps: f: updateFeatures f (rec {
+    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
+  }) [];
+
+
+# end
+# winapi-0.3.6
+
+  crates.winapi."0.3.6" = deps: { features?(features_.winapi."0.3.6" deps {}) }: buildRustCrate {
+    crateName = "winapi";
+    version = "0.3.6";
+    description = "Raw FFI bindings for all of Windows API.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1d9jfp4cjd82sr1q4dgdlrkvm33zhhav9d7ihr0nivqbncr059m4";
+    build = "build.rs";
+    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
+    ]) else [])
+      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
+      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
+    ]) else []);
+    features = mkFeatures (features."winapi"."0.3.6" or {});
+  };
+  features_.winapi."0.3.6" = deps: f: updateFeatures f (rec {
+    winapi."0.3.6".default = (f.winapi."0.3.6".default or true);
+    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.6".winapi_i686_pc_windows_gnu}".default = true;
+    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.6".winapi_x86_64_pc_windows_gnu}".default = true;
+  }) [
+    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_i686_pc_windows_gnu"}" deps)
+    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.6"."winapi_x86_64_pc_windows_gnu"}" deps)
+  ];
+
+
+# end
+# winapi-build-0.1.1
+
+  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
+    crateName = "winapi-build";
+    version = "0.1.1";
+    description = "Common code for build.rs in WinAPI -sys crates.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
+    libName = "build";
+  };
+  features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec {
+    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
+  }) [];
+
+
+# end
+# winapi-i686-pc-windows-gnu-0.4.0
+
+  crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "winapi-i686-pc-windows-gnu";
+    version = "0.4.0";
+    description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
+    build = "build.rs";
+  };
+  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
+    winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true);
+  }) [];
+
+
+# end
+# winapi-x86_64-pc-windows-gnu-0.4.0
+
+  crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
+    crateName = "winapi-x86_64-pc-windows-gnu";
+    version = "0.4.0";
+    description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
+    build = "build.rs";
+  };
+  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
+    winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true);
+  }) [];
+
+
+# end
+# ws2_32-sys-0.2.1
+
+  crates.ws2_32_sys."0.2.1" = deps: { features?(features_.ws2_32_sys."0.2.1" deps {}) }: buildRustCrate {
+    crateName = "ws2_32-sys";
+    version = "0.2.1";
+    description = "Contains function definitions for the Windows API library ws2_32. See winapi for types and constants.";
+    authors = [ "Peter Atashian <retep998@gmail.com>" ];
+    sha256 = "1zpy9d9wk11sj17fczfngcj28w4xxjs3b4n036yzpy38dxp4f7kc";
+    libName = "ws2_32";
+    build = "build.rs";
+    dependencies = mapFeatures features ([
+      (crates."winapi"."${deps."ws2_32_sys"."0.2.1"."winapi"}" deps)
+    ]);
+
+    buildDependencies = mapFeatures features ([
+      (crates."winapi_build"."${deps."ws2_32_sys"."0.2.1"."winapi_build"}" deps)
+    ]);
+  };
+  features_.ws2_32_sys."0.2.1" = deps: f: updateFeatures f (rec {
+    winapi."${deps.ws2_32_sys."0.2.1".winapi}".default = true;
+    winapi_build."${deps.ws2_32_sys."0.2.1".winapi_build}".default = true;
+    ws2_32_sys."0.2.1".default = (f.ws2_32_sys."0.2.1".default or true);
+  }) [
+    (features_.winapi."${deps."ws2_32_sys"."0.2.1"."winapi"}" deps)
+    (features_.winapi_build."${deps."ws2_32_sys"."0.2.1"."winapi_build"}" deps)
+  ];
+
+
+# end
+# xattr-0.1.11
+
+  crates.xattr."0.1.11" = deps: { features?(features_.xattr."0.1.11" deps {}) }: buildRustCrate {
+    crateName = "xattr";
+    version = "0.1.11";
+    description = "unix extended filesystem attributes";
+    authors = [ "Steven Allen <steven@stebalien.com>" ];
+    sha256 = "0v8wad18pdxv7242a7xs18i9hy00ih3vwajz7my05zbxx2ss01nx";
+    dependencies = mapFeatures features ([
+      (crates."libc"."${deps."xattr"."0.1.11"."libc"}" deps)
+    ]);
+    features = mkFeatures (features."xattr"."0.1.11" or {});
+  };
+  features_.xattr."0.1.11" = deps: f: updateFeatures f (rec {
+    libc."${deps.xattr."0.1.11".libc}".default = true;
+    xattr = fold recursiveUpdate {} [
+      { "0.1.11"."unsupported" =
+        (f.xattr."0.1.11"."unsupported" or false) ||
+        (f.xattr."0.1.11".default or false) ||
+        (xattr."0.1.11"."default" or false); }
+      { "0.1.11".default = (f.xattr."0.1.11".default or true); }
+    ];
+  }) [
+    (features_.libc."${deps."xattr"."0.1.11"."libc"}" deps)
+  ];
+
+
+# end
+}
diff --git a/pkgs/tools/package-management/cargo-download/default.nix b/pkgs/tools/package-management/cargo-download/default.nix
index 398e007c370..1cb53a4b6c8 100644
--- a/pkgs/tools/package-management/cargo-download/default.nix
+++ b/pkgs/tools/package-management/cargo-download/default.nix
@@ -1,7 +1,10 @@
 { stdenv, lib, fetchgit, darwin, buildPlatform
-, buildRustCrate, defaultCrateOverrides }:
+, buildRustCrate, buildRustCrateHelpers, defaultCrateOverrides }:
 
-((import ./Cargo.nix { inherit lib buildPlatform buildRustCrate fetchgit; }).cargo_download {}).override {
+((import ./Cargo.nix {
+  inherit lib buildPlatform buildRustCrate buildRustCrateHelpers fetchgit;
+  cratesIO = import ./crates-io.nix { inherit lib buildRustCrate buildRustCrateHelpers; };
+}).cargo_download {}).override {
   crateOverrides = defaultCrateOverrides // {
     cargo-download = attrs: {
       buildInputs = lib.optional stdenv.isDarwin
diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix
index 6a96e5b43b5..5954ca4959b 100644
--- a/pkgs/tools/package-management/xbps/default.nix
+++ b/pkgs/tools/package-management/xbps/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, which, zlib, openssl_1_1, libarchive }:
+{ stdenv, fetchFromGitHub, pkgconfig, which, zlib, openssl, libarchive }:
 
 stdenv.mkDerivation rec {
   pname = "xbps";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig which ];
 
-  buildInputs = [ zlib openssl_1_1 libarchive ];
+  buildInputs = [ zlib openssl libarchive ];
 
   patches = [ ./cert-paths.patch ];
 
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
index 3c6f52a4c7f..1270423e928 100644
--- a/pkgs/tools/security/chaps/default.nix
+++ b/pkgs/tools/security/chaps/default.nix
@@ -80,5 +80,6 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.tstrobel ];
     platforms = [ "x86_64-linux" ];
     license = licenses.bsd3;
+    broken = true;  # build failure withn openssl 1.1
   };
 }
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index b5212249547..54932e1200b 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.101.2";
+  version = "0.101.4";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha";
+    sha256 = "1kdw0b49hbvja6xn589v4f0q334wav16pmi1hibql5cxj7q99w0b";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.clamav.net;
     description = "Antivirus engine designed for detecting Trojans, viruses, malware and other malicious threats";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ phreedom robberer qknight fpletz ];
+    maintainers = with maintainers; [ phreedom robberer qknight fpletz globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/dnsenum/default.nix b/pkgs/tools/security/dnsenum/default.nix
index d764e8a71ae..3374c827d75 100644
--- a/pkgs/tools/security/dnsenum/default.nix
+++ b/pkgs/tools/security/dnsenum/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = "https://github.com/fwaeytens/dnsenum";
     description = "A tool to enumerate DNS information";
-    maintainers = with maintainers; [ c0bw3b globin ];
+    maintainers = with maintainers; [ c0bw3b ];
     license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/security/dnsrecon/default.nix b/pkgs/tools/security/dnsrecon/default.nix
index 06270723f4d..2575636aeca 100644
--- a/pkgs/tools/security/dnsrecon/default.nix
+++ b/pkgs/tools/security/dnsrecon/default.nix
@@ -39,6 +39,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/darkoperator/dnsrecon";
     license = licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with maintainers; [ c0bw3b globin ];
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/pkgs/tools/security/fierce/default.nix b/pkgs/tools/security/fierce/default.nix
index abc1bacd212..809d8e29ea3 100644
--- a/pkgs/tools/security/fierce/default.nix
+++ b/pkgs/tools/security/fierce/default.nix
@@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/mschwager/fierce";
     description = "DNS reconnaissance tool for locating non-contiguous IP space";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ c0bw3b globin ];
+    maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/hcxtools/default.nix b/pkgs/tools/security/hcxtools/default.nix
index 20ad5bbc0b2..216d58192fb 100644
--- a/pkgs/tools/security/hcxtools/default.nix
+++ b/pkgs/tools/security/hcxtools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hcxtools";
-  version = "5.1.6";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "ZerBea";
     repo = pname;
     rev = version;
-    sha256 = "05sjbmv2wq3nlmammrwxqc62c4sagjjgczzddr1jcqkf6kywzkl8";
+    sha256 = "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn";
   };
 
   buildInputs = [ curl openssl zlib ];
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 884480b73a5..1a2b06ea41f 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -5,7 +5,7 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "4.1.0";
+  version = "4.3.1";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "00mxyy4jhdbcvbwabf4yvq4h5mpnlfp2z93gy2266kz6gkd5myzk";
+    sha256 = "1743d7a7ix882yxz9pk230vdvdj46sbscqv4wqyhb0la2pl9jqdp";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 56e1daf2043..3954ec818b1 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -4,16 +4,16 @@
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20190612201656.952fee6c59";
+  versionSuffix = "20190813132700.6f497ec371";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "4.1.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "4.3.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "0jwxw75yz7sbvfqw2aksa3p7jlcv817743fl59qk6rq1x9ag6qpx";
+    sha256 = "1mbbfy1aijqr8209jjja6dm2nzw721qqw94839df047rcwnd38pg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/kpcli/default.nix b/pkgs/tools/security/kpcli/default.nix
index 8decdd13b0f..9d4c590efa1 100644
--- a/pkgs/tools/security/kpcli/default.nix
+++ b/pkgs/tools/security/kpcli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  version = "3.2";
+  version = "3.3";
   pname = "kpcli";
 
   src = fetchurl {
     url = "mirror://sourceforge/kpcli/${pname}-${version}.pl";
-    sha256 = "11z6zbnsmqgjw73ai4nrq4idr83flrib22d8fqh1637d36p1nnk1";
+    sha256 = "1z6dy70d3ag16vgzzafcnxb8gap3wahfmy4vd22fpgbrdd6riph4";
   };
 
   buildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/security/lesspass-cli/default.nix b/pkgs/tools/security/lesspass-cli/default.nix
new file mode 100644
index 00000000000..afcdf0c0a07
--- /dev/null
+++ b/pkgs/tools/security/lesspass-cli/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, python3, fetchFromGitHub }:
+
+let
+  inherit (python3.pkgs) buildPythonApplication pytest mock pexpect;
+in
+buildPythonApplication rec {
+  pname = "lesspass-cli";
+  version = "9.0.0";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1mdv0c0fn4d72iigy8hz4s7kf7q3pg4gjjadxwxyjwsalapnsapk";
+  };
+  sourceRoot = "source/cli";
+
+  # some tests are designed to run against code in the source directory - adapt to run against
+  # *installed* code
+  postPatch = ''
+    for f in tests/test_functional.py tests/test_interaction.py ; do
+      substituteInPlace $f --replace "lesspass/core.py" "-m lesspass.core"
+    done
+  '';
+
+  checkInputs = [ pytest mock pexpect ];
+  checkPhase = ''
+    mv lesspass lesspass.hidden  # ensure we're testing against *installed* package
+    pytest tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Stateless password manager";
+    homepage = https://lesspass.com;
+    maintainers = with maintainers; [ jasoncarr ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 3bc5758aad4..1b66dab35c8 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -20,22 +20,22 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nmap${optionalString graphicalSupport "-graphical"}-${version}";
-  version = "7.70";
+  version = "7.80";
 
   src = fetchurl {
     url = "https://nmap.org/dist/nmap-${version}.tar.bz2";
-    sha256 = "063fg8adx23l4irrh5kn57hsmi1xvjkar4vm4k6g94ppan4hcyw4";
+    sha256 = "1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw";
   };
 
   patches = [ ./zenmap.patch ]
     ++ optionals stdenv.cc.isClang [(
       # Fixes a compile error due an ambiguous reference to bind(2) in
       # nping/EchoServer.cc, which is otherwise resolved to std::bind.
-      # Also fixes a missing include.
       # https://github.com/nmap/nmap/pull/1363
       fetchpatch {
         url = "https://github.com/nmap/nmap/commit/5bbe66f1bd8cbd3718f5805139e2e8139e6849bb.diff";
-        sha256 = "088r8ylpc9hachsxs4r17cqfa1ncyspbjvkc573lill7rk1r9m0s";
+        includes = [ "nping/EchoServer.cc" ];
+        sha256 = "0xcph9mycy57yryjg253frxyz87c4135rrbndlqw1400c8jxq70c";
       }
     )];
 
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 2e482dfcffc..aeb838c0576 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -120,7 +120,7 @@ let
       description = "Stores, retrieves, generates, and synchronizes passwords securely";
       homepage    = https://www.passwordstore.org/;
       license     = licenses.gpl2Plus;
-      maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher ];
+      maintainers = with maintainers; [ lovek323 the-kenny fpletz tadfisher globin ];
       platforms   = platforms.unix;
 
       longDescription = ''
diff --git a/pkgs/tools/security/pass/extensions/otp.nix b/pkgs/tools/security/pass/extensions/otp.nix
index ab8bc7fe856..4b15c3d6803 100644
--- a/pkgs/tools/security/pass/extensions/otp.nix
+++ b/pkgs/tools/security/pass/extensions/otp.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pass-otp";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "tadfisher";
     repo = "pass-otp";
     rev = "v${version}";
-    sha256 = "0m8x5dqwcr9jim530685nsq4zn941hhl7ridmmd63b204z141rwa";
+    sha256 = "0cpqrf3939hcvwg7sd8055ghc8x964ilimlri16czzx188a9jx9v";
   };
 
   buildInputs = [ oathToolkit ];
@@ -19,13 +19,15 @@ stdenv.mkDerivation rec {
     sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
   '';
 
-  installFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=$(out)"
+                   "BASHCOMPDIR=$(out)/share/bash-completion/completions"
+                 ];
 
   meta = with stdenv.lib; {
     description = "A pass extension for managing one-time-password (OTP) tokens";
     homepage = https://github.com/tadfisher/pass-otp;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ jwiegley tadfisher ];
+    maintainers = with maintainers; [ jwiegley tadfisher toonn ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index b3b71a16eb8..249ff435c5f 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.0.5";
+  version = "0.4.1.5";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "0vk9j3ybz5dwwbmqrdj1bjcsxy76pc8frmfvflkdzwfkvkqcp8mm";
+    sha256 = "0984jb6hdcc10f7aq8xzl7l4jf93skp45wkv2v63z4zv0nvf0r58";
   };
 
   outputs = [ "out" "geoip" ];
diff --git a/pkgs/tools/security/tpm-luks/default.nix b/pkgs/tools/security/tpm-luks/default.nix
index 1799d5d154a..ca78c5d73ff 100644
--- a/pkgs/tools/security/tpm-luks/default.nix
+++ b/pkgs/tools/security/tpm-luks/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "1ms2v57f13r9km6mvf9rha5ndmlmjvrz3mcikai6nzhpj0nrjz0w";
   };
 
+  patches = [
+    ./openssl-1.1.patch
+    ./signed-ptr.patch
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ gawk trousers cryptsetup openssl ];
 
diff --git a/pkgs/tools/security/tpm-luks/openssl-1.1.patch b/pkgs/tools/security/tpm-luks/openssl-1.1.patch
new file mode 100644
index 00000000000..10132242b34
--- /dev/null
+++ b/pkgs/tools/security/tpm-luks/openssl-1.1.patch
@@ -0,0 +1,63 @@
+diff --git a/swtpm-utils/lib/hmac.c b/swtpm-utils/lib/hmac.c
+index 5545375..f9bedea 100644
+--- a/swtpm-utils/lib/hmac.c
++++ b/swtpm-utils/lib/hmac.c
+@@ -381,15 +381,19 @@ uint32_t TSS_authhmac(unsigned char *digest, unsigned char *key, unsigned int ke
+ /****************************************************************************/
+ uint32_t TSS_rawhmac(unsigned char *digest, const unsigned char *key, unsigned int keylen, ...)
+    {
+-   HMAC_CTX hmac;
++   HMAC_CTX* hmac;
+    unsigned int dlen;
+    unsigned char *data;
+    va_list argp;
+-   
+-#ifdef HAVE_HMAC_CTX_CLEANUP
+-   HMAC_CTX_init(&hmac);
+-#endif
+-   HMAC_Init(&hmac,key,keylen,EVP_sha1());
++
++   hmac = HMAC_CTX_new();
++
++   if (hmac == NULL)
++     {
++     return ERR_MEM_ERR;
++     }
++
++   HMAC_Init_ex(hmac,key,keylen,EVP_sha1(),NULL);
+ 
+    va_start(argp,keylen);
+    for (;;)
+@@ -398,15 +402,11 @@ uint32_t TSS_rawhmac(unsigned char *digest, const unsigned char *key, unsigned i
+       if (dlen == 0) break;
+       data = (unsigned char *)va_arg(argp,unsigned char *);
+       if (data == NULL) return ERR_NULL_ARG;
+-      HMAC_Update(&hmac,data,dlen);
++      HMAC_Update(hmac,data,dlen);
+       }
+-   HMAC_Final(&hmac,digest,&dlen);
++   HMAC_Final(hmac,digest,&dlen);
+ 
+-#ifdef HAVE_HMAC_CTX_CLEANUP
+-   HMAC_CTX_cleanup(&hmac);
+-#else
+-   HMAC_cleanup(&hmac);
+-#endif
++   HMAC_CTX_free(hmac);
+    va_end(argp);
+    return 0;
+    }
+diff --git a/swtpm-utils/lib/keys.c b/swtpm-utils/lib/keys.c
+index 99691b6..6627a1f 100644
+--- a/swtpm-utils/lib/keys.c
++++ b/swtpm-utils/lib/keys.c
+@@ -1249,8 +1249,7 @@ RSA *TSS_convpubkey(pubkeydata *k)
+                 exp);
+    }
+    /* set up the RSA public key structure */
+-   rsa->n = mod;
+-   rsa->e = exp;
++   RSA_set0_key(rsa, mod, exp, NULL);
+    return rsa;
+    }
+ 
diff --git a/pkgs/tools/security/tpm-luks/signed-ptr.patch b/pkgs/tools/security/tpm-luks/signed-ptr.patch
new file mode 100644
index 00000000000..83e356a4ef9
--- /dev/null
+++ b/pkgs/tools/security/tpm-luks/signed-ptr.patch
@@ -0,0 +1,15 @@
+diff --git a/swtpm-utils/getcapability.c b/swtpm-utils/getcapability.c
+index 7359ba3..17b4324 100644
+--- a/swtpm-utils/getcapability.c
++++ b/swtpm-utils/getcapability.c
+@@ -480,7 +480,8 @@ int main(int argc, char *argv[])
+ 				  }
+ 
+ 				  if (c) {
+-				      char pcrmap[4], *pf;
++				      char pcrmap[4];
++				      unsigned char *pf;
+ 
+ 				      memcpy(pcrmap, ndp.pcrInfoRead.pcrSelection.pcrSelect,
+ 					     ndp.pcrInfoRead.pcrSelection.sizeOfSelect);
+
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
index 1812b2645fe..e546cc5a10f 100644
--- a/pkgs/tools/security/tpm-tools/default.nix
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -14,6 +14,13 @@ stdenv.mkDerivation rec {
 
   sourceRoot = ".";
 
+  patches = [
+    (fetchurl {
+      url = https://sources.debian.org/data/main/t/tpm-tools/1.3.9.1-0.1/debian/patches/05-openssl1.1_fix_data_mgmt.patch;
+      sha256 = "161yysw4wgy3spsz6p1d0ib0h5pnrqm8bdh1l71c4hz6a6wpcyxj";
+    })
+  ];
+
   nativeBuildInputs = [ perl ];
   buildInputs = [ trousers openssl opencryptoki ];
 
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 95fa1047fe5..94da72c54b3 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20190703";
+  version = "20190816";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "031m124a109vv6fx667h4ca2iav0xszrlvif9zcfxcaxbjsn6991";
+    sha256 = "0p7ws106hf8bir9yb1a5m6v3wmvqagxmk3l9rpp4i89vib44vv3s";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ bison flex ];
 
-  installFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "ACPICA Tools";
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 9933a956b99..b057c80c74e 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, libgcrypt, readline, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.3";
+  version = "1.6.4";
   pname = "freeipmi";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
-    sha256 = "1sg12ycig2g5yv9l3vx25wsjmz7ybnrsvji0vs51yjmclwsygm5a";
+    sha256 = "0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5";
   };
 
   buildInputs = [ libgcrypt readline libgpgerror ];
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index b553206f13a..7966deeccc2 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.1.3";
+  version = "3.1.4";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0mxydn6pwdhky659rz6k1jlh95hy43pmz4nx53kligjwy2v060xq";
+    sha256 = "0rca9bjn46i3xzah53l1r5bv1493773chj8x11by2asxyl9wlf4r";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/lr/default.nix b/pkgs/tools/system/lr/default.nix
index a7adefb74f8..7b550008e4f 100644
--- a/pkgs/tools/system/lr/default.nix
+++ b/pkgs/tools/system/lr/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "List files recursively";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.globin ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
index 8a1f6c4b885..78306907079 100644
--- a/pkgs/tools/system/runit/default.nix
+++ b/pkgs/tools/system/runit/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     description = "UNIX init scheme with service supervision";
     license = licenses.bsd3;
     homepage = http://smarden.org/runit;
-    maintainers = with maintainers; [ rickynils joachifm ];
+    maintainers = with maintainers; [ joachifm ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 5d5d3b1939d..ab7fdf7c4bf 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.00";
+  version = "0.10.01";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0x602d9alilxxx2v59ryyg6s81l9nf8bxyavk5wf8jd5mshx57fh";
+    sha256 = "0gcgm96prkzysszgq34cpx30y0bx9b5zll7943zwg3941fkg4x2a";
   };
 
   # All platforms inputs then Linux-only ones
diff --git a/pkgs/tools/system/syslog-ng-incubator/default.nix b/pkgs/tools/system/syslog-ng-incubator/default.nix
index 3c793a05300..881fda241ed 100644
--- a/pkgs/tools/system/syslog-ng-incubator/default.nix
+++ b/pkgs/tools/system/syslog-ng-incubator/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/balabit/syslog-ng-incubator;
     description = "A collection of tools and modules for syslog-ng";
     license = licenses.gpl2;
-    maintainers = [ maintainers.rickynils ];
+    maintainers = [];
     platforms = platforms.linux;
     broken = true; # 2018-05-12
   };
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index dcc9942a061..6998ed36ee5 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
     homepage = https://www.balabit.com/network-security/syslog-ng/;
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ rickynils  fpletz ];
+    maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/systemd-journal2gelf/default.nix b/pkgs/tools/system/systemd-journal2gelf/default.nix
index 2219d623a03..4c4ad91e727 100644
--- a/pkgs/tools/system/systemd-journal2gelf/default.nix
+++ b/pkgs/tools/system/systemd-journal2gelf/default.nix
@@ -16,7 +16,7 @@ buildGoModule rec {
   meta = with stdenv.lib; {
     description = "Export entries from systemd's journal and send them to a graylog server using gelf";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fadenb fpletz globin ];
+    maintainers = with maintainers; [ fadenb fpletz ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
index 6ef96bdab5c..3429419052f 100644
--- a/pkgs/tools/system/thermald/default.nix
+++ b/pkgs/tools/system/thermald/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "1g1l7k8yxj8bl1ysdx8v6anv1s7xk9j072y44gwki70dy48n7j92";
+    sha256 = "1ajhivl9jifcf12nbk281yayk7666v65m249aclyli0bz1kh8cfs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 4fa90441bdb..4b1275d041f 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = https://github.com/BurntSushi/ripgrep;
     license = with licenses; [ unlicense /* or */ mit ];
-    maintainers = [ maintainers.tailhook ];
+    maintainers = with maintainers; [ tailhook globin ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 583ffd01db9..b73015dd19f 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -1,10 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "vale";
-  version = "1.4.3";
-
-  goPackagePath = "github.com/errata-ai/vale";
+  version = "1.7.1";
 
   subPackages = [ "." ];
 
@@ -12,9 +10,11 @@ buildGoPackage rec {
     owner  = "errata-ai";
     repo   = "vale";
     rev    = "v${version}";
-    sha256 = "1dgh2frf577048cacwnrl0xx5hha055z42sqq38lf07ybwyxdxms";
+    sha256 = "1qi3brjppiymk6as0xic2n3bhq8g8qw1z8d9a24w60x9gp52yq5m";
   };
 
+  modSha256 = "0av728w22rrlw2030d09q5dz9ks58p3n4g1hx4xcs0gi33sdsdb8";
+
   meta = with stdenv.lib; {
     homepage = https://errata-ai.github.io/vale/;
     description = "A syntax-aware linter for prose built with speed and extensibility in mind";
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index 3f9ba73e13d..6d26129f2c1 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, perlPackages, texlive }:
+{ stdenv, perlPackages, shortenPerlShebang, texlive }:
 
 let
   biberSource = stdenv.lib.head (builtins.filter (p: p.tlType == "source") texlive.biber.pkgs);
@@ -21,6 +21,11 @@ perlPackages.buildPerlModule {
     TestDifferences
     PerlIOutf8_strict
   ];
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang $out/bin/biber
+  '';
 
   meta = with stdenv.lib; {
     description = "Backend for BibLaTeX";
diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/tools/typesetting/scdoc/default.nix
index af1e8711f22..9b695100150 100644
--- a/pkgs/tools/typesetting/scdoc/default.nix
+++ b/pkgs/tools/typesetting/scdoc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "scdoc";
-  version = "1.9.6";
+  version = "1.9.7";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz";
-    sha256 = "0a2rxn0pihknvyvfvzib42v9c7zfdg8pi95q40fywwjb9clz59c9";
+    sha256 = "0y9p03dzdaszx02jbkdf3vcs52fqml591cmic5jdch5yznrg03ky";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 7c2543f7219..c27c68741fc 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -5,7 +5,7 @@
 , perl, perlPackages, pkgconfig, autoreconfHook
 , poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
 , cairo, pixman, xorg, clisp, biber
-, makeWrapper
+, makeWrapper, shortenPerlShebang
 }:
 
 # Useful resource covering build options:
@@ -296,6 +296,7 @@ latexindent = perlPackages.buildPerlPackage rec {
 
   outputs = [ "out" ];
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
   propagatedBuildInputs = with perlPackages; [ FileHomeDir LogDispatch LogLog4perl UnicodeLineBreak YAMLTiny ];
 
   postPatch = ''
@@ -312,6 +313,8 @@ latexindent = perlPackages.buildPerlPackage rec {
     install -D ./scripts/latexindent/latexindent.pl "$out"/bin/latexindent
     mkdir -p "$out"/${perl.libPrefix}
     cp -r ./scripts/latexindent/LatexIndent "$out"/${perl.libPrefix}/
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    shortenPerlShebang "$out"/bin/latexindent
   '';
 };