# This file was @generated by crate2nix 0.8.0 with the command:
#   "generate"
# See https://github.com/kolloch/crate2nix for more info.

{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs { config = {}; }
, lib ? pkgs.lib
, stdenv ? pkgs.stdenv
, buildRustCrate ? pkgs.buildRustCrate
  # This is used as the `crateOverrides` argument for `buildRustCrate`.
, defaultCrateOverrides ? pkgs.defaultCrateOverrides
  # The features to enable for the root_crate or the workspace_members.
, rootFeatures ? [ "default" ]
  # If true, throw errors instead of issueing deprecation warnings.
, strictDeprecation ? false
  # Whether to perform release builds: longer compile times, faster binaries.
, release ? true
}:

rec {
  #
  # "public" attributes that we attempt to keep stable with new versions of crate2nix.
  #

  
  # Refer your crate build derivation by name here.
  # You can override the features with
  # workspaceMembers."${crateName}".build.override { features = [ "default" "feature1" ... ]; }.
  workspaceMembers = {
    "libpijul" = rec {
      packageId = "libpijul";
      build = internal.buildRustCrateWithFeatures {
        packageId = "libpijul";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "pijul" = rec {
      packageId = "pijul";
      build = internal.buildRustCrateWithFeatures {
        packageId = "pijul";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
    "pijul-macros" = rec {
      packageId = "pijul-macros";
      build = internal.buildRustCrateWithFeatures {
        packageId = "pijul-macros";
      };

      # Debug support which might change between releases.
      # File a bug if you depend on any for non-debug work!
      debug = internal.debugCrate { inherit packageId; };
    };
  };
  workspace_members =
    internal.deprecationWarning
      "workspace_members is deprecated in crate2nix 0.4. Please use workspaceMembers instead."
      lib.mapAttrs (n: v: v.build) workspaceMembers;

  #
  # "internal" ("private") attributes that may change in every new version of crate2nix.
  #

  internal = rec {
    # Build and dependency information for crates.
    # Many of the fields are passed one-to-one to buildRustCrate.
    #
    # Noteworthy:
    # * `dependencies`/`buildDependencies`: similar to the corresponding fields for buildRustCrate.
    #   but with additional information which is used during dependency/feature resolution.
    # * `resolvedDependencies`: the selected default features reported by cargo - only included for debugging.
    # * `devDependencies` as of now not used by `buildRustCrate` but used to
    #   inject test dependencies into the build

    crates = {
      "addr2line" = rec {
        crateName = "addr2line";
        version = "0.14.1";
        edition = "2015";
        sha256 = "1xs5bsi40zpyxbbylyaysya5h36ykcbg91i82415sxw5wk7q4px5";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
          "Philip Craig <philipjcraig@gmail.com>"
          "Jon Gjengset <jon@thesquareplanet.com>"
          "Noah Bergbauer <noah.bergbauer@tum.de>"
        ];
        dependencies = [
          {
            name = "gimli";
            packageId = "gimli";
            usesDefaultFeatures = false;
            features = [ "read" ];
          }
        ];
        features = {
          "default" = [ "rustc-demangle" "cpp_demangle" "std-object" "fallible-iterator" "smallvec" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "gimli/rustc-dep-of-std" ];
          "std" = [ "gimli/std" ];
          "std-object" = [ "std" "object" "object/std" "object/compression" "gimli/endian-reader" ];
        };
      };
      "adler" = rec {
        crateName = "adler";
        version = "0.2.3";
        edition = "2015";
        sha256 = "0zpdsrfq5bd34941gmrlamnzjfbsx0x586afb7b0jqhr8g1lwapf";
        authors = [
          "Jonas Schievink <jonasschievink@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "aho-corasick" = rec {
        crateName = "aho-corasick";
        version = "0.7.15";
        edition = "2015";
        sha256 = "1rb8gzhljl8r87dpf2n5pnqnkl694casgns4ma0sqzd4zazzw13l";
        libName = "aho_corasick";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "memchr/use_std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "anyhow" = rec {
        crateName = "anyhow";
        version = "1.0.37";
        edition = "2018";
        sha256 = "11kaqp25lchr2ckyc46zm6blzndnw0w2w8qv0sp8z4xcxqgw2rzf";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "arrayref" = rec {
        crateName = "arrayref";
        version = "0.3.6";
        edition = "2015";
        sha256 = "0i6m1l3f73i0lf0cjdf5rh3xpvxydyhfbakq7xx7bkrp5qajgid4";
        authors = [
          "David Roundy <roundyd@physics.oregonstate.edu>"
        ];
        
      };
      "arrayvec" = rec {
        crateName = "arrayvec";
        version = "0.5.2";
        edition = "2018";
        sha256 = "12q6hn01x5435bprwlb7w9m7817dyfq55yrl4psygr78bp32zdi3";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "array-sizes-33-128" ];
      };
      "atty" = rec {
        crateName = "atty";
        version = "0.2.14";
        edition = "2015";
        sha256 = "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr";
        authors = [
          "softprops <d.tangren@gmail.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi";
            target = { target, features }: (target."os" == "hermit");
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: target."unix";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "consoleapi" "processenv" "minwinbase" "minwindef" "winbase" ];
          }
        ];
        
      };
      "autocfg" = rec {
        crateName = "autocfg";
        version = "1.0.1";
        edition = "2015";
        sha256 = "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d";
        authors = [
          "Josh Stone <cuviper@gmail.com>"
        ];
        
      };
      "backtrace" = rec {
        crateName = "backtrace";
        version = "0.3.55";
        edition = "2018";
        sha256 = "161mc9ii12n7pha3m4ggrj3k4jxam2474jsdpfdizc459hs40lgg";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "addr2line";
            packageId = "addr2line";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "object";
            packageId = "object";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "read_core" "elf" "macho" "pe" "unaligned" "archive" ];
          }
          {
            name = "rustc-demangle";
            packageId = "rustc-demangle";
          }
        ];
        features = {
          "default" = [ "std" "gimli-symbolize" ];
          "gimli-symbolize" = [ "addr2line" "miniz_oxide" "object" ];
          "libbacktrace" = [ "backtrace-sys/backtrace-sys" ];
          "serialize-rustc" = [ "rustc-serialize" ];
          "serialize-serde" = [ "serde" ];
          "verify-winapi" = [ "winapi/dbghelp" "winapi/handleapi" "winapi/libloaderapi" "winapi/memoryapi" "winapi/minwindef" "winapi/processthreadsapi" "winapi/synchapi" "winapi/tlhelp32" "winapi/winbase" "winapi/winnt" ];
        };
        resolvedDefaultFeatures = [ "addr2line" "default" "gimli-symbolize" "miniz_oxide" "object" "std" ];
      };
      "base64" = rec {
        crateName = "base64";
        version = "0.13.0";
        edition = "2018";
        sha256 = "1z82g23mbzjgijkpcrilc7nljpxpvpf7zxf6iyiapkgka2ngwkch";
        authors = [
          "Alice Maz <alice@alicemaz.com>"
          "Marshall Pierce <marshall@mpierce.org>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bincode" = rec {
        crateName = "bincode";
        version = "1.3.1";
        edition = "2015";
        sha256 = "0vc9pjh6hfp9vfq752sa88rxwg93ydhm0dvvy58rcvx2p8wkl3gk";
        authors = [
          "Ty Overby <ty@pre-alpha.com>"
          "Francesco Mazzoli <f@mazzo.li>"
          "David Tolnay <dtolnay@gmail.com>"
          "Zoey Riordan <zoey@dos.cafe>"
        ];
        dependencies = [
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = {
        };
      };
      "bit-vec" = rec {
        crateName = "bit-vec";
        version = "0.6.3";
        edition = "2015";
        sha256 = "1ywqjnv60cdh1slhz67psnp422md6jdliji6alq0gmly2xm9p7rl";
        authors = [
          "Alexis Beingessner <a.beingessner@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
          "serde_no_std" = [ "serde/alloc" ];
          "serde_std" = [ "std" "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bitflags" = rec {
        crateName = "bitflags";
        version = "1.2.1";
        edition = "2015";
        sha256 = "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "blake2b_simd" = rec {
        crateName = "blake2b_simd";
        version = "0.5.11";
        edition = "2018";
        sha256 = "11y5nm06lpypz65dbxgncs12ckx24i5i4a777ckfhfxd93ili9xg";
        authors = [
          "Jack O'Connor"
        ];
        dependencies = [
          {
            name = "arrayref";
            packageId = "arrayref";
          }
          {
            name = "arrayvec";
            packageId = "arrayvec";
            usesDefaultFeatures = false;
          }
          {
            name = "constant_time_eq";
            packageId = "constant_time_eq";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "blake3" = rec {
        crateName = "blake3";
        version = "0.3.7";
        edition = "2018";
        sha256 = "0gwxy0vbjf8nwjc32n5jb0lfyrn74bc6hcxdizdlp4gk06vkbzz9";
        authors = [
          "Jack O'Connor <oconnor663@gmail.com>"
        ];
        dependencies = [
          {
            name = "arrayref";
            packageId = "arrayref";
          }
          {
            name = "arrayvec";
            packageId = "arrayvec";
            usesDefaultFeatures = false;
            features = [ "array-sizes-33-128" ];
          }
          {
            name = "cfg-if";
            packageId = "cfg-if 0.1.10";
          }
          {
            name = "constant_time_eq";
            packageId = "constant_time_eq";
          }
          {
            name = "crypto-mac";
            packageId = "crypto-mac";
          }
          {
            name = "digest";
            packageId = "digest";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "digest/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bstr" = rec {
        crateName = "bstr";
        version = "0.2.14";
        edition = "2015";
        sha256 = "1bwzbln4c0ckf7iwh8cfbgcy72d3vi95iywlm9xszy9kharwcgs7";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "memchr";
            packageId = "memchr";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" "unicode" ];
          "serde1" = [ "std" "serde1-nostd" "serde/std" ];
          "serde1-nostd" = [ "serde" ];
          "std" = [ "memchr/use_std" ];
          "unicode" = [ "lazy_static" "regex-automata" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "bumpalo" = rec {
        crateName = "bumpalo";
        version = "3.4.0";
        edition = "2018";
        sha256 = "082qig1vxlklb9qwkg3j4hpfxb4b5blm59ln21njfc2p01zhi31f";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "byteorder" = rec {
        crateName = "byteorder";
        version = "1.3.4";
        edition = "2015";
        sha256 = "1pkjfhgjnq898g1d38ygcfi0msg3m6756cwv0sgysj1d26p8mi08";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "i128" "std" ];
      };
      "bytes 0.5.6" = rec {
        crateName = "bytes";
        version = "0.5.6";
        edition = "2018";
        sha256 = "0f5s7xq6qzmdh22ygsy8v0sp02m51y0radvq4i4y8cizy1lfqk0f";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "bytes 1.0.0" = rec {
        crateName = "bytes";
        version = "1.0.0";
        edition = "2018";
        sha256 = "0wpsy2jwmbrsn7x6vcd00hw9vvz071lv8nrb25wrspvmkna8w7xd";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "canonical-path" = rec {
        crateName = "canonical-path";
        version = "2.0.2";
        edition = "2018";
        sha256 = "0vvsjda6ka5nz8zvx6r08zqi0j59sjccgcbjxj96xj764w9y1sg6";
        authors = [
          "Tony Arcieri <tony@iqlusion.io>"
        ];
        
      };
      "cc" = rec {
        crateName = "cc";
        version = "1.0.66";
        edition = "2018";
        crateBin = [];
        sha256 = "0j7d7h4n81z5f22l3v8ggjvvw8m64636nlaqax4x1y44da1rc12c";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "jobserver";
            packageId = "jobserver";
            optional = true;
          }
        ];
        features = {
          "parallel" = [ "jobserver" ];
        };
        resolvedDefaultFeatures = [ "jobserver" "parallel" ];
      };
      "cfg-if 0.1.10" = rec {
        crateName = "cfg-if";
        version = "0.1.10";
        edition = "2018";
        sha256 = "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "cfg-if 1.0.0" = rec {
        crateName = "cfg-if";
        version = "1.0.0";
        edition = "2018";
        sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "chrono" = rec {
        crateName = "chrono";
        version = "0.4.19";
        edition = "2015";
        sha256 = "0wyfl6c00vhfl562spnfcna3zkw8jqvcp652m9iskhl8j26dc2k7";
        authors = [
          "Kang Seonghoon <public+rust@mearie.org>"
          "Brandon W Maister <quodlibetor@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
          }
          {
            name = "num-integer";
            packageId = "num-integer";
            usesDefaultFeatures = false;
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "time";
            packageId = "time";
            optional = true;
          }
          {
            name = "winapi";
            packageId = "winapi";
            optional = true;
            target = { target, features }: target."windows";
            features = [ "std" "minwinbase" "minwindef" "timezoneapi" ];
          }
        ];
        features = {
          "clock" = [ "libc" "std" "winapi" ];
          "default" = [ "clock" "std" "oldtime" ];
          "oldtime" = [ "time" ];
          "unstable-locales" = [ "pure-rust-locales" "alloc" ];
          "wasmbind" = [ "wasm-bindgen" "js-sys" ];
        };
        resolvedDefaultFeatures = [ "clock" "default" "libc" "oldtime" "serde" "std" "time" "winapi" ];
      };
      "clap" = rec {
        crateName = "clap";
        version = "3.0.0-beta.2";
        edition = "2018";
        sha256 = "0hm1kivw6190rxbfqhdr4hqwlrijvwh90i3d9dyyw0d5k0chdlab";
        authors = [
          "Kevin K. <kbknapp@gmail.com>"
          "Clap Maintainers"
        ];
        dependencies = [
          {
            name = "atty";
            packageId = "atty";
            optional = true;
          }
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "clap_derive";
            packageId = "clap_derive";
            optional = true;
          }
          {
            name = "indexmap";
            packageId = "indexmap";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
          {
            name = "os_str_bytes";
            packageId = "os_str_bytes";
            features = [ "raw" ];
          }
          {
            name = "strsim";
            packageId = "strsim";
            optional = true;
          }
          {
            name = "termcolor";
            packageId = "termcolor";
            optional = true;
          }
          {
            name = "textwrap";
            packageId = "textwrap";
          }
          {
            name = "unicode-width";
            packageId = "unicode-width";
          }
          {
            name = "vec_map";
            packageId = "vec_map";
          }
        ];
        devDependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
        ];
        features = {
          "cargo" = [ "lazy_static" ];
          "color" = [ "atty" "termcolor" ];
          "debug" = [ "clap_derive/debug" ];
          "default" = [ "suggestions" "color" "derive" "std" "cargo" ];
          "derive" = [ "clap_derive" "lazy_static" ];
          "doc" = [ "yaml" "regex" ];
          "suggestions" = [ "strsim" ];
          "unstable" = [ "clap_derive/unstable" ];
          "wrap_help" = [ "terminal_size" "textwrap/terminal_size" ];
          "yaml" = [ "yaml-rust" ];
        };
        resolvedDefaultFeatures = [ "atty" "cargo" "clap_derive" "color" "default" "derive" "lazy_static" "std" "strsim" "suggestions" "termcolor" ];
      };
      "clap_derive" = rec {
        crateName = "clap_derive";
        version = "3.0.0-beta.2";
        edition = "2018";
        sha256 = "18cn82jhcha7m0nkpi1a03jx8k7aaq5kxfcxnsqpaa8ih5dp23rp";
        procMacro = true;
        authors = [
          "Guillaume Pinot <texitoi@texitoi.eu>"
          "Clap Maintainers"
        ];
        dependencies = [
          {
            name = "heck";
            packageId = "heck";
          }
          {
            name = "proc-macro-error";
            packageId = "proc-macro-error";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "console" = rec {
        crateName = "console";
        version = "0.14.0";
        edition = "2018";
        sha256 = "1ajnr0rga4vya0fza12ighf3ffkm86w1rv8p5wf443s8nd30kj3w";
        authors = [
          "Armin Ronacher <armin.ronacher@active-4.com>"
        ];
        dependencies = [
          {
            name = "encode_unicode";
            packageId = "encode_unicode";
            target = { target, features }: target."windows";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "regex";
            packageId = "regex";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "terminal_size";
            packageId = "terminal_size";
          }
          {
            name = "unicode-width";
            packageId = "unicode-width";
            optional = true;
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "winbase" "winuser" "consoleapi" "processenv" "wincon" ];
          }
        ];
        features = {
          "ansi-parsing" = [ "regex" ];
          "default" = [ "unicode-width" "ansi-parsing" ];
          "windows-console-colors" = [ "ansi-parsing" "winapi-util" ];
        };
        resolvedDefaultFeatures = [ "ansi-parsing" "default" "regex" "unicode-width" ];
      };
      "constant_time_eq" = rec {
        crateName = "constant_time_eq";
        version = "0.1.5";
        edition = "2015";
        sha256 = "1g3vp04qzmk6cpzrd19yci6a95m7ap6wy7wkwgiy2pjklklrfl14";
        authors = [
          "Cesar Eduardo Barros <cesarb@cesarb.eti.br>"
        ];
        
      };
      "core-foundation" = rec {
        crateName = "core-foundation";
        version = "0.9.1";
        edition = "2015";
        sha256 = "0qhackx0i914nbhcwi6bbxnyyqqldgxc046gviak3a3f8apf528a";
        authors = [
          "The Servo Project Developers"
        ];
        dependencies = [
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "mac_os_10_7_support" = [ "core-foundation-sys/mac_os_10_7_support" ];
          "mac_os_10_8_features" = [ "core-foundation-sys/mac_os_10_8_features" ];
          "with-chrono" = [ "chrono" ];
          "with-uuid" = [ "uuid" ];
        };
      };
      "core-foundation-sys" = rec {
        crateName = "core-foundation-sys";
        version = "0.8.2";
        edition = "2015";
        sha256 = "06wq7yb7mlkc4h2kbc0yjfi0xv44z4snzdpr7c1l0zm4hi91n8pa";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
        };
      };
      "crc32fast" = rec {
        crateName = "crc32fast";
        version = "1.2.1";
        edition = "2015";
        sha256 = "06ivjlkzcxxxk7nyshc44aql4zjpmvirq46vmzrakdjax3n6y5c1";
        authors = [
          "Sam Rijs <srijs@airpost.net>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "crossbeam-utils" = rec {
        crateName = "crossbeam-utils";
        version = "0.8.1";
        edition = "2018";
        sha256 = "13fvrqlap7bgvlnpqr5gjcxdhx1jv99pkfg5xdlq5xcy30g6vn82";
        authors = [
          "The Crossbeam Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "lazy_static" ];
        };
        resolvedDefaultFeatures = [ "default" "lazy_static" "std" ];
      };
      "crypto-mac" = rec {
        crateName = "crypto-mac";
        version = "0.8.0";
        edition = "2018";
        sha256 = "1axfs4zmy74rn9666p92j7nmcv11zdp2d51yrppc2dv26cqa715m";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
          {
            name = "subtle";
            packageId = "subtle";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "dev" = [ "blobby" ];
        };
      };
      "cryptovec" = rec {
        crateName = "cryptovec";
        version = "0.6.0";
        edition = "2015";
        sha256 = "1mbsxcm91ndkcb2xcvhq34a1wmnf2ggz1ff1b9dc4kgmrf7srgz4";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "basetsd" "minwindef" "memoryapi" ];
          }
        ];
        
      };
      "ctrlc" = rec {
        crateName = "ctrlc";
        version = "3.1.7";
        edition = "2015";
        sha256 = "027bzbddk0wg7s2wnbgcwx2iv6bjzvxfpp0s2xdg444yfklr4ymm";
        authors = [
          "Antti Keränen <detegr@gmail.com>"
        ];
        dependencies = [
          {
            name = "nix";
            packageId = "nix";
            target = { target, features }: target."unix";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "consoleapi" "handleapi" "synchapi" "winbase" ];
          }
        ];
        devDependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = {target, features}: target."windows";
            features = [ "fileapi" "processenv" "winnt" ];
          }
        ];
        features = {
        };
      };
      "curve25519-dalek" = rec {
        crateName = "curve25519-dalek";
        version = "3.0.0";
        edition = "2015";
        sha256 = "01xknhlwagv601k6125372vr0lw2j6xjsvnnl74hprp943j2sjf8";
        authors = [
          "Isis Lovecruft <isis@patternsinthevoid.net>"
          "Henry de Valence <hdevalence@hdevalence.ca>"
        ];
        dependencies = [
          {
            name = "byteorder";
            packageId = "byteorder";
            usesDefaultFeatures = false;
            features = [ "i128" ];
          }
          {
            name = "digest";
            packageId = "digest";
            usesDefaultFeatures = false;
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
            usesDefaultFeatures = false;
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "derive" ];
          }
          {
            name = "subtle";
            packageId = "subtle";
            usesDefaultFeatures = false;
          }
          {
            name = "zeroize";
            packageId = "zeroize";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "zeroize/alloc" ];
          "avx2_backend" = [ "simd_backend" ];
          "default" = [ "std" "u64_backend" ];
          "nightly" = [ "subtle/nightly" ];
          "simd_backend" = [ "nightly" "u64_backend" "packed_simd" ];
          "std" = [ "alloc" "subtle/std" "rand_core/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "serde" "std" "u64_backend" ];
      };
      "data-encoding" = rec {
        crateName = "data-encoding";
        version = "2.3.1";
        edition = "2018";
        sha256 = "027rcrwdschrkdr2n9d24gnh03vl41qmvhjqn9vn6z1njy2n0flr";
        authors = [
          "Julien Cretin <git@ia0.eu>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "diffs" = rec {
        crateName = "diffs";
        version = "0.4.0";
        edition = "2015";
        sha256 = "18l1w5plhhsj8v8mxckw5ikbhvra1096p4n0kli5wivvya14akmv";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        
      };
      "digest" = rec {
        crateName = "digest";
        version = "0.9.0";
        edition = "2018";
        sha256 = "0rmhvk33rgvd6ll71z8sng91a52rw14p0drjn1da0mqa138n1pfk";
        authors = [
          "RustCrypto Developers"
        ];
        dependencies = [
          {
            name = "generic-array";
            packageId = "generic-array";
          }
        ];
        features = {
          "dev" = [ "blobby" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "dirs" = rec {
        crateName = "dirs";
        version = "3.0.1";
        edition = "2015";
        sha256 = "1zxrb3anxsh80mnp2il7awccv0s5gvy7djn6gis18nbm0bnraa8l";
        authors = [
          "Simon Ochsenreither <simon@ochsenreither.de>"
        ];
        dependencies = [
          {
            name = "dirs-sys";
            packageId = "dirs-sys";
          }
        ];
        
      };
      "dirs-next" = rec {
        crateName = "dirs-next";
        version = "2.0.0";
        edition = "2018";
        sha256 = "1q9kr151h9681wwp6is18750ssghz6j9j7qm7qi1ngcwy7mzi35r";
        authors = [
          "The @xdg-rs members"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "dirs-sys-next";
            packageId = "dirs-sys-next";
          }
        ];
        
      };
      "dirs-sys" = rec {
        crateName = "dirs-sys";
        version = "0.3.5";
        edition = "2015";
        sha256 = "0ym5843xack45b1yjahrh3q2f72shnwf1dd2jncf9qsxf3sxg4wf";
        authors = [
          "Simon Ochsenreither <simon@ochsenreither.de>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "redox_users";
            packageId = "redox_users";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];
        
      };
      "dirs-sys-next" = rec {
        crateName = "dirs-sys-next";
        version = "0.1.1";
        edition = "2018";
        sha256 = "0zgy7is3h2dyf1l4sa7k065w2kvx0l12l40my4rswm2mc1gkdplr";
        authors = [
          "The @xdg-rs members"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "redox_users";
            packageId = "redox_users";
            usesDefaultFeatures = false;
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "knownfolders" "objbase" "shlobj" "winbase" "winerror" ];
          }
        ];
        
      };
      "edit" = rec {
        crateName = "edit";
        version = "0.1.2";
        edition = "2018";
        crateBin = [];
        sha256 = "1z1vvd07i7f042a5ca217v2ic70m2mw6wvdli355lvxsgr234c1j";
        authors = [
          "Milkey Mouse <milkeymouse@meme.institute>"
        ];
        dependencies = [
          {
            name = "tempfile";
            packageId = "tempfile";
          }
          {
            name = "which";
            packageId = "which";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "better-path" = [ "which" ];
          "default" = [ "better-path" ];
        };
        resolvedDefaultFeatures = [ "better-path" "default" "which" ];
      };
      "encode_unicode" = rec {
        crateName = "encode_unicode";
        version = "0.3.6";
        edition = "2015";
        sha256 = "07w3vzrhxh9lpjgsg2y5bwzfar2aq35mdznvcp3zjl0ssj7d4mx3";
        authors = [
          "Torbjørn Birch Moltu <t.b.moltu@lyse.net>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "encoding_rs" = rec {
        crateName = "encoding_rs";
        version = "0.8.26";
        edition = "2018";
        sha256 = "10xjcafwbxvm2kfsyymxlz8wc9s4bmdj1xzlc809rxyp2yrbl6w0";
        authors = [
          "Henri Sivonen <hsivonen@hsivonen.fi>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
        ];
        features = {
          "fast-legacy-encode" = [ "fast-hangul-encode" "fast-hanja-encode" "fast-kanji-encode" "fast-gb-hanzi-encode" "fast-big5-hanzi-encode" ];
          "simd-accel" = [ "packed_simd" "packed_simd/into_bits" ];
        };
      };
      "env_logger" = rec {
        crateName = "env_logger";
        version = "0.8.2";
        edition = "2018";
        sha256 = "07k6m6igz02g2b1v7nims7vd8azwxrav43xl14a6rjmxnikcnvpj";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "atty";
            packageId = "atty";
            optional = true;
          }
          {
            name = "humantime";
            packageId = "humantime";
            optional = true;
          }
          {
            name = "log";
            packageId = "log";
            features = [ "std" ];
          }
          {
            name = "regex";
            packageId = "regex";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" "perf" ];
          }
          {
            name = "termcolor";
            packageId = "termcolor";
            optional = true;
          }
        ];
        features = {
          "default" = [ "termcolor" "atty" "humantime" "regex" ];
        };
        resolvedDefaultFeatures = [ "atty" "default" "humantime" "regex" "termcolor" ];
      };
      "errno" = rec {
        crateName = "errno";
        version = "0.2.7";
        edition = "2015";
        sha256 = "1zj6rra8n7d7gagppvvs5pvrfblad6x4ln5knb4kg7dfkkxz4s7s";
        authors = [
          "Chris Wong <lambda.fairy@gmail.com>"
        ];
        dependencies = [
          {
            name = "errno-dragonfly";
            packageId = "errno-dragonfly";
            target = { target, features }: (target."os" == "dragonfly");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."os" == "hermit");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (target."os" == "wasi");
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "errhandlingapi" "minwindef" "ntdef" "winbase" ];
          }
        ];
        
      };
      "errno-dragonfly" = rec {
        crateName = "errno-dragonfly";
        version = "0.1.1";
        edition = "2015";
        sha256 = "0rshlc00nv45f14v2l1w0ma2nf1jg5j7q9pvw7hh018r6r73bjhl";
        authors = [
          "Michael Neumann <mneumann@ntecs.de>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        buildDependencies = [
          {
            name = "gcc";
            packageId = "gcc";
          }
        ];
        
      };
      "filetime" = rec {
        crateName = "filetime";
        version = "0.2.13";
        edition = "2018";
        sha256 = "1zlyqwl6l1vv95x5mzxrhqp9jy136wyvsvzhbc0lhxm57qwjl4hc";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "fileapi" "minwindef" "winbase" ];
          }
        ];
        
      };
      "flate2" = rec {
        crateName = "flate2";
        version = "1.0.19";
        edition = "2018";
        sha256 = "0abinkvc6ylbhshm8b3yfsfyl0vi2qplvjv4m8cs95yzalyqc4bl";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Josh Triplett <josh@joshtriplett.org>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "crc32fast";
            packageId = "crc32fast";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "miniz_oxide";
            packageId = "miniz_oxide";
            usesDefaultFeatures = false;
            target = { target, features }: ((target."arch" == "wasm32") && (!(target."os" == "emscripten")));
          }
        ];
        features = {
          "cloudflare_zlib" = [ "any_zlib" "cloudflare-zlib-sys" ];
          "default" = [ "rust_backend" ];
          "rust_backend" = [ "miniz_oxide" ];
          "tokio" = [ "tokio-io" "futures" ];
          "zlib" = [ "any_zlib" "libz-sys" ];
          "zlib-ng-compat" = [ "zlib" "libz-sys/zlib-ng" ];
        };
        resolvedDefaultFeatures = [ "default" "miniz_oxide" "rust_backend" ];
      };
      "fnv" = rec {
        crateName = "fnv";
        version = "1.0.7";
        edition = "2015";
        sha256 = "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz";
        libPath = "lib.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "foreign-types" = rec {
        crateName = "foreign-types";
        version = "0.3.2";
        edition = "2015";
        sha256 = "1cgk0vyd7r45cj769jym4a6s7vwshvd0z4bqrb92q1fwibmkkwzn";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "foreign-types-shared";
            packageId = "foreign-types-shared";
          }
        ];
        
      };
      "foreign-types-shared" = rec {
        crateName = "foreign-types-shared";
        version = "0.1.1";
        edition = "2015";
        sha256 = "0jxgzd04ra4imjv8jgkmdq59kj8fsz6w4zxsbmlai34h26225c00";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        
      };
      "form_urlencoded" = rec {
        crateName = "form_urlencoded";
        version = "1.0.0";
        edition = "2015";
        sha256 = "005yi1319k5bz8g5ylbdiakq5jp5jh90yy6k357zm11fr4aqvrpc";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "matches";
            packageId = "matches";
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
        ];
        
      };
      "fs2" = rec {
        crateName = "fs2";
        version = "0.4.3";
        edition = "2015";
        sha256 = "04v2hwk7035c088f19mfl5b1lz84gnvv2hv6m935n0hmirszqr4m";
        authors = [
          "Dan Burkert <dan@danburkert.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "handleapi" "processthreadsapi" "winerror" "fileapi" "winbase" "std" ];
          }
        ];
        
      };
      "futures" = rec {
        crateName = "futures";
        version = "0.3.8";
        edition = "2018";
        sha256 = "1l434mh7p5na5c3c7lih575hszqc515r9idk62fm5rhz1820qfwv";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-executor";
            packageId = "futures-executor";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "sink" ];
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" "futures-sink/alloc" "futures-channel/alloc" "futures-util/alloc" ];
          "async-await" = [ "futures-util/async-await" "futures-util/async-await-macro" ];
          "bilock" = [ "futures-util/bilock" ];
          "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" "futures-task/cfg-target-has-atomic" "futures-channel/cfg-target-has-atomic" "futures-util/cfg-target-has-atomic" ];
          "compat" = [ "std" "futures-util/compat" ];
          "default" = [ "std" "async-await" "executor" ];
          "executor" = [ "std" "futures-executor/std" ];
          "io-compat" = [ "compat" "futures-util/io-compat" ];
          "read-initializer" = [ "futures-io/read-initializer" "futures-util/read-initializer" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "futures-io/std" "futures-sink/std" "futures-util/std" "futures-util/io" "futures-util/channel" ];
          "thread-pool" = [ "executor" "futures-executor/thread-pool" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" "futures-channel/unstable" "futures-io/unstable" "futures-util/unstable" ];
          "write-all-vectored" = [ "futures-util/write-all-vectored" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "default" "executor" "futures-executor" "std" ];
      };
      "futures-channel" = rec {
        crateName = "futures-channel";
        version = "0.3.8";
        edition = "2018";
        sha256 = "0r7y228kkhwx9jj3ny5ppmw2gvw0capm6ig8dzppgqd4g9l0jwab";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" ];
          "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" ];
          "default" = [ "std" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" ];
          "unstable" = [ "futures-core/unstable" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "futures-sink" "sink" "std" ];
      };
      "futures-core" = rec {
        crateName = "futures-core";
        version = "0.3.8";
        edition = "2018";
        sha256 = "0j0pixxv8dmqas1h5cgy92z4r9lpmnlis8ls22v17yrgnwqy2z44";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-executor" = rec {
        crateName = "futures-executor";
        version = "0.3.8";
        edition = "2018";
        sha256 = "0r8ayj6g08d1i0hj2v6g5zr3hzlkxpqlkpf1awq0105qd0mjpajc";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "futures-core/std" "futures-task/std" "futures-util/std" ];
          "thread-pool" = [ "std" "num_cpus" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-io" = rec {
        crateName = "futures-io";
        version = "0.3.8";
        edition = "2018";
        sha256 = "1frh7d0n96lczy22al3bkgwpq0p1agbgax5kqh9vv8da33738631";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "futures-macro" = rec {
        crateName = "futures-macro";
        version = "0.3.8";
        edition = "2018";
        sha256 = "0mjmb46zapb59iilsbljpj7l0hq6w19df0f03p3br5qz5xlqlh3p";
        procMacro = true;
        authors = [
          "Taylor Cramer <cramertj@google.com>"
          "Taiki Endo <te316e89@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro-hack";
            packageId = "proc-macro-hack";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];
        
      };
      "futures-sink" = rec {
        crateName = "futures-sink";
        version = "0.3.8";
        edition = "2018";
        sha256 = "0gfb1z97q861ki6lqsvpgfn3hnm9w3vkrf82dc00xrff95d1jy7q";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "std" ];
      };
      "futures-task" = rec {
        crateName = "futures-task";
        version = "0.3.8";
        edition = "2018";
        sha256 = "03ad39v8scy353src2f9dkkvcs24n736iavi8xn45cj8pyslwmbw";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "once_cell";
            packageId = "once_cell";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" "once_cell" ];
        };
        resolvedDefaultFeatures = [ "alloc" "once_cell" "std" ];
      };
      "futures-util" = rec {
        crateName = "futures-util";
        version = "0.3.8";
        edition = "2018";
        sha256 = "1lnbhpyrypn9giw6122af0pffxfijfz3zm7phrwzp75rlzscy16k";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "futures-channel";
            packageId = "futures-channel";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-io";
            packageId = "futures-io";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "futures-macro";
            packageId = "futures-macro";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "futures-task";
            packageId = "futures-task";
            usesDefaultFeatures = false;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "pin-project";
            packageId = "pin-project 1.0.3";
          }
          {
            name = "pin-utils";
            packageId = "pin-utils";
          }
          {
            name = "proc-macro-hack";
            packageId = "proc-macro-hack";
            optional = true;
          }
          {
            name = "proc-macro-nested";
            packageId = "proc-macro-nested";
            optional = true;
          }
          {
            name = "slab";
            packageId = "slab";
            optional = true;
          }
        ];
        features = {
          "alloc" = [ "futures-core/alloc" "futures-task/alloc" ];
          "async-await-macro" = [ "async-await" "futures-macro" "proc-macro-hack" "proc-macro-nested" ];
          "cfg-target-has-atomic" = [ "futures-core/cfg-target-has-atomic" "futures-task/cfg-target-has-atomic" ];
          "channel" = [ "std" "futures-channel" ];
          "compat" = [ "std" "futures_01" ];
          "default" = [ "std" "async-await" "async-await-macro" ];
          "io" = [ "std" "futures-io" "memchr" ];
          "io-compat" = [ "io" "compat" "tokio-io" ];
          "read-initializer" = [ "io" "futures-io/read-initializer" "futures-io/unstable" ];
          "sink" = [ "futures-sink" ];
          "std" = [ "alloc" "futures-core/std" "futures-task/std" "slab" ];
          "unstable" = [ "futures-core/unstable" "futures-task/unstable" ];
          "write-all-vectored" = [ "io" ];
        };
        resolvedDefaultFeatures = [ "alloc" "async-await" "async-await-macro" "channel" "default" "futures-channel" "futures-io" "futures-macro" "futures-sink" "io" "memchr" "proc-macro-hack" "proc-macro-nested" "sink" "slab" "std" ];
      };
      "gcc" = rec {
        crateName = "gcc";
        version = "0.3.55";
        edition = "2015";
        crateBin = [];
        sha256 = "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "parallel" = [ "rayon" ];
        };
      };
      "generic-array" = rec {
        crateName = "generic-array";
        version = "0.14.4";
        edition = "2015";
        sha256 = "05qqwm9v5asbil9z28wjkmpfvs1c5c99n8n9gwxis3d3r3n6c52h";
        libName = "generic_array";
        authors = [
          "Bartłomiej Kamiński <fizyk20@gmail.com>"
          "Aaron Trent <novacrazy@gmail.com>"
        ];
        dependencies = [
          {
            name = "typenum";
            packageId = "typenum";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
        };
      };
      "getrandom 0.1.16" = rec {
        crateName = "getrandom";
        version = "0.1.16";
        edition = "2018";
        sha256 = "1kjzmz60qx9mn615ks1akjbf36n3lkv27zfwbcam0fzmj56wphwg";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: target."unix";
          }
          {
            name = "wasi";
            packageId = "wasi 0.9.0+wasi-snapshot-preview1";
            target = { target, features }: (target."os" == "wasi");
          }
        ];
        features = {
          "rustc-dep-of-std" = [ "compiler_builtins" "core" ];
          "test-in-browser" = [ "wasm-bindgen" ];
          "wasm-bindgen" = [ "bindgen" "js-sys" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "getrandom 0.2.1" = rec {
        crateName = "getrandom";
        version = "0.2.1";
        edition = "2018";
        sha256 = "1rmfh5g58awfcc2fhpal8lvxhqp8l8c2pc0mc9v8x2z7gdjz8q20";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = { target, features }: target."unix";
          }
          {
            name = "wasi";
            packageId = "wasi 0.10.0+wasi-snapshot-preview1";
            target = { target, features }: (target."os" == "wasi");
          }
        ];
        features = {
          "js" = [ "wasm-bindgen" "js-sys" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "gimli" = rec {
        crateName = "gimli";
        version = "0.23.0";
        edition = "2018";
        sha256 = "1km657nwcrb0pnv7v0ldhgl9y8s889y2j9jckmws8k2i8bhkyl7n";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
          "Philip Craig <philipjcraig@gmail.com>"
        ];
        features = {
          "default" = [ "read" "write" "std" "fallible-iterator" "endian-reader" ];
          "endian-reader" = [ "stable_deref_trait" ];
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" ];
          "std" = [ "fallible-iterator/std" "stable_deref_trait/std" ];
          "write" = [ "indexmap" ];
        };
        resolvedDefaultFeatures = [ "read" ];
      };
      "git2" = rec {
        crateName = "git2";
        version = "0.13.15";
        edition = "2018";
        sha256 = "0na3vsa44nn1sr6pzscn93w69wbmdih277mm2p3f6kcavb4ngwj4";
        authors = [
          "Josh Triplett <josh@joshtriplett.org>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libgit2-sys";
            packageId = "libgit2-sys";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "openssl-probe";
            packageId = "openssl-probe";
            optional = true;
            target = { target, features }: (target."unix" && (!(target."os" == "macos")));
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            optional = true;
            target = { target, features }: (target."unix" && (!(target."os" == "macos")));
          }
          {
            name = "url";
            packageId = "url";
          }
        ];
        features = {
          "default" = [ "ssh" "https" "ssh_key_from_memory" ];
          "https" = [ "libgit2-sys/https" "openssl-sys" "openssl-probe" ];
          "ssh" = [ "libgit2-sys/ssh" ];
          "ssh_key_from_memory" = [ "libgit2-sys/ssh_key_from_memory" ];
          "vendored-openssl" = [ "openssl-sys/vendored" ];
          "zlib-ng-compat" = [ "libgit2-sys/zlib-ng-compat" ];
        };
        resolvedDefaultFeatures = [ "default" "https" "openssl-probe" "openssl-sys" "ssh" "ssh_key_from_memory" ];
      };
      "globset" = rec {
        crateName = "globset";
        version = "0.4.6";
        edition = "2015";
        sha256 = "0jhy0qs5k43g8zyx1fys44kcdzjmcrwjyv9n703kj8g4y6g1cln1";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "aho-corasick";
            packageId = "aho-corasick";
          }
          {
            name = "bstr";
            packageId = "bstr";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "regex";
            packageId = "regex";
            usesDefaultFeatures = false;
            features = [ "perf" "std" ];
          }
        ];
        features = {
          "serde1" = [ "serde" ];
        };
      };
      "h2" = rec {
        crateName = "h2";
        version = "0.3.0";
        edition = "2018";
        sha256 = "19g6x6smwj7pyv28zr766xmdia5pr2psnly0ib6zr3hhc9iycrvb";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "indexmap";
            packageId = "indexmap";
          }
          {
            name = "slab";
            packageId = "slab";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" ];
          }
          {
            name = "tokio-util";
            packageId = "tokio-util";
            features = [ "codec" ];
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "tracing-futures";
            packageId = "tracing-futures";
            usesDefaultFeatures = false;
            features = [ "std-future" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "rt-multi-thread" "macros" "sync" "net" ];
          }
        ];
        features = {
        };
      };
      "hashbrown" = rec {
        crateName = "hashbrown";
        version = "0.9.1";
        edition = "2018";
        sha256 = "016dsm9s4xmxlkw2jfikm54qlz6vyk0qr280gab7kzp342jf9byp";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        features = {
          "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ];
          "default" = [ "ahash" "inline-more" ];
          "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ];
        };
        resolvedDefaultFeatures = [ "raw" ];
      };
      "heck" = rec {
        crateName = "heck";
        version = "0.3.2";
        edition = "2018";
        sha256 = "1b56s2c1ymdd0qmy31bw0ndhm31hcdamnhg3npp7ssrmc1ag9jw7";
        authors = [
          "Without Boats <woboats@gmail.com>"
        ];
        dependencies = [
          {
            name = "unicode-segmentation";
            packageId = "unicode-segmentation";
          }
        ];
        
      };
      "hermit-abi" = rec {
        crateName = "hermit-abi";
        version = "0.1.17";
        edition = "2018";
        sha256 = "1s1ss7xypnbpjglmj5k39svzsmni1rqp57a91qi5pyv0yxjmbjjs";
        authors = [
          "Stefan Lankes"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins/rustc-dep-of-std" "libc/rustc-dep-of-std" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "http" = rec {
        crateName = "http";
        version = "0.2.2";
        edition = "2018";
        sha256 = "09lfcl4589xfin22hblysab3zbx43j1ypy0gjr3d4mvdi8lrs4l4";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Carl Lerche <me@carllerche.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 0.5.6";
          }
          {
            name = "fnv";
            packageId = "fnv";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
        ];
        
      };
      "http-body" = rec {
        crateName = "http-body";
        version = "0.4.0";
        edition = "2018";
        sha256 = "150rkibhyrcmsyi0qzwx4hp02c4lga1kkdg8j7l5wkh7xqkvsq98";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Lucio Franco <luciofranco14@gmail.com>"
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
          }
          {
            name = "http";
            packageId = "http";
          }
        ];
        
      };
      "httparse" = rec {
        crateName = "httparse";
        version = "1.3.4";
        edition = "2015";
        sha256 = "1yf23ldnjwfkkhkca7f4w15mky9961gjz28dlwyybhphc7l9l5yd";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "httpdate" = rec {
        crateName = "httpdate";
        version = "0.3.2";
        edition = "2015";
        sha256 = "0izbd3sf0625wm4rrfv85xa4xa8j4n1ldxhwlkgff4cm6rh4sjs9";
        authors = [
          "Pyfisch <pyfisch@gmail.com>"
        ];
        features = {
        };
      };
      "human-panic" = rec {
        crateName = "human-panic";
        version = "1.0.3";
        edition = "2018";
        sha256 = "0djfad84iwl86kabj8rqfhv5nn1qi1fd9hb7z72xgjxb02jmgwrr";
        authors = [
          "Yoshua Wuyts <yoshuawuyts@gmail.com>"
          "Pascal Hertleif <killercup@gmail.com>"
          "Katharina Fey <kookie@spacekookie.de>"
        ];
        dependencies = [
          {
            name = "backtrace";
            packageId = "backtrace";
          }
          {
            name = "os_type";
            packageId = "os_type";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "termcolor";
            packageId = "termcolor";
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "uuid";
            packageId = "uuid";
            usesDefaultFeatures = false;
            features = [ "v4" ];
          }
        ];
        features = {
        };
      };
      "humantime" = rec {
        crateName = "humantime";
        version = "2.0.1";
        edition = "2018";
        sha256 = "0yivhqyi8xik2j6sd3q45ybakjx8jsx5632dx9xjn0birh4dj6iw";
        authors = [
          "Paul Colomiets <paul@colomiets.name>"
        ];
        
      };
      "hyper" = rec {
        crateName = "hyper";
        version = "0.14.2";
        edition = "2018";
        sha256 = "1gnckphz28sb01b036q53cxc408f7i0z8drpl2kb8k2ihk49s88j";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
          }
          {
            name = "futures-channel";
            packageId = "futures-channel";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
          }
          {
            name = "h2";
            packageId = "h2";
            optional = true;
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
          }
          {
            name = "httparse";
            packageId = "httparse";
          }
          {
            name = "httpdate";
            packageId = "httpdate";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "pin-project";
            packageId = "pin-project 1.0.3";
          }
          {
            name = "socket2";
            packageId = "socket2";
            optional = true;
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
          {
            name = "tower-service";
            packageId = "tower-service";
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "want";
            packageId = "want";
          }
        ];
        devDependencies = [
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            features = [ "alloc" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "fs" "macros" "io-std" "io-util" "rt" "rt-multi-thread" "sync" "time" "test-util" ];
          }
        ];
        features = {
          "full" = [ "client" "http1" "http2" "server" "stream" "runtime" ];
          "http2" = [ "h2" ];
          "runtime" = [ "tcp" "tokio/rt" ];
          "tcp" = [ "socket2" "tokio/net" "tokio/rt" "tokio/time" ];
        };
        resolvedDefaultFeatures = [ "client" "h2" "http1" "http2" "socket2" "tcp" ];
      };
      "hyper-tls" = rec {
        crateName = "hyper-tls";
        version = "0.5.0";
        edition = "2018";
        sha256 = "01crgy13102iagakf6q4mb75dprzr7ps1gj0l5hxm1cvm7gks66n";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
          }
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            features = [ "tcp" "client" ];
          }
          {
            name = "native-tls";
            packageId = "native-tls";
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
          {
            name = "tokio-native-tls";
            packageId = "tokio-native-tls";
          }
        ];
        devDependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            features = [ "http1" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-std" "macros" "io-util" ];
          }
        ];
        features = {
          "vendored" = [ "native-tls/vendored" ];
        };
      };
      "idna" = rec {
        crateName = "idna";
        version = "0.2.0";
        edition = "2015";
        sha256 = "1a9066imqpdrm1aavfasdyb1zahqaz8jmdcwdawvb1pf60y6gqh2";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "matches";
            packageId = "matches";
          }
          {
            name = "unicode-bidi";
            packageId = "unicode-bidi";
          }
          {
            name = "unicode-normalization";
            packageId = "unicode-normalization";
          }
        ];
        
      };
      "ignore" = rec {
        crateName = "ignore";
        version = "0.4.17";
        edition = "2015";
        sha256 = "1347mxd0cwiidcl0qvixl7za524x5ds0izv8vjh2df0bqr2zp1xj";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
          }
          {
            name = "globset";
            packageId = "globset";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "memchr";
            packageId = "memchr";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "same-file";
            packageId = "same-file";
          }
          {
            name = "thread_local";
            packageId = "thread_local";
          }
          {
            name = "walkdir";
            packageId = "walkdir";
          }
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: target."windows";
          }
        ];
        features = {
          "simd-accel" = [ "globset/simd-accel" ];
        };
      };
      "indexmap" = rec {
        crateName = "indexmap";
        version = "1.6.1";
        edition = "2018";
        sha256 = "0friqyzr4ssyayks7nirqbc36zcsf8fdi67jmvl4vpjh8a9zmcag";
        authors = [
          "bluss"
          "Josh Stone <cuviper@gmail.com>"
        ];
        dependencies = [
          {
            name = "hashbrown";
            packageId = "hashbrown";
            usesDefaultFeatures = false;
            features = [ "raw" ];
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "serde-1" = [ "serde" ];
        };
      };
      "indicatif" = rec {
        crateName = "indicatif";
        version = "0.15.0";
        edition = "2018";
        sha256 = "1r4n50mclyi4c7b9c9mlma1rhchjamw71r3z8vgqcmp24mhvbakv";
        authors = [
          "Armin Ronacher <armin.ronacher@active-4.com>"
        ];
        dependencies = [
          {
            name = "console";
            packageId = "console";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "number_prefix";
            packageId = "number_prefix";
          }
          {
            name = "regex";
            packageId = "regex";
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
        ];
        features = {
          "improved_unicode" = [ "unicode-segmentation" "unicode-width" "console/unicode-width" ];
          "with_rayon" = [ "rayon" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "instant" = rec {
        crateName = "instant";
        version = "0.1.9";
        edition = "2018";
        sha256 = "1v659qqm55misvjijfbl1p7azjp4yynjbwldan8836ynpgp4w4k1";
        authors = [
          "sebcrozet <developer@crozet.re>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
        ];
        features = {
          "now" = [ "time" ];
          "wasm-bindgen" = [ "js-sys" "wasm-bindgen_rs" "web-sys" ];
        };
      };
      "ipnet" = rec {
        crateName = "ipnet";
        version = "2.3.0";
        edition = "2015";
        sha256 = "0db147nh8jnxr23yxa7hwqn7dcjivdqi3aq4mgf2zgkqqqa2zgj7";
        authors = [
          "Kris Price <kris@krisprice.nz>"
        ];
        
      };
      "itoa" = rec {
        crateName = "itoa";
        version = "0.4.7";
        edition = "2015";
        sha256 = "0di7fggbknwfjcw8cgzm1dnm3ik32l2m1f7nmyh8ipmh45h069fx";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "jobserver" = rec {
        crateName = "jobserver";
        version = "0.1.21";
        edition = "2018";
        sha256 = "1wm7h76xf7a4d0q6583agbsyl2s46vndrlnr015zffclpcz32waw";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
        ];
        
      };
      "js-sys" = rec {
        crateName = "js-sys";
        version = "0.3.46";
        edition = "2018";
        sha256 = "0xc1llkp23q8ac2wdwh46y6gjbc34prrd98g5my9qz4zja1p6gfg";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        
      };
      "lazy_static" = rec {
        crateName = "lazy_static";
        version = "1.4.0";
        edition = "2015";
        sha256 = "0in6ikhw8mgl33wjv6q6xfrb5b9jr16q8ygjy803fay4zcisvaz2";
        authors = [
          "Marvin Löbel <loebel.marvin@gmail.com>"
        ];
        features = {
          "spin_no_std" = [ "spin" ];
        };
      };
      "libc" = rec {
        crateName = "libc";
        version = "0.2.81";
        edition = "2015";
        sha256 = "1jsk82v5snd286ba92lir5snrxl18qm3kjkagz8c97hn0q9q50hl";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "align" "rustc-std-workspace-core" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "align" "default" "extra_traits" "std" ];
      };
      "libgit2-sys" = rec {
        crateName = "libgit2-sys";
        version = "0.12.17+1.1.0";
        edition = "2018";
        sha256 = "0hc89v7kp2b3rbc64cxq024shd85m8vqcs14i3gjclblr9jxzszl";
        libName = "libgit2_sys";
        libPath = "lib.rs";
        authors = [
          "Josh Triplett <josh@joshtriplett.org>"
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libssh2-sys";
            packageId = "libssh2-sys";
            optional = true;
          }
          {
            name = "libz-sys";
            packageId = "libz-sys";
            usesDefaultFeatures = false;
            features = [ "libc" ];
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            optional = true;
            target = { target, features }: target."unix";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            features = [ "parallel" ];
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
        ];
        features = {
          "https" = [ "openssl-sys" ];
          "ssh" = [ "libssh2-sys" ];
          "zlib-ng-compat" = [ "libz-sys/zlib-ng" "libssh2-sys/zlib-ng-compat" ];
        };
        resolvedDefaultFeatures = [ "https" "libssh2-sys" "openssl-sys" "ssh" "ssh_key_from_memory" ];
      };
      "libpijul" = rec {
        crateName = "libpijul";
        version = "1.0.0-alpha.28";
        edition = "2018";
        src = (builtins.filterSource sourceFilter ./libpijul);
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "bincode";
            packageId = "bincode";
          }
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "blake3";
            packageId = "blake3";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "canonical-path";
            packageId = "canonical-path";
            optional = true;
          }
          {
            name = "chrono";
            packageId = "chrono";
            features = [ "serde" ];
          }
          {
            name = "curve25519-dalek";
            packageId = "curve25519-dalek";
            features = [ "serde" ];
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "diffs";
            packageId = "diffs";
          }
          {
            name = "flate2";
            packageId = "flate2";
            optional = true;
          }
          {
            name = "ignore";
            packageId = "ignore";
            optional = true;
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "lru-cache";
            packageId = "lru-cache";
            optional = true;
          }
          {
            name = "pijul-macros";
            packageId = "pijul-macros";
          }
          {
            name = "rand";
            packageId = "rand 0.8.1";
          }
          {
            name = "regex";
            packageId = "regex";
            optional = true;
          }
          {
            name = "sanakirja";
            packageId = "sanakirja";
            features = [ "crc32" ];
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "tar";
            packageId = "tar";
            optional = true;
          }
          {
            name = "tempfile";
            packageId = "tempfile";
            optional = true;
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "tokio";
            packageId = "tokio";
            optional = true;
            features = [ "io-util" ];
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "zstd-seekable";
            packageId = "zstd-seekable";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "anyhow";
            packageId = "anyhow";
          }
          {
            name = "env_logger";
            packageId = "env_logger";
          }
        ];
        features = {
          "default" = [ "ondisk-repos" "text-changes" "dump" ];
          "dump" = [ "tokio" ];
          "mmap" = [ "sanakirja/mmap" ];
          "ondisk-repos" = [ "mmap" "zstd" "ignore" "canonical-path" "lru-cache" "tempfile" ];
          "tarball" = [ "tar" "flate2" ];
          "text-changes" = [ "regex" ];
          "zstd" = [ "zstd-seekable" ];
        };
        resolvedDefaultFeatures = [ "canonical-path" "default" "dump" "flate2" "ignore" "lru-cache" "mmap" "ondisk-repos" "regex" "tar" "tarball" "tempfile" "text-changes" "tokio" "zstd" "zstd-seekable" ];
      };
      "libsodium-sys" = rec {
        crateName = "libsodium-sys";
        version = "0.2.6";
        edition = "2015";
        sha256 = "0n4a5f4vi63lvf4v6xcds20kdiqs8dxpybjz25s90cvvhd7vd1d6";
        libName = "libsodium_sys";
        authors = [
          "dnaq"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            target = {target, features}: (!(target."env" == "msvc"));
          }
          {
            name = "libc";
            packageId = "libc";
            usesDefaultFeatures = false;
            target = {target, features}: (target."env" == "msvc");
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
        ];
        features = {
        };
      };
      "libssh2-sys" = rec {
        crateName = "libssh2-sys";
        version = "0.2.20";
        edition = "2015";
        sha256 = "1kn4px7rczgday5lf48qzi2w65iq4x8mldpsvywyj6zawwzv2h6z";
        libName = "libssh2_sys";
        libPath = "lib.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Wez Furlong <wez@wezfurlong.org>"
          "Matteo Bigoi <bigo@crisidev.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libz-sys";
            packageId = "libz-sys";
            usesDefaultFeatures = false;
            features = [ "libc" ];
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            target = { target, features }: target."unix";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
            target = {target, features}: (target."env" == "msvc");
          }
        ];
        features = {
          "vendored-openssl" = [ "openssl-sys/vendored" ];
          "zlib-ng-compat" = [ "libz-sys/zlib-ng" ];
        };
      };
      "libz-sys" = rec {
        crateName = "libz-sys";
        version = "1.1.2";
        edition = "2015";
        sha256 = "0mcn8991kpmw320923hlcmci834nkv1qakkcg4w8znq85cci68b0";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Josh Triplett <josh@joshtriplett.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
            target = {target, features}: (target."env" == "msvc");
          }
        ];
        features = {
          "default" = [ "libc" "stock-zlib" ];
          "zlib-ng" = [ "libc" "cmake" ];
        };
        resolvedDefaultFeatures = [ "libc" ];
      };
      "linked-hash-map" = rec {
        crateName = "linked-hash-map";
        version = "0.5.3";
        edition = "2015";
        sha256 = "0jih3za0p1mywlnwcakc462q1byk6z8vnrzdm36hg6cxk7asdmcd";
        authors = [
          "Stepan Koltsov <stepan.koltsov@gmail.com>"
          "Andrew Paseltiner <apaseltiner@gmail.com>"
        ];
        features = {
          "heapsize_impl" = [ "heapsize" ];
          "serde_impl" = [ "serde" "serde_test" ];
        };
      };
      "lock_api" = rec {
        crateName = "lock_api";
        version = "0.4.2";
        edition = "2018";
        sha256 = "04hkhfq308agxg9wwmzh7ncfiyyyhn0d49n07abppzdj6p8zz5nx";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "scopeguard";
            packageId = "scopeguard";
            usesDefaultFeatures = false;
          }
        ];
        features = {
        };
      };
      "log" = rec {
        crateName = "log";
        version = "0.4.11";
        edition = "2015";
        sha256 = "12xzqaflpiljn5cmxsbnbv9sjaj13ykhwsvll0gysbx4blbyvasg";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 0.1.10";
          }
        ];
        features = {
          "kv_unstable_sval" = [ "kv_unstable" "sval/fmt" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "lru-cache" = rec {
        crateName = "lru-cache";
        version = "0.1.2";
        edition = "2015";
        sha256 = "071viv6g2p3akwqmfb3c8vsycs5n7kr17b70l7la071jv0d4zqii";
        authors = [
          "Stepan Koltsov <stepan.koltsov@gmail.com>"
        ];
        dependencies = [
          {
            name = "linked-hash-map";
            packageId = "linked-hash-map";
          }
        ];
        features = {
          "heapsize_impl" = [ "heapsize" "linked-hash-map/heapsize_impl" ];
        };
      };
      "matches" = rec {
        crateName = "matches";
        version = "0.1.8";
        edition = "2015";
        sha256 = "020axl4q7rk9vz90phs7f8jas4imxal9y9kxl4z4v7a6719mrz3z";
        libPath = "lib.rs";
        authors = [
          "Simon Sapin <simon.sapin@exyr.org>"
        ];
        
      };
      "memchr" = rec {
        crateName = "memchr";
        version = "2.3.4";
        edition = "2015";
        sha256 = "098m9clfs495illlw00hv2gg67mhm7jflld3msyclvi5m9xc9q8f";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
          "bluss"
        ];
        features = {
          "default" = [ "std" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" "use_std" ];
      };
      "memmap" = rec {
        crateName = "memmap";
        version = "0.7.0";
        edition = "2015";
        sha256 = "0ns7kkd1h4pijdkwfvw4qlbbmqmlmzwlq3g2676dcl5vwyazv1b5";
        authors = [
          "Dan Burkert <dan@danburkert.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "basetsd" "handleapi" "memoryapi" "minwindef" "std" "sysinfoapi" ];
          }
        ];
        
      };
      "mime" = rec {
        crateName = "mime";
        version = "0.3.16";
        edition = "2015";
        sha256 = "13dcm9lh01hdwfjcg74ppljyjfj1c6w3a3cwkhxf0w8wa37cfq1a";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        
      };
      "miniz_oxide" = rec {
        crateName = "miniz_oxide";
        version = "0.4.3";
        edition = "2018";
        sha256 = "17d1xp29v5xgh4vahxld14w1c1hgh38qmxpv7i18wy096gn2cb8g";
        authors = [
          "Frommi <daniil.liferenko@gmail.com>"
          "oyvindln <oyvindln@users.noreply.github.com>"
        ];
        dependencies = [
          {
            name = "adler";
            packageId = "adler";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler/rustc-dep-of-std" ];
        };
      };
      "mio" = rec {
        crateName = "mio";
        version = "0.7.7";
        edition = "2018";
        sha256 = "1mryrcvhcgphmz2xkph7gqavf6aj40f7sm0bvsdwr7qn9pqf62p5";
        authors = [
          "Carl Lerche <me@carllerche.com>"
          "Thomas de Zeeuw <thomasdezeeuw@gmail.com>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "miow";
            packageId = "miow";
            target = { target, features }: target."windows";
          }
          {
            name = "ntapi";
            packageId = "ntapi";
            target = { target, features }: target."windows";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "winsock2" "mswsock" ];
          }
        ];
        features = {
          "os-ext" = [ "os-poll" ];
          "os-util" = [ "os-ext" ];
          "pipe" = [ "os-ext" ];
          "tcp" = [ "net" ];
          "udp" = [ "net" ];
          "uds" = [ "net" ];
        };
        resolvedDefaultFeatures = [ "default" "net" "os-ext" "os-poll" "os-util" "tcp" "udp" "uds" ];
      };
      "miow" = rec {
        crateName = "miow";
        version = "0.3.6";
        edition = "2018";
        sha256 = "15sqdhh29dqgw5xh59clwv6scbsbvdkbmdc16hbfvyq7b2sw2css";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "socket2";
            packageId = "socket2";
          }
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "std" "fileapi" "handleapi" "ioapiset" "minwindef" "namedpipeapi" "ntdef" "synchapi" "winerror" "winsock2" "ws2def" "ws2ipdef" ];
          }
        ];
        
      };
      "native-tls" = rec {
        crateName = "native-tls";
        version = "0.2.7";
        edition = "2015";
        sha256 = "1m6v16xl8h4pm32pw6yhrvgwznf60bqhj2qhb1yrb8wd3hp6pndq";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "log";
            packageId = "log";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "openssl";
            packageId = "openssl";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "openssl-probe";
            packageId = "openssl-probe";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
            target = { target, features }: (!((target."os" == "windows") || (target."os" == "macos") || (target."os" == "ios")));
          }
          {
            name = "schannel";
            packageId = "schannel";
            target = { target, features }: (target."os" == "windows");
          }
          {
            name = "security-framework";
            packageId = "security-framework";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "security-framework-sys";
            packageId = "security-framework-sys";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
          {
            name = "tempfile";
            packageId = "tempfile";
            target = { target, features }: ((target."os" == "macos") || (target."os" == "ios"));
          }
        ];
        devDependencies = [
          {
            name = "tempfile";
            packageId = "tempfile";
          }
        ];
        features = {
          "alpn" = [ "security-framework/alpn" ];
          "vendored" = [ "openssl/vendored" ];
        };
      };
      "nix" = rec {
        crateName = "nix";
        version = "0.18.0";
        edition = "2018";
        sha256 = "0m8h9bskjjqx9sk687z8bxqg2kpwhdh78jq6zfaxsb8llvk0yic3";
        authors = [
          "The nix-rust Project Developers"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if 0.1.10";
          }
          {
            name = "libc";
            packageId = "libc";
            features = [ "extra_traits" ];
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
            target = {target, features}: (target."os" == "dragonfly");
          }
        ];
        
      };
      "ntapi" = rec {
        crateName = "ntapi";
        version = "0.3.6";
        edition = "2018";
        sha256 = "0i5daj9sr8wyi5jkpwpybln2jqpn59z0mqfc0dpdidipwh1bjsrz";
        authors = [
          "MSxDOS <melcodos@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "cfg" "evntrace" "in6addr" "inaddr" "minwinbase" "ntsecapi" "windef" "winioctl" ];
          }
        ];
        features = {
          "default" = [ "user" ];
          "impl-default" = [ "winapi/impl-default" ];
        };
        resolvedDefaultFeatures = [ "default" "user" ];
      };
      "num-bigint" = rec {
        crateName = "num-bigint";
        version = "0.2.6";
        edition = "2015";
        sha256 = "015k3wixdi4w698sappvy43pf8bvkw0f88xplmdgc3zfk2cpy309";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "num-integer";
            packageId = "num-integer";
            usesDefaultFeatures = false;
          }
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "i128" = [ "num-integer/i128" "num-traits/i128" ];
          "std" = [ "num-integer/std" "num-traits/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "num-integer" = rec {
        crateName = "num-integer";
        version = "0.1.44";
        edition = "2015";
        sha256 = "1nq152y3304as1iai95hqz8prqnc94lks1s7q05sfjdmcf56kk6j";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "num-traits";
            packageId = "num-traits";
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
          "i128" = [ "num-traits/i128" ];
          "std" = [ "num-traits/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "num-traits" = rec {
        crateName = "num-traits";
        version = "0.2.14";
        edition = "2015";
        sha256 = "144j176s2p76azy2ngk2vkdzgwdc0bc8c93jhki8c9fsbknb2r4s";
        authors = [
          "The Rust Project Developers"
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "num_cpus" = rec {
        crateName = "num_cpus";
        version = "1.13.0";
        edition = "2015";
        sha256 = "1cv6yxhz2zbnwn8pn1yn8grg7zsnd523947fby41a737aqvryj85";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "hermit-abi";
            packageId = "hermit-abi";
            target = { target, features }: (((target."arch" == "x86_64") || (target."arch" == "aarch64")) && (target."os" == "hermit"));
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        
      };
      "number_prefix" = rec {
        crateName = "number_prefix";
        version = "0.3.0";
        edition = "2015";
        sha256 = "0slm4mqmpgs6hvz22ycny9lvyvl9ivs80a1lncslp7lszz02zc0p";
        authors = [
          "Benjamin Sago <ogham@bsago.me>"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "object" = rec {
        crateName = "object";
        version = "0.22.0";
        edition = "2018";
        sha256 = "15r383qxxwq08q3a5rfqhp971wd0nixd9ny22xw37jy31qv66fwd";
        authors = [
          "Nick Fitzgerald <fitzgen@gmail.com>"
          "Philip Craig <philipjcraig@gmail.com>"
        ];
        features = {
          "all" = [ "read" "write" "std" "compression" "default" ];
          "compression" = [ "flate2" "std" ];
          "default" = [ "read" "compression" ];
          "pe" = [ "coff" ];
          "read" = [ "read_core" "archive" "coff" "elf" "macho" "pe" "wasm" "unaligned" ];
          "rustc-dep-of-std" = [ "core" "compiler_builtins" "alloc" ];
          "wasm" = [ "wasmparser" ];
          "write" = [ "write_core" "coff" "elf" "macho" ];
          "write_core" = [ "crc32fast" "indexmap" "std" ];
        };
        resolvedDefaultFeatures = [ "archive" "coff" "elf" "macho" "pe" "read_core" "unaligned" ];
      };
      "once_cell" = rec {
        crateName = "once_cell";
        version = "1.5.2";
        edition = "2018";
        sha256 = "183zs1dbmsv24mkafjypf9qwjrx46an58vb004a162l113sl3g8k";
        authors = [
          "Aleksey Kladov <aleksey.kladov@gmail.com>"
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "std" ];
      };
      "openssl" = rec {
        crateName = "openssl";
        version = "0.10.32";
        edition = "2015";
        sha256 = "0w4s742al5yx77mfkhpc9rwy8mhv0g6xhc06j2lsgp0xbnc47383";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "foreign-types";
            packageId = "foreign-types";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "openssl-sys";
            packageId = "openssl-sys";
          }
        ];
        features = {
          "vendored" = [ "openssl-sys/vendored" ];
        };
      };
      "openssl-probe" = rec {
        crateName = "openssl-probe";
        version = "0.1.2";
        edition = "2015";
        sha256 = "1pijrdifgsdwd45b08c2g0dsmnhz7c3kmagb70839ngrd7d29bvp";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        
      };
      "openssl-sys" = rec {
        crateName = "openssl-sys";
        version = "0.9.60";
        edition = "2015";
        sha256 = "1rpkfl0rmdcvxzyzp3n24g9clplh4avgzpi5c2a3hx96hcccf7wj";
        build = "build/main.rs";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "Steven Fackler <sfackler@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
            target = {target, features}: (target."env" == "msvc");
          }
        ];
        features = {
          "vendored" = [ "openssl-src" ];
        };
      };
      "os_str_bytes" = rec {
        crateName = "os_str_bytes";
        version = "2.4.0";
        edition = "2018";
        sha256 = "11agh8n3x2l4sr3sxvx6byc1j3ryb1g6flb1ywn0qhq7xv1y3cmg";
        authors = [
          "dylni"
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "raw" ];
      };
      "os_type" = rec {
        crateName = "os_type";
        version = "2.2.0";
        edition = "2015";
        sha256 = "1sz90xi9br82zmp3s0fbp397ajm5f0xsir7pikwbg65fy0d03p3y";
        authors = [
          "Jan Schulte <hello@unexpected-co.de>"
        ];
        dependencies = [
          {
            name = "regex";
            packageId = "regex";
          }
        ];
        
      };
      "pager" = rec {
        crateName = "pager";
        version = "0.16.0";
        edition = "2018";
        sha256 = "0s0r95q3jfbh2c3paab2bpl158lyaq35xnzy1x7mrdfhy26d1iq5";
        authors = [
          "Cyril Plisko <cyril.plisko@mountall.com>"
        ];
        dependencies = [
          {
            name = "errno";
            packageId = "errno";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
        };
      };
      "parking_lot" = rec {
        crateName = "parking_lot";
        version = "0.11.1";
        edition = "2018";
        sha256 = "1sqmgaia8zfd5fbnqw2w13ijh7crk3lf9vw4cb52vwlx0an48xvd";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "instant";
            packageId = "instant";
          }
          {
            name = "lock_api";
            packageId = "lock_api";
          }
          {
            name = "parking_lot_core";
            packageId = "parking_lot_core";
          }
        ];
        features = {
          "deadlock_detection" = [ "parking_lot_core/deadlock_detection" ];
          "nightly" = [ "parking_lot_core/nightly" "lock_api/nightly" ];
          "owning_ref" = [ "lock_api/owning_ref" ];
          "serde" = [ "lock_api/serde" ];
          "stdweb" = [ "instant/stdweb" ];
          "wasm-bindgen" = [ "instant/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "parking_lot_core" = rec {
        crateName = "parking_lot_core";
        version = "0.8.2";
        edition = "2018";
        sha256 = "0wj2lf5g5fnhrdrg02rdfllpwq0zisnn0b2388a8b12gmn665jww";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "instant";
            packageId = "instant";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "smallvec";
            packageId = "smallvec";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "winnt" "ntstatus" "minwindef" "winerror" "winbase" "errhandlingapi" "handleapi" ];
          }
        ];
        features = {
          "deadlock_detection" = [ "petgraph" "thread-id" "backtrace" ];
        };
      };
      "percent-encoding" = rec {
        crateName = "percent-encoding";
        version = "2.1.0";
        edition = "2015";
        sha256 = "0bp3zrsk3kr47fbpipyczidbbx4g54lzxdm77ni1i3qws10mdzfl";
        libPath = "lib.rs";
        authors = [
          "The rust-url developers"
        ];
        
      };
      "pijul" = rec {
        crateName = "pijul";
        version = "1.0.0-alpha.31";
        edition = "2018";
        crateBin = [
          { name = "pijul"; path = "src/main.rs"; }
        ];
        src = (builtins.filterSource sourceFilter ./pijul);
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "anyhow";
            packageId = "anyhow";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "canonical-path";
            packageId = "canonical-path";
          }
          {
            name = "chrono";
            packageId = "chrono";
          }
          {
            name = "clap";
            packageId = "clap";
          }
          {
            name = "ctrlc";
            packageId = "ctrlc";
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "dirs-next";
            packageId = "dirs-next";
          }
          {
            name = "edit";
            packageId = "edit";
          }
          {
            name = "env_logger";
            packageId = "env_logger";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "futures-util";
            packageId = "futures-util";
          }
          {
            name = "git2";
            packageId = "git2";
            optional = true;
          }
          {
            name = "human-panic";
            packageId = "human-panic";
          }
          {
            name = "ignore";
            packageId = "ignore";
          }
          {
            name = "indicatif";
            packageId = "indicatif";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "libpijul";
            packageId = "libpijul";
            features = [ "tarball" ];
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "num_cpus";
            packageId = "num_cpus";
          }
          {
            name = "pager";
            packageId = "pager";
            target = { target, features }: (target."os" == "linux");
          }
          {
            name = "rand";
            packageId = "rand 0.8.1";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "reqwest";
            packageId = "reqwest";
            features = [ "stream" ];
          }
          {
            name = "rpassword";
            packageId = "rpassword";
          }
          {
            name = "sanakirja";
            packageId = "sanakirja";
            features = [ "crc32" ];
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "serde_json";
            packageId = "serde_json";
          }
          {
            name = "thrussh";
            packageId = "thrussh";
          }
          {
            name = "thrussh-config";
            packageId = "thrussh-config";
          }
          {
            name = "thrussh-keys";
            packageId = "thrussh-keys";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "rt-multi-thread" "macros" "sync" ];
          }
          {
            name = "toml";
            packageId = "toml";
          }
          {
            name = "whoami";
            packageId = "whoami 0.9.0";
          }
        ];
        features = {
          "default" = [ "keep-changes" ];
          "git" = [ "git2" "sanakirja/git2" ];
        };
        resolvedDefaultFeatures = [ "default" "git" "git2" "keep-changes" ];
      };
      "pijul-macros" = rec {
        crateName = "pijul-macros";
        version = "0.3.0";
        edition = "2018";
        src = (builtins.filterSource sourceFilter ./pijul-macros);
        procMacro = true;
        authors = [
          "Pierre-Étienne Meunier <pmeunier@mailbox.org>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "regex";
            packageId = "regex";
          }
          {
            name = "syn";
            packageId = "syn";
          }
        ];
        
      };
      "pin-project 0.4.27" = rec {
        crateName = "pin-project";
        version = "0.4.27";
        edition = "2018";
        sha256 = "05cfd6sp0ydkdfw7b3c8s1sws0xmhclylam9icnkvsiq9glwiyrg";
        authors = [
          "Taiki Endo <te316e89@gmail.com>"
        ];
        dependencies = [
          {
            name = "pin-project-internal";
            packageId = "pin-project-internal 0.4.27";
            usesDefaultFeatures = false;
          }
        ];
        
      };
      "pin-project 1.0.3" = rec {
        crateName = "pin-project";
        version = "1.0.3";
        edition = "2018";
        sha256 = "1rvmv48ynnnh526ylxhinyy9ypw5113p8qan6ijvmmma753810ss";
        authors = [
          "Taiki Endo <te316e89@gmail.com>"
        ];
        dependencies = [
          {
            name = "pin-project-internal";
            packageId = "pin-project-internal 1.0.3";
            usesDefaultFeatures = false;
          }
        ];
        
      };
      "pin-project-internal 0.4.27" = rec {
        crateName = "pin-project-internal";
        version = "0.4.27";
        edition = "2018";
        sha256 = "158q986q00s1pz1akazdcjkvkbdcbdhfw5azw8g3mgkadgjjmbb5";
        procMacro = true;
        authors = [
          "Taiki Endo <te316e89@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" "visit-mut" ];
          }
        ];
        
      };
      "pin-project-internal 1.0.3" = rec {
        crateName = "pin-project-internal";
        version = "1.0.3";
        edition = "2018";
        sha256 = "0flbvqy34ng3y21s8zqqm4glj62p66xyqpqwphaksi3kixmw9g5p";
        procMacro = true;
        authors = [
          "Taiki Endo <te316e89@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" "visit-mut" ];
          }
        ];
        
      };
      "pin-project-lite" = rec {
        crateName = "pin-project-lite";
        version = "0.2.1";
        edition = "2018";
        sha256 = "1n22ljlhvy6zvb19jr2gh5604vhh9cnwwlp3q9a9kpycakbl6rz3";
        authors = [
          "Taiki Endo <te316e89@gmail.com>"
        ];
        
      };
      "pin-utils" = rec {
        crateName = "pin-utils";
        version = "0.1.0";
        edition = "2018";
        sha256 = "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb";
        authors = [
          "Josef Brandl <mail@josefbrandl.de>"
        ];
        
      };
      "pkg-config" = rec {
        crateName = "pkg-config";
        version = "0.3.19";
        edition = "2015";
        sha256 = "0k4860955riciibxr8bhnklp79jydp4xfylwdn5v9kj96hxlac9q";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        
      };
      "ppv-lite86" = rec {
        crateName = "ppv-lite86";
        version = "0.2.10";
        edition = "2018";
        sha256 = "0ms8198kclg4h96ggbziixxmsdl847s648kmbx11zlmjsqjccx5c";
        authors = [
          "The CryptoCorrosion Contributors"
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "simd" "std" ];
      };
      "proc-macro-error" = rec {
        crateName = "proc-macro-error";
        version = "1.0.4";
        edition = "2018";
        sha256 = "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs";
        authors = [
          "CreepySkeleton <creepy-skeleton@yandex.ru>"
        ];
        dependencies = [
          {
            name = "proc-macro-error-attr";
            packageId = "proc-macro-error-attr";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            optional = true;
            usesDefaultFeatures = false;
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        features = {
          "default" = [ "syn-error" ];
          "syn-error" = [ "syn" ];
        };
        resolvedDefaultFeatures = [ "default" "syn" "syn-error" ];
      };
      "proc-macro-error-attr" = rec {
        crateName = "proc-macro-error-attr";
        version = "1.0.4";
        edition = "2018";
        sha256 = "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1";
        procMacro = true;
        authors = [
          "CreepySkeleton <creepy-skeleton@yandex.ru>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
        ];
        buildDependencies = [
          {
            name = "version_check";
            packageId = "version_check";
          }
        ];
        
      };
      "proc-macro-hack" = rec {
        crateName = "proc-macro-hack";
        version = "0.5.19";
        edition = "2018";
        sha256 = "1rg0kzsj7lj00qj602d3h77spwfz48vixn1wbjp7a4yrq65w9w6v";
        procMacro = true;
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        
      };
      "proc-macro-nested" = rec {
        crateName = "proc-macro-nested";
        version = "0.1.6";
        edition = "2015";
        sha256 = "0nnwm9bvp1fmr8nqjp8ynrkj97yzpsdh3062li8b0f4hzgd818gb";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        
      };
      "proc-macro2" = rec {
        crateName = "proc-macro2";
        version = "1.0.24";
        edition = "2018";
        sha256 = "0wcabxzrddcjmryndw8fpyxcq6rw63m701vx86xxf03y3bp081qy";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "unicode-xid";
            packageId = "unicode-xid";
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "quote" = rec {
        crateName = "quote";
        version = "1.0.8";
        edition = "2018";
        sha256 = "1pr8dz4pyfbbsqpqw6ygin8m4sz61iir7nl23233cgwsa71k254r";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "proc-macro" ];
          "proc-macro" = [ "proc-macro2/proc-macro" ];
        };
        resolvedDefaultFeatures = [ "default" "proc-macro" ];
      };
      "rand 0.7.3" = rec {
        crateName = "rand";
        version = "0.7.3";
        edition = "2018";
        sha256 = "00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.1.16";
            rename = "getrandom_package";
            optional = true;
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: target."unix";
          }
          {
            name = "rand_chacha";
            packageId = "rand_chacha 0.2.2";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."os" == "emscripten"));
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
          }
          {
            name = "rand_hc";
            packageId = "rand_hc 0.2.0";
            target = { target, features }: (target."os" == "emscripten");
          }
        ];
        devDependencies = [
          {
            name = "rand_hc";
            packageId = "rand_hc 0.2.0";
          }
        ];
        features = {
          "alloc" = [ "rand_core/alloc" ];
          "default" = [ "std" ];
          "getrandom" = [ "getrandom_package" "rand_core/getrandom" ];
          "nightly" = [ "simd_support" ];
          "simd_support" = [ "packed_simd" ];
          "small_rng" = [ "rand_pcg" ];
          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
          "stdweb" = [ "getrandom_package/stdweb" ];
          "wasm-bindgen" = [ "getrandom_package/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "getrandom_package" "libc" "std" ];
      };
      "rand 0.8.1" = rec {
        crateName = "rand";
        version = "0.8.1";
        edition = "2018";
        sha256 = "0d7fxnq3j2807qsjciyfbv362ym22x7slr95ff9bb8iz1m2wsky2";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: target."unix";
          }
          {
            name = "rand_chacha";
            packageId = "rand_chacha 0.3.0";
            optional = true;
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."os" == "emscripten"));
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.1";
          }
          {
            name = "rand_hc";
            packageId = "rand_hc 0.3.0";
            optional = true;
            target = { target, features }: (target."os" == "emscripten");
          }
        ];
        devDependencies = [
          {
            name = "rand_hc";
            packageId = "rand_hc 0.3.0";
          }
        ];
        features = {
          "alloc" = [ "rand_core/alloc" ];
          "default" = [ "std" "std_rng" ];
          "getrandom" = [ "rand_core/getrandom" ];
          "serde1" = [ "serde" ];
          "simd_support" = [ "packed_simd" ];
          "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ];
          "std_rng" = [ "rand_chacha" "rand_hc" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "rand_hc" "std" "std_rng" ];
      };
      "rand_chacha 0.2.2" = rec {
        crateName = "rand_chacha";
        version = "0.2.2";
        edition = "2018";
        sha256 = "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
          "The CryptoCorrosion Contributors"
        ];
        dependencies = [
          {
            name = "ppv-lite86";
            packageId = "ppv-lite86";
            usesDefaultFeatures = false;
            features = [ "simd" ];
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
          }
        ];
        features = {
          "default" = [ "std" "simd" ];
          "std" = [ "ppv-lite86/std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "rand_chacha 0.3.0" = rec {
        crateName = "rand_chacha";
        version = "0.3.0";
        edition = "2018";
        sha256 = "03df2xh5nbdvwr17qm3sviaxa95r8yhm1nil2pr0pqf90p7ka9z1";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
          "The CryptoCorrosion Contributors"
        ];
        dependencies = [
          {
            name = "ppv-lite86";
            packageId = "ppv-lite86";
            usesDefaultFeatures = false;
            features = [ "simd" ];
          }
          {
            name = "rand_core";
            packageId = "rand_core 0.6.1";
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "ppv-lite86/std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "rand_core 0.5.1" = rec {
        crateName = "rand_core";
        version = "0.5.1";
        edition = "2018";
        sha256 = "06bdvx08v3rkz451cm7z59xwwqn1rkfh6v9ay77b14f8dwlybgch";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.1.16";
            optional = true;
          }
        ];
        features = {
          "serde1" = [ "serde" ];
          "std" = [ "alloc" "getrandom" "getrandom/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
      };
      "rand_core 0.6.1" = rec {
        crateName = "rand_core";
        version = "0.6.1";
        edition = "2018";
        sha256 = "1rfjrcyaj7blz2nawv2pypm5kqc59p80n6f5pg691399iggxf9n0";
        authors = [
          "The Rand Project Developers"
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.2.1";
            optional = true;
          }
        ];
        features = {
          "serde1" = [ "serde" ];
          "std" = [ "alloc" "getrandom" "getrandom/std" ];
        };
        resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ];
      };
      "rand_hc 0.2.0" = rec {
        crateName = "rand_hc";
        version = "0.2.0";
        edition = "2018";
        sha256 = "0g31sqwpmsirdlwr0svnacr4dbqyz339im4ssl9738cjgfpjjcfa";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.5.1";
          }
        ];
        
      };
      "rand_hc 0.3.0" = rec {
        crateName = "rand_hc";
        version = "0.3.0";
        edition = "2018";
        sha256 = "0wra6ar22zdjkry9dsq1mg620m4h3qb9s8rfykkz4im4crqfz41i";
        authors = [
          "The Rand Project Developers"
        ];
        dependencies = [
          {
            name = "rand_core";
            packageId = "rand_core 0.6.1";
          }
        ];
        
      };
      "redox_syscall" = rec {
        crateName = "redox_syscall";
        version = "0.1.57";
        edition = "2015";
        sha256 = "1kh59fpwy33w9nwd5iyc283yglq8pf2s41hnhvl48iax9mz0zk21";
        libName = "syscall";
        authors = [
          "Jeremy Soller <jackpot51@gmail.com>"
        ];
        
      };
      "redox_users" = rec {
        crateName = "redox_users";
        version = "0.3.5";
        edition = "2015";
        sha256 = "179fxmyqaqzibp533ajgbn4ljah9lrzpqvd3i73h55bs7qrkf1yy";
        authors = [
          "Jose Narvaez <goyox86@gmail.com>"
          "Wesley Hershberger <mggmugginsmc@gmail.com>"
        ];
        dependencies = [
          {
            name = "getrandom";
            packageId = "getrandom 0.1.16";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
          }
          {
            name = "rust-argon2";
            packageId = "rust-argon2";
            optional = true;
          }
        ];
        features = {
          "auth" = [ "rust-argon2" ];
          "default" = [ "auth" ];
        };
        resolvedDefaultFeatures = [ "auth" "default" "rust-argon2" ];
      };
      "regex" = rec {
        crateName = "regex";
        version = "1.4.2";
        edition = "2015";
        sha256 = "172bw2yryv65whn3n5vkww4kgk0bq08lx0zbln8xwia7xl9jrkrq";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "aho-corasick";
            packageId = "aho-corasick";
            optional = true;
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "regex-syntax";
            packageId = "regex-syntax";
            usesDefaultFeatures = false;
          }
          {
            name = "thread_local";
            packageId = "thread_local";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" "perf" "unicode" "regex-syntax/default" ];
          "perf" = [ "perf-cache" "perf-dfa" "perf-inline" "perf-literal" ];
          "perf-cache" = [ "thread_local" ];
          "perf-literal" = [ "aho-corasick" "memchr" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" "regex-syntax/unicode" ];
          "unicode-age" = [ "regex-syntax/unicode-age" ];
          "unicode-bool" = [ "regex-syntax/unicode-bool" ];
          "unicode-case" = [ "regex-syntax/unicode-case" ];
          "unicode-gencat" = [ "regex-syntax/unicode-gencat" ];
          "unicode-perl" = [ "regex-syntax/unicode-perl" ];
          "unicode-script" = [ "regex-syntax/unicode-script" ];
          "unicode-segment" = [ "regex-syntax/unicode-segment" ];
          "unstable" = [ "pattern" ];
          "use_std" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "aho-corasick" "default" "memchr" "perf" "perf-cache" "perf-dfa" "perf-inline" "perf-literal" "std" "thread_local" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
      };
      "regex-syntax" = rec {
        crateName = "regex-syntax";
        version = "0.6.21";
        edition = "2015";
        sha256 = "12d176jkgw9749g07zjxz0n78nyvb2nqx3j4sp5aqyphvji1n61v";
        authors = [
          "The Rust Project Developers"
        ];
        features = {
          "default" = [ "unicode" ];
          "unicode" = [ "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
        };
        resolvedDefaultFeatures = [ "default" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ];
      };
      "remove_dir_all" = rec {
        crateName = "remove_dir_all";
        version = "0.5.3";
        edition = "2015";
        sha256 = "1rzqbsgkmr053bxxl04vmvsd1njyz0nxvly97aip6aa2cmb15k9s";
        authors = [
          "Aaronepower <theaaronepower@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "std" "errhandlingapi" "winerror" "fileapi" "winbase" ];
          }
        ];
        
      };
      "reqwest" = rec {
        crateName = "reqwest";
        version = "0.11.0";
        edition = "2018";
        sha256 = "1pp9km1hn1y3wxkafv3mzk4b6nv4hxqx15591awmyrxa6081na7x";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "base64";
            packageId = "base64";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
          }
          {
            name = "encoding_rs";
            packageId = "encoding_rs";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "futures-core";
            packageId = "futures-core";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "futures-util";
            packageId = "futures-util";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "http";
            packageId = "http";
          }
          {
            name = "http-body";
            packageId = "http-body";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
            features = [ "tcp" "http1" "http2" "client" ];
          }
          {
            name = "hyper-tls";
            packageId = "hyper-tls";
            optional = true;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "ipnet";
            packageId = "ipnet";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "js-sys";
            packageId = "js-sys";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "log";
            packageId = "log";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "mime";
            packageId = "mime";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "native-tls";
            packageId = "native-tls";
            rename = "native-tls-crate";
            optional = true;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_urlencoded";
            packageId = "serde_urlencoded";
          }
          {
            name = "tokio";
            packageId = "tokio";
            usesDefaultFeatures = false;
            target = { target, features }: (!(target."arch" == "wasm32"));
            features = [ "net" "time" ];
          }
          {
            name = "tokio-native-tls";
            packageId = "tokio-native-tls";
            optional = true;
            target = { target, features }: (!(target."arch" == "wasm32"));
          }
          {
            name = "url";
            packageId = "url";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = { target, features }: (target."arch" == "wasm32");
            features = [ "serde-serialize" ];
          }
          {
            name = "wasm-bindgen-futures";
            packageId = "wasm-bindgen-futures";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (target."arch" == "wasm32");
            features = [ "Headers" "Request" "RequestInit" "RequestMode" "Response" "Window" "FormData" "Blob" "BlobPropertyBag" "ServiceWorkerGlobalScope" ];
          }
          {
            name = "winreg";
            packageId = "winreg";
            target = { target, features }: target."windows";
          }
        ];
        devDependencies = [
          {
            name = "hyper";
            packageId = "hyper";
            usesDefaultFeatures = false;
            target = {target, features}: (!(target."arch" == "wasm32"));
            features = [ "tcp" "stream" "http1" "http2" "client" "server" ];
          }
          {
            name = "serde";
            packageId = "serde";
            target = {target, features}: (!(target."arch" == "wasm32"));
            features = [ "derive" ];
          }
          {
            name = "tokio";
            packageId = "tokio";
            usesDefaultFeatures = false;
            target = {target, features}: (!(target."arch" == "wasm32"));
            features = [ "macros" "rt-multi-thread" ];
          }
        ];
        features = {
          "__rustls" = [ "hyper-rustls" "tokio-rustls" "rustls" "__tls" ];
          "blocking" = [ "futures-util/io" "tokio/rt-multi-thread" "tokio/sync" ];
          "brotli" = [ "async-compression" "async-compression/brotli" "tokio-util" ];
          "cookies" = [ "cookie_crate" "cookie_store" "time" ];
          "default" = [ "default-tls" ];
          "default-tls" = [ "hyper-tls" "native-tls-crate" "__tls" "tokio-native-tls" ];
          "gzip" = [ "async-compression" "async-compression/gzip" "tokio-util" ];
          "json" = [ "serde_json" ];
          "multipart" = [ "mime_guess" ];
          "native-tls" = [ "default-tls" ];
          "native-tls-vendored" = [ "native-tls" "native-tls-crate/vendored" ];
          "rustls-tls" = [ "rustls-tls-webpki-roots" ];
          "rustls-tls-manual-roots" = [ "__rustls" ];
          "rustls-tls-native-roots" = [ "rustls-native-certs" "__rustls" ];
          "rustls-tls-webpki-roots" = [ "webpki-roots" "__rustls" ];
          "socks" = [ "tokio-socks" ];
          "trust-dns" = [ "trust-dns-resolver" ];
        };
        resolvedDefaultFeatures = [ "__tls" "default" "default-tls" "hyper-tls" "native-tls-crate" "stream" "tokio-native-tls" ];
      };
      "rpassword" = rec {
        crateName = "rpassword";
        version = "5.0.0";
        edition = "2015";
        sha256 = "1j96nc3dmqhxwb4ql50r5xjs0imwr2x6mrj02mj9i7grq1zj6mfp";
        authors = [
          "Conrad Kleinespel <conradk@conradk.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "std" "winnt" "fileapi" "processenv" "winbase" "handleapi" "consoleapi" "minwindef" "wincon" ];
          }
        ];
        
      };
      "rust-argon2" = rec {
        crateName = "rust-argon2";
        version = "0.8.3";
        edition = "2018";
        sha256 = "1yvqkv04fqk3cbvyasibr4bqbxa6mij8jdvibakwlcsbjh6q462b";
        libName = "argon2";
        authors = [
          "Martijn Rijkeboer <mrr@sru-systems.com>"
        ];
        dependencies = [
          {
            name = "base64";
            packageId = "base64";
          }
          {
            name = "blake2b_simd";
            packageId = "blake2b_simd";
          }
          {
            name = "constant_time_eq";
            packageId = "constant_time_eq";
          }
          {
            name = "crossbeam-utils";
            packageId = "crossbeam-utils";
            optional = true;
          }
        ];
        features = {
          "default" = [ "crossbeam-utils" ];
        };
        resolvedDefaultFeatures = [ "crossbeam-utils" "default" ];
      };
      "rustc-demangle" = rec {
        crateName = "rustc-demangle";
        version = "0.1.18";
        edition = "2015";
        sha256 = "0cn2hdq0glr875hvpi0hvb19xj3y9gfnk0lnsw3wl538wc7asfvf";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "core" "compiler_builtins" ];
        };
      };
      "ryu" = rec {
        crateName = "ryu";
        version = "1.0.5";
        edition = "2018";
        sha256 = "0vpqv1dj7fksa6hm3zpk5rbsjs0ifbfy7xwzsyyil0rx37a03lvi";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        features = {
        };
      };
      "same-file" = rec {
        crateName = "same-file";
        version = "1.0.6";
        edition = "2018";
        sha256 = "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: target."windows";
          }
        ];
        
      };
      "sanakirja" = rec {
        crateName = "sanakirja";
        version = "0.15.8";
        edition = "2018";
        sha256 = "0zpjgp57k0a8g1xzvnkss91c659v5cyzh53xqkgrxm2g3x4g3hix";
        authors = [
          "Pierre-Étienne Meunier"
          "Florent Becker"
        ];
        dependencies = [
          {
            name = "crc32fast";
            packageId = "crc32fast";
            optional = true;
          }
          {
            name = "fs2";
            packageId = "fs2";
          }
          {
            name = "git2";
            packageId = "git2";
            optional = true;
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "memmap";
            packageId = "memmap";
            optional = true;
          }
          {
            name = "parking_lot";
            packageId = "parking_lot";
          }
          {
            name = "rand";
            packageId = "rand 0.8.1";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
        ];
        features = {
          "crc32" = [ "crc32fast" ];
          "mmap" = [ "memmap" "crc32" ];
        };
        resolvedDefaultFeatures = [ "crc32" "crc32fast" "default" "git2" "memmap" "mmap" ];
      };
      "schannel" = rec {
        crateName = "schannel";
        version = "0.1.19";
        edition = "2015";
        sha256 = "0xdwr3clrylywpv2r5hw7mrxmsf7ljagwiymw2z60ki3kihbl1cg";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Steffen Butzer <steffen.butzer@outlook.com>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "lmcons" "minschannel" "securitybaseapi" "schannel" "sspi" "sysinfoapi" "timezoneapi" "winbase" "wincrypt" "winerror" ];
          }
        ];
        
      };
      "scopeguard" = rec {
        crateName = "scopeguard";
        version = "1.1.0";
        edition = "2015";
        sha256 = "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj";
        authors = [
          "bluss"
        ];
        features = {
          "default" = [ "use_std" ];
        };
      };
      "security-framework" = rec {
        crateName = "security-framework";
        version = "2.0.0";
        edition = "2018";
        sha256 = "0scc4vj2mw9k6qpxp26zx8gnqnmw79nwayja91x030457hp9qxf1";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "core-foundation";
            packageId = "core-foundation";
          }
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "security-framework-sys";
            packageId = "security-framework-sys";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "OSX_10_10" = [ "OSX_10_9" "security-framework-sys/OSX_10_10" ];
          "OSX_10_11" = [ "OSX_10_10" "security-framework-sys/OSX_10_11" ];
          "OSX_10_12" = [ "OSX_10_11" "security-framework-sys/OSX_10_12" ];
          "OSX_10_13" = [ "OSX_10_12" "security-framework-sys/OSX_10_13" "alpn" "session-tickets" ];
          "OSX_10_9" = [ "security-framework-sys/OSX_10_9" ];
          "default" = [ "OSX_10_9" ];
        };
        resolvedDefaultFeatures = [ "OSX_10_9" "default" ];
      };
      "security-framework-sys" = rec {
        crateName = "security-framework-sys";
        version = "2.0.0";
        edition = "2018";
        sha256 = "12v7wpf7cbc92xza4lf3w12411wzrkkvlbjgrhrid9yj4rg9v6zr";
        authors = [
          "Steven Fackler <sfackler@gmail.com>"
          "Kornel <kornel@geekhood.net>"
        ];
        dependencies = [
          {
            name = "core-foundation-sys";
            packageId = "core-foundation-sys";
          }
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "OSX_10_10" = [ "OSX_10_9" ];
          "OSX_10_11" = [ "OSX_10_10" ];
          "OSX_10_12" = [ "OSX_10_11" ];
          "OSX_10_13" = [ "OSX_10_12" ];
          "default" = [ "OSX_10_9" ];
        };
        resolvedDefaultFeatures = [ "OSX_10_9" "default" ];
      };
      "serde" = rec {
        crateName = "serde";
        version = "1.0.118";
        edition = "2015";
        sha256 = "0028kv3dh3ix5g7jfws22zb9hcqq4cnpwn2lnlpam1wxhmil5ih6";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
            optional = true;
          }
        ];
        devDependencies = [
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
        ];
        features = {
          "default" = [ "std" ];
          "derive" = [ "serde_derive" ];
        };
        resolvedDefaultFeatures = [ "default" "derive" "serde_derive" "std" ];
      };
      "serde_derive" = rec {
        crateName = "serde_derive";
        version = "1.0.118";
        edition = "2015";
        sha256 = "1pvj4v8k107ichsnm7jgm9kxyi2lf971x52bmxhm5mcwd4k3akf8";
        procMacro = true;
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "visit" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "serde_json" = rec {
        crateName = "serde_json";
        version = "1.0.61";
        edition = "2018";
        sha256 = "0nijvxvgcncvd1wbn73zx7q14bdxah0gf2789qd8kdjpa1cv5kjg";
        authors = [
          "Erick Tryzelaar <erick.tryzelaar@gmail.com>"
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "itoa";
            packageId = "itoa";
            usesDefaultFeatures = false;
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "alloc" = [ "serde/alloc" ];
          "default" = [ "std" ];
          "preserve_order" = [ "indexmap" ];
          "std" = [ "serde/std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "serde_urlencoded" = rec {
        crateName = "serde_urlencoded";
        version = "0.7.0";
        edition = "2018";
        sha256 = "1s9wnjrak5a0igfhcghhz51kvi7n010j5rs9lmhd5hfrz2kmgypd";
        authors = [
          "Anthony Ramine <n.oxyde@gmail.com>"
        ];
        dependencies = [
          {
            name = "form_urlencoded";
            packageId = "form_urlencoded";
          }
          {
            name = "itoa";
            packageId = "itoa";
          }
          {
            name = "ryu";
            packageId = "ryu";
          }
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        
      };
      "slab" = rec {
        crateName = "slab";
        version = "0.4.2";
        edition = "2015";
        sha256 = "1y59xsa27jk84sxzswjk60xcjf8b4fm5960jwpznrrcmasyva4f1";
        authors = [
          "Carl Lerche <me@carllerche.com>"
        ];
        
      };
      "smallvec" = rec {
        crateName = "smallvec";
        version = "1.6.0";
        edition = "2018";
        sha256 = "1h0s7dbhf96k1g726h7rp16wm4m83mpnmi7qkfbirr387dgwlm8s";
        authors = [
          "The Servo Project Developers"
        ];
        features = {
        };
      };
      "socket2" = rec {
        crateName = "socket2";
        version = "0.3.19";
        edition = "2018";
        sha256 = "0vldz14mxqxnjqb6an2pj7mgclv7nrk45cpscwq7g3fj2c0mfbhj";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
            target = { target, features }: target."unix";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
            features = [ "align" ];
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "handleapi" "ws2def" "ws2ipdef" "ws2tcpip" "minwindef" ];
          }
        ];
        features = {
        };
      };
      "strsim" = rec {
        crateName = "strsim";
        version = "0.10.0";
        edition = "2015";
        sha256 = "08s69r4rcrahwnickvi0kq49z524ci50capybln83mg6b473qivk";
        authors = [
          "Danny Guo <danny@dannyguo.com>"
        ];
        
      };
      "subtle" = rec {
        crateName = "subtle";
        version = "2.4.0";
        edition = "2015";
        sha256 = "1hipji54nipkya6szyk9kl7nz07qli570b1isklz78dda44dm08y";
        authors = [
          "Isis Lovecruft <isis@patternsinthevoid.net>"
          "Henry de Valence <hdevalence@hdevalence.ca>"
        ];
        features = {
          "default" = [ "std" "i128" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "syn" = rec {
        crateName = "syn";
        version = "1.0.58";
        edition = "2018";
        sha256 = "1m85bvywsm6cf17d534c5ma73zch0cgwqc6q2bblqnd67vbs6q6c";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
            usesDefaultFeatures = false;
          }
          {
            name = "quote";
            packageId = "quote";
            optional = true;
            usesDefaultFeatures = false;
          }
          {
            name = "unicode-xid";
            packageId = "unicode-xid";
          }
        ];
        features = {
          "default" = [ "derive" "parsing" "printing" "clone-impls" "proc-macro" ];
          "printing" = [ "quote" ];
          "proc-macro" = [ "proc-macro2/proc-macro" "quote/proc-macro" ];
          "test" = [ "syn-test-suite/all-features" ];
        };
        resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "full" "parsing" "printing" "proc-macro" "quote" "visit" "visit-mut" ];
      };
      "tar" = rec {
        crateName = "tar";
        version = "0.4.30";
        edition = "2018";
        sha256 = "1452rf0y7jf4apyngvbfpszpik7a9z7gl9y5jbhl76kyanvrg6a8";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "filetime";
            packageId = "filetime";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "xattr";
            packageId = "xattr";
            optional = true;
            target = { target, features }: target."unix";
          }
        ];
        features = {
          "default" = [ "xattr" ];
        };
        resolvedDefaultFeatures = [ "default" "xattr" ];
      };
      "tempfile" = rec {
        crateName = "tempfile";
        version = "3.1.0";
        edition = "2018";
        sha256 = "1a9cfdqw70n7bcnkx05aih9xdba8lqazmqlkjpkmn2la6gcj8vks";
        authors = [
          "Steven Allen <steven@stebalien.com>"
          "The Rust Project Developers"
          "Ashley Mannix <ashleymannix@live.com.au>"
          "Jason White <jasonaw0@gmail.com>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 0.1.10";
          }
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: target."unix";
          }
          {
            name = "rand";
            packageId = "rand 0.7.3";
          }
          {
            name = "redox_syscall";
            packageId = "redox_syscall";
            target = { target, features }: (target."os" == "redox");
          }
          {
            name = "remove_dir_all";
            packageId = "remove_dir_all";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "fileapi" "handleapi" "winbase" ];
          }
        ];
        
      };
      "termcolor" = rec {
        crateName = "termcolor";
        version = "1.1.2";
        edition = "2018";
        sha256 = "1x65i1ny4m6z1by62ra6wdcrd557p2ysm866x0pg60zby2cxizid";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: target."windows";
          }
        ];
        
      };
      "terminal_size" = rec {
        crateName = "terminal_size";
        version = "0.1.15";
        edition = "2018";
        sha256 = "1qfb07d040wh3m4yfnbxknda7i5fr56ypnwdwdgmzb1zpn1x3ljb";
        authors = [
          "Andrew Chin <achin@eminence32.net>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = { target, features }: (!target."windows");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "handleapi" "processenv" "winbase" "wincon" "winnt" ];
          }
        ];
        
      };
      "textwrap" = rec {
        crateName = "textwrap";
        version = "0.12.1";
        edition = "2018";
        sha256 = "12978qmkl5gcp94lxndpvp9qxq8mxp7hm9xbrw3422dgikchhc10";
        authors = [
          "Martin Geisler <martin@geisler.net>"
        ];
        dependencies = [
          {
            name = "unicode-width";
            packageId = "unicode-width";
          }
        ];
        
      };
      "thiserror" = rec {
        crateName = "thiserror";
        version = "1.0.23";
        edition = "2018";
        sha256 = "0imiv97kdlba0r0ld6mlizfmw5rpmfzhvk7xw8l8k35zd9n63k3n";
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "thiserror-impl";
            packageId = "thiserror-impl";
          }
        ];
        
      };
      "thiserror-impl" = rec {
        crateName = "thiserror-impl";
        version = "1.0.23";
        edition = "2018";
        sha256 = "1law4wqpc36hxs4vcgc1pjjniy4l6xn7kwvf0k886xf2mqn3mrwv";
        procMacro = true;
        authors = [
          "David Tolnay <dtolnay@gmail.com>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
          }
        ];
        
      };
      "thread_local" = rec {
        crateName = "thread_local";
        version = "1.0.1";
        edition = "2015";
        sha256 = "054vlrr1vsdy1h4b7n99mr24pnj8928ig9qwzg36wnkld4dns36l";
        authors = [
          "Amanieu d'Antras <amanieu@gmail.com>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
        ];
        
      };
      "threadpool" = rec {
        crateName = "threadpool";
        version = "1.8.1";
        edition = "2015";
        sha256 = "1amgfyzvynbm8pacniivzq9r0fh3chhs7kijic81j76l6c5ycl6h";
        authors = [
          "The Rust Project Developers"
          "Corey Farwell <coreyf@rwell.org>"
          "Stefan Schindler <dns2utf8@estada.ch>"
        ];
        dependencies = [
          {
            name = "num_cpus";
            packageId = "num_cpus";
          }
        ];
        
      };
      "thrussh" = rec {
        crateName = "thrussh";
        version = "0.32.1";
        edition = "2018";
        sha256 = "0a9qvwlfm0fwh9x77k2h2fc5bwcrmqsjsf6nzq07qbgpnh1hqm0n";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "bitflags";
            packageId = "bitflags";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "cryptovec";
            packageId = "cryptovec";
          }
          {
            name = "flate2";
            packageId = "flate2";
            optional = true;
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "openssl";
            packageId = "openssl";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "thrussh-keys";
            packageId = "thrussh-keys";
          }
          {
            name = "thrussh-libsodium";
            packageId = "thrussh-libsodium";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "rt-multi-thread" "time" "net" "sync" "macros" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "rt-multi-thread" "time" "net" "sync" "macros" ];
          }
        ];
        features = {
          "default" = [ "flate2" ];
        };
        resolvedDefaultFeatures = [ "default" "flate2" ];
      };
      "thrussh-config" = rec {
        crateName = "thrussh-config";
        version = "0.5.0";
        edition = "2018";
        sha256 = "1ygm5vdy180gslgmbd0v722ap451pw8cwaba0g0dzx5gg3cl9h37";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "dirs-next";
            packageId = "dirs-next";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "net" "macros" ];
          }
          {
            name = "whoami";
            packageId = "whoami 1.0.3";
          }
        ];
        
      };
      "thrussh-keys" = rec {
        crateName = "thrussh-keys";
        version = "0.20.2";
        edition = "2018";
        sha256 = "0mny64g0b22dj663lihwkzvyvdsc69c3wcqcpbaj020rmqhsqd9j";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "bit-vec";
            packageId = "bit-vec";
          }
          {
            name = "byteorder";
            packageId = "byteorder";
          }
          {
            name = "cryptovec";
            packageId = "cryptovec";
          }
          {
            name = "data-encoding";
            packageId = "data-encoding";
          }
          {
            name = "dirs";
            packageId = "dirs";
          }
          {
            name = "futures";
            packageId = "futures";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "num-bigint";
            packageId = "num-bigint";
          }
          {
            name = "num-integer";
            packageId = "num-integer";
          }
          {
            name = "openssl";
            packageId = "openssl";
          }
          {
            name = "serde";
            packageId = "serde";
          }
          {
            name = "serde_derive";
            packageId = "serde_derive";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "thrussh-libsodium";
            packageId = "thrussh-libsodium";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "io-util" "rt-multi-thread" "time" "net" ];
          }
          {
            name = "yasna";
            packageId = "yasna";
            features = [ "bit-vec" "num-bigint" ];
          }
        ];
        
      };
      "thrussh-libsodium" = rec {
        crateName = "thrussh-libsodium";
        version = "0.2.1";
        edition = "2018";
        sha256 = "004mxns64gr3507dzr6s8vgd1478jcsgd2mw2cpbj73vs9q9rs6g";
        authors = [
          "pe@pijul.org <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "libsodium-sys";
            packageId = "libsodium-sys";
          }
        ];
        buildDependencies = [
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
          {
            name = "vcpkg";
            packageId = "vcpkg";
          }
        ];
        
      };
      "time" = rec {
        crateName = "time";
        version = "0.1.44";
        edition = "2015";
        sha256 = "0m9jwy2pcmk232r3b9r80fs12mkckfjffjha4qfaxcdq9a8ydfbd";
        authors = [
          "The Rust Project Developers"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "wasi";
            packageId = "wasi 0.10.0+wasi-snapshot-preview1";
            target = { target, features }: (target."os" == "wasi");
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "std" "minwinbase" "minwindef" "ntdef" "profileapi" "sysinfoapi" "timezoneapi" ];
          }
        ];
        devDependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "std" "processthreadsapi" "winbase" ];
          }
        ];
        
      };
      "tinyvec" = rec {
        crateName = "tinyvec";
        version = "1.1.0";
        edition = "2018";
        sha256 = "0vva61rhzvgyvc0n6vbjn8a2q3mm5wlfrapyx08blbxlkv0xpy6c";
        authors = [
          "Lokathor <zefria@gmail.com>"
        ];
        dependencies = [
          {
            name = "tinyvec_macros";
            packageId = "tinyvec_macros";
            optional = true;
          }
        ];
        features = {
          "alloc" = [ "tinyvec_macros" ];
        };
        resolvedDefaultFeatures = [ "alloc" "default" "tinyvec_macros" ];
      };
      "tinyvec_macros" = rec {
        crateName = "tinyvec_macros";
        version = "0.1.0";
        edition = "2018";
        sha256 = "0p5zvgbas5nh403fbxica819mf3g83n8g2hzpfazfr56w6klv9yd";
        authors = [
          "Soveu <marx.tomasz@gmail.com>"
        ];
        
      };
      "tokio" = rec {
        crateName = "tokio";
        version = "1.0.1";
        edition = "2018";
        sha256 = "1gd6qc9xvm568kicbkch40kjn5w0q2nsn527gcy80v3baqgj4n6j";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
            optional = true;
          }
          {
            name = "libc";
            packageId = "libc";
            optional = true;
            target = { target, features }: target."unix";
          }
          {
            name = "memchr";
            packageId = "memchr";
            optional = true;
          }
          {
            name = "mio";
            packageId = "mio";
            optional = true;
          }
          {
            name = "num_cpus";
            packageId = "num_cpus";
            optional = true;
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio-macros";
            packageId = "tokio-macros";
            optional = true;
          }
        ];
        buildDependencies = [
          {
            name = "autocfg";
            packageId = "autocfg";
          }
        ];
        devDependencies = [
          {
            name = "libc";
            packageId = "libc";
            target = {target, features}: target."unix";
          }
        ];
        features = {
          "full" = [ "fs" "io-util" "io-std" "macros" "net" "parking_lot" "process" "rt" "rt-multi-thread" "signal" "sync" "time" ];
          "io-util" = [ "memchr" "bytes" ];
          "macros" = [ "tokio-macros" ];
          "net" = [ "libc" "mio/os-poll" "mio/os-util" "mio/tcp" "mio/udp" "mio/uds" ];
          "process" = [ "bytes" "once_cell" "libc" "mio/os-poll" "mio/os-util" "mio/uds" "signal-hook-registry" "winapi/threadpoollegacyapiset" ];
          "rt-multi-thread" = [ "num_cpus" "rt" ];
          "signal" = [ "once_cell" "libc" "mio/os-poll" "mio/uds" "mio/os-util" "signal-hook-registry" "winapi/consoleapi" ];
        };
        resolvedDefaultFeatures = [ "bytes" "default" "io-util" "libc" "macros" "memchr" "mio" "net" "num_cpus" "rt" "rt-multi-thread" "sync" "time" "tokio-macros" ];
      };
      "tokio-macros" = rec {
        crateName = "tokio-macros";
        version = "1.0.0";
        edition = "2018";
        sha256 = "150l6wfcqw2rcjaf22qk3z6ca794x0s2c68n5ar18cfafllpsla2";
        procMacro = true;
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
        ];
        
      };
      "tokio-native-tls" = rec {
        crateName = "tokio-native-tls";
        version = "0.3.0";
        edition = "2018";
        sha256 = "0yvikgmph2qjq0ni2h2wfaxkzhbnc09c2544av0zidyj1dk9bngp";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "native-tls";
            packageId = "native-tls";
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "macros" "rt" "rt-multi-thread" "io-util" "net" ];
          }
        ];
        
      };
      "tokio-stream" = rec {
        crateName = "tokio-stream";
        version = "0.1.1";
        edition = "2018";
        sha256 = "0mq48id9y6xngsfs5yngmv66iwz3fnpkhcfpvj5gjqvyadrypkg4";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "sync" ];
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" "test-util" ];
          }
        ];
        features = {
          "default" = [ "time" ];
          "fs" = [ "tokio/fs" ];
          "io-util" = [ "tokio/io-util" ];
          "net" = [ "tokio/net" ];
          "time" = [ "tokio/time" ];
        };
        resolvedDefaultFeatures = [ "default" "time" ];
      };
      "tokio-util" = rec {
        crateName = "tokio-util";
        version = "0.6.0";
        edition = "2018";
        sha256 = "0j1igqc7h33i5bvm5zrzix4i7k5lzbvhj4ikp7wga4d9gmz5n4rn";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "bytes";
            packageId = "bytes 1.0.0";
          }
          {
            name = "futures-core";
            packageId = "futures-core";
          }
          {
            name = "futures-sink";
            packageId = "futures-sink";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tokio";
            packageId = "tokio";
          }
          {
            name = "tokio-stream";
            packageId = "tokio-stream";
          }
        ];
        devDependencies = [
          {
            name = "tokio";
            packageId = "tokio";
            features = [ "full" ];
          }
        ];
        features = {
          "__docs_rs" = [ "futures-util" ];
          "compat" = [ "futures-io" ];
          "full" = [ "codec" "compat" "io" "time" "net" "rt" ];
          "net" = [ "tokio/net" ];
          "rt" = [ "tokio/rt" ];
          "time" = [ "tokio/time" "slab" ];
        };
        resolvedDefaultFeatures = [ "codec" "default" ];
      };
      "toml" = rec {
        crateName = "toml";
        version = "0.5.8";
        edition = "2018";
        sha256 = "1apcmjrrjw429pjw7mqlmdwwd67g8305vwqy4kw3swr612bl44d3";
        authors = [
          "Alex Crichton <alex@alexcrichton.com>"
        ];
        dependencies = [
          {
            name = "serde";
            packageId = "serde";
          }
        ];
        features = {
          "preserve_order" = [ "indexmap" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "tower-service" = rec {
        crateName = "tower-service";
        version = "0.3.0";
        edition = "2018";
        sha256 = "0q4q53w82w1wd71x7vbspg2l3jicb6al2w1qdwxmnjrz8jzvd1z9";
        authors = [
          "Tower Maintainers <team@tower-rs.com>"
        ];
        
      };
      "tracing" = rec {
        crateName = "tracing";
        version = "0.1.22";
        edition = "2018";
        sha256 = "1qzg7rcfby8f2nn1ln3gk6fjc80q0bg8fw5k95zc1020vin04iwz";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "pin-project-lite";
            packageId = "pin-project-lite";
          }
          {
            name = "tracing-core";
            packageId = "tracing-core";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "attributes" = [ "tracing-attributes" ];
          "default" = [ "std" "attributes" ];
          "log-always" = [ "log" ];
          "std" = [ "tracing-core/std" ];
        };
        resolvedDefaultFeatures = [ "std" ];
      };
      "tracing-core" = rec {
        crateName = "tracing-core";
        version = "0.1.17";
        edition = "2018";
        sha256 = "0pvbgv301vw6dq4krc14yqbyyixb42lcs4s57xw05llkgy9f63gm";
        authors = [
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "lazy_static";
            packageId = "lazy_static";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" ];
          "std" = [ "lazy_static" ];
        };
        resolvedDefaultFeatures = [ "lazy_static" "std" ];
      };
      "tracing-futures" = rec {
        crateName = "tracing-futures";
        version = "0.2.4";
        edition = "2018";
        sha256 = "0k4vd3jyqz9cx8rbwbp0p93qfp1w6rfk7sc6c1jh1ai18zqvcyxb";
        authors = [
          "Eliza Weisman <eliza@buoyant.io>"
          "Tokio Contributors <team@tokio.rs>"
        ];
        dependencies = [
          {
            name = "pin-project";
            packageId = "pin-project 0.4.27";
            optional = true;
          }
          {
            name = "tracing";
            packageId = "tracing";
            usesDefaultFeatures = false;
          }
        ];
        features = {
          "default" = [ "std-future" "std" ];
          "futures-01" = [ "futures_01" "std" ];
          "futures-03" = [ "std-future" "futures" "futures-task" "std" ];
          "std" = [ "tracing/std" ];
          "std-future" = [ "pin-project" ];
        };
        resolvedDefaultFeatures = [ "pin-project" "std-future" ];
      };
      "try-lock" = rec {
        crateName = "try-lock";
        version = "0.2.3";
        edition = "2015";
        sha256 = "0hkn1ksmg5hdqgqdw1ahy5qk69f4crh2psf0v61qphyrf777nm2r";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        
      };
      "typenum" = rec {
        crateName = "typenum";
        version = "1.12.0";
        edition = "2015";
        sha256 = "0cvbksljz61ian21fnn0h51kphl0pwpzb932bv4s0rwy1wh8lg1p";
        build = "build/main.rs";
        authors = [
          "Paho Lurie-Gregg <paho@paholg.com>"
          "Andre Bogus <bogusandre@gmail.com>"
        ];
        features = {
        };
      };
      "unicode-bidi" = rec {
        crateName = "unicode-bidi";
        version = "0.3.4";
        edition = "2015";
        sha256 = "1malx8ljgm7v1gbaazkn7iicy5wj0bwcyadj3l727a38ch6bvwj9";
        libName = "unicode_bidi";
        authors = [
          "The Servo Project Developers"
        ];
        dependencies = [
          {
            name = "matches";
            packageId = "matches";
          }
        ];
        features = {
          "flame_it" = [ "flame" "flamer" ];
          "with_serde" = [ "serde" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "unicode-normalization" = rec {
        crateName = "unicode-normalization";
        version = "0.1.16";
        edition = "2018";
        sha256 = "01p6mwhrf8c748ad7nd5pf9c6djwsc45874dwpp2mqyvcamn6gm1";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        dependencies = [
          {
            name = "tinyvec";
            packageId = "tinyvec";
            features = [ "alloc" ];
          }
        ];
        features = {
          "default" = [ "std" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "unicode-segmentation" = rec {
        crateName = "unicode-segmentation";
        version = "1.7.1";
        edition = "2015";
        sha256 = "15n736z0pbj30pj44jb9s9rjavzrmx8v8pzdgsl5yfmfwrxjw3dv";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
        };
      };
      "unicode-width" = rec {
        crateName = "unicode-width";
        version = "0.1.8";
        edition = "2015";
        sha256 = "1qxizyi6xbcqyi4z79p523ywvmgsfcgfqb3zv3c8i6x1jcc5jdwk";
        authors = [
          "kwantam <kwantam@gmail.com>"
          "Manish Goregaokar <manishsmail@gmail.com>"
        ];
        features = {
          "rustc-dep-of-std" = [ "std" "core" "compiler_builtins" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "unicode-xid" = rec {
        crateName = "unicode-xid";
        version = "0.2.1";
        edition = "2015";
        sha256 = "0r6mknipyy9vpz8mwmxvkx65ff2ha1n2pxqjj6f46lcn8yrhpzpp";
        authors = [
          "erick.tryzelaar <erick.tryzelaar@gmail.com>"
          "kwantam <kwantam@gmail.com>"
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "url" = rec {
        crateName = "url";
        version = "2.2.0";
        edition = "2018";
        sha256 = "0vlpd0c7y9yv4x5vmb6qlnkxkj63r20wv2rysyg48l3kh6qg42ar";
        authors = [
          "The rust-url developers"
        ];
        dependencies = [
          {
            name = "form_urlencoded";
            packageId = "form_urlencoded";
          }
          {
            name = "idna";
            packageId = "idna";
          }
          {
            name = "matches";
            packageId = "matches";
          }
          {
            name = "percent-encoding";
            packageId = "percent-encoding";
          }
        ];
        
      };
      "uuid" = rec {
        crateName = "uuid";
        version = "0.8.1";
        edition = "2018";
        sha256 = "049w16qwk3d3b9cmpgvd7fvcnwgs75l8rlsagh06w7ga9dm2zplz";
        authors = [
          "Ashley Mannix<ashleymannix@live.com.au>"
          "Christopher Armstrong"
          "Dylan DPC<dylan.dpc@gmail.com>"
          "Hunar Roop Kahlon<hunar.roop@gmail.com>"
        ];
        dependencies = [
          {
            name = "rand";
            packageId = "rand 0.7.3";
            optional = true;
          }
        ];
        features = {
          "default" = [ "std" ];
          "guid" = [ "winapi" ];
          "stdweb" = [ "rand/stdweb" ];
          "v3" = [ "md5" ];
          "v4" = [ "rand" ];
          "v5" = [ "sha1" ];
          "wasm-bindgen" = [ "rand/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "rand" "v4" ];
      };
      "vcpkg" = rec {
        crateName = "vcpkg";
        version = "0.2.11";
        edition = "2015";
        sha256 = "1yvrd2b97j4hv5bfhcj3al0dpkbzkdsr6dclxqz3zqm50rhwl2xh";
        authors = [
          "Jim McGrath <jimmc2@gmail.com>"
        ];
        
      };
      "vec_map" = rec {
        crateName = "vec_map";
        version = "0.8.2";
        edition = "2015";
        sha256 = "1481w9g1dw9rxp3l6snkdqihzyrd2f8vispzqmwjwsdyhw8xzggi";
        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 <>"
        ];
        features = {
          "eders" = [ "serde" ];
        };
      };
      "version_check" = rec {
        crateName = "version_check";
        version = "0.9.2";
        edition = "2015";
        sha256 = "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm";
        authors = [
          "Sergio Benitez <sb@sergio.bz>"
        ];
        
      };
      "walkdir" = rec {
        crateName = "walkdir";
        version = "2.3.1";
        edition = "2018";
        sha256 = "0z9g39f49cycdm9vzjf8hnfh3f1csxgd65kmlphj8r2vffy84wbp";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "same-file";
            packageId = "same-file";
          }
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "std" "winnt" ];
          }
          {
            name = "winapi-util";
            packageId = "winapi-util";
            target = { target, features }: target."windows";
          }
        ];
        
      };
      "want" = rec {
        crateName = "want";
        version = "0.3.0";
        edition = "2018";
        sha256 = "181b2zmwfq389x9n2g1n37cvcvvdand832zz6v8i1l8wrdlaks0w";
        authors = [
          "Sean McArthur <sean@seanmonstar.com>"
        ];
        dependencies = [
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "try-lock";
            packageId = "try-lock";
          }
        ];
        
      };
      "wasi 0.10.0+wasi-snapshot-preview1" = rec {
        crateName = "wasi";
        version = "0.10.0+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "07y3l8mzfzzz4cj09c8y90yak4hpsi9g7pllyzpr6xvwrabka50s";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "wasi 0.9.0+wasi-snapshot-preview1" = rec {
        crateName = "wasi";
        version = "0.9.0+wasi-snapshot-preview1";
        edition = "2018";
        sha256 = "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc";
        authors = [
          "The Cranelift Project Developers"
        ];
        features = {
          "default" = [ "std" ];
          "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ];
        };
        resolvedDefaultFeatures = [ "default" "std" ];
      };
      "wasm-bindgen" = rec {
        crateName = "wasm-bindgen";
        version = "0.2.69";
        edition = "2018";
        sha256 = "0vkkpz290k6pphmrgkayzdvk1dinxrp6c5zvr9l0zjlm2dsn9lrw";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "serde";
            packageId = "serde";
            optional = true;
          }
          {
            name = "serde_json";
            packageId = "serde_json";
            optional = true;
          }
          {
            name = "wasm-bindgen-macro";
            packageId = "wasm-bindgen-macro";
          }
        ];
        features = {
          "default" = [ "spans" "std" ];
          "enable-interning" = [ "std" ];
          "serde-serialize" = [ "serde" "serde_json" "std" ];
          "spans" = [ "wasm-bindgen-macro/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro/strict-macro" ];
          "xxx_debug_only_print_generated_code" = [ "wasm-bindgen-macro/xxx_debug_only_print_generated_code" ];
        };
        resolvedDefaultFeatures = [ "default" "serde" "serde-serialize" "serde_json" "spans" "std" ];
      };
      "wasm-bindgen-backend" = rec {
        crateName = "wasm-bindgen-backend";
        version = "0.2.69";
        edition = "2018";
        sha256 = "0qidxjmcn50v2i5hjz7al69sa3mbq0lbi276amdnw47ln6dgh50i";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "bumpalo";
            packageId = "bumpalo";
          }
          {
            name = "lazy_static";
            packageId = "lazy_static";
          }
          {
            name = "log";
            packageId = "log";
          }
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "full" ];
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-futures" = rec {
        crateName = "wasm-bindgen-futures";
        version = "0.4.19";
        edition = "2018";
        sha256 = "0d8fg2k4a4xyv28japgld7qzy2zyrnvh582pjkp88id8hmh7bs8z";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "cfg-if";
            packageId = "cfg-if 1.0.0";
          }
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (target."feature" == "atomics");
            features = [ "MessageEvent" "Worker" ];
          }
        ];
        
      };
      "wasm-bindgen-macro" = rec {
        crateName = "wasm-bindgen-macro";
        version = "0.2.69";
        edition = "2018";
        sha256 = "113hyzn0dpqasznzcwgmqw03i5yhjkqna7paim50h7xdbscwhsks";
        procMacro = true;
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "wasm-bindgen-macro-support";
            packageId = "wasm-bindgen-macro-support";
          }
        ];
        features = {
          "spans" = [ "wasm-bindgen-macro-support/spans" ];
          "strict-macro" = [ "wasm-bindgen-macro-support/strict-macro" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-macro-support" = rec {
        crateName = "wasm-bindgen-macro-support";
        version = "0.2.69";
        edition = "2018";
        sha256 = "0jbmgj8zxflza1cl15k3r70fqsak4bkkfbn6qxbhbn4ry9r8r95m";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "proc-macro2";
            packageId = "proc-macro2";
          }
          {
            name = "quote";
            packageId = "quote";
          }
          {
            name = "syn";
            packageId = "syn";
            features = [ "visit" "full" ];
          }
          {
            name = "wasm-bindgen-backend";
            packageId = "wasm-bindgen-backend";
          }
          {
            name = "wasm-bindgen-shared";
            packageId = "wasm-bindgen-shared";
          }
        ];
        features = {
          "extra-traits" = [ "syn/extra-traits" ];
          "spans" = [ "wasm-bindgen-backend/spans" ];
        };
        resolvedDefaultFeatures = [ "spans" ];
      };
      "wasm-bindgen-shared" = rec {
        crateName = "wasm-bindgen-shared";
        version = "0.2.69";
        edition = "2018";
        sha256 = "0n3ir6gq27np22l6m96y342a6fphk1pkbzbfqx6g364kgzfi2y3y";
        authors = [
          "The wasm-bindgen Developers"
        ];
        
      };
      "web-sys" = rec {
        crateName = "web-sys";
        version = "0.3.46";
        edition = "2018";
        sha256 = "1hx3bcqhczkdc952gychkaakc27kh3yw6gdm7wfs54jg6gwiwar2";
        authors = [
          "The wasm-bindgen Developers"
        ];
        dependencies = [
          {
            name = "js-sys";
            packageId = "js-sys";
          }
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
          }
        ];
        features = {
          "AbortSignal" = [ "EventTarget" ];
          "AnalyserNode" = [ "AudioNode" "EventTarget" ];
          "Animation" = [ "EventTarget" ];
          "AnimationEvent" = [ "Event" ];
          "AnimationPlaybackEvent" = [ "Event" ];
          "Attr" = [ "EventTarget" "Node" ];
          "AudioBufferSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "AudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "AudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "AudioNode" = [ "EventTarget" ];
          "AudioProcessingEvent" = [ "Event" ];
          "AudioScheduledSourceNode" = [ "AudioNode" "EventTarget" ];
          "AudioStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "AudioTrackList" = [ "EventTarget" ];
          "AudioWorklet" = [ "Worklet" ];
          "AudioWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "AudioWorkletNode" = [ "AudioNode" "EventTarget" ];
          "AuthenticatorAssertionResponse" = [ "AuthenticatorResponse" ];
          "AuthenticatorAttestationResponse" = [ "AuthenticatorResponse" ];
          "BaseAudioContext" = [ "EventTarget" ];
          "BatteryManager" = [ "EventTarget" ];
          "BeforeUnloadEvent" = [ "Event" ];
          "BiquadFilterNode" = [ "AudioNode" "EventTarget" ];
          "BlobEvent" = [ "Event" ];
          "Bluetooth" = [ "EventTarget" ];
          "BluetoothAdvertisingEvent" = [ "Event" ];
          "BluetoothDevice" = [ "EventTarget" ];
          "BluetoothPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "BluetoothRemoteGattCharacteristic" = [ "EventTarget" ];
          "BluetoothRemoteGattService" = [ "EventTarget" ];
          "BroadcastChannel" = [ "EventTarget" ];
          "CanvasCaptureMediaStream" = [ "EventTarget" "MediaStream" ];
          "CdataSection" = [ "CharacterData" "EventTarget" "Node" "Text" ];
          "ChannelMergerNode" = [ "AudioNode" "EventTarget" ];
          "ChannelSplitterNode" = [ "AudioNode" "EventTarget" ];
          "CharacterData" = [ "EventTarget" "Node" ];
          "ChromeWorker" = [ "EventTarget" "Worker" ];
          "Clipboard" = [ "EventTarget" ];
          "ClipboardEvent" = [ "Event" ];
          "CloseEvent" = [ "Event" ];
          "Comment" = [ "CharacterData" "EventTarget" "Node" ];
          "CompositionEvent" = [ "Event" "UiEvent" ];
          "ConstantSourceNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "ConvolverNode" = [ "AudioNode" "EventTarget" ];
          "CssAnimation" = [ "Animation" "EventTarget" ];
          "CssConditionRule" = [ "CssGroupingRule" "CssRule" ];
          "CssCounterStyleRule" = [ "CssRule" ];
          "CssFontFaceRule" = [ "CssRule" ];
          "CssFontFeatureValuesRule" = [ "CssRule" ];
          "CssGroupingRule" = [ "CssRule" ];
          "CssImportRule" = [ "CssRule" ];
          "CssKeyframeRule" = [ "CssRule" ];
          "CssKeyframesRule" = [ "CssRule" ];
          "CssMediaRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssNamespaceRule" = [ "CssRule" ];
          "CssPageRule" = [ "CssRule" ];
          "CssStyleRule" = [ "CssRule" ];
          "CssStyleSheet" = [ "StyleSheet" ];
          "CssSupportsRule" = [ "CssConditionRule" "CssGroupingRule" "CssRule" ];
          "CssTransition" = [ "Animation" "EventTarget" ];
          "CustomEvent" = [ "Event" ];
          "DedicatedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "DelayNode" = [ "AudioNode" "EventTarget" ];
          "DeviceLightEvent" = [ "Event" ];
          "DeviceMotionEvent" = [ "Event" ];
          "DeviceOrientationEvent" = [ "Event" ];
          "DeviceProximityEvent" = [ "Event" ];
          "Document" = [ "EventTarget" "Node" ];
          "DocumentFragment" = [ "EventTarget" "Node" ];
          "DocumentTimeline" = [ "AnimationTimeline" ];
          "DocumentType" = [ "EventTarget" "Node" ];
          "DomMatrix" = [ "DomMatrixReadOnly" ];
          "DomPoint" = [ "DomPointReadOnly" ];
          "DomRect" = [ "DomRectReadOnly" ];
          "DomRequest" = [ "EventTarget" ];
          "DragEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "DynamicsCompressorNode" = [ "AudioNode" "EventTarget" ];
          "Element" = [ "EventTarget" "Node" ];
          "ErrorEvent" = [ "Event" ];
          "EventSource" = [ "EventTarget" ];
          "ExtendableEvent" = [ "Event" ];
          "ExtendableMessageEvent" = [ "Event" "ExtendableEvent" ];
          "FetchEvent" = [ "Event" "ExtendableEvent" ];
          "FetchObserver" = [ "EventTarget" ];
          "File" = [ "Blob" ];
          "FileReader" = [ "EventTarget" ];
          "FileSystemDirectoryEntry" = [ "FileSystemEntry" ];
          "FileSystemFileEntry" = [ "FileSystemEntry" ];
          "FocusEvent" = [ "Event" "UiEvent" ];
          "FontFaceSet" = [ "EventTarget" ];
          "FontFaceSetLoadEvent" = [ "Event" ];
          "GainNode" = [ "AudioNode" "EventTarget" ];
          "GamepadAxisMoveEvent" = [ "Event" "GamepadEvent" ];
          "GamepadButtonEvent" = [ "Event" "GamepadEvent" ];
          "GamepadEvent" = [ "Event" ];
          "GpuDevice" = [ "EventTarget" ];
          "GpuUncapturedErrorEvent" = [ "Event" ];
          "HashChangeEvent" = [ "Event" ];
          "HtmlAnchorElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlAudioElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "HtmlBaseElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBodyElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlBrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlButtonElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlCanvasElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDataListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDetailsElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDialogElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDirectoryElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDivElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlDocument" = [ "Document" "EventTarget" "Node" ];
          "HtmlElement" = [ "Element" "EventTarget" "Node" ];
          "HtmlEmbedElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFieldSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFontElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFormControlsCollection" = [ "HtmlCollection" ];
          "HtmlFormElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlFrameSetElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHeadingElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHrElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlHtmlElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlIFrameElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlImageElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlInputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLabelElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLegendElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLiElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlLinkElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMapElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMediaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMenuItemElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMetaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlMeterElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlModElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlObjectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptGroupElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlOptionsCollection" = [ "HtmlCollection" ];
          "HtmlOutputElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParagraphElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlParamElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPictureElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlPreElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlProgressElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlQuoteElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlScriptElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSelectElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSlotElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSourceElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlSpanElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlStyleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCaptionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableCellElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableColElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableRowElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTableSectionElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTemplateElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTextAreaElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTimeElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTitleElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlTrackElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUListElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlUnknownElement" = [ "Element" "EventTarget" "HtmlElement" "Node" ];
          "HtmlVideoElement" = [ "Element" "EventTarget" "HtmlElement" "HtmlMediaElement" "Node" ];
          "IdbCursorWithValue" = [ "IdbCursor" ];
          "IdbDatabase" = [ "EventTarget" ];
          "IdbFileHandle" = [ "EventTarget" ];
          "IdbFileRequest" = [ "DomRequest" "EventTarget" ];
          "IdbLocaleAwareKeyRange" = [ "IdbKeyRange" ];
          "IdbMutableFile" = [ "EventTarget" ];
          "IdbOpenDbRequest" = [ "EventTarget" "IdbRequest" ];
          "IdbRequest" = [ "EventTarget" ];
          "IdbTransaction" = [ "EventTarget" ];
          "IdbVersionChangeEvent" = [ "Event" ];
          "IirFilterNode" = [ "AudioNode" "EventTarget" ];
          "ImageCaptureErrorEvent" = [ "Event" ];
          "InputEvent" = [ "Event" "UiEvent" ];
          "KeyboardEvent" = [ "Event" "UiEvent" ];
          "KeyframeEffect" = [ "AnimationEffect" ];
          "LocalMediaStream" = [ "EventTarget" "MediaStream" ];
          "MediaDevices" = [ "EventTarget" ];
          "MediaElementAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaEncryptedEvent" = [ "Event" ];
          "MediaKeyError" = [ "Event" ];
          "MediaKeyMessageEvent" = [ "Event" ];
          "MediaKeySession" = [ "EventTarget" ];
          "MediaQueryList" = [ "EventTarget" ];
          "MediaQueryListEvent" = [ "Event" ];
          "MediaRecorder" = [ "EventTarget" ];
          "MediaRecorderErrorEvent" = [ "Event" ];
          "MediaSource" = [ "EventTarget" ];
          "MediaStream" = [ "EventTarget" ];
          "MediaStreamAudioDestinationNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamAudioSourceNode" = [ "AudioNode" "EventTarget" ];
          "MediaStreamEvent" = [ "Event" ];
          "MediaStreamTrack" = [ "EventTarget" ];
          "MediaStreamTrackEvent" = [ "Event" ];
          "MessageEvent" = [ "Event" ];
          "MessagePort" = [ "EventTarget" ];
          "MidiAccess" = [ "EventTarget" ];
          "MidiConnectionEvent" = [ "Event" ];
          "MidiInput" = [ "EventTarget" "MidiPort" ];
          "MidiMessageEvent" = [ "Event" ];
          "MidiOutput" = [ "EventTarget" "MidiPort" ];
          "MidiPort" = [ "EventTarget" ];
          "MouseEvent" = [ "Event" "UiEvent" ];
          "MouseScrollEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "MutationEvent" = [ "Event" ];
          "NetworkInformation" = [ "EventTarget" ];
          "Node" = [ "EventTarget" ];
          "Notification" = [ "EventTarget" ];
          "NotificationEvent" = [ "Event" "ExtendableEvent" ];
          "OfflineAudioCompletionEvent" = [ "Event" ];
          "OfflineAudioContext" = [ "BaseAudioContext" "EventTarget" ];
          "OfflineResourceList" = [ "EventTarget" ];
          "OffscreenCanvas" = [ "EventTarget" ];
          "OscillatorNode" = [ "AudioNode" "AudioScheduledSourceNode" "EventTarget" ];
          "PageTransitionEvent" = [ "Event" ];
          "PaintWorkletGlobalScope" = [ "WorkletGlobalScope" ];
          "PannerNode" = [ "AudioNode" "EventTarget" ];
          "PaymentMethodChangeEvent" = [ "Event" "PaymentRequestUpdateEvent" ];
          "PaymentRequestUpdateEvent" = [ "Event" ];
          "Performance" = [ "EventTarget" ];
          "PerformanceMark" = [ "PerformanceEntry" ];
          "PerformanceMeasure" = [ "PerformanceEntry" ];
          "PerformanceNavigationTiming" = [ "PerformanceEntry" "PerformanceResourceTiming" ];
          "PerformanceResourceTiming" = [ "PerformanceEntry" ];
          "PermissionStatus" = [ "EventTarget" ];
          "PointerEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "PopStateEvent" = [ "Event" ];
          "PopupBlockedEvent" = [ "Event" ];
          "PresentationAvailability" = [ "EventTarget" ];
          "PresentationConnection" = [ "EventTarget" ];
          "PresentationConnectionAvailableEvent" = [ "Event" ];
          "PresentationConnectionCloseEvent" = [ "Event" ];
          "PresentationConnectionList" = [ "EventTarget" ];
          "PresentationRequest" = [ "EventTarget" ];
          "ProcessingInstruction" = [ "CharacterData" "EventTarget" "Node" ];
          "ProgressEvent" = [ "Event" ];
          "PromiseRejectionEvent" = [ "Event" ];
          "PublicKeyCredential" = [ "Credential" ];
          "PushEvent" = [ "Event" "ExtendableEvent" ];
          "RadioNodeList" = [ "NodeList" ];
          "RtcDataChannel" = [ "EventTarget" ];
          "RtcDataChannelEvent" = [ "Event" ];
          "RtcPeerConnection" = [ "EventTarget" ];
          "RtcPeerConnectionIceEvent" = [ "Event" ];
          "RtcTrackEvent" = [ "Event" ];
          "RtcdtmfSender" = [ "EventTarget" ];
          "RtcdtmfToneChangeEvent" = [ "Event" ];
          "Screen" = [ "EventTarget" ];
          "ScreenOrientation" = [ "EventTarget" ];
          "ScriptProcessorNode" = [ "AudioNode" "EventTarget" ];
          "ScrollAreaEvent" = [ "Event" "UiEvent" ];
          "SecurityPolicyViolationEvent" = [ "Event" ];
          "ServiceWorker" = [ "EventTarget" ];
          "ServiceWorkerContainer" = [ "EventTarget" ];
          "ServiceWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "ServiceWorkerRegistration" = [ "EventTarget" ];
          "ShadowRoot" = [ "DocumentFragment" "EventTarget" "Node" ];
          "SharedWorker" = [ "EventTarget" ];
          "SharedWorkerGlobalScope" = [ "EventTarget" "WorkerGlobalScope" ];
          "SourceBuffer" = [ "EventTarget" ];
          "SourceBufferList" = [ "EventTarget" ];
          "SpeechRecognition" = [ "EventTarget" ];
          "SpeechRecognitionError" = [ "Event" ];
          "SpeechRecognitionEvent" = [ "Event" ];
          "SpeechSynthesis" = [ "EventTarget" ];
          "SpeechSynthesisErrorEvent" = [ "Event" "SpeechSynthesisEvent" ];
          "SpeechSynthesisEvent" = [ "Event" ];
          "SpeechSynthesisUtterance" = [ "EventTarget" ];
          "StereoPannerNode" = [ "AudioNode" "EventTarget" ];
          "StorageEvent" = [ "Event" ];
          "SvgAnimateElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateMotionElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimateTransformElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgAnimationElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgCircleElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgClipPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgComponentTransferFunctionElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgDefsElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgDescElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgElement" = [ "Element" "EventTarget" "Node" ];
          "SvgEllipseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgFilterElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgForeignObjectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGeometryElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgGraphicsElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgLineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgLinearGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgMarkerElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMaskElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgMetadataElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPathSegArcAbs" = [ "SvgPathSeg" ];
          "SvgPathSegArcRel" = [ "SvgPathSeg" ];
          "SvgPathSegClosePath" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoCubicSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticRel" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothAbs" = [ "SvgPathSeg" ];
          "SvgPathSegCurvetoQuadraticSmoothRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoHorizontalRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoRel" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalAbs" = [ "SvgPathSeg" ];
          "SvgPathSegLinetoVerticalRel" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoAbs" = [ "SvgPathSeg" ];
          "SvgPathSegMovetoRel" = [ "SvgPathSeg" ];
          "SvgPatternElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgPolygonElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgPolylineElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgRadialGradientElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGradientElement" ];
          "SvgRectElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGeometryElement" "SvgGraphicsElement" ];
          "SvgScriptElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSetElement" = [ "Element" "EventTarget" "Node" "SvgAnimationElement" "SvgElement" ];
          "SvgStopElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgStyleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgSwitchElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgSymbolElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgTextContentElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgTextElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "SvgTextPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTextPositioningElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" ];
          "SvgTitleElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgUseElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgViewElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgaElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgfeBlendElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeColorMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeComponentTransferElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeCompositeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeConvolveMatrixElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDiffuseLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDisplacementMapElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDistantLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeDropShadowElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFloodElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeFuncAElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncBElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncGElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeFuncRElement" = [ "Element" "EventTarget" "Node" "SvgComponentTransferFunctionElement" "SvgElement" ];
          "SvgfeGaussianBlurElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeImageElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMergeNodeElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeMorphologyElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeOffsetElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfePointLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpecularLightingElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeSpotLightElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTileElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgfeTurbulenceElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvggElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgmPathElement" = [ "Element" "EventTarget" "Node" "SvgElement" ];
          "SvgsvgElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" ];
          "SvgtSpanElement" = [ "Element" "EventTarget" "Node" "SvgElement" "SvgGraphicsElement" "SvgTextContentElement" "SvgTextPositioningElement" ];
          "TcpServerSocket" = [ "EventTarget" ];
          "TcpServerSocketEvent" = [ "Event" ];
          "TcpSocket" = [ "EventTarget" ];
          "TcpSocketErrorEvent" = [ "Event" ];
          "TcpSocketEvent" = [ "Event" ];
          "Text" = [ "CharacterData" "EventTarget" "Node" ];
          "TextTrack" = [ "EventTarget" ];
          "TextTrackCue" = [ "EventTarget" ];
          "TextTrackList" = [ "EventTarget" ];
          "TimeEvent" = [ "Event" ];
          "TouchEvent" = [ "Event" "UiEvent" ];
          "TrackEvent" = [ "Event" ];
          "TransitionEvent" = [ "Event" ];
          "UiEvent" = [ "Event" ];
          "Usb" = [ "EventTarget" ];
          "UsbConnectionEvent" = [ "Event" ];
          "UsbPermissionResult" = [ "EventTarget" "PermissionStatus" ];
          "UserProximityEvent" = [ "Event" ];
          "ValueEvent" = [ "Event" ];
          "VideoStreamTrack" = [ "EventTarget" "MediaStreamTrack" ];
          "VideoTrackList" = [ "EventTarget" ];
          "VrDisplay" = [ "EventTarget" ];
          "VttCue" = [ "EventTarget" "TextTrackCue" ];
          "WaveShaperNode" = [ "AudioNode" "EventTarget" ];
          "WebGlContextEvent" = [ "Event" ];
          "WebKitCssMatrix" = [ "DomMatrix" "DomMatrixReadOnly" ];
          "WebSocket" = [ "EventTarget" ];
          "WheelEvent" = [ "Event" "MouseEvent" "UiEvent" ];
          "Window" = [ "EventTarget" ];
          "WindowClient" = [ "Client" ];
          "Worker" = [ "EventTarget" ];
          "WorkerDebuggerGlobalScope" = [ "EventTarget" ];
          "WorkerGlobalScope" = [ "EventTarget" ];
          "XmlDocument" = [ "Document" "EventTarget" "Node" ];
          "XmlHttpRequest" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "XmlHttpRequestEventTarget" = [ "EventTarget" ];
          "XmlHttpRequestUpload" = [ "EventTarget" "XmlHttpRequestEventTarget" ];
          "Xr" = [ "EventTarget" ];
          "XrBoundedReferenceSpace" = [ "EventTarget" "XrReferenceSpace" "XrSpace" ];
          "XrInputSourceEvent" = [ "Event" ];
          "XrInputSourcesChangeEvent" = [ "Event" ];
          "XrReferenceSpace" = [ "EventTarget" "XrSpace" ];
          "XrReferenceSpaceEvent" = [ "Event" ];
          "XrSession" = [ "EventTarget" ];
          "XrSessionEvent" = [ "Event" ];
          "XrSpace" = [ "EventTarget" ];
          "XrViewerPose" = [ "XrPose" ];
        };
        resolvedDefaultFeatures = [ "Blob" "BlobPropertyBag" "Document" "Event" "EventTarget" "FormData" "Headers" "HtmlDocument" "MessageEvent" "Navigator" "Node" "Request" "RequestInit" "RequestMode" "Response" "ServiceWorkerGlobalScope" "Window" "Worker" "WorkerGlobalScope" ];
      };
      "which" = rec {
        crateName = "which";
        version = "3.1.1";
        edition = "2015";
        sha256 = "094pw9pi48szshn9ln69z2kg7syq1jp80h5ps1qncbsaw4d0f4fh";
        authors = [
          "Harry Fei <tiziyuanfang@gmail.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "default" = [ "failure" ];
        };
      };
      "whoami 0.9.0" = rec {
        crateName = "whoami";
        version = "0.9.0";
        edition = "2018";
        sha256 = "012mw2q72gpmf354yw2qc5w105ziac75shpqp1f62x4hnqx7g13q";
        authors = [
          "Jeron Aldaron Lau <jeronlau@plopgrizzly.com>"
        ];
        features = {
          "cala" = [ "cala_core/cala" ];
          "stdweb" = [ "cala_core/stdweb" ];
          "wasm-bindgen" = [ "cala_core/wasm-bindgen" ];
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "whoami 1.0.3" = rec {
        crateName = "whoami";
        version = "1.0.3";
        edition = "2018";
        sha256 = "0dmlxqq6758wysx46zr64b4q9g72d0ax9f4hlpb86qgk8vhv55fm";
        authors = [
          "Jeron Aldaron Lau <jeronlau@plopgrizzly.com>"
        ];
        dependencies = [
          {
            name = "wasm-bindgen";
            packageId = "wasm-bindgen";
            target = { target, features }: (target."arch" == "wasm32");
          }
          {
            name = "web-sys";
            packageId = "web-sys";
            target = { target, features }: (target."arch" == "wasm32");
            features = [ "Navigator" "HtmlDocument" "Document" "Window" ];
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "default" ];
      };
      "winapi" = rec {
        crateName = "winapi";
        version = "0.3.9";
        edition = "2015";
        sha256 = "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi-i686-pc-windows-gnu";
            packageId = "winapi-i686-pc-windows-gnu";
            target = { target, features }: (stdenv.hostPlatform.config == "i686-pc-windows-gnu");
          }
          {
            name = "winapi-x86_64-pc-windows-gnu";
            packageId = "winapi-x86_64-pc-windows-gnu";
            target = { target, features }: (stdenv.hostPlatform.config == "x86_64-pc-windows-gnu");
          }
        ];
        features = {
          "debug" = [ "impl-debug" ];
        };
        resolvedDefaultFeatures = [ "basetsd" "cfg" "consoleapi" "errhandlingapi" "evntrace" "fileapi" "handleapi" "impl-debug" "impl-default" "in6addr" "inaddr" "ioapiset" "knownfolders" "lmcons" "memoryapi" "minschannel" "minwinbase" "minwindef" "mswsock" "namedpipeapi" "ntdef" "ntsecapi" "ntstatus" "objbase" "processenv" "processthreadsapi" "profileapi" "schannel" "securitybaseapi" "shlobj" "sspi" "std" "synchapi" "sysinfoapi" "timezoneapi" "winbase" "wincon" "wincrypt" "windef" "winerror" "winioctl" "winnt" "winreg" "winsock2" "winuser" "ws2def" "ws2ipdef" "ws2tcpip" ];
      };
      "winapi-i686-pc-windows-gnu" = rec {
        crateName = "winapi-i686-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];
        
      };
      "winapi-util" = rec {
        crateName = "winapi-util";
        version = "0.1.5";
        edition = "2018";
        sha256 = "0y71bp7f6d536czj40dhqk0d55wfbbwqfp2ymqf1an5ibgl6rv3h";
        authors = [
          "Andrew Gallant <jamslam@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            target = { target, features }: target."windows";
            features = [ "std" "consoleapi" "errhandlingapi" "fileapi" "minwindef" "processenv" "winbase" "wincon" "winerror" "winnt" ];
          }
        ];
        
      };
      "winapi-x86_64-pc-windows-gnu" = rec {
        crateName = "winapi-x86_64-pc-windows-gnu";
        version = "0.4.0";
        edition = "2015";
        sha256 = "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki";
        authors = [
          "Peter Atashian <retep998@gmail.com>"
        ];
        
      };
      "winreg" = rec {
        crateName = "winreg";
        version = "0.7.0";
        edition = "2015";
        sha256 = "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801";
        authors = [
          "Igor Shaula <gentoo90@gmail.com>"
        ];
        dependencies = [
          {
            name = "winapi";
            packageId = "winapi";
            features = [ "impl-default" "impl-debug" "minwindef" "minwinbase" "timezoneapi" "winerror" "winnt" "winreg" "handleapi" ];
          }
        ];
        features = {
          "serialization-serde" = [ "transactions" "serde" ];
          "transactions" = [ "winapi/ktmw32" ];
        };
      };
      "xattr" = rec {
        crateName = "xattr";
        version = "0.2.2";
        edition = "2015";
        sha256 = "0k556fb6f5jc907975j9c8iynl2fqz3rf0w6fiig83i4yi0kfk14";
        authors = [
          "Steven Allen <steven@stebalien.com>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
        ];
        features = {
          "default" = [ "unsupported" ];
        };
        resolvedDefaultFeatures = [ "default" "unsupported" ];
      };
      "yasna" = rec {
        crateName = "yasna";
        version = "0.3.2";
        edition = "2015";
        sha256 = "1nsdd1di06yvh6n2mv54wgvkl5fz155lbn7nhmna1wmlfbwvzrqd";
        authors = [
          "Masaki Hara <ackie.h.gmai@gmail.com>"
        ];
        dependencies = [
          {
            name = "bit-vec";
            packageId = "bit-vec";
            optional = true;
            usesDefaultFeatures = false;
            features = [ "std" ];
          }
          {
            name = "num-bigint";
            packageId = "num-bigint";
            optional = true;
          }
        ];
        features = {
        };
        resolvedDefaultFeatures = [ "bit-vec" "default" "num-bigint" ];
      };
      "zeroize" = rec {
        crateName = "zeroize";
        version = "1.2.0";
        edition = "2018";
        sha256 = "0dhwwh63cnishw5jvvf9li2lscin6jq7srs19p50szrmvny79ac1";
        authors = [
          "Tony Arcieri <tony@iqlusion.io>"
        ];
        features = {
          "default" = [ "alloc" ];
        };
        resolvedDefaultFeatures = [ "alloc" ];
      };
      "zstd-seekable" = rec {
        crateName = "zstd-seekable";
        version = "0.1.7";
        edition = "2018";
        sha256 = "0bxzd71myj094hp03jpqbv1r80x0hk1ahsjwfv50j0wgx379jfry";
        authors = [
          "Pierre-Étienne Meunier <pe@pijul.org>"
        ];
        dependencies = [
          {
            name = "libc";
            packageId = "libc";
          }
          {
            name = "thiserror";
            packageId = "thiserror";
          }
          {
            name = "threadpool";
            packageId = "threadpool";
          }
        ];
        buildDependencies = [
          {
            name = "cc";
            packageId = "cc";
          }
          {
            name = "pkg-config";
            packageId = "pkg-config";
          }
        ];
        
      };
    };

    #
# crate2nix/default.nix (excerpt start)
#

  /* Target (platform) data for conditional dependencies.
     This corresponds roughly to what buildRustCrate is setting.
  */
  defaultTarget = {
    unix = true;
    windows = false;
    fuchsia = true;
    test = false;

    # This doesn't appear to be officially documented anywhere yet.
    # See https://github.com/rust-lang-nursery/rust-forge/issues/101.
    os = if stdenv.hostPlatform.isDarwin
    then "macos"
    else stdenv.hostPlatform.parsed.kernel.name;
    arch = stdenv.hostPlatform.parsed.cpu.name;
    family = "unix";
    env = "gnu";
    endian =
      if stdenv.hostPlatform.parsed.cpu.significantByte.name == "littleEndian"
      then "little" else "big";
    pointer_width = toString stdenv.hostPlatform.parsed.cpu.bits;
    vendor = stdenv.hostPlatform.parsed.vendor.name;
    debug_assertions = false;
  };

  /* Filters common temp files and build files. */
  # TODO(pkolloch): Substitute with gitignore filter
  sourceFilter = name: type:
    let
      baseName = builtins.baseNameOf (builtins.toString name);
    in
      ! (
        # Filter out git
        baseName == ".gitignore"
        || (type == "directory" && baseName == ".git")

        # Filter out build results
        || (
          type == "directory" && (
            baseName == "target"
            || baseName == "_site"
            || baseName == ".sass-cache"
            || baseName == ".jekyll-metadata"
            || baseName == "build-artifacts"
          )
        )

        # Filter out nix-build result symlinks        
        || (
          type == "symlink" && lib.hasPrefix "result" baseName
        )

        # Filter out IDE config
        || (
          type == "directory" && (
            baseName == ".idea" || baseName == ".vscode"
          )
        ) || lib.hasSuffix ".iml" baseName

        # Filter out nix build files
        || baseName == "Cargo.nix"

        # Filter out editor backup / swap files.
        || lib.hasSuffix "~" baseName
        || builtins.match "^\\.sw[a-z]$$" baseName != null
        || builtins.match "^\\..*\\.sw[a-z]$$" baseName != null
        || lib.hasSuffix ".tmp" baseName
        || lib.hasSuffix ".bak" baseName
        || baseName == "tests.nix"
      );

  /* Returns a crate which depends on successful test execution
     of crate given as the second argument.

     testCrateFlags: list of flags to pass to the test exectuable
     testInputs: list of packages that should be available during test execution
  */
  crateWithTest = { crate, testCrate, testCrateFlags, testInputs }:
    assert builtins.typeOf testCrateFlags == "list";
    assert builtins.typeOf testInputs == "list";
    let
      # override the `crate` so that it will build and execute tests instead of
      # building the actual lib and bin targets We just have to pass `--test`
      # to rustc and it will do the right thing.  We execute the tests and copy
      # their log and the test executables to $out for later inspection.
      test = let
        drv = testCrate.override (
          _: {
            buildTests = true;
          }
        );
      in
        pkgs.runCommand "run-tests-${testCrate.name}" {
          inherit testCrateFlags;
          buildInputs = testInputs;
        } ''
          set -ex
          cd ${crate.src}
          for file in ${drv}/tests/*; do
            $file $testCrateFlags 2>&1 | tee -a $out
          done
        '';
    in
      crate.overrideAttrs (
        old: {
          checkPhase = ''
            test -e ${test}
          '';
          passthru = (old.passthru or {}) // {
            inherit test;
          };
        }
      );

  /* A restricted overridable version of builtRustCratesWithFeatures. */
  buildRustCrateWithFeatures =
    { packageId
    , features ? rootFeatures
    , crateOverrides ? defaultCrateOverrides
    , buildRustCrateFunc ? (
        if crateOverrides == pkgs.defaultCrateOverrides
        then buildRustCrate
        else buildRustCrate.override {
          defaultCrateOverrides = crateOverrides;
        }
      )
    , runTests ? false
    , testCrateFlags ? []
    , testInputs ? []
    }:
      lib.makeOverridable
        (
          { features, crateOverrides, runTests, testCrateFlags, testInputs }:
            let
              builtRustCrates = builtRustCratesWithFeatures {
                inherit packageId features buildRustCrateFunc;
                runTests = false;
              };
              builtTestRustCrates = builtRustCratesWithFeatures {
                inherit packageId features buildRustCrateFunc;
                runTests = true;
              };
              drv = builtRustCrates.${packageId};
              testDrv = builtTestRustCrates.${packageId};
            in
              if runTests then
                crateWithTest {
                  crate = drv;
                  testCrate = testDrv;
                  inherit testCrateFlags testInputs;
                }
              else drv
        )
        { inherit features crateOverrides runTests testCrateFlags testInputs; };

  /* Returns an attr set with packageId mapped to the result of buildRustCrateFunc 
     for the corresponding crate. 
  */
  builtRustCratesWithFeatures =
    { packageId
    , features
    , crateConfigs ? crates
    , buildRustCrateFunc
    , runTests
    , target ? defaultTarget
    } @ args:
      assert (builtins.isAttrs crateConfigs);
      assert (builtins.isString packageId);
      assert (builtins.isList features);
      assert (builtins.isAttrs target);
      assert (builtins.isBool runTests);
      let
        rootPackageId = packageId;
        mergedFeatures = mergePackageFeatures (
          args // {
            inherit rootPackageId;
            target = target // { test = runTests; };
          }
        );

        buildByPackageId = packageId: buildByPackageIdImpl packageId;

        # Memoize built packages so that reappearing packages are only built once.
        builtByPackageId =
          lib.mapAttrs (packageId: value: buildByPackageId packageId) crateConfigs;

        buildByPackageIdImpl = packageId:
          let
            features = mergedFeatures."${packageId}" or [];
            crateConfig' = crateConfigs."${packageId}";
            crateConfig =
              builtins.removeAttrs crateConfig' [ "resolvedDefaultFeatures" "devDependencies" ];
            devDependencies =
              lib.optionals
                (runTests && packageId == rootPackageId)
                (crateConfig'.devDependencies or []);
            dependencies =
              dependencyDerivations {
                inherit builtByPackageId features target;
                dependencies =
                  (crateConfig.dependencies or [])
                  ++ devDependencies;
              };
            buildDependencies =
              dependencyDerivations {
                inherit builtByPackageId features target;
                dependencies = crateConfig.buildDependencies or [];
              };

            filterEnabledDependenciesForThis = dependencies: filterEnabledDependencies {
              inherit dependencies features target;
            };

            dependenciesWithRenames =
              lib.filter (d: d ? "rename") (
                filterEnabledDependenciesForThis
                  (
                    (crateConfig.buildDependencies or [])
                    ++ (crateConfig.dependencies or [])
                    ++ devDependencies
                  )
              );

            crateRenames =
              builtins.listToAttrs
                (map (d: { name = d.name; value = d.rename; }) dependenciesWithRenames);
          in
            buildRustCrateFunc (
              crateConfig // {
                src = crateConfig.src or (
                  pkgs.fetchurl {
                    name = "${crateConfig.crateName}-${crateConfig.version}.tar.gz";
                    url = "https://crates.io/api/v1/crates/${crateConfig.crateName}/${crateConfig.version}/download";
                    sha256 = crateConfig.sha256;
                  }
                );
                inherit features dependencies buildDependencies crateRenames release;
              }
            );
      in
        builtByPackageId;

  /* Returns the actual derivations for the given dependencies. */
  dependencyDerivations =
    { builtByPackageId
    , features
    , dependencies
    , target
    }:
      assert (builtins.isAttrs builtByPackageId);
      assert (builtins.isList features);
      assert (builtins.isList dependencies);
      assert (builtins.isAttrs target);
      let
        enabledDependencies = filterEnabledDependencies {
          inherit dependencies features target;
        };
        depDerivation = dependency: builtByPackageId.${dependency.packageId};
      in
        map depDerivation enabledDependencies;

  /* Returns a sanitized version of val with all values substituted that cannot
     be serialized as JSON. 
  */
  sanitizeForJson = val:
    if builtins.isAttrs val
    then lib.mapAttrs (n: v: sanitizeForJson v) val
    else if builtins.isList val
    then builtins.map sanitizeForJson val
    else if builtins.isFunction val
    then "function"
    else val;

  /* Returns various tools to debug a crate. */
  debugCrate = { packageId, target ? defaultTarget }:
    assert (builtins.isString packageId);
    let
      debug = rec {
        # The built tree as passed to buildRustCrate.
        buildTree = buildRustCrateWithFeatures {
          buildRustCrateFunc = lib.id;
          inherit packageId;
        };
        sanitizedBuildTree = sanitizeForJson buildTree;
        dependencyTree = sanitizeForJson (
          buildRustCrateWithFeatures {
            buildRustCrateFunc = crate: {
              "01_crateName" = crate.crateName or false;
              "02_features" = crate.features or [];
              "03_dependencies" = crate.dependencies or [];
            };
            inherit packageId;
          }
        );
        mergedPackageFeatures = mergePackageFeatures {
          features = rootFeatures;
          inherit packageId target;
        };
        diffedDefaultPackageFeatures = diffDefaultPackageFeatures {
          inherit packageId target;
        };
      };
    in
      { internal = debug; };

  /* Returns differences between cargo default features and crate2nix default
     features.
   
     This is useful for verifying the feature resolution in crate2nix.
  */
  diffDefaultPackageFeatures =
    { crateConfigs ? crates
    , packageId
    , target
    }:
      assert (builtins.isAttrs crateConfigs);
      let
        prefixValues = prefix: lib.mapAttrs (n: v: { "${prefix}" = v; });
        mergedFeatures =
          prefixValues
            "crate2nix"
            (mergePackageFeatures { inherit crateConfigs packageId target; features = [ "default" ]; });
        configs = prefixValues "cargo" crateConfigs;
        combined = lib.foldAttrs (a: b: a // b) {} [ mergedFeatures configs ];
        onlyInCargo =
          builtins.attrNames
            (lib.filterAttrs (n: v: !(v ? "crate2nix") && (v ? "cargo")) combined);
        onlyInCrate2Nix =
          builtins.attrNames
            (lib.filterAttrs (n: v: (v ? "crate2nix") && !(v ? "cargo")) combined);
        differentFeatures = lib.filterAttrs
          (
            n: v:
              (v ? "crate2nix")
              && (v ? "cargo")
              && (v.crate2nix.features or []) != (v."cargo".resolved_default_features or [])
          )
          combined;
      in
        builtins.toJSON {
          inherit onlyInCargo onlyInCrate2Nix differentFeatures;
        };

  /* Returns an attrset mapping packageId to the list of enabled features.

     If multiple paths to a dependency enable different features, the
     corresponding feature sets are merged. Features in rust are additive.
  */
  mergePackageFeatures =
    { crateConfigs ? crates
    , packageId
    , rootPackageId ? packageId
    , features ? rootFeatures
    , dependencyPath ? [ crates.${packageId}.crateName ]
    , featuresByPackageId ? {}
    , target
      # Adds devDependencies to the crate with rootPackageId.
    , runTests ? false
    , ...
    } @ args:
      assert (builtins.isAttrs crateConfigs);
      assert (builtins.isString packageId);
      assert (builtins.isString rootPackageId);
      assert (builtins.isList features);
      assert (builtins.isList dependencyPath);
      assert (builtins.isAttrs featuresByPackageId);
      assert (builtins.isAttrs target);
      assert (builtins.isBool runTests);
      let
        crateConfig = crateConfigs."${packageId}" or (builtins.throw "Package not found: ${packageId}");
        expandedFeatures = expandFeatures (crateConfig.features or {}) features;

        depWithResolvedFeatures = dependency:
          let
            packageId = dependency.packageId;
            features = dependencyFeatures expandedFeatures dependency;
          in
            { inherit packageId features; };

        resolveDependencies = cache: path: dependencies:
          assert (builtins.isAttrs cache);
          assert (builtins.isList dependencies);
          let
            enabledDependencies = filterEnabledDependencies {
              inherit dependencies target;
              features = expandedFeatures;
            };
            directDependencies = map depWithResolvedFeatures enabledDependencies;
            foldOverCache = op: lib.foldl op cache directDependencies;
          in
            foldOverCache
              (
                cache: { packageId, features }:
                  let
                    cacheFeatures = cache.${packageId} or [];
                    combinedFeatures = sortedUnique (cacheFeatures ++ features);
                  in
                    if cache ? ${packageId} && cache.${packageId} == combinedFeatures
                    then cache
                    else mergePackageFeatures {
                      features = combinedFeatures;
                      featuresByPackageId = cache;
                      inherit crateConfigs packageId target runTests rootPackageId;
                    }
              );

        cacheWithSelf =
          let
            cacheFeatures = featuresByPackageId.${packageId} or [];
            combinedFeatures = sortedUnique (cacheFeatures ++ expandedFeatures);
          in
            featuresByPackageId // {
              "${packageId}" = combinedFeatures;
            };

        cacheWithDependencies =
          resolveDependencies cacheWithSelf "dep" (
            crateConfig.dependencies or []
            ++ lib.optionals
              (runTests && packageId == rootPackageId)
              (crateConfig.devDependencies or [])
          );

        cacheWithAll =
          resolveDependencies
            cacheWithDependencies "build"
            (crateConfig.buildDependencies or []);
      in
        cacheWithAll;

  /* Returns the enabled dependencies given the enabled features. */
  filterEnabledDependencies = { dependencies, features, target }:
    assert (builtins.isList dependencies);
    assert (builtins.isList features);
    assert (builtins.isAttrs target);

    lib.filter
      (
        dep:
          let
            targetFunc = dep.target or (features: true);
          in
            targetFunc { inherit features target; }
            && (
              !(dep.optional or false)
              || builtins.any (doesFeatureEnableDependency dep) features
            )
      )
      dependencies;

  /* Returns whether the given feature should enable the given dependency. */
  doesFeatureEnableDependency = { name, rename ? null, ... }: feature:
    let
      prefix = "${name}/";
      len = builtins.stringLength prefix;
      startsWithPrefix = builtins.substring 0 len feature == prefix;
    in
      (rename == null && feature == name)
      || (rename != null && rename == feature)
      || startsWithPrefix;

  /* Returns the expanded features for the given inputFeatures by applying the
     rules in featureMap.

     featureMap is an attribute set which maps feature names to lists of further
     feature names to enable in case this feature is selected.
  */
  expandFeatures = featureMap: inputFeatures:
    assert (builtins.isAttrs featureMap);
    assert (builtins.isList inputFeatures);
    let
      expandFeature = feature:
        assert (builtins.isString feature);
        [ feature ] ++ (expandFeatures featureMap (featureMap."${feature}" or []));
      outFeatures = builtins.concatMap expandFeature inputFeatures;
    in
      sortedUnique outFeatures;

  /*
     Returns the actual features for the given dependency.
    
     features: The features of the crate that refers this dependency.
  */
  dependencyFeatures = features: dependency:
    assert (builtins.isList features);
    assert (builtins.isAttrs dependency);
    let
      defaultOrNil = if dependency.usesDefaultFeatures or true
      then [ "default" ]
      else [];
      explicitFeatures = dependency.features or [];
      additionalDependencyFeatures =
        let
          dependencyPrefix = (dependency.rename or dependency.name) + "/";
          dependencyFeatures =
            builtins.filter (f: lib.hasPrefix dependencyPrefix f) features;
        in
          builtins.map (lib.removePrefix dependencyPrefix) dependencyFeatures;
    in
      defaultOrNil ++ explicitFeatures ++ additionalDependencyFeatures;

  /* Sorts and removes duplicates from a list of strings. */
  sortedUnique = features:
    assert (builtins.isList features);
    assert (builtins.all builtins.isString features);
    let
      outFeaturesSet = lib.foldl (set: feature: set // { "${feature}" = 1; }) {} features;
      outFeaturesUnique = builtins.attrNames outFeaturesSet;
    in
      builtins.sort (a: b: a < b) outFeaturesUnique;

  deprecationWarning = message: value:
    if strictDeprecation
    then builtins.throw "strictDeprecation enabled, aborting: ${message}"
    else builtins.trace message value;

  #
  # crate2nix/default.nix (excerpt end)
  #

  };
}