Bug 1409444 - stylo: Update rand to 0.3.17; r?xidorn draft
authorManish Goregaokar <manishearth@gmail.com>
Fri, 20 Oct 2017 15:30:51 -0700
changeset 684185 d8ed41b3fb3f185807df1aff462c41b180163d47
parent 682993 a21099ce055f983cd642732d49148d3bfaa2d686
child 736830 84aecce631b6bd24f2c0946c0a4c2e2f9fadc530
push id85575
push userbmo:manishearth@gmail.com
push dateFri, 20 Oct 2017 22:36:38 +0000
reviewersxidorn
bugs1409444
milestone58.0a1
Bug 1409444 - stylo: Update rand to 0.3.17; r?xidorn MozReview-Commit-ID: 8ep1JQwkUjQ
third_party/rust/advapi32-sys/.cargo-checksum.json
third_party/rust/advapi32-sys/.cargo-ok
third_party/rust/aho-corasick-0.6.2/.cargo-checksum.json
third_party/rust/aho-corasick-0.6.2/.cargo-ok
third_party/rust/aho-corasick/.cargo-checksum.json
third_party/rust/aho-corasick/.cargo-ok
third_party/rust/ansi_term/.cargo-checksum.json
third_party/rust/ansi_term/.cargo-ok
third_party/rust/app_units/.cargo-checksum.json
third_party/rust/app_units/.cargo-ok
third_party/rust/arrayvec/.cargo-checksum.json
third_party/rust/arrayvec/.cargo-ok
third_party/rust/aster/.cargo-checksum.json
third_party/rust/aster/.cargo-ok
third_party/rust/atomic_refcell/.cargo-checksum.json
third_party/rust/atomic_refcell/.cargo-ok
third_party/rust/atty/.cargo-checksum.json
third_party/rust/atty/.cargo-ok
third_party/rust/backtrace-sys/.cargo-checksum.json
third_party/rust/backtrace-sys/.cargo-ok
third_party/rust/backtrace/.cargo-checksum.json
third_party/rust/backtrace/.cargo-ok
third_party/rust/base64/.cargo-checksum.json
third_party/rust/base64/.cargo-ok
third_party/rust/binary-space-partition/.cargo-checksum.json
third_party/rust/binary-space-partition/.cargo-ok
third_party/rust/bincode-0.8.0/.cargo-checksum.json
third_party/rust/bincode-0.8.0/.cargo-ok
third_party/rust/bincode/.cargo-checksum.json
third_party/rust/bincode/.cargo-ok
third_party/rust/bindgen-0.29.1/.cargo-checksum.json
third_party/rust/bindgen-0.29.1/.cargo-ok
third_party/rust/bindgen/.cargo-checksum.json
third_party/rust/bindgen/.cargo-ok
third_party/rust/bitflags-0.7.0/.cargo-checksum.json
third_party/rust/bitflags-0.7.0/.cargo-ok
third_party/rust/bitflags-0.8.2/.cargo-checksum.json
third_party/rust/bitflags-0.8.2/.cargo-ok
third_party/rust/bitflags-0.9.1/.cargo-checksum.json
third_party/rust/bitflags-0.9.1/.cargo-ok
third_party/rust/bitflags/.cargo-checksum.json
third_party/rust/bitflags/.cargo-ok
third_party/rust/bitreader/.cargo-checksum.json
third_party/rust/bitreader/.cargo-ok
third_party/rust/boxfnonce/.cargo-checksum.json
third_party/rust/boxfnonce/.cargo-ok
third_party/rust/byteorder/.cargo-checksum.json
third_party/rust/byteorder/.cargo-ok
third_party/rust/bytes/.cargo-checksum.json
third_party/rust/bytes/.cargo-ok
third_party/rust/bzip2-sys/.cargo-checksum.json
third_party/rust/bzip2-sys/.cargo-ok
third_party/rust/bzip2/.cargo-checksum.json
third_party/rust/bzip2/.cargo-ok
third_party/rust/cexpr/.cargo-checksum.json
third_party/rust/cexpr/.cargo-ok
third_party/rust/cfg-if-0.1.0/.cargo-checksum.json
third_party/rust/cfg-if-0.1.0/.cargo-ok
third_party/rust/cfg-if/.cargo-checksum.json
third_party/rust/cfg-if/.cargo-ok
third_party/rust/chrono/.cargo-checksum.json
third_party/rust/chrono/.cargo-ok
third_party/rust/clang-sys-0.19.0/.cargo-checksum.json
third_party/rust/clang-sys-0.19.0/.cargo-ok
third_party/rust/clang-sys/.cargo-checksum.json
third_party/rust/clang-sys/.cargo-ok
third_party/rust/clap-2.24.2/.cargo-checksum.json
third_party/rust/clap-2.24.2/.cargo-ok
third_party/rust/clap/.cargo-checksum.json
third_party/rust/clap/.cargo-ok
third_party/rust/cmake/.cargo-checksum.json
third_party/rust/cmake/.cargo-ok
third_party/rust/coco/.cargo-checksum.json
third_party/rust/coco/.cargo-ok
third_party/rust/cookie/.cargo-checksum.json
third_party/rust/cookie/.cargo-ok
third_party/rust/core-foundation-sys-0.3.1/.cargo-checksum.json
third_party/rust/core-foundation-sys-0.3.1/.cargo-ok
third_party/rust/core-foundation-sys/.cargo-checksum.json
third_party/rust/core-foundation-sys/.cargo-ok
third_party/rust/core-foundation/.cargo-checksum.json
third_party/rust/core-foundation/.cargo-ok
third_party/rust/core-graphics/.cargo-checksum.json
third_party/rust/core-graphics/.cargo-ok
third_party/rust/core-text/.cargo-checksum.json
third_party/rust/core-text/.cargo-ok
third_party/rust/crossbeam/.cargo-checksum.json
third_party/rust/crossbeam/.cargo-ok
third_party/rust/cssparser-macros/.cargo-checksum.json
third_party/rust/cssparser-macros/.cargo-ok
third_party/rust/cssparser/.cargo-checksum.json
third_party/rust/cssparser/.cargo-ok
third_party/rust/darling/.cargo-checksum.json
third_party/rust/darling/.cargo-ok
third_party/rust/darling_core/.cargo-checksum.json
third_party/rust/darling_core/.cargo-ok
third_party/rust/darling_macro/.cargo-checksum.json
third_party/rust/darling_macro/.cargo-ok
third_party/rust/dbghelp-sys/.cargo-checksum.json
third_party/rust/dbghelp-sys/.cargo-ok
third_party/rust/dtoa-short/.cargo-checksum.json
third_party/rust/dtoa-short/.cargo-ok
third_party/rust/dtoa/.cargo-checksum.json
third_party/rust/dtoa/.cargo-ok
third_party/rust/dwrote/.cargo-checksum.json
third_party/rust/dwrote/.cargo-ok
third_party/rust/either/.cargo-checksum.json
third_party/rust/either/.cargo-ok
third_party/rust/encoding_c/.cargo-checksum.json
third_party/rust/encoding_c/.cargo-ok
third_party/rust/encoding_rs/.cargo-checksum.json
third_party/rust/encoding_rs/.cargo-ok
third_party/rust/env_logger/.cargo-checksum.json
third_party/rust/env_logger/.cargo-ok
third_party/rust/error-chain/.cargo-checksum.json
third_party/rust/error-chain/.cargo-ok
third_party/rust/euclid/.cargo-checksum.json
third_party/rust/euclid/.cargo-ok
third_party/rust/flate2/.cargo-checksum.json
third_party/rust/flate2/.cargo-ok
third_party/rust/fnv/.cargo-checksum.json
third_party/rust/fnv/.cargo-ok
third_party/rust/freetype/.cargo-checksum.json
third_party/rust/freetype/.cargo-ok
third_party/rust/fs2/.cargo-checksum.json
third_party/rust/fs2/.cargo-ok
third_party/rust/fuchsia-zircon-sys/.cargo-checksum.json
third_party/rust/fuchsia-zircon-sys/BUILD.gn
third_party/rust/fuchsia-zircon-sys/Cargo.toml
third_party/rust/fuchsia-zircon-sys/examples/hello.rs
third_party/rust/fuchsia-zircon-sys/src/definitions.rs
third_party/rust/fuchsia-zircon-sys/src/lib.rs
third_party/rust/fuchsia-zircon/.cargo-checksum.json
third_party/rust/fuchsia-zircon/BUILD.gn
third_party/rust/fuchsia-zircon/Cargo.toml
third_party/rust/fuchsia-zircon/LICENSE
third_party/rust/fuchsia-zircon/README.md
third_party/rust/fuchsia-zircon/examples/BUILD.gn
third_party/rust/fuchsia-zircon/src/channel.rs
third_party/rust/fuchsia-zircon/src/event.rs
third_party/rust/fuchsia-zircon/src/eventpair.rs
third_party/rust/fuchsia-zircon/src/fifo.rs
third_party/rust/fuchsia-zircon/src/job.rs
third_party/rust/fuchsia-zircon/src/lib.rs
third_party/rust/fuchsia-zircon/src/port.rs
third_party/rust/fuchsia-zircon/src/process.rs
third_party/rust/fuchsia-zircon/src/socket.rs
third_party/rust/fuchsia-zircon/src/thread.rs
third_party/rust/fuchsia-zircon/src/timer.rs
third_party/rust/fuchsia-zircon/src/vmo.rs
third_party/rust/fuchsia-zircon/tools/BUILD.gn
third_party/rust/fuchsia-zircon/tools/README.md
third_party/rust/fuchsia-zircon/tools/clang_wrapper.cc
third_party/rust/fuchsia-zircon/tools/gen_status.py
third_party/rust/futures/.cargo-checksum.json
third_party/rust/futures/.cargo-ok
third_party/rust/fxhash/.cargo-checksum.json
third_party/rust/fxhash/.cargo-ok
third_party/rust/gamma-lut/.cargo-checksum.json
third_party/rust/gamma-lut/.cargo-ok
third_party/rust/gcc-0.3.42/.cargo-checksum.json
third_party/rust/gcc-0.3.42/.cargo-ok
third_party/rust/gcc/.cargo-checksum.json
third_party/rust/gcc/.cargo-ok
third_party/rust/gdi32-sys/.cargo-checksum.json
third_party/rust/gdi32-sys/.cargo-ok
third_party/rust/gl_generator/.cargo-checksum.json
third_party/rust/gl_generator/.cargo-ok
third_party/rust/gleam/.cargo-checksum.json
third_party/rust/gleam/.cargo-ok
third_party/rust/glob/.cargo-checksum.json
third_party/rust/glob/.cargo-ok
third_party/rust/heapsize/.cargo-checksum.json
third_party/rust/heapsize/.cargo-ok
third_party/rust/httparse/.cargo-checksum.json
third_party/rust/httparse/.cargo-ok
third_party/rust/hyper/.cargo-checksum.json
third_party/rust/hyper/.cargo-ok
third_party/rust/ident_case/.cargo-checksum.json
third_party/rust/ident_case/.cargo-ok
third_party/rust/idna/.cargo-checksum.json
third_party/rust/idna/.cargo-ok
third_party/rust/iovec/.cargo-checksum.json
third_party/rust/iovec/.cargo-ok
third_party/rust/isatty/.cargo-checksum.json
third_party/rust/isatty/.cargo-ok
third_party/rust/itertools/.cargo-checksum.json
third_party/rust/itertools/.cargo-ok
third_party/rust/itoa/.cargo-checksum.json
third_party/rust/itoa/.cargo-ok
third_party/rust/kernel32-sys-0.1.4/.cargo-checksum.json
third_party/rust/kernel32-sys-0.1.4/.cargo-ok
third_party/rust/kernel32-sys/.cargo-checksum.json
third_party/rust/kernel32-sys/.cargo-ok
third_party/rust/khronos_api/.cargo-checksum.json
third_party/rust/khronos_api/.cargo-ok
third_party/rust/ktmw32-sys/.cargo-checksum.json
third_party/rust/ktmw32-sys/.cargo-ok
third_party/rust/language-tags/.cargo-checksum.json
third_party/rust/language-tags/.cargo-ok
third_party/rust/lazy_static-0.1.16/.cargo-checksum.json
third_party/rust/lazy_static-0.1.16/.cargo-ok
third_party/rust/lazy_static-0.2.2/.cargo-checksum.json
third_party/rust/lazy_static-0.2.2/.cargo-ok
third_party/rust/lazy_static/.cargo-checksum.json
third_party/rust/lazy_static/.cargo-ok
third_party/rust/lazycell/.cargo-checksum.json
third_party/rust/lazycell/.cargo-ok
third_party/rust/libc/.cargo-checksum.json
third_party/rust/libc/.cargo-ok
third_party/rust/libloading/.cargo-checksum.json
third_party/rust/libloading/.cargo-ok
third_party/rust/libudev-sys/.cargo-checksum.json
third_party/rust/libudev-sys/.cargo-ok
third_party/rust/libudev/.cargo-checksum.json
third_party/rust/libudev/.cargo-ok
third_party/rust/libz-sys/.cargo-checksum.json
third_party/rust/libz-sys/.cargo-ok
third_party/rust/log-0.3.6/.cargo-checksum.json
third_party/rust/log-0.3.6/.cargo-ok
third_party/rust/log/.cargo-checksum.json
third_party/rust/log/.cargo-ok
third_party/rust/matches/.cargo-checksum.json
third_party/rust/matches/.cargo-ok
third_party/rust/memchr/.cargo-checksum.json
third_party/rust/memchr/.cargo-ok
third_party/rust/memmap/.cargo-checksum.json
third_party/rust/memmap/.cargo-ok
third_party/rust/mime/.cargo-checksum.json
third_party/rust/mime/.cargo-ok
third_party/rust/miniz-sys/.cargo-checksum.json
third_party/rust/miniz-sys/.cargo-ok
third_party/rust/mio-uds/.cargo-checksum.json
third_party/rust/mio-uds/.cargo-ok
third_party/rust/mio/.cargo-checksum.json
third_party/rust/mio/.cargo-ok
third_party/rust/miow/.cargo-checksum.json
third_party/rust/miow/.cargo-ok
third_party/rust/mozprofile/.cargo-checksum.json
third_party/rust/mozprofile/.cargo-ok
third_party/rust/mozrunner/.cargo-checksum.json
third_party/rust/mozrunner/.cargo-ok
third_party/rust/mozversion/.cargo-checksum.json
third_party/rust/mozversion/.cargo-ok
third_party/rust/msdos_time/.cargo-checksum.json
third_party/rust/msdos_time/.cargo-ok
third_party/rust/net2/.cargo-checksum.json
third_party/rust/net2/.cargo-ok
third_party/rust/nodrop/.cargo-checksum.json
third_party/rust/nodrop/.cargo-ok
third_party/rust/nom/.cargo-checksum.json
third_party/rust/nom/.cargo-ok
third_party/rust/num-integer/.cargo-checksum.json
third_party/rust/num-integer/.cargo-ok
third_party/rust/num-iter/.cargo-checksum.json
third_party/rust/num-iter/.cargo-ok
third_party/rust/num-traits-0.1.37/.cargo-checksum.json
third_party/rust/num-traits-0.1.37/.cargo-ok
third_party/rust/num-traits/.cargo-checksum.json
third_party/rust/num-traits/.cargo-ok
third_party/rust/num/.cargo-checksum.json
third_party/rust/num/.cargo-ok
third_party/rust/num_cpus-1.2.1/.cargo-checksum.json
third_party/rust/num_cpus-1.2.1/.cargo-ok
third_party/rust/num_cpus/.cargo-checksum.json
third_party/rust/num_cpus/.cargo-ok
third_party/rust/odds/.cargo-checksum.json
third_party/rust/odds/.cargo-ok
third_party/rust/ordered-float/.cargo-checksum.json
third_party/rust/ordered-float/.cargo-ok
third_party/rust/owning_ref/.cargo-checksum.json
third_party/rust/owning_ref/.cargo-ok
third_party/rust/parking_lot/.cargo-checksum.json
third_party/rust/parking_lot/.cargo-ok
third_party/rust/parking_lot_core/.cargo-checksum.json
third_party/rust/parking_lot_core/.cargo-ok
third_party/rust/peeking_take_while/.cargo-checksum.json
third_party/rust/peeking_take_while/.cargo-ok
third_party/rust/percent-encoding/.cargo-checksum.json
third_party/rust/percent-encoding/.cargo-ok
third_party/rust/phf/.cargo-checksum.json
third_party/rust/phf/.cargo-ok
third_party/rust/phf_codegen/.cargo-checksum.json
third_party/rust/phf_codegen/.cargo-ok
third_party/rust/phf_generator/.cargo-checksum.json
third_party/rust/phf_generator/.cargo-ok
third_party/rust/phf_shared/.cargo-checksum.json
third_party/rust/phf_shared/.cargo-ok
third_party/rust/pkg-config/.cargo-checksum.json
third_party/rust/pkg-config/.cargo-ok
third_party/rust/plane-split/.cargo-checksum.json
third_party/rust/plane-split/.cargo-ok
third_party/rust/podio/.cargo-checksum.json
third_party/rust/podio/.cargo-ok
third_party/rust/precomputed-hash/.cargo-checksum.json
third_party/rust/precomputed-hash/.cargo-ok
third_party/rust/procedural-masquerade/.cargo-checksum.json
third_party/rust/procedural-masquerade/.cargo-ok
third_party/rust/quasi/.cargo-checksum.json
third_party/rust/quasi/.cargo-ok
third_party/rust/quasi_codegen/.cargo-checksum.json
third_party/rust/quasi_codegen/.cargo-ok
third_party/rust/quote/.cargo-checksum.json
third_party/rust/quote/.cargo-ok
third_party/rust/rand-0.3.15/.cargo-checksum.json
third_party/rust/rand-0.3.15/.travis.yml
third_party/rust/rand-0.3.15/Cargo.toml
third_party/rust/rand-0.3.15/LICENSE-APACHE
third_party/rust/rand-0.3.15/LICENSE-MIT
third_party/rust/rand-0.3.15/README.md
third_party/rust/rand-0.3.15/appveyor.yml
third_party/rust/rand-0.3.15/benches/bench.rs
third_party/rust/rand-0.3.15/benches/distributions/exponential.rs
third_party/rust/rand-0.3.15/benches/distributions/gamma.rs
third_party/rust/rand-0.3.15/benches/distributions/mod.rs
third_party/rust/rand-0.3.15/benches/distributions/normal.rs
third_party/rust/rand-0.3.15/src/chacha.rs
third_party/rust/rand-0.3.15/src/distributions/exponential.rs
third_party/rust/rand-0.3.15/src/distributions/gamma.rs
third_party/rust/rand-0.3.15/src/distributions/mod.rs
third_party/rust/rand-0.3.15/src/distributions/normal.rs
third_party/rust/rand-0.3.15/src/distributions/range.rs
third_party/rust/rand-0.3.15/src/distributions/ziggurat_tables.rs
third_party/rust/rand-0.3.15/src/isaac.rs
third_party/rust/rand-0.3.15/src/lib.rs
third_party/rust/rand-0.3.15/src/os.rs
third_party/rust/rand-0.3.15/src/rand_impls.rs
third_party/rust/rand-0.3.15/src/read.rs
third_party/rust/rand-0.3.15/src/reseeding.rs
third_party/rust/rand/.cargo-checksum.json
third_party/rust/rand/.cargo-ok
third_party/rust/rand/.travis.yml
third_party/rust/rand/Cargo.toml
third_party/rust/rand/README.md
third_party/rust/rand/appveyor.yml
third_party/rust/rand/benches/bench.rs
third_party/rust/rand/src/chacha.rs
third_party/rust/rand/src/distributions/exponential.rs
third_party/rust/rand/src/distributions/gamma.rs
third_party/rust/rand/src/distributions/mod.rs
third_party/rust/rand/src/distributions/normal.rs
third_party/rust/rand/src/distributions/range.rs
third_party/rust/rand/src/isaac.rs
third_party/rust/rand/src/lib.rs
third_party/rust/rand/src/os.rs
third_party/rust/rand/src/rand_impls.rs
third_party/rust/rand/src/read.rs
third_party/rust/rand/src/reseeding.rs
third_party/rust/rayon-core/.cargo-checksum.json
third_party/rust/rayon-core/.cargo-ok
third_party/rust/rayon/.cargo-checksum.json
third_party/rust/rayon/.cargo-ok
third_party/rust/redox_syscall/.cargo-checksum.json
third_party/rust/redox_syscall/.cargo-ok
third_party/rust/regex-0.2.1/.cargo-checksum.json
third_party/rust/regex-0.2.1/.cargo-ok
third_party/rust/regex-syntax-0.4.0/.cargo-checksum.json
third_party/rust/regex-syntax-0.4.0/.cargo-ok
third_party/rust/regex-syntax/.cargo-checksum.json
third_party/rust/regex-syntax/.cargo-ok
third_party/rust/regex/.cargo-checksum.json
third_party/rust/regex/.cargo-ok
third_party/rust/runloop/.cargo-checksum.json
third_party/rust/runloop/.cargo-ok
third_party/rust/rust-ini/.cargo-checksum.json
third_party/rust/rust-ini/.cargo-ok
third_party/rust/rustc-demangle/.cargo-checksum.json
third_party/rust/rustc-demangle/.cargo-ok
third_party/rust/rustc-serialize-0.3.22/.cargo-checksum.json
third_party/rust/rustc-serialize-0.3.22/.cargo-ok
third_party/rust/rustc-serialize/.cargo-checksum.json
third_party/rust/rustc-serialize/.cargo-ok
third_party/rust/rustc_version/.cargo-checksum.json
third_party/rust/rustc_version/.cargo-ok
third_party/rust/same-file/.cargo-checksum.json
third_party/rust/same-file/.cargo-ok
third_party/rust/scopeguard/.cargo-checksum.json
third_party/rust/scopeguard/.cargo-ok
third_party/rust/semver-0.1.20/.cargo-checksum.json
third_party/rust/semver-0.1.20/.cargo-ok
third_party/rust/semver-parser/.cargo-checksum.json
third_party/rust/semver-parser/.cargo-ok
third_party/rust/semver/.cargo-checksum.json
third_party/rust/semver/.cargo-ok
third_party/rust/serde/.cargo-checksum.json
third_party/rust/serde/.cargo-ok
third_party/rust/serde_derive/.cargo-checksum.json
third_party/rust/serde_derive/.cargo-ok
third_party/rust/serde_derive_internals/.cargo-checksum.json
third_party/rust/serde_derive_internals/.cargo-ok
third_party/rust/simd/.cargo-checksum.json
third_party/rust/simd/.cargo-ok
third_party/rust/siphasher/.cargo-checksum.json
third_party/rust/siphasher/.cargo-ok
third_party/rust/slab/.cargo-checksum.json
third_party/rust/slab/.cargo-ok
third_party/rust/slog-atomic/.cargo-checksum.json
third_party/rust/slog-atomic/.cargo-ok
third_party/rust/slog-extra/.cargo-checksum.json
third_party/rust/slog-extra/.cargo-ok
third_party/rust/slog-stdlog/.cargo-checksum.json
third_party/rust/slog-stdlog/.cargo-ok
third_party/rust/slog-stream/.cargo-checksum.json
third_party/rust/slog-stream/.cargo-ok
third_party/rust/slog-term/.cargo-checksum.json
third_party/rust/slog-term/.cargo-ok
third_party/rust/slog/.cargo-checksum.json
third_party/rust/slog/.cargo-ok
third_party/rust/smallbitvec/.cargo-checksum.json
third_party/rust/smallbitvec/.cargo-ok
third_party/rust/smallvec/.cargo-checksum.json
third_party/rust/smallvec/.cargo-ok
third_party/rust/stable_deref_trait/.cargo-checksum.json
third_party/rust/stable_deref_trait/.cargo-ok
third_party/rust/strsim/.cargo-checksum.json
third_party/rust/strsim/.cargo-ok
third_party/rust/syn/.cargo-checksum.json
third_party/rust/syn/.cargo-ok
third_party/rust/synom/.cargo-checksum.json
third_party/rust/synom/.cargo-ok
third_party/rust/synstructure/.cargo-checksum.json
third_party/rust/synstructure/.cargo-ok
third_party/rust/syntex/.cargo-checksum.json
third_party/rust/syntex/.cargo-ok
third_party/rust/syntex_errors/.cargo-checksum.json
third_party/rust/syntex_errors/.cargo-ok
third_party/rust/syntex_pos/.cargo-checksum.json
third_party/rust/syntex_pos/.cargo-ok
third_party/rust/syntex_syntax/.cargo-checksum.json
third_party/rust/syntex_syntax/.cargo-ok
third_party/rust/tempdir/.cargo-checksum.json
third_party/rust/tempdir/.cargo-ok
third_party/rust/term/.cargo-checksum.json
third_party/rust/term/.cargo-ok
third_party/rust/term_size/.cargo-checksum.json
third_party/rust/term_size/.cargo-ok
third_party/rust/textwrap/.cargo-checksum.json
third_party/rust/textwrap/.cargo-ok
third_party/rust/thread-id-3.0.0/.cargo-checksum.json
third_party/rust/thread-id-3.0.0/.cargo-ok
third_party/rust/thread-id/.cargo-checksum.json
third_party/rust/thread-id/.cargo-ok
third_party/rust/thread_local/.cargo-checksum.json
third_party/rust/thread_local/.cargo-ok
third_party/rust/thread_profiler/.cargo-checksum.json
third_party/rust/thread_profiler/.cargo-ok
third_party/rust/time/.cargo-checksum.json
third_party/rust/time/.cargo-ok
third_party/rust/toml/.cargo-checksum.json
third_party/rust/toml/.cargo-ok
third_party/rust/traitobject/.cargo-checksum.json
third_party/rust/traitobject/.cargo-ok
third_party/rust/typeable/.cargo-checksum.json
third_party/rust/typeable/.cargo-ok
third_party/rust/unicase/.cargo-checksum.json
third_party/rust/unicase/.cargo-ok
third_party/rust/unicode-bidi/.cargo-checksum.json
third_party/rust/unicode-bidi/.cargo-ok
third_party/rust/unicode-normalization/.cargo-checksum.json
third_party/rust/unicode-normalization/.cargo-ok
third_party/rust/unicode-segmentation/.cargo-checksum.json
third_party/rust/unicode-segmentation/.cargo-ok
third_party/rust/unicode-width/.cargo-checksum.json
third_party/rust/unicode-width/.cargo-ok
third_party/rust/unicode-xid/.cargo-checksum.json
third_party/rust/unicode-xid/.cargo-ok
third_party/rust/unreachable/.cargo-checksum.json
third_party/rust/unreachable/.cargo-ok
third_party/rust/url/.cargo-checksum.json
third_party/rust/url/.cargo-ok
third_party/rust/utf8-ranges/.cargo-checksum.json
third_party/rust/utf8-ranges/.cargo-ok
third_party/rust/uuid/.cargo-checksum.json
third_party/rust/uuid/.cargo-ok
third_party/rust/vcpkg/.cargo-checksum.json
third_party/rust/vcpkg/.cargo-ok
third_party/rust/vec_map/.cargo-checksum.json
third_party/rust/vec_map/.cargo-ok
third_party/rust/void/.cargo-checksum.json
third_party/rust/void/.cargo-ok
third_party/rust/walkdir/.cargo-checksum.json
third_party/rust/walkdir/.cargo-ok
third_party/rust/which/.cargo-checksum.json
third_party/rust/which/.cargo-ok
third_party/rust/winapi-build/.cargo-checksum.json
third_party/rust/winapi-build/.cargo-ok
third_party/rust/winapi/.cargo-checksum.json
third_party/rust/winapi/.cargo-ok
third_party/rust/winreg/.cargo-checksum.json
third_party/rust/winreg/.cargo-ok
third_party/rust/ws2_32-sys/.cargo-checksum.json
third_party/rust/ws2_32-sys/.cargo-ok
third_party/rust/xml-rs/.cargo-checksum.json
third_party/rust/xml-rs/.cargo-ok
third_party/rust/zip/.cargo-checksum.json
third_party/rust/zip/.cargo-ok
toolkit/library/gtest/rust/Cargo.lock
toolkit/library/rust/Cargo.lock
--- a/third_party/rust/advapi32-sys/.cargo-checksum.json
+++ b/third_party/rust/advapi32-sys/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"323ff5358cf140e4d815e6f7563efdeffce840fa3394ead82839fdd8b02a6689","README.md":"cf602fdefd59881da22ea4f7a8db2cfa94e6e03cd9afb4fbf838143e1ca2c194","build.rs":"e063024318a8d117756b5a58dfb3a21d872ab9ba3c8762906f773ddc53eae45a","src/lib.rs":"6de786f2f5b1a1fcb0123086845bfeab7b012a600920862ff98dbacf67f3947a"},"package":"307c92332867e586720c0222ee9d890bbe8431711efed8a1b06bc5b40fc66bd7"}
\ No newline at end of file
+{"files":{"Cargo.toml":"323ff5358cf140e4d815e6f7563efdeffce840fa3394ead82839fdd8b02a6689","README.md":"cf602fdefd59881da22ea4f7a8db2cfa94e6e03cd9afb4fbf838143e1ca2c194","build.rs":"e063024318a8d117756b5a58dfb3a21d872ab9ba3c8762906f773ddc53eae45a","src/lib.rs":"6de786f2f5b1a1fcb0123086845bfeab7b012a600920862ff98dbacf67f3947a"},"package":"307c92332867e586720c0222ee9d890bbe8431711efed8a1b06bc5b40fc66bd7"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/aho-corasick-0.6.2/.cargo-checksum.json
+++ b/third_party/rust/aho-corasick-0.6.2/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e17babe5ba0bdd19ec59a37b4a099fd4313bff58be63a2ff506075f9a97dc172","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"367c53caf576e1c811c77b5234f4d00ee23f5b1052d5e11bdc0c3153a8d9ae82","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","Makefile":"a45a128685a2ae7d4fa39d310786674417ee113055ef290a11f88002285865fc","README.md":"9bc60d2cec222b50f87c85cf9475349bb228a36f89796c5d6481c52560ddde3a","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"acf4844efadeafc7bc396c2b16f2a184e140b6c17d1084dbaf454196de2090cd","benches/random.txt":"9386fb3efedc7ffbd09fb49088347f1056bc2d90a861009fa2f804cdb714efcb","ctags.rust":"3d128d3cc59f702e68953ba2fe6c3f46bc6991fc575308db060482d5da0c79f3","examples/dict-search.rs":"30eb44b1a0b599507db4c23a90f74199faabc64a8ae1d603ecdf3bba7428eb1e","session.vim":"95cb1d7caf0ff7fbe76ec911988d908ddd883381c925ba64b537695bc9f021c4","src/autiter.rs":"dc8817af24825c356842c814d771868fb07b6965addf4780e8b9dea9718344a0","src/full.rs":"b83a9c8ff3ef611c316b68650915df2d7f361a49b59dab103dc2c5476f2d8303","src/lib.rs":"68bf2ed02d58bebee6f7f7579038f1e4b60a2c4acc334263cb837bcbe15ffe94","src/main.rs":"fc867cb5f0b02d0f49ecab06b72c05a247cbcf3bf9228c235de8e787bda7bef5"},"package":"0638fd549427caa90c499814196d1b9e3725eb4d15d7339d6de073a680ed0ca2"}
\ No newline at end of file
+{"files":{".travis.yml":"e17babe5ba0bdd19ec59a37b4a099fd4313bff58be63a2ff506075f9a97dc172","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"367c53caf576e1c811c77b5234f4d00ee23f5b1052d5e11bdc0c3153a8d9ae82","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","Makefile":"a45a128685a2ae7d4fa39d310786674417ee113055ef290a11f88002285865fc","README.md":"9bc60d2cec222b50f87c85cf9475349bb228a36f89796c5d6481c52560ddde3a","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"acf4844efadeafc7bc396c2b16f2a184e140b6c17d1084dbaf454196de2090cd","benches/random.txt":"9386fb3efedc7ffbd09fb49088347f1056bc2d90a861009fa2f804cdb714efcb","ctags.rust":"3d128d3cc59f702e68953ba2fe6c3f46bc6991fc575308db060482d5da0c79f3","examples/dict-search.rs":"30eb44b1a0b599507db4c23a90f74199faabc64a8ae1d603ecdf3bba7428eb1e","session.vim":"95cb1d7caf0ff7fbe76ec911988d908ddd883381c925ba64b537695bc9f021c4","src/autiter.rs":"dc8817af24825c356842c814d771868fb07b6965addf4780e8b9dea9718344a0","src/full.rs":"b83a9c8ff3ef611c316b68650915df2d7f361a49b59dab103dc2c5476f2d8303","src/lib.rs":"68bf2ed02d58bebee6f7f7579038f1e4b60a2c4acc334263cb837bcbe15ffe94","src/main.rs":"fc867cb5f0b02d0f49ecab06b72c05a247cbcf3bf9228c235de8e787bda7bef5"},"package":"0638fd549427caa90c499814196d1b9e3725eb4d15d7339d6de073a680ed0ca2"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/aho-corasick/.cargo-checksum.json
+++ b/third_party/rust/aho-corasick/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e17babe5ba0bdd19ec59a37b4a099fd4313bff58be63a2ff506075f9a97dc172","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"b3fa06c2147a4749cd984ded69024ddcc8b7d578ab763b60227b3ba474c3ec70","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","Makefile":"a45a128685a2ae7d4fa39d310786674417ee113055ef290a11f88002285865fc","README.md":"9bc60d2cec222b50f87c85cf9475349bb228a36f89796c5d6481c52560ddde3a","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"acf4844efadeafc7bc396c2b16f2a184e140b6c17d1084dbaf454196de2090cd","benches/random.txt":"9386fb3efedc7ffbd09fb49088347f1056bc2d90a861009fa2f804cdb714efcb","ctags.rust":"3d128d3cc59f702e68953ba2fe6c3f46bc6991fc575308db060482d5da0c79f3","examples/dict-search.rs":"30eb44b1a0b599507db4c23a90f74199faabc64a8ae1d603ecdf3bba7428eb1e","session.vim":"95cb1d7caf0ff7fbe76ec911988d908ddd883381c925ba64b537695bc9f021c4","src/autiter.rs":"98c31a7fbe21cfacaa858f90409f0d86edd46dda1b7651f4e800d929a50afb7b","src/full.rs":"b83a9c8ff3ef611c316b68650915df2d7f361a49b59dab103dc2c5476f2d8303","src/lib.rs":"68bf2ed02d58bebee6f7f7579038f1e4b60a2c4acc334263cb837bcbe15ffe94","src/main.rs":"fc867cb5f0b02d0f49ecab06b72c05a247cbcf3bf9228c235de8e787bda7bef5"},"package":"500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699"}
\ No newline at end of file
+{"files":{".travis.yml":"e17babe5ba0bdd19ec59a37b4a099fd4313bff58be63a2ff506075f9a97dc172","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"b3fa06c2147a4749cd984ded69024ddcc8b7d578ab763b60227b3ba474c3ec70","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","Makefile":"a45a128685a2ae7d4fa39d310786674417ee113055ef290a11f88002285865fc","README.md":"9bc60d2cec222b50f87c85cf9475349bb228a36f89796c5d6481c52560ddde3a","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"acf4844efadeafc7bc396c2b16f2a184e140b6c17d1084dbaf454196de2090cd","benches/random.txt":"9386fb3efedc7ffbd09fb49088347f1056bc2d90a861009fa2f804cdb714efcb","ctags.rust":"3d128d3cc59f702e68953ba2fe6c3f46bc6991fc575308db060482d5da0c79f3","examples/dict-search.rs":"30eb44b1a0b599507db4c23a90f74199faabc64a8ae1d603ecdf3bba7428eb1e","session.vim":"95cb1d7caf0ff7fbe76ec911988d908ddd883381c925ba64b537695bc9f021c4","src/autiter.rs":"98c31a7fbe21cfacaa858f90409f0d86edd46dda1b7651f4e800d929a50afb7b","src/full.rs":"b83a9c8ff3ef611c316b68650915df2d7f361a49b59dab103dc2c5476f2d8303","src/lib.rs":"68bf2ed02d58bebee6f7f7579038f1e4b60a2c4acc334263cb837bcbe15ffe94","src/main.rs":"fc867cb5f0b02d0f49ecab06b72c05a247cbcf3bf9228c235de8e787bda7bef5"},"package":"500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/ansi_term/.cargo-checksum.json
+++ b/third_party/rust/ansi_term/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"eb7113e5f5e36c2e00ae8e88a84dd5273505036520f2787133ba575d5fdd93c1","Cargo.toml":"ffe01d108855864ea3c975aad9da22d2a2324730022a5d4e119639f5850209db","LICENCE":"2762990c7fbba9d550802a2593c1d857dcd52596bb0f9f192a97e9a7ac5f4f9e","README.md":"ee22a0db93788e9bfe4c3cf4d7df5daf881a3105f941a915140a34018ff394e5","src/lib.rs":"867242d0699126af5a115709030888e958edfb835a0b3c15c4159a045f367e18"},"package":"23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"}
\ No newline at end of file
+{"files":{".travis.yml":"eb7113e5f5e36c2e00ae8e88a84dd5273505036520f2787133ba575d5fdd93c1","Cargo.toml":"ffe01d108855864ea3c975aad9da22d2a2324730022a5d4e119639f5850209db","LICENCE":"2762990c7fbba9d550802a2593c1d857dcd52596bb0f9f192a97e9a7ac5f4f9e","README.md":"ee22a0db93788e9bfe4c3cf4d7df5daf881a3105f941a915140a34018ff394e5","src/lib.rs":"867242d0699126af5a115709030888e958edfb835a0b3c15c4159a045f367e18"},"package":"23ac7c30002a5accbf7e8987d0632fa6de155b7c3d39d0067317a391e00a2ef6"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/app_units/.cargo-checksum.json
+++ b/third_party/rust/app_units/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"6b96b2c6bfd7e1acef4b825a2813fc4277859eb9400a16800db8835c25e4087d","Cargo.toml":"41d47153a6043d3e4599f827888e1ac43c204e52ed5f6998b1e275fcae21a3cc","README.md":"9f048d969f9f8333cdcdb892744cd0816e4f2922c8817fa5e9e07f9472fe1050","src/app_unit.rs":"0f4fde2c0481b6dd021f48c8ef548090e7c577c02c429c41626c2b5e7a006949","src/lib.rs":"2df7d863c47d8b22f9af66caeafa87e6a206ee713a8aeaa55c5a80a42a92513b"},"package":"ed0a4de09a3b8449515e649f3bb84f72ea15fc2d10639beb0776a09b7d308074"}
\ No newline at end of file
+{"files":{".travis.yml":"6b96b2c6bfd7e1acef4b825a2813fc4277859eb9400a16800db8835c25e4087d","Cargo.toml":"41d47153a6043d3e4599f827888e1ac43c204e52ed5f6998b1e275fcae21a3cc","README.md":"9f048d969f9f8333cdcdb892744cd0816e4f2922c8817fa5e9e07f9472fe1050","src/app_unit.rs":"0f4fde2c0481b6dd021f48c8ef548090e7c577c02c429c41626c2b5e7a006949","src/lib.rs":"2df7d863c47d8b22f9af66caeafa87e6a206ee713a8aeaa55c5a80a42a92513b"},"package":"ed0a4de09a3b8449515e649f3bb84f72ea15fc2d10639beb0776a09b7d308074"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/arrayvec/.cargo-checksum.json
+++ b/third_party/rust/arrayvec/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"23504e7dd0d6950739f589a435d468150b0d622bc8a88d5081d82117763422c5","Cargo.toml":"2cf7ac51721bf5180a63e87bed7a8f2ec9303523230efdfb95cdc5b51da502f3","LICENSE":"c3f6a6243c9101744bc87de3376336ca55dcbfc4b3c62c70c4e7b735b792266c","Makefile":"2130e4879c185e1ef8e40e0f9d54e1a1cbc8160e2957076b947e79e4df84fd73","README.rst":"cc9b7337e517729f7a12f2639feb60cb49534fd0ccefd60bf039f26b3fb64b70","custom.css":"e6f2cd299392337b4e2959c52f422e5b7be11920ea98d10db44d10ddef5ed47c","src/array.rs":"10b95a278d0e83ed26bb7ed5b84babb03e77436404e6215e11eb9a252e05287e","src/array_string.rs":"261a55a20007fbec6008151fce2fa380af6ade95008ab71b4f0f0bc9625000c2","src/lib.rs":"2ba25ccca0fc5fc935092fa2930f74b650ce9cdc01ac2243cbebf11d376715f5","tests/generic_array.rs":"f1b56aab333f74bd3d7db90f03bbb6bb7495206fc3461a0d25a03f75f4988041","tests/tests.rs":"a143113a7f1db16bd75e8c6b540ae826114fb17213e2415cf75d133015951934"},"package":"699e63a93b79d717e8c3b5eb1b28b7780d0d6d9e59a72eb769291c83b0c8dc67"}
\ No newline at end of file
+{"files":{".travis.yml":"23504e7dd0d6950739f589a435d468150b0d622bc8a88d5081d82117763422c5","Cargo.toml":"2cf7ac51721bf5180a63e87bed7a8f2ec9303523230efdfb95cdc5b51da502f3","LICENSE":"c3f6a6243c9101744bc87de3376336ca55dcbfc4b3c62c70c4e7b735b792266c","Makefile":"2130e4879c185e1ef8e40e0f9d54e1a1cbc8160e2957076b947e79e4df84fd73","README.rst":"cc9b7337e517729f7a12f2639feb60cb49534fd0ccefd60bf039f26b3fb64b70","custom.css":"e6f2cd299392337b4e2959c52f422e5b7be11920ea98d10db44d10ddef5ed47c","src/array.rs":"10b95a278d0e83ed26bb7ed5b84babb03e77436404e6215e11eb9a252e05287e","src/array_string.rs":"261a55a20007fbec6008151fce2fa380af6ade95008ab71b4f0f0bc9625000c2","src/lib.rs":"2ba25ccca0fc5fc935092fa2930f74b650ce9cdc01ac2243cbebf11d376715f5","tests/generic_array.rs":"f1b56aab333f74bd3d7db90f03bbb6bb7495206fc3461a0d25a03f75f4988041","tests/tests.rs":"a143113a7f1db16bd75e8c6b540ae826114fb17213e2415cf75d133015951934"},"package":"699e63a93b79d717e8c3b5eb1b28b7780d0d6d9e59a72eb769291c83b0c8dc67"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/aster/.cargo-checksum.json
+++ b/third_party/rust/aster/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"687fdaee594caaf4e71f43436f1ad56ede33916858eda1dbd1996ead64e1434e","src/arm.rs":"83b6ba22ded921ae45e02888e879b2ae73d4659db53e6552675433c3c2e0ed21","src/attr.rs":"7c6d6ff66cfbfa23e5857192db1c7e97c3b2826f4434ea7bd5d4b1ded1fe8b5e","src/block.rs":"71e2268ba151b7ee60a2fe0b0b3a7cf3e2ce3bff4fb0ee260db70ad9b1cd8826","src/constant.rs":"471b0ffc52684733a598a43e08b1719bf6852c26eca74e7f5105f0f964543980","src/ctx.rs":"738213a64a96cfe3beba6d08d82d89d48dc384b37fe726621b324bac5c017859","src/expr.rs":"e3c1237d1631f32ca2459f9579cbe4ec5877952227527df4feb5694f303f6d95","src/fn_decl.rs":"85c30d78942bb7cda0c6bddcf55f1a35b3581a99fb15e33f3abf2763b84f8073","src/generics.rs":"0ee307fadb0922599d9f8b0be5b9eb6966a601b2792167fe881911efc5debcb1","src/ident.rs":"31ebf657a9c267e24e66ed5e83cc76056e8d2564a8f60883871490e414154223","src/invoke.rs":"03f52dd0b135e8ffcc52c3802cdf8d516ef4a53e393ce4bdd82ced19fd106b88","src/item.rs":"238d4e8ecef7c1d2a4104e6ff12a24bdf0a238c22e4ea6749dad12bd21febf33","src/lib.rs":"64faae6667ed9702bd06fd942dc27e53b7dd484aabe15396ef3c212c0b255316","src/lifetime.rs":"1801727768d88328b816a6aafe92add956d2399a82e794ca2eeac47d5f5bd681","src/lit.rs":"5420333f97ab32d9f373336851c1791802ef73fa5f1bc5139288f503c28a1ba6","src/mac.rs":"ac9569bf0f87a043dcb31063a64cff405b7f6996efaa8d9059cbc4b18781e356","src/method.rs":"bce543c148022170decd0cff9af3b37781323bcdf0dc35e23beec5f200dbc549","src/pat.rs":"39cc530a1b246e67c1e004fee1dcba9befe4264404d9a38ced3cb348a88b4c55","src/path.rs":"d5370cf1b134e564a636ce435213b3027b6e24ae42eb94c9806ec13e2b9a6045","src/qpath.rs":"b01bfe2b391754d00f32b7691ae7d65d0d91d78d69c4dfa9250e34d27b5315cf","src/self_.rs":"565780ba85ba851675331cd60dbe8a43f5eb87c318f6cc3b11bb7ba77a0d53fa","src/stmt.rs":"99e577b1417ff66c3057454ca27266a19329c6896b0f36259dcbdba0ff0005fb","src/struct_field.rs":"189fa910e236fea815d85c6b4535a76e6e7151a9d113a806bb60c6a192c7042b","src/symbol.rs":"ecab71523e9a819e063ce4231520bb7b46ba2ac8f2e2212f4f4e189d2988792e","src/ty.rs":"d79a6d58e008d520761e3a6c1a5dc7732fa62694680a23a2c07dc9ea44781f2e","src/ty_param.rs":"082adf61d2959ffe6880e85b6c0356a59529a52c1caee23f0403d33bf7b600c0","src/variant.rs":"7fed49d694e029c81b4b70095e00704f1c67ef6357d122157d305f85dd95a512","src/variant_data.rs":"346198e982a2549ed4942ac7c6581f222f6284392afd9c0898acbfa53f58ffd3","src/where_predicate.rs":"41bc54f94e9fdc89b1a86cb293fb2626b3fd3905666a7baa7b78d41baa18abfa"},"package":"4ccfdf7355d9db158df68f976ed030ab0f6578af811f5a7bb6dcf221ec24e0e0"}
\ No newline at end of file
+{"files":{"Cargo.toml":"687fdaee594caaf4e71f43436f1ad56ede33916858eda1dbd1996ead64e1434e","src/arm.rs":"83b6ba22ded921ae45e02888e879b2ae73d4659db53e6552675433c3c2e0ed21","src/attr.rs":"7c6d6ff66cfbfa23e5857192db1c7e97c3b2826f4434ea7bd5d4b1ded1fe8b5e","src/block.rs":"71e2268ba151b7ee60a2fe0b0b3a7cf3e2ce3bff4fb0ee260db70ad9b1cd8826","src/constant.rs":"471b0ffc52684733a598a43e08b1719bf6852c26eca74e7f5105f0f964543980","src/ctx.rs":"738213a64a96cfe3beba6d08d82d89d48dc384b37fe726621b324bac5c017859","src/expr.rs":"e3c1237d1631f32ca2459f9579cbe4ec5877952227527df4feb5694f303f6d95","src/fn_decl.rs":"85c30d78942bb7cda0c6bddcf55f1a35b3581a99fb15e33f3abf2763b84f8073","src/generics.rs":"0ee307fadb0922599d9f8b0be5b9eb6966a601b2792167fe881911efc5debcb1","src/ident.rs":"31ebf657a9c267e24e66ed5e83cc76056e8d2564a8f60883871490e414154223","src/invoke.rs":"03f52dd0b135e8ffcc52c3802cdf8d516ef4a53e393ce4bdd82ced19fd106b88","src/item.rs":"238d4e8ecef7c1d2a4104e6ff12a24bdf0a238c22e4ea6749dad12bd21febf33","src/lib.rs":"64faae6667ed9702bd06fd942dc27e53b7dd484aabe15396ef3c212c0b255316","src/lifetime.rs":"1801727768d88328b816a6aafe92add956d2399a82e794ca2eeac47d5f5bd681","src/lit.rs":"5420333f97ab32d9f373336851c1791802ef73fa5f1bc5139288f503c28a1ba6","src/mac.rs":"ac9569bf0f87a043dcb31063a64cff405b7f6996efaa8d9059cbc4b18781e356","src/method.rs":"bce543c148022170decd0cff9af3b37781323bcdf0dc35e23beec5f200dbc549","src/pat.rs":"39cc530a1b246e67c1e004fee1dcba9befe4264404d9a38ced3cb348a88b4c55","src/path.rs":"d5370cf1b134e564a636ce435213b3027b6e24ae42eb94c9806ec13e2b9a6045","src/qpath.rs":"b01bfe2b391754d00f32b7691ae7d65d0d91d78d69c4dfa9250e34d27b5315cf","src/self_.rs":"565780ba85ba851675331cd60dbe8a43f5eb87c318f6cc3b11bb7ba77a0d53fa","src/stmt.rs":"99e577b1417ff66c3057454ca27266a19329c6896b0f36259dcbdba0ff0005fb","src/struct_field.rs":"189fa910e236fea815d85c6b4535a76e6e7151a9d113a806bb60c6a192c7042b","src/symbol.rs":"ecab71523e9a819e063ce4231520bb7b46ba2ac8f2e2212f4f4e189d2988792e","src/ty.rs":"d79a6d58e008d520761e3a6c1a5dc7732fa62694680a23a2c07dc9ea44781f2e","src/ty_param.rs":"082adf61d2959ffe6880e85b6c0356a59529a52c1caee23f0403d33bf7b600c0","src/variant.rs":"7fed49d694e029c81b4b70095e00704f1c67ef6357d122157d305f85dd95a512","src/variant_data.rs":"346198e982a2549ed4942ac7c6581f222f6284392afd9c0898acbfa53f58ffd3","src/where_predicate.rs":"41bc54f94e9fdc89b1a86cb293fb2626b3fd3905666a7baa7b78d41baa18abfa"},"package":"4ccfdf7355d9db158df68f976ed030ab0f6578af811f5a7bb6dcf221ec24e0e0"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/atomic_refcell/.cargo-checksum.json
+++ b/third_party/rust/atomic_refcell/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"2246eb912d5b6592d7eafb7bcb171b602533d2f4522cf7f963c1cf10457dda40","README.md":"365e853efc3662c9750a93c8b67de69054bf585342abd2fc11a214ce0a408419","benches/basic.rs":"aba00ab044b37a7fb4e5c855cf88a323a04d6143b651717e227fdd12735602f3","src/lib.rs":"8fadbfe41328feeb9671c0408aaf6d18c2ca2b48b5740768e549e75ca2192ce6","tests/basic.rs":"1422080709fd5ccc45af363875926d140a3d85f3497f17e858576f1214a3b638"},"package":"fb2dcb6e6d35f20276943cc04bb98e538b348d525a04ac79c10021561d202f21"}
\ No newline at end of file
+{"files":{"Cargo.toml":"2246eb912d5b6592d7eafb7bcb171b602533d2f4522cf7f963c1cf10457dda40","README.md":"365e853efc3662c9750a93c8b67de69054bf585342abd2fc11a214ce0a408419","benches/basic.rs":"aba00ab044b37a7fb4e5c855cf88a323a04d6143b651717e227fdd12735602f3","src/lib.rs":"8fadbfe41328feeb9671c0408aaf6d18c2ca2b48b5740768e549e75ca2192ce6","tests/basic.rs":"1422080709fd5ccc45af363875926d140a3d85f3497f17e858576f1214a3b638"},"package":"fb2dcb6e6d35f20276943cc04bb98e538b348d525a04ac79c10021561d202f21"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/atty/.cargo-checksum.json
+++ b/third_party/rust/atty/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"4752c993a36dc8b271f25998b2c0b34af65f82fb61f7d71d0e34612a8a7cd5b0","CHANGELOG.md":"a182831141a059342664a8aaf40b9fd7828e8004094fb42e1b17129a090899ec","Cargo.toml":"5fa1586ac82ee945f057b87c81acae6e588de2303536445b4a766028633347e0","LICENSE":"235760c32039b0a6b23207918b71c1aa5d8318ee651c0f245d290ba1f47631cf","README.md":"b23f66e15c8311e11cbc3b10bfc87a7cb10bc4d758c6a352b155127b48b970d7","appveyor.yml":"dfe3d3eddd762a3cc76174e03ea91c93f544ce7fa05fbca4975f1624757d65e4","examples/atty.rs":"1551387a71474d9ac1b5153231f884e9e05213badcfaa3494ad2cb7ea958374a","src/lib.rs":"4530fe39e123b042eb023e4cf98a81d5184d06c938d3604b002f418101beb524"},"package":"d912da0db7fa85514874458ca3651fe2cddace8d0b0505571dbdcd41ab490159"}
\ No newline at end of file
+{"files":{".travis.yml":"4752c993a36dc8b271f25998b2c0b34af65f82fb61f7d71d0e34612a8a7cd5b0","CHANGELOG.md":"a182831141a059342664a8aaf40b9fd7828e8004094fb42e1b17129a090899ec","Cargo.toml":"5fa1586ac82ee945f057b87c81acae6e588de2303536445b4a766028633347e0","LICENSE":"235760c32039b0a6b23207918b71c1aa5d8318ee651c0f245d290ba1f47631cf","README.md":"b23f66e15c8311e11cbc3b10bfc87a7cb10bc4d758c6a352b155127b48b970d7","appveyor.yml":"dfe3d3eddd762a3cc76174e03ea91c93f544ce7fa05fbca4975f1624757d65e4","examples/atty.rs":"1551387a71474d9ac1b5153231f884e9e05213badcfaa3494ad2cb7ea958374a","src/lib.rs":"4530fe39e123b042eb023e4cf98a81d5184d06c938d3604b002f418101beb524"},"package":"d912da0db7fa85514874458ca3651fe2cddace8d0b0505571dbdcd41ab490159"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/backtrace-sys/.cargo-checksum.json
+++ b/third_party/rust/backtrace-sys/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"749f043da5cdbd988e2068e94feb3e75ed326945a99cf288c94ae444f5328680","build.rs":"2cf7c28f03f85c8e68969bcb5b076c8effa8543d39a12fe651ff332ac6a394c7","src/lib.rs":"cb45ba047240bceac6ea74da50c2f48ae81a965b578c833a766a3ea0db1075f3","src/libbacktrace/ChangeLog":"ad6f9058524b950aed734db83419e0624df55a48af8091c8bcad7a125aeeffdd","src/libbacktrace/ChangeLog.jit":"ee143b5c9dc571d9aca006be246a83b1f019c39a3fd7b0025eb37463e30200ce","src/libbacktrace/Makefile.am":"74d0036c9715cb7fa6c749cead794ba96283f47d243cf2b25bc6fac8f04667d5","src/libbacktrace/Makefile.in":"9ca92df95c8d62b8a0e106357a796ef4d2c5ec7fd02ab133fd0a65de1984e096","src/libbacktrace/README":"3d1a15714583197945df8db054da6f30613316ec311c5ec2d68b92fab12364a2","src/libbacktrace/aclocal.m4":"e3a6dfa4ce929624ac289b260987a7fa9b512cfbf3ff6f39c5d1e38cbad1a0ea","src/libbacktrace/alloc.c":"829ceab369210fc60758f339807fe0bf55832c77adb3a4450fae586a90a9673d","src/libbacktrace/ansidecl.h":"14acfcd6c044bc73de85b120cbc3e626771a01712911ee1f6137585fd710fb1e","src/libbacktrace/atomic.c":"3e1882a520e0e1115107e194fbd97daa8d3feef15a70047969f4976e7542c263","src/libbacktrace/backtrace-supported.h.in":"42277f3c383386b6cfa3d3d889336e92303fac0ae1a9fb8a6a56737245dfb8f3","src/libbacktrace/backtrace.c":"76bdabddc4eb8a46a7eec98ce610c86909c89c629eb850a0cde98f5a78c9b99d","src/libbacktrace/backtrace.h":"cd2db6474556b655e42c0a973b871c1b6cb4796809490bf59cc8d3d0e8c083f5","src/libbacktrace/btest.c":"fff55e4acf6ad02a6f719046fc4e3f8bf795166ed9956122a79e17c6be266738","src/libbacktrace/config.guess":"8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27","src/libbacktrace/config.h.in":"9b0d30416c93906e5c0ce36c95a7426bfd41228114f381949e89d263305b5b65","src/libbacktrace/config.sub":"3b739084e4b409aacf8531f87b57efa602eccdd17b5cddbc4ae1313a2c866f34","src/libbacktrace/configure":"2b45c89d06809c6ed49d70bfdf51a93e44370fc81f689169a073f47b14b366e5","src/libbacktrace/configure.ac":"360b1a033e33d2c58d2f36aaa6644a2aac0dd8960417df6d64202cc099a1c3f3","src/libbacktrace/dwarf.c":"b969c3abb07a09aa4ac5094dba5777d2c23fee77ade4ec0934142d6b81049785","src/libbacktrace/dwarf2.def":"d947302d8b259f0abdd9dd2f50a0713f4e7395c05ce88ddfdb37a7145b045d82","src/libbacktrace/dwarf2.h":"b3b13fa412a1573e3ee8dcb1d603ec33de7140f00b3bbbaa5292724f0087ace3","src/libbacktrace/elf.c":"728d7e47bf077de4dad6eecc76c134b4b4898dc5866572587692848f29aaec5c","src/libbacktrace/fileline.c":"bae25b6662bfd01a43bccc645206e00aeea27f18a51f6303f00f4fa1d9f2e861","src/libbacktrace/filenames.h":"bce400200dbc7452ca2a7f27dd36516949c4c94a135a6a322f011f3ce7817377","src/libbacktrace/filetype.awk":"9dd5352f288c3737fccd24a2c7583f4d0dbca2b95b2735a90a26b644478018af","src/libbacktrace/hashtab.h":"4cb7f68db5c2e8ff1190ecf859e7feb58447ea20bd9818bb1f447b46e2813c58","src/libbacktrace/install-sh":"d7c113e5484fce8b48f9a34a7a91e385ec279247d415b0b7d749bd56ad8ee8a2","src/libbacktrace/internal.h":"ed657e14aa33b4b5217919435e69019c5a677a00a9c134bf0297f000f146b093","src/libbacktrace/ltmain.sh":"ee4019f80b993cdb1bd13bf39434ad4f1ef15ae57a97594c53fb7b1d76d776a4","src/libbacktrace/missing":"b1a337b731bbb58846d31ca2f5143c293a455fa41b481e236e89a9016d96b034","src/libbacktrace/mmap.c":"fec72286a2d8a0c53fd56ea61b3766b87031f6f803f6de6c3c656e39bc85cdc2","src/libbacktrace/mmapio.c":"32a672fd2b8b3395c8a16ef11d839437ca35570fbc235bb0e2e70ef8097a12fc","src/libbacktrace/nounwind.c":"7694636af38ef488c814ab9b71854d6a259c1f3f635bd4c3ed99a88ca2beb5f1","src/libbacktrace/pecoff.c":"00cf6976cfc1e018f5e5473d4fbef4ae86de825dd2749897c45dfcebcefc6abf","src/libbacktrace/posix.c":"73754fcfa0a5b0342e8fe32166e7228b61e022699a8a3c9a2ef8e46260736704","src/libbacktrace/print.c":"ec1e80e17e27130bf9412470e8dc9155a0dc9ca3a78125081f5073b438b54157","src/libbacktrace/read.c":"399458fb06389aa4bd5ce376c4620cf733b5555d1dabe7ef19f185da1e37e614","src/libbacktrace/simple.c":"686d976c2bdb1a074f9be05af026d4b4c7a4978c2602268747d492563f18e0dc","src/libbacktrace/sort.c":"1a1e44af4e4d02fc568b318aa1517792edd6972a27029ba78e938856ef8ba1a0","src/libbacktrace/state.c":"49d547f5622b0ea0c39bc873b09a7dce276fdc6469118f5ab2e72c55bd0457fb","src/libbacktrace/stest.c":"aa1b90fe2d6dc8ac65ac0168776c2d242efc6460ac596deb14ac1e72bf764871","src/libbacktrace/unknown.c":"914aa113cd17ed678d40927391b35f6027e87b3a02e36e9f1822ec1efe9c0e20","symbol-map":"b941b2516efbb9e46521eeb166c60b31d52b2a4aaaf35d7f9af24946bbe1328a"},"package":"d192fd129132fbc97497c1f2ec2c2c5174e376b95f535199ef4fe0a293d33842"}
\ No newline at end of file
+{"files":{"Cargo.toml":"749f043da5cdbd988e2068e94feb3e75ed326945a99cf288c94ae444f5328680","build.rs":"2cf7c28f03f85c8e68969bcb5b076c8effa8543d39a12fe651ff332ac6a394c7","src/lib.rs":"cb45ba047240bceac6ea74da50c2f48ae81a965b578c833a766a3ea0db1075f3","src/libbacktrace/ChangeLog":"ad6f9058524b950aed734db83419e0624df55a48af8091c8bcad7a125aeeffdd","src/libbacktrace/ChangeLog.jit":"ee143b5c9dc571d9aca006be246a83b1f019c39a3fd7b0025eb37463e30200ce","src/libbacktrace/Makefile.am":"74d0036c9715cb7fa6c749cead794ba96283f47d243cf2b25bc6fac8f04667d5","src/libbacktrace/Makefile.in":"9ca92df95c8d62b8a0e106357a796ef4d2c5ec7fd02ab133fd0a65de1984e096","src/libbacktrace/README":"3d1a15714583197945df8db054da6f30613316ec311c5ec2d68b92fab12364a2","src/libbacktrace/aclocal.m4":"e3a6dfa4ce929624ac289b260987a7fa9b512cfbf3ff6f39c5d1e38cbad1a0ea","src/libbacktrace/alloc.c":"829ceab369210fc60758f339807fe0bf55832c77adb3a4450fae586a90a9673d","src/libbacktrace/ansidecl.h":"14acfcd6c044bc73de85b120cbc3e626771a01712911ee1f6137585fd710fb1e","src/libbacktrace/atomic.c":"3e1882a520e0e1115107e194fbd97daa8d3feef15a70047969f4976e7542c263","src/libbacktrace/backtrace-supported.h.in":"42277f3c383386b6cfa3d3d889336e92303fac0ae1a9fb8a6a56737245dfb8f3","src/libbacktrace/backtrace.c":"76bdabddc4eb8a46a7eec98ce610c86909c89c629eb850a0cde98f5a78c9b99d","src/libbacktrace/backtrace.h":"cd2db6474556b655e42c0a973b871c1b6cb4796809490bf59cc8d3d0e8c083f5","src/libbacktrace/btest.c":"fff55e4acf6ad02a6f719046fc4e3f8bf795166ed9956122a79e17c6be266738","src/libbacktrace/config.guess":"8131853dbc8c3be5171fa96353de7a884a79d3f1d6b3fbf48f99037f5f95fe27","src/libbacktrace/config.h.in":"9b0d30416c93906e5c0ce36c95a7426bfd41228114f381949e89d263305b5b65","src/libbacktrace/config.sub":"3b739084e4b409aacf8531f87b57efa602eccdd17b5cddbc4ae1313a2c866f34","src/libbacktrace/configure":"2b45c89d06809c6ed49d70bfdf51a93e44370fc81f689169a073f47b14b366e5","src/libbacktrace/configure.ac":"360b1a033e33d2c58d2f36aaa6644a2aac0dd8960417df6d64202cc099a1c3f3","src/libbacktrace/dwarf.c":"b969c3abb07a09aa4ac5094dba5777d2c23fee77ade4ec0934142d6b81049785","src/libbacktrace/dwarf2.def":"d947302d8b259f0abdd9dd2f50a0713f4e7395c05ce88ddfdb37a7145b045d82","src/libbacktrace/dwarf2.h":"b3b13fa412a1573e3ee8dcb1d603ec33de7140f00b3bbbaa5292724f0087ace3","src/libbacktrace/elf.c":"728d7e47bf077de4dad6eecc76c134b4b4898dc5866572587692848f29aaec5c","src/libbacktrace/fileline.c":"bae25b6662bfd01a43bccc645206e00aeea27f18a51f6303f00f4fa1d9f2e861","src/libbacktrace/filenames.h":"bce400200dbc7452ca2a7f27dd36516949c4c94a135a6a322f011f3ce7817377","src/libbacktrace/filetype.awk":"9dd5352f288c3737fccd24a2c7583f4d0dbca2b95b2735a90a26b644478018af","src/libbacktrace/hashtab.h":"4cb7f68db5c2e8ff1190ecf859e7feb58447ea20bd9818bb1f447b46e2813c58","src/libbacktrace/install-sh":"d7c113e5484fce8b48f9a34a7a91e385ec279247d415b0b7d749bd56ad8ee8a2","src/libbacktrace/internal.h":"ed657e14aa33b4b5217919435e69019c5a677a00a9c134bf0297f000f146b093","src/libbacktrace/ltmain.sh":"ee4019f80b993cdb1bd13bf39434ad4f1ef15ae57a97594c53fb7b1d76d776a4","src/libbacktrace/missing":"b1a337b731bbb58846d31ca2f5143c293a455fa41b481e236e89a9016d96b034","src/libbacktrace/mmap.c":"fec72286a2d8a0c53fd56ea61b3766b87031f6f803f6de6c3c656e39bc85cdc2","src/libbacktrace/mmapio.c":"32a672fd2b8b3395c8a16ef11d839437ca35570fbc235bb0e2e70ef8097a12fc","src/libbacktrace/nounwind.c":"7694636af38ef488c814ab9b71854d6a259c1f3f635bd4c3ed99a88ca2beb5f1","src/libbacktrace/pecoff.c":"00cf6976cfc1e018f5e5473d4fbef4ae86de825dd2749897c45dfcebcefc6abf","src/libbacktrace/posix.c":"73754fcfa0a5b0342e8fe32166e7228b61e022699a8a3c9a2ef8e46260736704","src/libbacktrace/print.c":"ec1e80e17e27130bf9412470e8dc9155a0dc9ca3a78125081f5073b438b54157","src/libbacktrace/read.c":"399458fb06389aa4bd5ce376c4620cf733b5555d1dabe7ef19f185da1e37e614","src/libbacktrace/simple.c":"686d976c2bdb1a074f9be05af026d4b4c7a4978c2602268747d492563f18e0dc","src/libbacktrace/sort.c":"1a1e44af4e4d02fc568b318aa1517792edd6972a27029ba78e938856ef8ba1a0","src/libbacktrace/state.c":"49d547f5622b0ea0c39bc873b09a7dce276fdc6469118f5ab2e72c55bd0457fb","src/libbacktrace/stest.c":"aa1b90fe2d6dc8ac65ac0168776c2d242efc6460ac596deb14ac1e72bf764871","src/libbacktrace/unknown.c":"914aa113cd17ed678d40927391b35f6027e87b3a02e36e9f1822ec1efe9c0e20","symbol-map":"b941b2516efbb9e46521eeb166c60b31d52b2a4aaaf35d7f9af24946bbe1328a"},"package":"d192fd129132fbc97497c1f2ec2c2c5174e376b95f535199ef4fe0a293d33842"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/backtrace/.cargo-checksum.json
+++ b/third_party/rust/backtrace/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"6f11d19317924088c90d605e1d13e4af230b10e289c5df6139c40a62409eabd9","Cargo.toml":"f893b7b701611e48ab80db25670342084b11d8d4ed3f3471b68842c490d247b8","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"11061a4c1e27fde148b5b1fb6df553f8eb464e279be0f5e278d262bf35d7b0f8","appveyor.yml":"29d9f44137560479a75b02a7953cfa0c378c2577ed1925f579b400295c7937e3","examples/backtrace.rs":"fd6e1cc6c3378ec7d41cd03b2bef187051298dceb01147e71f207dbb8a0c4867","examples/raw.rs":"f07be26d1f97cd7ac79290ac99d19c4eec5d27031fe270ab5364c25d9c2ad9e0","src/backtrace/dbghelp.rs":"45c5052763857d4a3727c3082be1b2f6c28f7973afd66706657defda5d97c6ec","src/backtrace/libunwind.rs":"cc9cdc1d389571cdedf43dfc2d39b8c3af85531a3965ed700c724f436afb213e","src/backtrace/mod.rs":"d00f4a574fae44df81b1d40bf44acea84addb70b4c76c85bfaa1f3ab0bcd7f0d","src/backtrace/noop.rs":"dc4a6602e9852b945c382194402314d3d68c8ca90199af9a8159419fb91a3c99","src/backtrace/unix_backtrace.rs":"1bb4a4a2f1e56f8ac04002dd77411116d8b4920f905d1ddfcb289e242f939a86","src/capture.rs":"de3250fcb9ff941391dea24decc8166d058f17abe77d25ff82b766ac384f00ea","src/dylib.rs":"09f3d7f32849cf0daa4de9df48f8e4a4d5ba62e20723c79578201bd271dc4777","src/lib.rs":"7ccd8cc3679435f0e39efd26f23d9d7a01094ab09ba6d411c6587b2420c6886b","src/symbolize/coresymbolication.rs":"99280684791694f560824b39291ee7ad78a2b53f82e5972ff3d9b77b43671f60","src/symbolize/dbghelp.rs":"d743545bb3e64eafc4903e3e7aec115b64da2174e75afd7b465bc0b89573b88a","src/symbolize/dladdr.rs":"8287cbca440a9e92e74d88c5a7b920f6b4cf6d8f50bc8b0f61aca5ba42d5b5ec","src/symbolize/libbacktrace.rs":"0cdad7de2501baef9da193ee6aab21c453d26348a2071c805a133efe1209eaa1","src/symbolize/mod.rs":"7f2efe54ce40f42ba38673614cff2a510632123cb6d1bc3da88566f12bcba588","src/symbolize/noop.rs":"b622fcecb4e22b42c3d3e2ef5dc5a6ab14601fec83c7797ee1fbbacc12fe6ca1","tests/smoke.rs":"fc882d7db0f4842e4415e3319774a33ba27c4d6412a62f8ee194a5dafd8a6128"},"package":"72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76"}
\ No newline at end of file
+{"files":{".travis.yml":"6f11d19317924088c90d605e1d13e4af230b10e289c5df6139c40a62409eabd9","Cargo.toml":"f893b7b701611e48ab80db25670342084b11d8d4ed3f3471b68842c490d247b8","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"11061a4c1e27fde148b5b1fb6df553f8eb464e279be0f5e278d262bf35d7b0f8","appveyor.yml":"29d9f44137560479a75b02a7953cfa0c378c2577ed1925f579b400295c7937e3","examples/backtrace.rs":"fd6e1cc6c3378ec7d41cd03b2bef187051298dceb01147e71f207dbb8a0c4867","examples/raw.rs":"f07be26d1f97cd7ac79290ac99d19c4eec5d27031fe270ab5364c25d9c2ad9e0","src/backtrace/dbghelp.rs":"45c5052763857d4a3727c3082be1b2f6c28f7973afd66706657defda5d97c6ec","src/backtrace/libunwind.rs":"cc9cdc1d389571cdedf43dfc2d39b8c3af85531a3965ed700c724f436afb213e","src/backtrace/mod.rs":"d00f4a574fae44df81b1d40bf44acea84addb70b4c76c85bfaa1f3ab0bcd7f0d","src/backtrace/noop.rs":"dc4a6602e9852b945c382194402314d3d68c8ca90199af9a8159419fb91a3c99","src/backtrace/unix_backtrace.rs":"1bb4a4a2f1e56f8ac04002dd77411116d8b4920f905d1ddfcb289e242f939a86","src/capture.rs":"de3250fcb9ff941391dea24decc8166d058f17abe77d25ff82b766ac384f00ea","src/dylib.rs":"09f3d7f32849cf0daa4de9df48f8e4a4d5ba62e20723c79578201bd271dc4777","src/lib.rs":"7ccd8cc3679435f0e39efd26f23d9d7a01094ab09ba6d411c6587b2420c6886b","src/symbolize/coresymbolication.rs":"99280684791694f560824b39291ee7ad78a2b53f82e5972ff3d9b77b43671f60","src/symbolize/dbghelp.rs":"d743545bb3e64eafc4903e3e7aec115b64da2174e75afd7b465bc0b89573b88a","src/symbolize/dladdr.rs":"8287cbca440a9e92e74d88c5a7b920f6b4cf6d8f50bc8b0f61aca5ba42d5b5ec","src/symbolize/libbacktrace.rs":"0cdad7de2501baef9da193ee6aab21c453d26348a2071c805a133efe1209eaa1","src/symbolize/mod.rs":"7f2efe54ce40f42ba38673614cff2a510632123cb6d1bc3da88566f12bcba588","src/symbolize/noop.rs":"b622fcecb4e22b42c3d3e2ef5dc5a6ab14601fec83c7797ee1fbbacc12fe6ca1","tests/smoke.rs":"fc882d7db0f4842e4415e3319774a33ba27c4d6412a62f8ee194a5dafd8a6128"},"package":"72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/base64/.cargo-checksum.json
+++ b/third_party/rust/base64/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"79fbb792e6c1d05c44188c808ef7120c592e50291a706fe0f669b8ac9a2ad5e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0dd882e53de11566d50f8e8e2d5a651bcf3fabee4987d70f306233cf39094ba7","README.md":"b2da2fd61c4f3abf45127d183b61eb2dabc1c97cd191854987aa0328549a663f","benches/benchmarks.rs":"f0469f65f901c3e92fa506c0deb277fd136a7f968cae7cc4f030c0c15e52322f","examples/make_tables.rs":"3c80f2a8cdb204168cc1b60f8904d544b2da067b9e6a7b40ade5fb4a994b4175","src/lib.rs":"a3ac363513ae99a9b0049c19c92bc46b57ac9a0ebfd3317b7b387c5fbaa16a8a","src/tables.rs":"378743892907cde87c1a92e6afee2df36ce590311e61381b2cc0404b3e018039","tests/tests.rs":"dc2c293bae576cc596bdfb6ef783dc1d24d3bf992bf532caaebe1738cb0608cc"},"package":"30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557"}
\ No newline at end of file
+{"files":{"Cargo.toml":"79fbb792e6c1d05c44188c808ef7120c592e50291a706fe0f669b8ac9a2ad5e5","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0dd882e53de11566d50f8e8e2d5a651bcf3fabee4987d70f306233cf39094ba7","README.md":"b2da2fd61c4f3abf45127d183b61eb2dabc1c97cd191854987aa0328549a663f","benches/benchmarks.rs":"f0469f65f901c3e92fa506c0deb277fd136a7f968cae7cc4f030c0c15e52322f","examples/make_tables.rs":"3c80f2a8cdb204168cc1b60f8904d544b2da067b9e6a7b40ade5fb4a994b4175","src/lib.rs":"a3ac363513ae99a9b0049c19c92bc46b57ac9a0ebfd3317b7b387c5fbaa16a8a","src/tables.rs":"378743892907cde87c1a92e6afee2df36ce590311e61381b2cc0404b3e018039","tests/tests.rs":"dc2c293bae576cc596bdfb6ef783dc1d24d3bf992bf532caaebe1738cb0608cc"},"package":"30e93c03064e7590d0466209155251b90c22e37fab1daf2771582598b5827557"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/binary-space-partition/.cargo-checksum.json
+++ b/third_party/rust/binary-space-partition/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"0310eaafa77ed58afbc5f93b1a26e938e96533b352865bc75ff4a5993aa4a8e0","Cargo.toml":"aeff622e55caf0aaaa01d75ad13ea07be748fbecd2985a81aa6c7c0de5d07241","LICENSE":"b946744aeda89b467929585fe8eeb5461847695220c1b168fb375d8abd4ea3d0","README.md":"ed45cabc231f18f0972348f0e230d45c92495c31e4a06eb105e8259ed9b582b3","src/lib.rs":"f97ad15f6ae8664f4978aaa057c0a8e27a050dc1ea79f8b66506d8fd8c7a22f9"},"package":"88ceb0d16c4fd0e42876e298d7d3ce3780dd9ebdcbe4199816a32c77e08597ff"}
\ No newline at end of file
+{"files":{".travis.yml":"0310eaafa77ed58afbc5f93b1a26e938e96533b352865bc75ff4a5993aa4a8e0","Cargo.toml":"aeff622e55caf0aaaa01d75ad13ea07be748fbecd2985a81aa6c7c0de5d07241","LICENSE":"b946744aeda89b467929585fe8eeb5461847695220c1b168fb375d8abd4ea3d0","README.md":"ed45cabc231f18f0972348f0e230d45c92495c31e4a06eb105e8259ed9b582b3","src/lib.rs":"f97ad15f6ae8664f4978aaa057c0a8e27a050dc1ea79f8b66506d8fd8c7a22f9"},"package":"88ceb0d16c4fd0e42876e298d7d3ce3780dd9ebdcbe4199816a32c77e08597ff"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bincode-0.8.0/.cargo-checksum.json
+++ b/third_party/rust/bincode-0.8.0/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f705a11b487bf71c41ebd8223cc1f3cbde0dfdfeea96a100af55e06e93397a1b","Cargo.toml":"b3ef32df664d22cfe4526f0022c8789e8976970b9e0982e1dd52f4f811134515","LICENSE.md":"90d7e062634054e6866d3c81e6a2b3058a840e6af733e98e80bdfe1a7dec6912","changelist.org":"936b58455e1c221539b73b5250302dcd96baa04a5d8536199d3351142addad57","examples/basic.rs":"ef6ab76936c8322b9f89fe8308311339c0bf7b413c5f88b5314b0035d49917a3","logo.png":"ebc5305aae938c1f834cf35302faa8be0f1b7b8c3c3beef5cf6b2f68b9628c35","readme.dev.md":"43bad3bcc13a5c057344d3ba7f64bd2b313f8c133d6afa068108df73e8e8facd","readme.md":"ca48b4a712089d792d449ef6e0e399efaf227dbcfcb141540684a16a2763583b","src/de/mod.rs":"8651e00130bd062e2305dcce8b68d777fff9877688e776b239778e18046dddaf","src/de/read.rs":"5abca51c6f0d93cc144914ed30bf2cfd0074ced09a0de8c3983997aaa471562d","src/internal.rs":"d9448e8467caf4cf24703626dab9e0d9420e98419e323ad7e611e4aeab525e4a","src/lib.rs":"998b85e103f8f5480ffeef43bd8430a66c061011055a053377f37dce32bf9088","src/ser/mod.rs":"0eeb467eeb8189fb935e4996cd45d1f292c401f92b00793907bd428f1bde421d","tests/test.rs":"26598b882a691caa5301a569e56e31567bfba5ffeab6f0ca67ebd95bfae679b0"},"package":"e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e"}
\ No newline at end of file
+{"files":{".travis.yml":"f705a11b487bf71c41ebd8223cc1f3cbde0dfdfeea96a100af55e06e93397a1b","Cargo.toml":"b3ef32df664d22cfe4526f0022c8789e8976970b9e0982e1dd52f4f811134515","LICENSE.md":"90d7e062634054e6866d3c81e6a2b3058a840e6af733e98e80bdfe1a7dec6912","changelist.org":"936b58455e1c221539b73b5250302dcd96baa04a5d8536199d3351142addad57","examples/basic.rs":"ef6ab76936c8322b9f89fe8308311339c0bf7b413c5f88b5314b0035d49917a3","logo.png":"ebc5305aae938c1f834cf35302faa8be0f1b7b8c3c3beef5cf6b2f68b9628c35","readme.dev.md":"43bad3bcc13a5c057344d3ba7f64bd2b313f8c133d6afa068108df73e8e8facd","readme.md":"ca48b4a712089d792d449ef6e0e399efaf227dbcfcb141540684a16a2763583b","src/de/mod.rs":"8651e00130bd062e2305dcce8b68d777fff9877688e776b239778e18046dddaf","src/de/read.rs":"5abca51c6f0d93cc144914ed30bf2cfd0074ced09a0de8c3983997aaa471562d","src/internal.rs":"d9448e8467caf4cf24703626dab9e0d9420e98419e323ad7e611e4aeab525e4a","src/lib.rs":"998b85e103f8f5480ffeef43bd8430a66c061011055a053377f37dce32bf9088","src/ser/mod.rs":"0eeb467eeb8189fb935e4996cd45d1f292c401f92b00793907bd428f1bde421d","tests/test.rs":"26598b882a691caa5301a569e56e31567bfba5ffeab6f0ca67ebd95bfae679b0"},"package":"e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bincode/.cargo-checksum.json
+++ b/third_party/rust/bincode/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f705a11b487bf71c41ebd8223cc1f3cbde0dfdfeea96a100af55e06e93397a1b","Cargo.toml":"f84aff9184ddcf55e949223d373eb6e25bd50a15d62cda08967c001997658239","LICENSE.md":"90d7e062634054e6866d3c81e6a2b3058a840e6af733e98e80bdfe1a7dec6912","changelist.org":"936b58455e1c221539b73b5250302dcd96baa04a5d8536199d3351142addad57","examples/basic.rs":"6c897fac722343138db14911da8d08c65cfd8d9a8143a5169845914897af8e21","logo.png":"ebc5305aae938c1f834cf35302faa8be0f1b7b8c3c3beef5cf6b2f68b9628c35","readme.dev.md":"43bad3bcc13a5c057344d3ba7f64bd2b313f8c133d6afa068108df73e8e8facd","readme.md":"a0cf9077393f746baa131934b53780d78e7807f8ce3f71d97347c657aebf5a0a","src/de/mod.rs":"be66fad5844a0b89025a089ab114540ab7ca6fa867cd2d72383af06c9ee30345","src/de/read.rs":"7ad8a1ae881ce135c3a56af66a3c83dad3f66722a3d21ad5c7addf0460d0edf3","src/internal.rs":"60e1c3fac7d8e6b01dc362b3171e2b4d2d8809fcbc98dc2431fffa01da6b63ae","src/lib.rs":"5bb0c0be61c8a7d9c1ef6209e05e25d44ae23e0b9b4a2adc0ae4264d35ea849b","src/ser/mod.rs":"0eeb467eeb8189fb935e4996cd45d1f292c401f92b00793907bd428f1bde421d","tests/test.rs":"a0116953ec3a3d6b9a9fc202d1bc886c5bb95110f2a3d4ac52e5945e4f6d182e"},"package":"9d3fb369af639822830328794eba2501b3479652fcd021b2aeb1ed4984202afd"}
\ No newline at end of file
+{"files":{".travis.yml":"f705a11b487bf71c41ebd8223cc1f3cbde0dfdfeea96a100af55e06e93397a1b","Cargo.toml":"f84aff9184ddcf55e949223d373eb6e25bd50a15d62cda08967c001997658239","LICENSE.md":"90d7e062634054e6866d3c81e6a2b3058a840e6af733e98e80bdfe1a7dec6912","changelist.org":"936b58455e1c221539b73b5250302dcd96baa04a5d8536199d3351142addad57","examples/basic.rs":"6c897fac722343138db14911da8d08c65cfd8d9a8143a5169845914897af8e21","logo.png":"ebc5305aae938c1f834cf35302faa8be0f1b7b8c3c3beef5cf6b2f68b9628c35","readme.dev.md":"43bad3bcc13a5c057344d3ba7f64bd2b313f8c133d6afa068108df73e8e8facd","readme.md":"a0cf9077393f746baa131934b53780d78e7807f8ce3f71d97347c657aebf5a0a","src/de/mod.rs":"be66fad5844a0b89025a089ab114540ab7ca6fa867cd2d72383af06c9ee30345","src/de/read.rs":"7ad8a1ae881ce135c3a56af66a3c83dad3f66722a3d21ad5c7addf0460d0edf3","src/internal.rs":"60e1c3fac7d8e6b01dc362b3171e2b4d2d8809fcbc98dc2431fffa01da6b63ae","src/lib.rs":"5bb0c0be61c8a7d9c1ef6209e05e25d44ae23e0b9b4a2adc0ae4264d35ea849b","src/ser/mod.rs":"0eeb467eeb8189fb935e4996cd45d1f292c401f92b00793907bd428f1bde421d","tests/test.rs":"a0116953ec3a3d6b9a9fc202d1bc886c5bb95110f2a3d4ac52e5945e4f6d182e"},"package":"9d3fb369af639822830328794eba2501b3479652fcd021b2aeb1ed4984202afd"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bindgen-0.29.1/.cargo-checksum.json
+++ b/third_party/rust/bindgen-0.29.1/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".github/ISSUE_TEMPLATE.md":"952c59a2801c6e204801585704469db1af23cade4019281ba8d6027c0a03c553",".travis.yml":"fe5a4cd14f10c5d5c39ad6e22500cd0b68cfa1a5beb625d01577610100a9dfeb","CONTRIBUTING.md":"bef289580b237a158170335a998ab5d77f4e620424ce3636b0cf9fde181b1aaa","Cargo.toml":"028744c0bc058ca6971a4b04dcc85fba22bad47bed5f9f244f5b3b4005dee7d7","LICENSE":"1d2e4bdb9d94ab020e9550136cae9ec73fc699c3c96a9d98078c542e9b93d294","README.md":"8c4662f1c596d52d134cf5fa628655dc81b4259fb8e5349062eb36626d009efe","appveyor.yml":"6648e724bf3f5981ea0aa299417b3980a6dd1134cabd2ed34072759b70063d1b","book/book.toml":"dbf931141036d1d0eb02b326f7f5d7867dd9a8f0fc49b66b8fd97e9873c08e44","book/src/SUMMARY.md":"471d2494f28b4c9c40e004ec7190479345ee2d29247b712726d8820234172dd6","book/src/blacklisting.md":"a68424cc3643e06e83c5ea4efd5eb501dc64229ff9f4286b9a210a2376c20a9b","book/src/chapter_1.md":"cac4f4a3609ec22eb519b0e07d1d1bdc15ac3d741f29f9b97280f700b96ded66","book/src/command-line-usage.md":"9e3ae32cb5d893f1a93fc539149950bacdf43a18c694169fa45dfe8080617403","book/src/cpp.md":"c7926268d311239caa4475602634d609553d4a8a0e0902fcbd1762d1d405f657","book/src/customizing-generated-bindings.md":"0363ca69719c5e24d624ac3adfef71445896d3ed2b7bb3689c7905e47bdd9cdd","book/src/introduction.md":"c1b11894292f326fa492534c5a9a58b0238d05caccb3e145b70b226069ee674e","book/src/library-usage.md":"62565cf21a6b07a9de9a3f525427e75aa0f05350a1f546ed428c8a6c40cf850c","book/src/nocopy.md":"615f9b2ae474adf32ddf49e2f29f019f857db0fbb3232ed30df3960edd9f3406","book/src/opaque.md":"d6a5d6b7dfad4e8e1f7a1307f57a0a4b723032970bbae0e1290e1ab81e08b21a","book/src/replacing-types.md":"f406f7135299cd4e67a017237a6a9acbe936aa48f37b7f52be2769c90537b73f","book/src/requirements.md":"f6715430e9830593501a9b8c09105058189832df1a0b4d9852400fa408069f0e","book/src/tutorial-0.md":"0343285deac4161a230450ab8e9aa825d2a42f243cb10372b2d0edef8b956c29","book/src/tutorial-1.md":"c341e519ff6f2abb55e63139e106e3161c5169b2154bf694cd9c34c7feb3a89e","book/src/tutorial-2.md":"f6c9cf4ea8e38628c15dedc0ee7f60055a2aa841e95f972465d2932bb71878ad","book/src/tutorial-3.md":"580d25d9754d540af2b7d3eb99a828555479c37a61566e21eec9a00f98f829c3","book/src/tutorial-4.md":"23e82ec5d2de96670e148e5417b61810c203603adea54aefc94a2b16d1d0ede2","book/src/tutorial-5.md":"60e7f50e9be3c7de0e096f6615815d74608afa184c649b4301d71a60c808c646","book/src/tutorial-6.md":"806238e5156b10881489bda6c5480e9bd0aa88208ef2d74dd26c18cd3d024dff","book/src/using-unions.md":"bcd0f5f97a199ac84df4cd4a43dc6ca17d5eff6493b90247f3425b9c2c68c1ff","book/src/whitelisting.md":"b6913e3fc43d28f504331afe4ccc3607caad9aa88d4cb627a86bdc1e72ea0175","build.rs":"5e44ce645edcd487efae5e127efe289d1216c7f55dce65d26248f61f5dde4a3a","ci/assert-docs.sh":"f60a78a7d6f6444389df39a070a08851c78f1b525afff3b2548e852a3ebf6dc6","ci/assert-no-diff.bat":"904a49de6ee9faf8b83cc21d958d2fb37d4b278e9fe48484320aa55f9089f032","ci/assert-no-diff.sh":"af208c40d412e2bce82ae9b4a4e52cae4ae0b4beef9f93eb825bf5d5346a70b2","ci/assert-rustfmt.sh":"b9c810e86ea6d71bce1d6bf8d896839cfe2c198338e042ebc744b75e83af1126","ci/before_install.sh":"51409851cf4e1dee27735461e77247c599e023259c3a57e82fa044f284ca8e87","ci/deploy-book.sh":"67a3df2cc39ee585a2d5353d303e452d9586bec7ea33de6b5aa4a0ecb43c136f","ci/no-includes.sh":"148b146eab4aeb11ad229e03b3d5ebd8cb56a31674df438264d1ebff2d17f52d","ci/test-book.sh":"dfbcfb1381f723b4b29634bb4033ab72ace412d0711631976897c64d57122600","ci/test.bat":"88368377f3907eb34b3693a5ddf8ff69168b17bcc6528807aaf52dc693cb3c47","ci/test.sh":"01059bf60d40053534f9606986d3f4e06e90262848c4b3114df62b7b90f84793","example-graphviz-ir.png":"e1122ab33b4c80e8c9c0cf8abea404c1192f9b2eef97f5766e86103cc95d5e01","rustfmt.toml":"c4f3b593bdd634590df22aaf7b0872244d5c2169aacd0274a05e4aca4708a8d3","src/callbacks.rs":"e0d36d30adac8a4eaab64f0a9df0ab29026fcd5f5c5588bdeb2ad762e4c024ad","src/clang.rs":"79ffe98ef68e889731e1babf63157b75587e81faf96d97ce7e8be48377bfe77e","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"501838ff8da3c51c90eefdbee0228e321782e755201147b0d8ed78c2f59b29d1","src/codegen/mod.rs":"1f7ae949d425e3724f62de144b483f0f4257c02071ca00623798170b5dbf9745","src/codegen/struct_layout.rs":"130cf8a2e1cb8348a13e05904af2300333b51bf72cd63f3ec696b768a4a6b52d","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/ir/analysis/derive_debug.rs":"18c9c16f233c2dabed9b5d85a07c2e6c884b318336996d217e1a6b14b023a54a","src/ir/analysis/has_vtable.rs":"6f49e17b1b40f8683d21a89725aec48f9fe4417361a55cf302e568eecbe2d35d","src/ir/analysis/mod.rs":"5758a40600e19278bb7dc4238f7e490971fa5aa83ade9497924fd722da9bf315","src/ir/analysis/template_params.rs":"b74243aab14f50d8a765d9e30f48e8c58ba340e4b4bfb7db9c87f1123842e3aa","src/ir/annotations.rs":"887ad7beaa43eddd60337b67951a109c2e7f51cb8e757b35cad45f744b7ba919","src/ir/comment.rs":"564a9fbf4bd7bf03ecf93104109ef66ed501abeaf4e4784b1d14083df6cade3b","src/ir/comp.rs":"5146cede0fdc3747c4ab12b4665d39b8ab482c0308577582013d878dee595b5f","src/ir/context.rs":"f8cfdaf8f53811eebfe52b9966b70a3780f12ca2baebce08e393178622d108ac","src/ir/derive.rs":"e4e86d86edc957eb38d310852e49e1a160bf4fdd13a70a664373c8a343705b62","src/ir/dot.rs":"79af769bff3b7c8b5c58ee73286429bcc8b9963526e42257cc61ca9a2a5eb4e9","src/ir/enum_ty.rs":"64ec618b9914aac83351624ffb9219e089dafa2959b4e896160f7f30df9e29c4","src/ir/function.rs":"bf374db02a5086b0dfd91fbc17d0b283cb057857dd13d5d9fde1dbd33aad47ef","src/ir/int.rs":"b7bc19668ca6c7c084a3f8d1e07d5a980ee49c0c9a8882c3e72baab4ea7fa403","src/ir/item.rs":"136bd52e1179349c24202d2745330d29d1ad9d1afe891cf149475ba1d6cf8d07","src/ir/item_kind.rs":"64b8b5bede6dfe950ceb15da1aabf888707eeb5883df9213f05ee47797bfb84f","src/ir/layout.rs":"58df6436c7170ab7b2bde2afe4760f6dfc35a6ef3edb50290fbd3a8ea0248453","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"5f33c7bd01891ece61d946c6052b96a8127e3811616f3e698fc220716234ca6c","src/ir/objc.rs":"353be93027d74ad102ac3b0ef8754dd1258a400dcf7d361fa224fdf1ab973c56","src/ir/template.rs":"5650b957ceff3caef4d75ad5c1e5014a07ae3ccb6edd1712babbd543e192f20a","src/ir/traversal.rs":"1b9abed7bcc82f85c18d36dd475a5615984ff00588468ab81f232902f93ec423","src/ir/ty.rs":"8550883f2f65b4e113fc7beefcd5f6e1d701a9e58cc92bae4356d6eeadd69727","src/ir/var.rs":"0b56e6107bf96063c6a9bcb47fcbd1950147d63d242185498e95242174f083d6","src/lib.rs":"7bbb87d1bf39a723edfb9a39d4d52ce7937ec42c1dcaf29b1068171ab83cbfd1","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"995b35df006ba97d882aa6de91ba42a616314a98687a2ea4f8bbff0669a54f54","src/options.rs":"a0ecd0eb1069df3af236fb5e9a9c9611ed1949321243aaee9e4e257c72ffd8c2","src/parse.rs":"6d88e1dcdb4e99f4f65629ce205c14e18097773bc938973f8e3849ba3bda4f79","src/regex_set.rs":"6c46877238c338e1fc6a35a8983db21f0711c979e44310975f60ad73a50fdbbc","src/uses.rs":"16841e43290424f814a4cb119b782f6987e854429f483ae8001525e3f3620958"},"package":"ba610cba0c1727ed837316540068b51349b8268c073906067b7c3948598929bd"}
\ No newline at end of file
+{"files":{".github/ISSUE_TEMPLATE.md":"952c59a2801c6e204801585704469db1af23cade4019281ba8d6027c0a03c553",".travis.yml":"fe5a4cd14f10c5d5c39ad6e22500cd0b68cfa1a5beb625d01577610100a9dfeb","CONTRIBUTING.md":"bef289580b237a158170335a998ab5d77f4e620424ce3636b0cf9fde181b1aaa","Cargo.toml":"028744c0bc058ca6971a4b04dcc85fba22bad47bed5f9f244f5b3b4005dee7d7","LICENSE":"1d2e4bdb9d94ab020e9550136cae9ec73fc699c3c96a9d98078c542e9b93d294","README.md":"8c4662f1c596d52d134cf5fa628655dc81b4259fb8e5349062eb36626d009efe","appveyor.yml":"6648e724bf3f5981ea0aa299417b3980a6dd1134cabd2ed34072759b70063d1b","book/book.toml":"dbf931141036d1d0eb02b326f7f5d7867dd9a8f0fc49b66b8fd97e9873c08e44","book/src/SUMMARY.md":"471d2494f28b4c9c40e004ec7190479345ee2d29247b712726d8820234172dd6","book/src/blacklisting.md":"a68424cc3643e06e83c5ea4efd5eb501dc64229ff9f4286b9a210a2376c20a9b","book/src/chapter_1.md":"cac4f4a3609ec22eb519b0e07d1d1bdc15ac3d741f29f9b97280f700b96ded66","book/src/command-line-usage.md":"9e3ae32cb5d893f1a93fc539149950bacdf43a18c694169fa45dfe8080617403","book/src/cpp.md":"c7926268d311239caa4475602634d609553d4a8a0e0902fcbd1762d1d405f657","book/src/customizing-generated-bindings.md":"0363ca69719c5e24d624ac3adfef71445896d3ed2b7bb3689c7905e47bdd9cdd","book/src/introduction.md":"c1b11894292f326fa492534c5a9a58b0238d05caccb3e145b70b226069ee674e","book/src/library-usage.md":"62565cf21a6b07a9de9a3f525427e75aa0f05350a1f546ed428c8a6c40cf850c","book/src/nocopy.md":"615f9b2ae474adf32ddf49e2f29f019f857db0fbb3232ed30df3960edd9f3406","book/src/opaque.md":"d6a5d6b7dfad4e8e1f7a1307f57a0a4b723032970bbae0e1290e1ab81e08b21a","book/src/replacing-types.md":"f406f7135299cd4e67a017237a6a9acbe936aa48f37b7f52be2769c90537b73f","book/src/requirements.md":"f6715430e9830593501a9b8c09105058189832df1a0b4d9852400fa408069f0e","book/src/tutorial-0.md":"0343285deac4161a230450ab8e9aa825d2a42f243cb10372b2d0edef8b956c29","book/src/tutorial-1.md":"c341e519ff6f2abb55e63139e106e3161c5169b2154bf694cd9c34c7feb3a89e","book/src/tutorial-2.md":"f6c9cf4ea8e38628c15dedc0ee7f60055a2aa841e95f972465d2932bb71878ad","book/src/tutorial-3.md":"580d25d9754d540af2b7d3eb99a828555479c37a61566e21eec9a00f98f829c3","book/src/tutorial-4.md":"23e82ec5d2de96670e148e5417b61810c203603adea54aefc94a2b16d1d0ede2","book/src/tutorial-5.md":"60e7f50e9be3c7de0e096f6615815d74608afa184c649b4301d71a60c808c646","book/src/tutorial-6.md":"806238e5156b10881489bda6c5480e9bd0aa88208ef2d74dd26c18cd3d024dff","book/src/using-unions.md":"bcd0f5f97a199ac84df4cd4a43dc6ca17d5eff6493b90247f3425b9c2c68c1ff","book/src/whitelisting.md":"b6913e3fc43d28f504331afe4ccc3607caad9aa88d4cb627a86bdc1e72ea0175","build.rs":"5e44ce645edcd487efae5e127efe289d1216c7f55dce65d26248f61f5dde4a3a","ci/assert-docs.sh":"f60a78a7d6f6444389df39a070a08851c78f1b525afff3b2548e852a3ebf6dc6","ci/assert-no-diff.bat":"904a49de6ee9faf8b83cc21d958d2fb37d4b278e9fe48484320aa55f9089f032","ci/assert-no-diff.sh":"af208c40d412e2bce82ae9b4a4e52cae4ae0b4beef9f93eb825bf5d5346a70b2","ci/assert-rustfmt.sh":"b9c810e86ea6d71bce1d6bf8d896839cfe2c198338e042ebc744b75e83af1126","ci/before_install.sh":"51409851cf4e1dee27735461e77247c599e023259c3a57e82fa044f284ca8e87","ci/deploy-book.sh":"67a3df2cc39ee585a2d5353d303e452d9586bec7ea33de6b5aa4a0ecb43c136f","ci/no-includes.sh":"148b146eab4aeb11ad229e03b3d5ebd8cb56a31674df438264d1ebff2d17f52d","ci/test-book.sh":"dfbcfb1381f723b4b29634bb4033ab72ace412d0711631976897c64d57122600","ci/test.bat":"88368377f3907eb34b3693a5ddf8ff69168b17bcc6528807aaf52dc693cb3c47","ci/test.sh":"01059bf60d40053534f9606986d3f4e06e90262848c4b3114df62b7b90f84793","example-graphviz-ir.png":"e1122ab33b4c80e8c9c0cf8abea404c1192f9b2eef97f5766e86103cc95d5e01","rustfmt.toml":"c4f3b593bdd634590df22aaf7b0872244d5c2169aacd0274a05e4aca4708a8d3","src/callbacks.rs":"e0d36d30adac8a4eaab64f0a9df0ab29026fcd5f5c5588bdeb2ad762e4c024ad","src/clang.rs":"79ffe98ef68e889731e1babf63157b75587e81faf96d97ce7e8be48377bfe77e","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"501838ff8da3c51c90eefdbee0228e321782e755201147b0d8ed78c2f59b29d1","src/codegen/mod.rs":"1f7ae949d425e3724f62de144b483f0f4257c02071ca00623798170b5dbf9745","src/codegen/struct_layout.rs":"130cf8a2e1cb8348a13e05904af2300333b51bf72cd63f3ec696b768a4a6b52d","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/ir/analysis/derive_debug.rs":"18c9c16f233c2dabed9b5d85a07c2e6c884b318336996d217e1a6b14b023a54a","src/ir/analysis/has_vtable.rs":"6f49e17b1b40f8683d21a89725aec48f9fe4417361a55cf302e568eecbe2d35d","src/ir/analysis/mod.rs":"5758a40600e19278bb7dc4238f7e490971fa5aa83ade9497924fd722da9bf315","src/ir/analysis/template_params.rs":"b74243aab14f50d8a765d9e30f48e8c58ba340e4b4bfb7db9c87f1123842e3aa","src/ir/annotations.rs":"887ad7beaa43eddd60337b67951a109c2e7f51cb8e757b35cad45f744b7ba919","src/ir/comment.rs":"564a9fbf4bd7bf03ecf93104109ef66ed501abeaf4e4784b1d14083df6cade3b","src/ir/comp.rs":"5146cede0fdc3747c4ab12b4665d39b8ab482c0308577582013d878dee595b5f","src/ir/context.rs":"f8cfdaf8f53811eebfe52b9966b70a3780f12ca2baebce08e393178622d108ac","src/ir/derive.rs":"e4e86d86edc957eb38d310852e49e1a160bf4fdd13a70a664373c8a343705b62","src/ir/dot.rs":"79af769bff3b7c8b5c58ee73286429bcc8b9963526e42257cc61ca9a2a5eb4e9","src/ir/enum_ty.rs":"64ec618b9914aac83351624ffb9219e089dafa2959b4e896160f7f30df9e29c4","src/ir/function.rs":"bf374db02a5086b0dfd91fbc17d0b283cb057857dd13d5d9fde1dbd33aad47ef","src/ir/int.rs":"b7bc19668ca6c7c084a3f8d1e07d5a980ee49c0c9a8882c3e72baab4ea7fa403","src/ir/item.rs":"136bd52e1179349c24202d2745330d29d1ad9d1afe891cf149475ba1d6cf8d07","src/ir/item_kind.rs":"64b8b5bede6dfe950ceb15da1aabf888707eeb5883df9213f05ee47797bfb84f","src/ir/layout.rs":"58df6436c7170ab7b2bde2afe4760f6dfc35a6ef3edb50290fbd3a8ea0248453","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"5f33c7bd01891ece61d946c6052b96a8127e3811616f3e698fc220716234ca6c","src/ir/objc.rs":"353be93027d74ad102ac3b0ef8754dd1258a400dcf7d361fa224fdf1ab973c56","src/ir/template.rs":"5650b957ceff3caef4d75ad5c1e5014a07ae3ccb6edd1712babbd543e192f20a","src/ir/traversal.rs":"1b9abed7bcc82f85c18d36dd475a5615984ff00588468ab81f232902f93ec423","src/ir/ty.rs":"8550883f2f65b4e113fc7beefcd5f6e1d701a9e58cc92bae4356d6eeadd69727","src/ir/var.rs":"0b56e6107bf96063c6a9bcb47fcbd1950147d63d242185498e95242174f083d6","src/lib.rs":"7bbb87d1bf39a723edfb9a39d4d52ce7937ec42c1dcaf29b1068171ab83cbfd1","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"995b35df006ba97d882aa6de91ba42a616314a98687a2ea4f8bbff0669a54f54","src/options.rs":"a0ecd0eb1069df3af236fb5e9a9c9611ed1949321243aaee9e4e257c72ffd8c2","src/parse.rs":"6d88e1dcdb4e99f4f65629ce205c14e18097773bc938973f8e3849ba3bda4f79","src/regex_set.rs":"6c46877238c338e1fc6a35a8983db21f0711c979e44310975f60ad73a50fdbbc","src/uses.rs":"16841e43290424f814a4cb119b782f6987e854429f483ae8001525e3f3620958"},"package":"ba610cba0c1727ed837316540068b51349b8268c073906067b7c3948598929bd"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bindgen/.cargo-checksum.json
+++ b/third_party/rust/bindgen/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"8f81f53eb8f6cfc4d8c0e5eaed51b0a7d85a60c9b710fd9df62d25a1db189f92","build.rs":"deff14b2204700f9fd40ba426148d648626461a4ce372c49b8c0f92e09646c80","src/callbacks.rs":"c5c4e5bc8c49cb191d1b100339772fdc7dd1dbf5025a9de1ecaafb70f86cb48f","src/clang.rs":"541a016580c98c2e2af36c3c11b80127c26090795a380480c925c5f411f8100d","src/codegen/derive_debug.rs":"77e16be27a6999726978bf33dc54227cf3b074101ebd55e90f655340cf05ba8b","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"19c5b4a86df9410d7e6cb27c2a8797dd205e4c96eab203798b70cd30dd35e572","src/codegen/mod.rs":"4488f141de2abb5d1fa36df7818daeeebba4f5237a9e43101fc9d805e0a80436","src/codegen/struct_layout.rs":"b92fef035e5deaf3fe9f3c2d4ea61a758b873f6f193fe68693955d9d14a396cb","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/features.rs":"b686a3e4ce5712473d0a7c0f817bef29b9337265ec6df1278087a708e1180108","src/ir/analysis/derive_copy.rs":"e17960cd79d764a36fd7cea8bad944a8994fc9cb3a20080955f28509b9e66c9e","src/ir/analysis/derive_debug.rs":"ffb933c46cc26c0ed7c7ccf16a0a19dddb3b0108ca913bd41b785c3afbd4ee0b","src/ir/analysis/derive_default.rs":"740b281eddf9f9f0606963fef7485e9219e7ebedeb7966c83c63f723d1deb62f","src/ir/analysis/derive_hash.rs":"6c046a54d495e3d6ec666f23c6209212321f72f1ed843523e8a9aa0cd6421c9e","src/ir/analysis/derive_partial_eq.rs":"fdd0d78861f146ce9f62c49979009cfad82ec9b96c8c79415513158fc9bf7ad0","src/ir/analysis/has_destructor.rs":"42fdc74e363bc32dbe51558cb5b330bad0e40d79b4cd3c6ff36b6f418a68c0ad","src/ir/analysis/has_float.rs":"02b7ccf9a99b1d96e3a0ec712de45461ab714184129f2634de46b33fb1758ccd","src/ir/analysis/has_type_param_in_array.rs":"39f10af6a6b7af17ee505777dbd10989942272b44efba2a1e320d8b4bbabe0f0","src/ir/analysis/has_vtable.rs":"33def5eb43270fff87455a0e8d262817876e2cf8c676b8cb6c8ec37e84dd99d1","src/ir/analysis/mod.rs":"10a7817a9c990dd8125e4ca9ed1fe02b9a0e27c4dd0320e909bb55f727ed8191","src/ir/analysis/template_params.rs":"e1a3709c3c07b7be21e3912339820f86992b56af44d923919023b7e015f41755","src/ir/annotations.rs":"ef106afcbe6084c18bd13a37ee3c1cdc9596bfb055db8c773d81f8f15fec3208","src/ir/comment.rs":"36f2a1d3970fdbf3d72c1f094043902747cde395215bdf7e9103926d9df011fd","src/ir/comp.rs":"062ea5ec95717e32b26be39bd4664179ff790831042205d795af1a4654922c8d","src/ir/context.rs":"68dbaa11ae5041965e08de24955852982f10c764decb7ba1de6c82073e95916c","src/ir/derive.rs":"608e9bacd6d6d29f5b4357fe2f7cdda62e79c77271b022e5275d22abc22788d3","src/ir/dot.rs":"173e57c3017182279bff98ea5edfd8e6e007a25e70da27139578a637a0a747bc","src/ir/enum_ty.rs":"d633d4d36a64cafd4e1e4ba82872058d5a0aada007e47353e4905ce1fe7d16ec","src/ir/function.rs":"409b779469c8092100991bc442b0b5bcfe9d5510edb71db12a38181df7519938","src/ir/int.rs":"1f61a472288afe489d9320bc8b13920333ece57891ae8570b4c4f25ab50688e6","src/ir/item.rs":"bff6369353b37a209236d750d274c0282a8669c9f7bee2b0eeea706e17537d1f","src/ir/item_kind.rs":"13048962657436a757ff9483d96f2ce351ec5f827ecab4921ed643f6f115c497","src/ir/layout.rs":"39c415271629fc5a43373bcd5ba8bfa26ebb2544aa9e28598b0141214111bb67","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"5d46d631cec17ef1d1882da60080898760181c2ddf991473afdd464bf8c7d867","src/ir/objc.rs":"52454e14371535ff4da4025cf45fee3d3beadbe36759a6ebf0d1d7048a00714f","src/ir/template.rs":"cc96a205dec677962376cec0bdbf53820d633378fa92d9faeb34953d2943a928","src/ir/traversal.rs":"521fdd685ba8c684199cbc8131561ed39aed852dd0d1e76e17d8d2a3d204428b","src/ir/ty.rs":"263e7c5794b56dd0499db8b102169f70881b5ff1d15ded1fe49fc24c29d9ab34","src/ir/var.rs":"c60354e164e357480e72b20d7f5c2f7188da8af38ad1db0a3f79806ef60388ab","src/lib.rs":"6efe2ba78af7a2c790e73e03ca6876c24a56636b3b2fb74926a866675dc7ee71","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"6ebd647814b339bbd318f5d55f54ef98091138c2c7208436a88204be56a5a49b","src/options.rs":"cced11c8ba947953098df62beb7980dd72d9aa9c6fd3c8dba5aac745bdcd2315","src/parse.rs":"812171946f0ec8a83f26f9041151ad9dcdff11961e5154e4dae4be248f86b296","src/regex_set.rs":"e4cc668c724a80f7dd7d028f4a22146680513b40cf3a5255551c41079d302309"},"package":"33024f55a754d920637461adf87fb485702a69bdf7ac1d307b7e18da93bae505"}
\ No newline at end of file
+{"files":{"Cargo.toml":"8f81f53eb8f6cfc4d8c0e5eaed51b0a7d85a60c9b710fd9df62d25a1db189f92","build.rs":"deff14b2204700f9fd40ba426148d648626461a4ce372c49b8c0f92e09646c80","src/callbacks.rs":"c5c4e5bc8c49cb191d1b100339772fdc7dd1dbf5025a9de1ecaafb70f86cb48f","src/clang.rs":"541a016580c98c2e2af36c3c11b80127c26090795a380480c925c5f411f8100d","src/codegen/derive_debug.rs":"77e16be27a6999726978bf33dc54227cf3b074101ebd55e90f655340cf05ba8b","src/codegen/error.rs":"2613af1d833377fd4a70719f4a09951d9d45dc9227827b9a2a938a1bcaaea2dd","src/codegen/helpers.rs":"19c5b4a86df9410d7e6cb27c2a8797dd205e4c96eab203798b70cd30dd35e572","src/codegen/mod.rs":"4488f141de2abb5d1fa36df7818daeeebba4f5237a9e43101fc9d805e0a80436","src/codegen/struct_layout.rs":"b92fef035e5deaf3fe9f3c2d4ea61a758b873f6f193fe68693955d9d14a396cb","src/extra_assertions.rs":"449549c4a7a50c3f0b06332452b2fb6c9b23f31ca8e5e1656fe6c7f21e8ef7fa","src/features.rs":"b686a3e4ce5712473d0a7c0f817bef29b9337265ec6df1278087a708e1180108","src/ir/analysis/derive_copy.rs":"e17960cd79d764a36fd7cea8bad944a8994fc9cb3a20080955f28509b9e66c9e","src/ir/analysis/derive_debug.rs":"ffb933c46cc26c0ed7c7ccf16a0a19dddb3b0108ca913bd41b785c3afbd4ee0b","src/ir/analysis/derive_default.rs":"740b281eddf9f9f0606963fef7485e9219e7ebedeb7966c83c63f723d1deb62f","src/ir/analysis/derive_hash.rs":"6c046a54d495e3d6ec666f23c6209212321f72f1ed843523e8a9aa0cd6421c9e","src/ir/analysis/derive_partial_eq.rs":"fdd0d78861f146ce9f62c49979009cfad82ec9b96c8c79415513158fc9bf7ad0","src/ir/analysis/has_destructor.rs":"42fdc74e363bc32dbe51558cb5b330bad0e40d79b4cd3c6ff36b6f418a68c0ad","src/ir/analysis/has_float.rs":"02b7ccf9a99b1d96e3a0ec712de45461ab714184129f2634de46b33fb1758ccd","src/ir/analysis/has_type_param_in_array.rs":"39f10af6a6b7af17ee505777dbd10989942272b44efba2a1e320d8b4bbabe0f0","src/ir/analysis/has_vtable.rs":"33def5eb43270fff87455a0e8d262817876e2cf8c676b8cb6c8ec37e84dd99d1","src/ir/analysis/mod.rs":"10a7817a9c990dd8125e4ca9ed1fe02b9a0e27c4dd0320e909bb55f727ed8191","src/ir/analysis/template_params.rs":"e1a3709c3c07b7be21e3912339820f86992b56af44d923919023b7e015f41755","src/ir/annotations.rs":"ef106afcbe6084c18bd13a37ee3c1cdc9596bfb055db8c773d81f8f15fec3208","src/ir/comment.rs":"36f2a1d3970fdbf3d72c1f094043902747cde395215bdf7e9103926d9df011fd","src/ir/comp.rs":"062ea5ec95717e32b26be39bd4664179ff790831042205d795af1a4654922c8d","src/ir/context.rs":"68dbaa11ae5041965e08de24955852982f10c764decb7ba1de6c82073e95916c","src/ir/derive.rs":"608e9bacd6d6d29f5b4357fe2f7cdda62e79c77271b022e5275d22abc22788d3","src/ir/dot.rs":"173e57c3017182279bff98ea5edfd8e6e007a25e70da27139578a637a0a747bc","src/ir/enum_ty.rs":"d633d4d36a64cafd4e1e4ba82872058d5a0aada007e47353e4905ce1fe7d16ec","src/ir/function.rs":"409b779469c8092100991bc442b0b5bcfe9d5510edb71db12a38181df7519938","src/ir/int.rs":"1f61a472288afe489d9320bc8b13920333ece57891ae8570b4c4f25ab50688e6","src/ir/item.rs":"bff6369353b37a209236d750d274c0282a8669c9f7bee2b0eeea706e17537d1f","src/ir/item_kind.rs":"13048962657436a757ff9483d96f2ce351ec5f827ecab4921ed643f6f115c497","src/ir/layout.rs":"39c415271629fc5a43373bcd5ba8bfa26ebb2544aa9e28598b0141214111bb67","src/ir/mod.rs":"2eae90f207fad2e45957ec9287064992a419e3fc916aba84faff2ea25cbeb5ee","src/ir/module.rs":"5d46d631cec17ef1d1882da60080898760181c2ddf991473afdd464bf8c7d867","src/ir/objc.rs":"52454e14371535ff4da4025cf45fee3d3beadbe36759a6ebf0d1d7048a00714f","src/ir/template.rs":"cc96a205dec677962376cec0bdbf53820d633378fa92d9faeb34953d2943a928","src/ir/traversal.rs":"521fdd685ba8c684199cbc8131561ed39aed852dd0d1e76e17d8d2a3d204428b","src/ir/ty.rs":"263e7c5794b56dd0499db8b102169f70881b5ff1d15ded1fe49fc24c29d9ab34","src/ir/var.rs":"c60354e164e357480e72b20d7f5c2f7188da8af38ad1db0a3f79806ef60388ab","src/lib.rs":"6efe2ba78af7a2c790e73e03ca6876c24a56636b3b2fb74926a866675dc7ee71","src/log_stubs.rs":"6dfdd908b7c6453da416cf232893768f9480e551ca4add0858ef88bf71ee6ceb","src/main.rs":"6ebd647814b339bbd318f5d55f54ef98091138c2c7208436a88204be56a5a49b","src/options.rs":"cced11c8ba947953098df62beb7980dd72d9aa9c6fd3c8dba5aac745bdcd2315","src/parse.rs":"812171946f0ec8a83f26f9041151ad9dcdff11961e5154e4dae4be248f86b296","src/regex_set.rs":"e4cc668c724a80f7dd7d028f4a22146680513b40cf3a5255551c41079d302309"},"package":"33024f55a754d920637461adf87fb485702a69bdf7ac1d307b7e18da93bae505"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bitflags-0.7.0/.cargo-checksum.json
+++ b/third_party/rust/bitflags-0.7.0/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"2b615144d3f4b2e63ba6ec435cc18df7d76354aa07c2a02d6c707028cc448784","Cargo.toml":"db8c2e9ea912c5f3d2d89cf4cf936c448300e356b0fb533db8875923cb135256","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"8cfbc986af45867d9e620188af2392320fe6e0d9536753ba415c94ab522f5fb5","src/lib.rs":"618ce383bb219725363fba174fc66beb4874d9682e5da953f9e3e9cb3f786d5f","tests/external.rs":"546e549ec831876a5dc272bd0537adc9e9886c6da54656c825e7bffc079e2c74","tests/external_no_std.rs":"48929f5109aabc156442d5ae2ab07b4bce5d648488bf49dba725f6ab23bcb48a"},"package":"aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"}
\ No newline at end of file
+{"files":{".travis.yml":"2b615144d3f4b2e63ba6ec435cc18df7d76354aa07c2a02d6c707028cc448784","Cargo.toml":"db8c2e9ea912c5f3d2d89cf4cf936c448300e356b0fb533db8875923cb135256","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"8cfbc986af45867d9e620188af2392320fe6e0d9536753ba415c94ab522f5fb5","src/lib.rs":"618ce383bb219725363fba174fc66beb4874d9682e5da953f9e3e9cb3f786d5f","tests/external.rs":"546e549ec831876a5dc272bd0537adc9e9886c6da54656c825e7bffc079e2c74","tests/external_no_std.rs":"48929f5109aabc156442d5ae2ab07b4bce5d648488bf49dba725f6ab23bcb48a"},"package":"aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bitflags-0.8.2/.cargo-checksum.json
+++ b/third_party/rust/bitflags-0.8.2/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"793de473e858941a0d41e0c4e114373bca6b822737cdcf5ff8f36238a9b51837","Cargo.toml":"98d1298b1d79ccc587957062cf1c56712f68ee2796bed5f39c8d334133d9c562","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"1cce1c9c1fe2cf40ec1c6a0384f8cc2f0c5c40ece4acfedd64330ed95ef74e44","src/lib.rs":"006a631d800f713e2ffc74e33f65fd47505eec1b047c109e180905a9dcb7e973","tests/external.rs":"546e549ec831876a5dc272bd0537adc9e9886c6da54656c825e7bffc079e2c74","tests/external_no_std.rs":"48929f5109aabc156442d5ae2ab07b4bce5d648488bf49dba725f6ab23bcb48a","tests/i128_bitflags.rs":"fb1bf9e01f528478539c52de94e82a96b2639dc271ea242fea6ebb32dcb0f99e"},"package":"1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4"}
\ No newline at end of file
+{"files":{".travis.yml":"793de473e858941a0d41e0c4e114373bca6b822737cdcf5ff8f36238a9b51837","Cargo.toml":"98d1298b1d79ccc587957062cf1c56712f68ee2796bed5f39c8d334133d9c562","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"1cce1c9c1fe2cf40ec1c6a0384f8cc2f0c5c40ece4acfedd64330ed95ef74e44","src/lib.rs":"006a631d800f713e2ffc74e33f65fd47505eec1b047c109e180905a9dcb7e973","tests/external.rs":"546e549ec831876a5dc272bd0537adc9e9886c6da54656c825e7bffc079e2c74","tests/external_no_std.rs":"48929f5109aabc156442d5ae2ab07b4bce5d648488bf49dba725f6ab23bcb48a","tests/i128_bitflags.rs":"fb1bf9e01f528478539c52de94e82a96b2639dc271ea242fea6ebb32dcb0f99e"},"package":"1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bitflags-0.9.1/.cargo-checksum.json
+++ b/third_party/rust/bitflags-0.9.1/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e7a77c1800f9852e4c9a2acb9df041773ecd0bc005bd1b0657ae0512c67100ac","Cargo.toml":"f35826eec96c765ae8aee4f8a66c6b3cb0d918b49935baf05bae79b6df8e1077","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"602c63819e332e93c85dc8426db4855f18fe0fabbd642c5b2303ed83f1ba926f","src/example_generated.rs":"161b69d92cf6e5fa4b5dc30f06031f3a0fb590b44be2bcf0f31cb8be4fab36fa","src/lib.rs":"56e86a16356d9322fa6b4e9b910041e2e7558c08b52ffbdacc647eba36b37abc","tests/conflicting_trait_impls.rs":"79993ea67ef09a5f99fddd69d8b73b1c137e41d0e8f8535f03865d6766dcc498","tests/external.rs":"15f7901698e286197666ccd309ad1debd3c35eaff680ca090368494e8b06ccf2","tests/external_no_std.rs":"c3556fd19dd91d1b093eb6a65d09a9d0985544f0377ba3d30c0e265c956f7237","tests/i128_bitflags.rs":"c955ef2c9fd385848195bb416e660e946ccbe59acc87862ef2646eb082d82e3f"},"package":"4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"}
\ No newline at end of file
+{"files":{".travis.yml":"e7a77c1800f9852e4c9a2acb9df041773ecd0bc005bd1b0657ae0512c67100ac","Cargo.toml":"f35826eec96c765ae8aee4f8a66c6b3cb0d918b49935baf05bae79b6df8e1077","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"602c63819e332e93c85dc8426db4855f18fe0fabbd642c5b2303ed83f1ba926f","src/example_generated.rs":"161b69d92cf6e5fa4b5dc30f06031f3a0fb590b44be2bcf0f31cb8be4fab36fa","src/lib.rs":"56e86a16356d9322fa6b4e9b910041e2e7558c08b52ffbdacc647eba36b37abc","tests/conflicting_trait_impls.rs":"79993ea67ef09a5f99fddd69d8b73b1c137e41d0e8f8535f03865d6766dcc498","tests/external.rs":"15f7901698e286197666ccd309ad1debd3c35eaff680ca090368494e8b06ccf2","tests/external_no_std.rs":"c3556fd19dd91d1b093eb6a65d09a9d0985544f0377ba3d30c0e265c956f7237","tests/i128_bitflags.rs":"c955ef2c9fd385848195bb416e660e946ccbe59acc87862ef2646eb082d82e3f"},"package":"4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bitflags/.cargo-checksum.json
+++ b/third_party/rust/bitflags/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"d0da6f63d93a5cfb6536e3be8714239386a79fbfdfe3e6ec92a78c8ddde62010","Cargo.toml":"5a87b6a8e0411a560659a73163f9a222b4b6fa46c6d3ef7bb4dc1e5152807b4a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"aedcbbbefde11d7d8df61645aa93324695e7035d847e934a92e0250920287072","src/example_generated.rs":"8e8f188edaaefb8cc75064bd9e6dfdb8d776132ad838cff377a1acf08216186f","src/lib.rs":"d66cedd360642fcaf89a84408ea6b336f9d89948800e0a8149465cc3a022a621","tests/conflicting_trait_impls.rs":"a2a2e28dee83ead220bbc76653ae203242d9024e05aa47217049c91dd66e3b91","tests/external.rs":"1ec3fb8681056383397f34a9ae87c3d24f031715f88602cab19fa3c820e021b0","tests/external_no_std.rs":"75e0e2d6257b67d4ab9d975a9851f0a874ca7d2cdb0940df6212eafbb0fc2d88","tests/i128_bitflags.rs":"e55fbd7529839bffb8e3a8bf00516b7aca9f4a51cfda5177da17aece8328ad55"},"package":"f5cde24d1b2e2216a726368b2363a273739c91f4e3eb4e0dd12d672d396ad989"}
\ No newline at end of file
+{"files":{".travis.yml":"d0da6f63d93a5cfb6536e3be8714239386a79fbfdfe3e6ec92a78c8ddde62010","Cargo.toml":"5a87b6a8e0411a560659a73163f9a222b4b6fa46c6d3ef7bb4dc1e5152807b4a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","README.md":"aedcbbbefde11d7d8df61645aa93324695e7035d847e934a92e0250920287072","src/example_generated.rs":"8e8f188edaaefb8cc75064bd9e6dfdb8d776132ad838cff377a1acf08216186f","src/lib.rs":"d66cedd360642fcaf89a84408ea6b336f9d89948800e0a8149465cc3a022a621","tests/conflicting_trait_impls.rs":"a2a2e28dee83ead220bbc76653ae203242d9024e05aa47217049c91dd66e3b91","tests/external.rs":"1ec3fb8681056383397f34a9ae87c3d24f031715f88602cab19fa3c820e021b0","tests/external_no_std.rs":"75e0e2d6257b67d4ab9d975a9851f0a874ca7d2cdb0940df6212eafbb0fc2d88","tests/i128_bitflags.rs":"e55fbd7529839bffb8e3a8bf00516b7aca9f4a51cfda5177da17aece8328ad55"},"package":"f5cde24d1b2e2216a726368b2363a273739c91f4e3eb4e0dd12d672d396ad989"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bitreader/.cargo-checksum.json
+++ b/third_party/rust/bitreader/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f79c29325421aef57d8191a6a19450b62a431a78a6a5be39f5e8ec259316cdac","Cargo.toml":"4ea2fe4a12740a572f459cc5c51ca721b1a7b256a0976be561c9b0a9fce0dcc7","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"8583712ee2b062ff3d4d6d3e16f19ff0f92bc3a0a4beeec11a81ef00146fbd4f","README.md":"a8bfdd9509bb3bb30b30bbe308a717e9827cf97d7a97e5fb5cd69bdd3c88a490","src/lib.rs":"a7ed9d2607f47b7d5d11ccaccf23486a21d072435231d09f4548ad0c4ad62f5b","src/tests.rs":"c4e99780432b3ad05f625961699da72239a975f838cb0ab1cf2501424baed38c"},"package":"80b13e2ab064ff3aa0bdbf1eff533f9822dc37899821f5f98c67f263eab51707"}
\ No newline at end of file
+{"files":{".travis.yml":"f79c29325421aef57d8191a6a19450b62a431a78a6a5be39f5e8ec259316cdac","Cargo.toml":"4ea2fe4a12740a572f459cc5c51ca721b1a7b256a0976be561c9b0a9fce0dcc7","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"8583712ee2b062ff3d4d6d3e16f19ff0f92bc3a0a4beeec11a81ef00146fbd4f","README.md":"a8bfdd9509bb3bb30b30bbe308a717e9827cf97d7a97e5fb5cd69bdd3c88a490","src/lib.rs":"a7ed9d2607f47b7d5d11ccaccf23486a21d072435231d09f4548ad0c4ad62f5b","src/tests.rs":"c4e99780432b3ad05f625961699da72239a975f838cb0ab1cf2501424baed38c"},"package":"80b13e2ab064ff3aa0bdbf1eff533f9822dc37899821f5f98c67f263eab51707"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/boxfnonce/.cargo-checksum.json
+++ b/third_party/rust/boxfnonce/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"8be744358afc27dd3d9b89bf462482665f8165f626c0f37d4978b72b0e8b5fa7",".travis/id_rsa.enc":"da014c69739eb05c578d7f837241cdfcbe2d07a3d8b3b5f74ad1b6249198a9ab",".travis/travis-doc-upload.cfg":"37782ba0bcc600e42118d8da6198c6a0b310e56d86c94b836ae013e4878d872a",".travis/travis-doc-upload.sh":"086bbbd0a48f0f77c7c95f6bbaee07ffbf48268164e915147850d004e629a71f","Cargo.toml":"81d0f28c9ce143e63d06ef48252959aecd2bc47992ff61e63cb2e96421b48178","LICENSE":"861865431d6a6977a3d4da92f26788f26b441b8f0e4293615e30e94f54082b21","README.md":"f2b937c27c1845003ac311dd600cf61e7f9c9396e48fabc76253019e53fc7b8d","src/lib.rs":"a7064ce098775df840099ea99b3c50233b6b5662599a9b62af80edec4350279c","src/macros.rs":"7a2c9844e1d48e016ee1a34a8623c7a7475be0bcbb7d33acf50a32bfbeab20a4","src/no_send.rs":"f78a6135793fde462580d068213ac909361848443f6942bbece733490528acd8","src/send.rs":"c29819c7c2105b8188f4c374bdacf12eb2d4863288522f60efb9d5ba442f6cb8","src/traits.rs":"6952e490726775fbcf8036d5f0c7a6d0ef56401b8a26b9badac93ea68401e15c"},"package":"8380105befe91099e6f69206164072c05bc92427ff6aa8a5171388317346dd75"}
\ No newline at end of file
+{"files":{".travis.yml":"8be744358afc27dd3d9b89bf462482665f8165f626c0f37d4978b72b0e8b5fa7",".travis/id_rsa.enc":"da014c69739eb05c578d7f837241cdfcbe2d07a3d8b3b5f74ad1b6249198a9ab",".travis/travis-doc-upload.cfg":"37782ba0bcc600e42118d8da6198c6a0b310e56d86c94b836ae013e4878d872a",".travis/travis-doc-upload.sh":"086bbbd0a48f0f77c7c95f6bbaee07ffbf48268164e915147850d004e629a71f","Cargo.toml":"81d0f28c9ce143e63d06ef48252959aecd2bc47992ff61e63cb2e96421b48178","LICENSE":"861865431d6a6977a3d4da92f26788f26b441b8f0e4293615e30e94f54082b21","README.md":"f2b937c27c1845003ac311dd600cf61e7f9c9396e48fabc76253019e53fc7b8d","src/lib.rs":"a7064ce098775df840099ea99b3c50233b6b5662599a9b62af80edec4350279c","src/macros.rs":"7a2c9844e1d48e016ee1a34a8623c7a7475be0bcbb7d33acf50a32bfbeab20a4","src/no_send.rs":"f78a6135793fde462580d068213ac909361848443f6942bbece733490528acd8","src/send.rs":"c29819c7c2105b8188f4c374bdacf12eb2d4863288522f60efb9d5ba442f6cb8","src/traits.rs":"6952e490726775fbcf8036d5f0c7a6d0ef56401b8a26b9badac93ea68401e15c"},"package":"8380105befe91099e6f69206164072c05bc92427ff6aa8a5171388317346dd75"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/byteorder/.cargo-checksum.json
+++ b/third_party/rust/byteorder/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"c8243fb884ca390f5a7b8cc45e1c0d5bbbdd7e4e82ada2dc1880b3a904c9ce12","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"b6cd79e1f2a93cd8a5c6e6dd7985c46fc26e442ae5b8ed4a0ff37a4ad4708023","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","README.md":"0559514b9d7488e96fb7a2f3c043a62fadf3495a1e10602d109ce79ee67da998","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"f583692d829c8dfe19b1d5b9e968ccf5c74d6733367ca183edff74041a6afedd","src/lib.rs":"b038b8a84b2b7b2143b2835185b3cbbacaf056fa8a2f03bec84bfd79c913c726","src/new.rs":"161c21b7ebb5668c7cc70b46b0eb37709e06bb9c854f2fdfc6ce3d3babcbf3de"},"package":"c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8"}
\ No newline at end of file
+{"files":{".travis.yml":"c8243fb884ca390f5a7b8cc45e1c0d5bbbdd7e4e82ada2dc1880b3a904c9ce12","COPYING":"01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f","Cargo.toml":"b6cd79e1f2a93cd8a5c6e6dd7985c46fc26e442ae5b8ed4a0ff37a4ad4708023","LICENSE-MIT":"0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f","README.md":"0559514b9d7488e96fb7a2f3c043a62fadf3495a1e10602d109ce79ee67da998","UNLICENSE":"7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c","benches/bench.rs":"f583692d829c8dfe19b1d5b9e968ccf5c74d6733367ca183edff74041a6afedd","src/lib.rs":"b038b8a84b2b7b2143b2835185b3cbbacaf056fa8a2f03bec84bfd79c913c726","src/new.rs":"161c21b7ebb5668c7cc70b46b0eb37709e06bb9c854f2fdfc6ce3d3babcbf3de"},"package":"c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bytes/.cargo-checksum.json
+++ b/third_party/rust/bytes/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","CHANGELOG.md":"c6b490cbd81117cd0500e8dc26ca74cdf04eb49639ac0287eef559d7791cde1f","Cargo.toml":"3f1fe6c7e1e0bb164730bb584a58e128587dd742cfd1ab6bcda4c482be694bf5","LICENSE-APACHE":"01b5abb4a95cc87b220efbd67a1e99c74bef3d744806dd44b4d57e81db814962","LICENSE-MIT":"d4784f55731ba75b77ad73a52808914b26b2f93b69dd4c03249528a75afbd946","README.md":"7f5f585db959c73bcb1e8afd52b1c4110e57c2264a387f713b388f98181faebf","benches/bytes.rs":"bc1ef63dae52f111c78009399b16308e9e3c454b3ab5c46f89626e246fce3bd4","ci/before_deploy.ps1":"a8ee0204dd1397a245a47626fecd98eff5da76e12b15139c06271b3cc309a3e1","ci/before_deploy.sh":"ea008e2c544482cba5b659c17887ccd5354779c629096f28e667d40391299cc5","ci/install.sh":"8b165fc99df296261fcc9cdcbc8b8a177c11c505cdc9255cc19efb66cb0055db","ci/script.sh":"4e6f6b7df02d316ce5166a3526dc6bca6b6d051dbc5bd6d5b28a7c79fc646834","src/buf/buf.rs":"a8a26bb22fd5becd2062e756fc272eb6e09606e9e40120c4999634cb068b1837","src/buf/buf_mut.rs":"35e7fee4727f1628bc899216a74f9652235be255a035687d56bf8df71ebd29a4","src/buf/chain.rs":"3a4f88879d27240e84e58bbeddf3f7c0958d0d81f4707245199b53e922029a26","src/buf/from_buf.rs":"949683c6a08099b280bd324d0c8646b1d6ff80af4d3e9397edb76cc2f1b18c88","src/buf/into_buf.rs":"d982cb82f3f2ddba863366c36f9f6041b2076e7bb8906e882e47ef65742974db","src/buf/iter.rs":"325428e4f913beb602f6451b59847d4c8658ec23939a15f7b145733969c17f03","src/buf/mod.rs":"4f385ce47d6d19a064a1dbec3339e95e116aa9b501eb9d8a47030c2794e1ee9e","src/buf/reader.rs":"62098e87bd1aa8b7f57ed4a4d1b5417462f01ad2cfebfbac46b6ce7f00ea0192","src/buf/take.rs":"0bdd0720afc546c999e5a3125f20b6f31a5692b37f7218c25f414773e2702f3d","src/buf/writer.rs":"4a28c1d362e837682a4b3197732a6dbb4072dc660f0dbba18616679adf8a60f2","src/bytes.rs":"7b1ba792e6062ac9453b46bf1f8af7ea7784ccb142d38b40491b1a3c6d2f2e5a","src/debug.rs":"f01f07b199994400a62aa872344a19737198c8bce0fdc5a4b5b34d9cd37dee75","src/lib.rs":"cf5e336f8e04a35204e092eb9a6bf0fd8dc1cf8c639b5bb45f1298e7178deef4","src/serde.rs":"e8d0fe3630e173272756fb24a8c3ccb112f4cb551b8b88b64f669a71f39ef83b","tests/test_buf.rs":"5a29764cdc3f7c1eda563562dea1b624b923c088330eb4b894c28eb4e0faaf87","tests/test_buf_mut.rs":"5aefacb92183c747c9e91a469d675d6490618742ee5982d74af220faa9343ef1","tests/test_bytes.rs":"5fbd44ae30dc07883b5c5a5e6d8c91037525dc0cf6cfdcfb78033c3867089665","tests/test_chain.rs":"7bda7550927cf7799c708fedaaf4cd2924ed3fd800f30ef126d6c9efe48c3986","tests/test_debug.rs":"232f8a604668a61dc580eb064cf0fbc21f664182928438710c7cfde14bd637f4","tests/test_from_buf.rs":"9bf743c77e69c643d0a7673426547dacaedbcc65028a26cf5864eb6714e4897a","tests/test_iter.rs":"bc8a5da0b3cc7e5a5dc37e91dd2a3ca3fc78ba74b087883473043be45cd9b265","tests/test_serde.rs":"98e0ab121153a7ead47538257ac7fc7d5db081fc35050552b5e5dc9500b414f9","tests/test_take.rs":"bb81822eec5d3774bd2626f0f29b543d3651f4f5a95c51dfe8f93dec8b4f8e94"},"package":"d828f97b58cc5de3e40c421d0cf2132d6b2da4ee0e11b8632fa838f0f9333ad6"}
\ No newline at end of file
+{"files":{"CHANGELOG.md":"c6b490cbd81117cd0500e8dc26ca74cdf04eb49639ac0287eef559d7791cde1f","Cargo.toml":"3f1fe6c7e1e0bb164730bb584a58e128587dd742cfd1ab6bcda4c482be694bf5","LICENSE-APACHE":"01b5abb4a95cc87b220efbd67a1e99c74bef3d744806dd44b4d57e81db814962","LICENSE-MIT":"d4784f55731ba75b77ad73a52808914b26b2f93b69dd4c03249528a75afbd946","README.md":"7f5f585db959c73bcb1e8afd52b1c4110e57c2264a387f713b388f98181faebf","benches/bytes.rs":"bc1ef63dae52f111c78009399b16308e9e3c454b3ab5c46f89626e246fce3bd4","ci/before_deploy.ps1":"a8ee0204dd1397a245a47626fecd98eff5da76e12b15139c06271b3cc309a3e1","ci/before_deploy.sh":"ea008e2c544482cba5b659c17887ccd5354779c629096f28e667d40391299cc5","ci/install.sh":"8b165fc99df296261fcc9cdcbc8b8a177c11c505cdc9255cc19efb66cb0055db","ci/script.sh":"4e6f6b7df02d316ce5166a3526dc6bca6b6d051dbc5bd6d5b28a7c79fc646834","src/buf/buf.rs":"a8a26bb22fd5becd2062e756fc272eb6e09606e9e40120c4999634cb068b1837","src/buf/buf_mut.rs":"35e7fee4727f1628bc899216a74f9652235be255a035687d56bf8df71ebd29a4","src/buf/chain.rs":"3a4f88879d27240e84e58bbeddf3f7c0958d0d81f4707245199b53e922029a26","src/buf/from_buf.rs":"949683c6a08099b280bd324d0c8646b1d6ff80af4d3e9397edb76cc2f1b18c88","src/buf/into_buf.rs":"d982cb82f3f2ddba863366c36f9f6041b2076e7bb8906e882e47ef65742974db","src/buf/iter.rs":"325428e4f913beb602f6451b59847d4c8658ec23939a15f7b145733969c17f03","src/buf/mod.rs":"4f385ce47d6d19a064a1dbec3339e95e116aa9b501eb9d8a47030c2794e1ee9e","src/buf/reader.rs":"62098e87bd1aa8b7f57ed4a4d1b5417462f01ad2cfebfbac46b6ce7f00ea0192","src/buf/take.rs":"0bdd0720afc546c999e5a3125f20b6f31a5692b37f7218c25f414773e2702f3d","src/buf/writer.rs":"4a28c1d362e837682a4b3197732a6dbb4072dc660f0dbba18616679adf8a60f2","src/bytes.rs":"7b1ba792e6062ac9453b46bf1f8af7ea7784ccb142d38b40491b1a3c6d2f2e5a","src/debug.rs":"f01f07b199994400a62aa872344a19737198c8bce0fdc5a4b5b34d9cd37dee75","src/lib.rs":"cf5e336f8e04a35204e092eb9a6bf0fd8dc1cf8c639b5bb45f1298e7178deef4","src/serde.rs":"e8d0fe3630e173272756fb24a8c3ccb112f4cb551b8b88b64f669a71f39ef83b","tests/test_buf.rs":"5a29764cdc3f7c1eda563562dea1b624b923c088330eb4b894c28eb4e0faaf87","tests/test_buf_mut.rs":"5aefacb92183c747c9e91a469d675d6490618742ee5982d74af220faa9343ef1","tests/test_bytes.rs":"5fbd44ae30dc07883b5c5a5e6d8c91037525dc0cf6cfdcfb78033c3867089665","tests/test_chain.rs":"7bda7550927cf7799c708fedaaf4cd2924ed3fd800f30ef126d6c9efe48c3986","tests/test_debug.rs":"232f8a604668a61dc580eb064cf0fbc21f664182928438710c7cfde14bd637f4","tests/test_from_buf.rs":"9bf743c77e69c643d0a7673426547dacaedbcc65028a26cf5864eb6714e4897a","tests/test_iter.rs":"bc8a5da0b3cc7e5a5dc37e91dd2a3ca3fc78ba74b087883473043be45cd9b265","tests/test_serde.rs":"98e0ab121153a7ead47538257ac7fc7d5db081fc35050552b5e5dc9500b414f9","tests/test_take.rs":"bb81822eec5d3774bd2626f0f29b543d3651f4f5a95c51dfe8f93dec8b4f8e94"},"package":"d828f97b58cc5de3e40c421d0cf2132d6b2da4ee0e11b8632fa838f0f9333ad6"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bzip2-sys/.cargo-checksum.json
+++ b/third_party/rust/bzip2-sys/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"6cbb5d3024e3efa72fd131b6f7c7cc46c3d91f50b945235153d865dfc1b4e874","build.rs":"20e799fb7820cd52352f77bd5d92c0d78a71bcba984eda1ddb1f68e615d8d242","bzip2-1.0.6/CHANGES":"cf9ea36ed7161f90be08940164de30d5426c236dabab5f396ae6fbf19bdb2b7b","bzip2-1.0.6/LICENSE":"4919cfb14a73cd64fcef67b107613970cf1659a09aa675dba31314f373bc7204","bzip2-1.0.6/Makefile":"5e5818994b515c1c930cdcafa1c551b7f43789c2b98e3a66a55c67a911f14075","bzip2-1.0.6/Makefile-libbz2_so":"959b4743758c96b1dc2978d15304f16aca0f49263abd4c590245fa3f82779349","bzip2-1.0.6/README":"52ba29d974c085ac7f33603b30aea9d5aed09c6eef0e4a5f6f53747cba22b079","bzip2-1.0.6/README.COMPILATION.PROBLEMS":"1b98d5e0a695949072bad62a55638bb8baf3f7caa840dbecb2c3aab249e18606","bzip2-1.0.6/README.XML.STUFF":"bfee8553918aec485e93a2f1df29275332f662110619f1c47ac020c926adf5ec","bzip2-1.0.6/blocksort.c":"5a87cc2624b4c676fdb595a3caad22cfe4f667e347c7dcc22ad39c64bc243471","bzip2-1.0.6/bz-common.xsl":"cceeb48f5ddf2bcac9cd196f67413466e70c9f801e1c508aaa1de574cbe71cbc","bzip2-1.0.6/bz-fo.xsl":"a25683b9893709d92ab61fb91c3bc6b1892498d9f43fd0c22b3917a3789cdc2d","bzip2-1.0.6/bz-html.xsl":"d45f09d996c464af6dabd9e8cb8a45799637c8f8562c8d6cad283896771ce455","bzip2-1.0.6/bzdiff":"ca96220d7df823031c028dbb32183e6a8e9e05737eda10b97ec9c3e01724d6cf","bzip2-1.0.6/bzdiff.1":"32d1a7cd115430398e58537532584ef2ab76343c9f094dcd1253d9c4c0f705bf","bzip2-1.0.6/bzgrep":"2855f1850e1281747d70d1409084ff156cd42eb07872ffadab610a59e90df869","bzip2-1.0.6/bzgrep.1":"924aa4a7c7c1467400181e4c0ee1b527db142b6399a717171f2351b72b5899df","bzip2-1.0.6/bzip.css":"2af2624c4d0d861d4ebb915a3e4e5b1dcd87adf289d389d5eb2507d08f71acc2","bzip2-1.0.6/bzip2.1":"ffbfa089a0576074cbc78957151587e2bb6a8f00ebadd56763db954dc7c1ebf9","bzip2-1.0.6/bzip2.1.preformatted":"49014439a6c5741fadba0473680bd75545aea9d089fe62024b4ccaba261ea390","bzip2-1.0.6/bzip2.c":"87aff50026000cbab8d7e7314bab83a980fd481c96005d8650f3df1c748d9fcf","bzip2-1.0.6/bzip2.txt":"89a673a8ae1caca7aece10e4ef66feb735b5f00642f0126fa97525402d47fb21","bzip2-1.0.6/bzip2recover.c":"9a55818d0984b7a23934e6dc760f653076b25a1ae5adcc8038828a44883688b9","bzip2-1.0.6/bzlib.c":"2ff7ee75f54a48632ce7200555d6064397c134e13d1cece200131bbc8f81a94b","bzip2-1.0.6/bzlib.h":"b360bfe8e0769adaa8ee6ae26324e26c40ccbdb557677a6b8ad506214984d2e8","bzip2-1.0.6/bzlib_private.h":"0cdc41a109e5f003a691a3b541c7c75ea44b5da82f91605b197124a598a79741","bzip2-1.0.6/bzmore":"836536d4c7469788c730355d59f8ae8d16ba07cb0754174878d99ed90f04448d","bzip2-1.0.6/bzmore.1":"ccfcf3f995e11adae3035e287252091bb72d165da21e0c385a4965d17c9051c7","bzip2-1.0.6/compress.c":"eaa8b0d57e61aa259938e5023e0afa33bf88146a6797c38409d1c6e72ae8ccbf","bzip2-1.0.6/crctable.c":"12cde199e167a5d48a8a463d1234d6ec345f77df2b11dcd025fe137da6eb53da","bzip2-1.0.6/decompress.c":"e703faddf69686cb5664be628da2e3c8c443acc16e2a137a0d546d4ededbf72e","bzip2-1.0.6/dlltest.c":"1568b2dd44d3007dd52bfb1bdf9f31ffc90706d260ec5a3504bc47dc32a040a1","bzip2-1.0.6/dlltest.dsp":"5073bbf71a35876e8f82e34c66ccc578552713d0798576d944d9ec7ab61070c8","bzip2-1.0.6/entities.xml":"a6c4afd00b4eefd58f20283126ef2ad8409088d0a9ac1c21c0fdbecefab2cc61","bzip2-1.0.6/format.pl":"2d6b195aa9071819c91774d1645d9529cce8dcc7284bd3dba6d45f5eca772f6d","bzip2-1.0.6/huffman.c":"faa54732e6148d5c5832c5cd7c1986c1ba25b6917354c42e0cd6a7370ca25056","bzip2-1.0.6/libbz2.def":"7c72d18c550afbf464c92aeb3869eb559c9faba5c7828546d1ec8620e9d5c7a3","bzip2-1.0.6/libbz2.dsp":"e92bc39a2fc6a8c7e095971a55e5779d4c255b4484d259914614ab49bf09db8f","bzip2-1.0.6/makefile.msc":"aa4179750a47298dd61dd296937735afb04cff81957852eaf491819c20e1f406","bzip2-1.0.6/manual.html":"1095e3779cdc417f99b8a5098ce3ec3e3ebf90f4871c3b07b91c151fd62735f0","bzip2-1.0.6/manual.ps":"739359fef76687f7ac4c82b2c7faceda08f1a3eb8c87c12196a36343a65a1884","bzip2-1.0.6/manual.xml":"762d5a25470181cee670025ee6b11b6ee23bc50344301b9a422771051c52963b","bzip2-1.0.6/mk251.c":"844eb2e4acb4de272927bd5b9ee1ad802458cbacb85ad249723b79fa383be79f","bzip2-1.0.6/randtable.c":"46d27493aa8f64bed44495e3fa30233a2938056b2b274410bd67aaf40b8ef5f6","bzip2-1.0.6/sample1.bz2":"d4b442283e085497c528c0122c7ec64bf12aac422b3faff57b97de3378b7a7a4","bzip2-1.0.6/sample1.ref":"af423164ec87f495f7d450fee9bdd418c12114cd305de2384fd20b91ba7994c2","bzip2-1.0.6/sample2.bz2":"c74d44033766ea66171f51bd2ce6e3ad9ce4e0749e03ee4bee3074ab2a4b9c7f","bzip2-1.0.6/sample2.ref":"316ad6713f2c05413e0b9eac132840d092674e7de4138251d3552f98671fcf9a","bzip2-1.0.6/sample3.bz2":"fc60721da6329daa4bfe5ef3b32d2de0bebac626ce8522ae033dc3a9296c7779","bzip2-1.0.6/sample3.ref":"6be9c2bd214924b18db0d57b9a14d6f4eeb0b276cd3a980aed91521cca3199dd","bzip2-1.0.6/spewG.c":"b6be093348cdb8c396dc71c0cd853370778690c2ca99cb84e54285c496fe1779","bzip2-1.0.6/unzcrash.c":"a2d7d39bbe2c2ec2515aafa99ef54ea3844cd3e9acfac6ce2247cc58e7a19ac9","bzip2-1.0.6/words0":"cb3ad1756ad30df2b53e4abc0cc5fa19f120de5582bee32481460cb6991d4b24","bzip2-1.0.6/words1":"199303545d9a074b351c9d58fe41032a65840eb9638a8a1be9aea6b63ce55a19","bzip2-1.0.6/words2":"953e874cc77023c5a61c16d71a27e789209c56996c943fb55dcc8092ca39259b","bzip2-1.0.6/words3":"6c9b45d0f7a9d5a1aee52016b48bef8171be2cda23cf18144ef1d5d36eceb260","bzip2-1.0.6/xmlproc.sh":"bb4ce53b6a94f89e72f8b8fcdc48f1499e6fab2b3d59384c693942cf55a579b6","lib.rs":"7ec965dd2e93f091d93e6e5a1c9034757f84fc6c35c886ea9328ecd834c52b6b"},"package":"98ce3fff84d4e90011f464bbdf48e3428f04270439f703868fd489d2aaedfc30"}
\ No newline at end of file
+{"files":{"Cargo.toml":"6cbb5d3024e3efa72fd131b6f7c7cc46c3d91f50b945235153d865dfc1b4e874","build.rs":"20e799fb7820cd52352f77bd5d92c0d78a71bcba984eda1ddb1f68e615d8d242","bzip2-1.0.6/CHANGES":"cf9ea36ed7161f90be08940164de30d5426c236dabab5f396ae6fbf19bdb2b7b","bzip2-1.0.6/LICENSE":"4919cfb14a73cd64fcef67b107613970cf1659a09aa675dba31314f373bc7204","bzip2-1.0.6/Makefile":"5e5818994b515c1c930cdcafa1c551b7f43789c2b98e3a66a55c67a911f14075","bzip2-1.0.6/Makefile-libbz2_so":"959b4743758c96b1dc2978d15304f16aca0f49263abd4c590245fa3f82779349","bzip2-1.0.6/README":"52ba29d974c085ac7f33603b30aea9d5aed09c6eef0e4a5f6f53747cba22b079","bzip2-1.0.6/README.COMPILATION.PROBLEMS":"1b98d5e0a695949072bad62a55638bb8baf3f7caa840dbecb2c3aab249e18606","bzip2-1.0.6/README.XML.STUFF":"bfee8553918aec485e93a2f1df29275332f662110619f1c47ac020c926adf5ec","bzip2-1.0.6/blocksort.c":"5a87cc2624b4c676fdb595a3caad22cfe4f667e347c7dcc22ad39c64bc243471","bzip2-1.0.6/bz-common.xsl":"cceeb48f5ddf2bcac9cd196f67413466e70c9f801e1c508aaa1de574cbe71cbc","bzip2-1.0.6/bz-fo.xsl":"a25683b9893709d92ab61fb91c3bc6b1892498d9f43fd0c22b3917a3789cdc2d","bzip2-1.0.6/bz-html.xsl":"d45f09d996c464af6dabd9e8cb8a45799637c8f8562c8d6cad283896771ce455","bzip2-1.0.6/bzdiff":"ca96220d7df823031c028dbb32183e6a8e9e05737eda10b97ec9c3e01724d6cf","bzip2-1.0.6/bzdiff.1":"32d1a7cd115430398e58537532584ef2ab76343c9f094dcd1253d9c4c0f705bf","bzip2-1.0.6/bzgrep":"2855f1850e1281747d70d1409084ff156cd42eb07872ffadab610a59e90df869","bzip2-1.0.6/bzgrep.1":"924aa4a7c7c1467400181e4c0ee1b527db142b6399a717171f2351b72b5899df","bzip2-1.0.6/bzip.css":"2af2624c4d0d861d4ebb915a3e4e5b1dcd87adf289d389d5eb2507d08f71acc2","bzip2-1.0.6/bzip2.1":"ffbfa089a0576074cbc78957151587e2bb6a8f00ebadd56763db954dc7c1ebf9","bzip2-1.0.6/bzip2.1.preformatted":"49014439a6c5741fadba0473680bd75545aea9d089fe62024b4ccaba261ea390","bzip2-1.0.6/bzip2.c":"87aff50026000cbab8d7e7314bab83a980fd481c96005d8650f3df1c748d9fcf","bzip2-1.0.6/bzip2.txt":"89a673a8ae1caca7aece10e4ef66feb735b5f00642f0126fa97525402d47fb21","bzip2-1.0.6/bzip2recover.c":"9a55818d0984b7a23934e6dc760f653076b25a1ae5adcc8038828a44883688b9","bzip2-1.0.6/bzlib.c":"2ff7ee75f54a48632ce7200555d6064397c134e13d1cece200131bbc8f81a94b","bzip2-1.0.6/bzlib.h":"b360bfe8e0769adaa8ee6ae26324e26c40ccbdb557677a6b8ad506214984d2e8","bzip2-1.0.6/bzlib_private.h":"0cdc41a109e5f003a691a3b541c7c75ea44b5da82f91605b197124a598a79741","bzip2-1.0.6/bzmore":"836536d4c7469788c730355d59f8ae8d16ba07cb0754174878d99ed90f04448d","bzip2-1.0.6/bzmore.1":"ccfcf3f995e11adae3035e287252091bb72d165da21e0c385a4965d17c9051c7","bzip2-1.0.6/compress.c":"eaa8b0d57e61aa259938e5023e0afa33bf88146a6797c38409d1c6e72ae8ccbf","bzip2-1.0.6/crctable.c":"12cde199e167a5d48a8a463d1234d6ec345f77df2b11dcd025fe137da6eb53da","bzip2-1.0.6/decompress.c":"e703faddf69686cb5664be628da2e3c8c443acc16e2a137a0d546d4ededbf72e","bzip2-1.0.6/dlltest.c":"1568b2dd44d3007dd52bfb1bdf9f31ffc90706d260ec5a3504bc47dc32a040a1","bzip2-1.0.6/dlltest.dsp":"5073bbf71a35876e8f82e34c66ccc578552713d0798576d944d9ec7ab61070c8","bzip2-1.0.6/entities.xml":"a6c4afd00b4eefd58f20283126ef2ad8409088d0a9ac1c21c0fdbecefab2cc61","bzip2-1.0.6/format.pl":"2d6b195aa9071819c91774d1645d9529cce8dcc7284bd3dba6d45f5eca772f6d","bzip2-1.0.6/huffman.c":"faa54732e6148d5c5832c5cd7c1986c1ba25b6917354c42e0cd6a7370ca25056","bzip2-1.0.6/libbz2.def":"7c72d18c550afbf464c92aeb3869eb559c9faba5c7828546d1ec8620e9d5c7a3","bzip2-1.0.6/libbz2.dsp":"e92bc39a2fc6a8c7e095971a55e5779d4c255b4484d259914614ab49bf09db8f","bzip2-1.0.6/makefile.msc":"aa4179750a47298dd61dd296937735afb04cff81957852eaf491819c20e1f406","bzip2-1.0.6/manual.html":"1095e3779cdc417f99b8a5098ce3ec3e3ebf90f4871c3b07b91c151fd62735f0","bzip2-1.0.6/manual.ps":"739359fef76687f7ac4c82b2c7faceda08f1a3eb8c87c12196a36343a65a1884","bzip2-1.0.6/manual.xml":"762d5a25470181cee670025ee6b11b6ee23bc50344301b9a422771051c52963b","bzip2-1.0.6/mk251.c":"844eb2e4acb4de272927bd5b9ee1ad802458cbacb85ad249723b79fa383be79f","bzip2-1.0.6/randtable.c":"46d27493aa8f64bed44495e3fa30233a2938056b2b274410bd67aaf40b8ef5f6","bzip2-1.0.6/sample1.bz2":"d4b442283e085497c528c0122c7ec64bf12aac422b3faff57b97de3378b7a7a4","bzip2-1.0.6/sample1.ref":"af423164ec87f495f7d450fee9bdd418c12114cd305de2384fd20b91ba7994c2","bzip2-1.0.6/sample2.bz2":"c74d44033766ea66171f51bd2ce6e3ad9ce4e0749e03ee4bee3074ab2a4b9c7f","bzip2-1.0.6/sample2.ref":"316ad6713f2c05413e0b9eac132840d092674e7de4138251d3552f98671fcf9a","bzip2-1.0.6/sample3.bz2":"fc60721da6329daa4bfe5ef3b32d2de0bebac626ce8522ae033dc3a9296c7779","bzip2-1.0.6/sample3.ref":"6be9c2bd214924b18db0d57b9a14d6f4eeb0b276cd3a980aed91521cca3199dd","bzip2-1.0.6/spewG.c":"b6be093348cdb8c396dc71c0cd853370778690c2ca99cb84e54285c496fe1779","bzip2-1.0.6/unzcrash.c":"a2d7d39bbe2c2ec2515aafa99ef54ea3844cd3e9acfac6ce2247cc58e7a19ac9","bzip2-1.0.6/words0":"cb3ad1756ad30df2b53e4abc0cc5fa19f120de5582bee32481460cb6991d4b24","bzip2-1.0.6/words1":"199303545d9a074b351c9d58fe41032a65840eb9638a8a1be9aea6b63ce55a19","bzip2-1.0.6/words2":"953e874cc77023c5a61c16d71a27e789209c56996c943fb55dcc8092ca39259b","bzip2-1.0.6/words3":"6c9b45d0f7a9d5a1aee52016b48bef8171be2cda23cf18144ef1d5d36eceb260","bzip2-1.0.6/xmlproc.sh":"bb4ce53b6a94f89e72f8b8fcdc48f1499e6fab2b3d59384c693942cf55a579b6","lib.rs":"7ec965dd2e93f091d93e6e5a1c9034757f84fc6c35c886ea9328ecd834c52b6b"},"package":"98ce3fff84d4e90011f464bbdf48e3428f04270439f703868fd489d2aaedfc30"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/bzip2/.cargo-checksum.json
+++ b/third_party/rust/bzip2/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"364c4f937827f2198a09375da4e600e9125226aa48a8d638ae6e60ac81a4138d","Cargo.toml":"03be4e0cd554c624cc0440aa16c76de36cf70504031ec72774579aa4a4f66820","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"6fc30c321b044d0df0881d88f6692d5a033ebc2c85a9854013b268e0d41bf736","appveyor.yml":"a39fd7664bf538147bfb494b9f9c96d6f898d9896a5d5e1806019f399cc44bff","src/bufread.rs":"2d4dc93a26131cd483ecdfa862f559c187ea3afc6252bf7ab120b69f5aa58a96","src/lib.rs":"e37f771f5036116b3fd5911f9195b769c481f002b81a6c6c7588e07227bc7c0d","src/mem.rs":"e01c78d4ccc8fa62e62b807d18d68b359826f341e18b22347be8ae37b787ca18","src/read.rs":"c7cd2002c4b5210f67febb01e70dd5333f155a2786d2dc7e0bb8c2b6603e7ba2","src/write.rs":"b1bdedf64fe1a011468d882f45b6ee83d1e52a4d9b2c4898284f8aa09cf1b1d7","tests/tokio.rs":"b148e0909a10636ead355bf8cd1a5b9cdd9b1ad5f0ab4fbf5c20c49c03cd0975"},"package":"c3eafc42c44e0d827de6b1c131175098fe7fb53b8ce8a47e65cb3ea94688be24"}
\ No newline at end of file
+{"files":{".travis.yml":"364c4f937827f2198a09375da4e600e9125226aa48a8d638ae6e60ac81a4138d","Cargo.toml":"03be4e0cd554c624cc0440aa16c76de36cf70504031ec72774579aa4a4f66820","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"6fc30c321b044d0df0881d88f6692d5a033ebc2c85a9854013b268e0d41bf736","appveyor.yml":"a39fd7664bf538147bfb494b9f9c96d6f898d9896a5d5e1806019f399cc44bff","src/bufread.rs":"2d4dc93a26131cd483ecdfa862f559c187ea3afc6252bf7ab120b69f5aa58a96","src/lib.rs":"e37f771f5036116b3fd5911f9195b769c481f002b81a6c6c7588e07227bc7c0d","src/mem.rs":"e01c78d4ccc8fa62e62b807d18d68b359826f341e18b22347be8ae37b787ca18","src/read.rs":"c7cd2002c4b5210f67febb01e70dd5333f155a2786d2dc7e0bb8c2b6603e7ba2","src/write.rs":"b1bdedf64fe1a011468d882f45b6ee83d1e52a4d9b2c4898284f8aa09cf1b1d7","tests/tokio.rs":"b148e0909a10636ead355bf8cd1a5b9cdd9b1ad5f0ab4fbf5c20c49c03cd0975"},"package":"c3eafc42c44e0d827de6b1c131175098fe7fb53b8ce8a47e65cb3ea94688be24"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cexpr/.cargo-checksum.json
+++ b/third_party/rust/cexpr/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"fb51f35c4be7c1a6768ab026c11092cbf8b81aebaaa970e19f0b0033f7a26b88","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"d9771b8c6cf4426d3846de54c1febe20907f1eeadf7adfb5ade89a83bd9ea77f","src/expr.rs":"dc3e299b02b33e1441d6e82482409272554cfae8f271e3b5664a216ecf1fecdc","src/lib.rs":"a37cca356d761557bd27e08ce46044b758bd21d523d039105e71597f64da9ba1","src/literal.rs":"deddad795a6788a78533f49b6afa784702e2dbfd9848d6fad60ec5cecabfb840","src/token.rs":"85d63f778a438ba9f39dac643473d457103bad2f2d4b53dd62e65ded65b1a83d","tests/clang.rs":"125058defb8166679019475d72a76804ac2dbfc09f50c3fad5b908970d652f02","tests/input/chars.h":"69c8141870872b795b5174bad125b748732c2b01d0e98ffcfc37b19f3f791f69","tests/input/fail.h":"b0b6cffd2dd17410b5eb02ee79ab75754820480b960db8a9866cc9983bd36b65","tests/input/floats.h":"28ec664e793c494e1a31f3bc5b790014e9921fc741bf475a86319b9a9eee5915","tests/input/int_signed.h":"934199eded85dd7820ca08c0beb1381ee6d9339970d2720a69c23025571707ce","tests/input/int_unsigned.h":"3cdf9782a6e74796833ea0dfcb35b6ab6ca76a89080e82ed39bac0d55064d88c","tests/input/strings.h":"27de768b506a1aedfdb750ac53b7a395cc20395958ff3263af1ab5851e2c412c"},"package":"393a5f0088efbe41f9d1fcd062f24e83c278608420e62109feb2c8abee07de7d"}
\ No newline at end of file
+{"files":{"Cargo.toml":"fb51f35c4be7c1a6768ab026c11092cbf8b81aebaaa970e19f0b0033f7a26b88","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"d9771b8c6cf4426d3846de54c1febe20907f1eeadf7adfb5ade89a83bd9ea77f","src/expr.rs":"dc3e299b02b33e1441d6e82482409272554cfae8f271e3b5664a216ecf1fecdc","src/lib.rs":"a37cca356d761557bd27e08ce46044b758bd21d523d039105e71597f64da9ba1","src/literal.rs":"deddad795a6788a78533f49b6afa784702e2dbfd9848d6fad60ec5cecabfb840","src/token.rs":"85d63f778a438ba9f39dac643473d457103bad2f2d4b53dd62e65ded65b1a83d","tests/clang.rs":"125058defb8166679019475d72a76804ac2dbfc09f50c3fad5b908970d652f02","tests/input/chars.h":"69c8141870872b795b5174bad125b748732c2b01d0e98ffcfc37b19f3f791f69","tests/input/fail.h":"b0b6cffd2dd17410b5eb02ee79ab75754820480b960db8a9866cc9983bd36b65","tests/input/floats.h":"28ec664e793c494e1a31f3bc5b790014e9921fc741bf475a86319b9a9eee5915","tests/input/int_signed.h":"934199eded85dd7820ca08c0beb1381ee6d9339970d2720a69c23025571707ce","tests/input/int_unsigned.h":"3cdf9782a6e74796833ea0dfcb35b6ab6ca76a89080e82ed39bac0d55064d88c","tests/input/strings.h":"27de768b506a1aedfdb750ac53b7a395cc20395958ff3263af1ab5851e2c412c"},"package":"393a5f0088efbe41f9d1fcd062f24e83c278608420e62109feb2c8abee07de7d"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cfg-if-0.1.0/.cargo-checksum.json
+++ b/third_party/rust/cfg-if-0.1.0/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e4a302e9494e53483326b0307a2969e73fa7f3930199ad8b7be1015ee1827e03","Cargo.toml":"85c3d6ec135ebe7ba9681d76b08b4fb9ef16e70ad05fbbc5df5864567bbd2429","README.md":"3fa9368c60bc701dea294fbacae0469188c4be1de79f82e972bb9b321776cd52","src/lib.rs":"844d2f52dcc94a0118fab78163ff059342905e17177afbd14afcdb49e289050c","tests/xcrate.rs":"30dcb70fbb9c96fda2b7825592558279f534776f72e2a8a0a3e26df4dedb3caa"},"package":"de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"}
\ No newline at end of file
+{"files":{".travis.yml":"e4a302e9494e53483326b0307a2969e73fa7f3930199ad8b7be1015ee1827e03","Cargo.toml":"85c3d6ec135ebe7ba9681d76b08b4fb9ef16e70ad05fbbc5df5864567bbd2429","README.md":"3fa9368c60bc701dea294fbacae0469188c4be1de79f82e972bb9b321776cd52","src/lib.rs":"844d2f52dcc94a0118fab78163ff059342905e17177afbd14afcdb49e289050c","tests/xcrate.rs":"30dcb70fbb9c96fda2b7825592558279f534776f72e2a8a0a3e26df4dedb3caa"},"package":"de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cfg-if/.cargo-checksum.json
+++ b/third_party/rust/cfg-if/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"50f67b20a376d437e0706d9bbb0343c677295529991370b2962f814c0b2efea3","Cargo.toml":"d217067290b088db7f696e02ecc25461a0277e5e5e3bca6c7c0412b604c3526b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"3fa9368c60bc701dea294fbacae0469188c4be1de79f82e972bb9b321776cd52","src/lib.rs":"74b287a91a46dc9d0c179053b439fd40c43ad5389fbd5199fff1cce0094726a6","tests/xcrate.rs":"30dcb70fbb9c96fda2b7825592558279f534776f72e2a8a0a3e26df4dedb3caa"},"package":"d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29"}
\ No newline at end of file
+{"files":{".travis.yml":"50f67b20a376d437e0706d9bbb0343c677295529991370b2962f814c0b2efea3","Cargo.toml":"d217067290b088db7f696e02ecc25461a0277e5e5e3bca6c7c0412b604c3526b","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"3fa9368c60bc701dea294fbacae0469188c4be1de79f82e972bb9b321776cd52","src/lib.rs":"74b287a91a46dc9d0c179053b439fd40c43ad5389fbd5199fff1cce0094726a6","tests/xcrate.rs":"30dcb70fbb9c96fda2b7825592558279f534776f72e2a8a0a3e26df4dedb3caa"},"package":"d0c47d456a36ebf0536a6705c83c1cbbcb9255fbc1d905a6ded104f479268a29"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/chrono/.cargo-checksum.json
+++ b/third_party/rust/chrono/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e4721fe8d991d6b9f58da6fba573906a759b58b49ba58cb15b0ca279b3bc53cb","AUTHORS.txt":"4ba13d189cb419382ef9837e74de67c2dba98ff1b378816de2a3f59922da598a","CHANGELOG.md":"5dcce1ee25d1e37a0fa3ce162568061787a13870297d5f95bffa44156efe8701","Cargo.toml":"d7703847fb88c9edcd69a7ce84a4098d21a6dfa2159454067cf9bd56577073ac","LICENSE.txt":"37064a3e3254d5a0c7963d476125e25762e86adadc71959549767486e37c8038","Makefile":"6901ba54f43a90422482457a9237edbee41490b394c09fe5a7d40129db7be5b0","README.md":"d674954a5135c85e2af5e6efa3480b64f16f79dcfface35b01dd837c3b942af6","src/date.rs":"54ccfd7964c1d0ef601c8818bd59c88bf2fb61b51ea78336f190f5e793a47b8d","src/datetime.rs":"400cf1666cfc7224b2e38fbab31236a07f9d75418c9c7b3962d9871e4bda51af","src/div.rs":"bf03964177e2960b0c4726f4856f12b597a59b051241e2a0121501b78825dce8","src/format/mod.rs":"ff50334f39ce537e4745424c8e1a7632a8ec5179fd9047fa0d6cf622d6ce182a","src/format/parse.rs":"0b3ac142ac27b7a32618684b18453e2fd43c7d7d7ddc9b3adbf395c5934e0f1c","src/format/parsed.rs":"6ce9196fa34f29e64a1bc14e76a35b76f4ad5bf72711df8eba2b196aad5ec811","src/format/scan.rs":"ea5ebe5ab966c70f18605edce9a55098ee5f661da1a02b0710559d76067bab79","src/format/strftime.rs":"35ee925171f8c02e876a9b4f515d6ba7eadf3fc8cc914759bee382d5821270e7","src/lib.rs":"1e88f2bdc97130bd6ec3f87bfec4d671167cd66e9daa953b7ce11ceb5ea62928","src/naive/date.rs":"ad4e6b0a4ad939afd79981015d4b2004a33f66abd3c0a3d18a0765d6b87900a1","src/naive/datetime.rs":"317ab30a8648aef7440da5a813a55a7346c24ff13953436bcae7f6888ed0a0c6","src/naive/time.rs":"dab2c7a6cbd8943a1a775c6c8a9a042fed0dacca623c741871d3969a592d733f","src/offset/fixed.rs":"9f103b5abb3927a19bfeb533db5a695451a5e474ed645c7cf1ac52649bc5fe8a","src/offset/local.rs":"c29fdd66a0dd39f32ded7834479dd8755022a791fb13be1ae5027999a86e4a9e","src/offset/mod.rs":"3e732d056a29585d3eecd74ccdbb38c050d08def9d10f0000a7328761e6c77e6","src/offset/utc.rs":"072b460f6b726877344207e68edc00507e08d8a9168f9f571b6631a0c73ea7be"},"package":"9213f7cd7c27e95c2b57c49f0e69b1ea65b27138da84a170133fd21b07659c00"}
\ No newline at end of file
+{"files":{".travis.yml":"e4721fe8d991d6b9f58da6fba573906a759b58b49ba58cb15b0ca279b3bc53cb","AUTHORS.txt":"4ba13d189cb419382ef9837e74de67c2dba98ff1b378816de2a3f59922da598a","CHANGELOG.md":"5dcce1ee25d1e37a0fa3ce162568061787a13870297d5f95bffa44156efe8701","Cargo.toml":"d7703847fb88c9edcd69a7ce84a4098d21a6dfa2159454067cf9bd56577073ac","LICENSE.txt":"37064a3e3254d5a0c7963d476125e25762e86adadc71959549767486e37c8038","Makefile":"6901ba54f43a90422482457a9237edbee41490b394c09fe5a7d40129db7be5b0","README.md":"d674954a5135c85e2af5e6efa3480b64f16f79dcfface35b01dd837c3b942af6","src/date.rs":"54ccfd7964c1d0ef601c8818bd59c88bf2fb61b51ea78336f190f5e793a47b8d","src/datetime.rs":"400cf1666cfc7224b2e38fbab31236a07f9d75418c9c7b3962d9871e4bda51af","src/div.rs":"bf03964177e2960b0c4726f4856f12b597a59b051241e2a0121501b78825dce8","src/format/mod.rs":"ff50334f39ce537e4745424c8e1a7632a8ec5179fd9047fa0d6cf622d6ce182a","src/format/parse.rs":"0b3ac142ac27b7a32618684b18453e2fd43c7d7d7ddc9b3adbf395c5934e0f1c","src/format/parsed.rs":"6ce9196fa34f29e64a1bc14e76a35b76f4ad5bf72711df8eba2b196aad5ec811","src/format/scan.rs":"ea5ebe5ab966c70f18605edce9a55098ee5f661da1a02b0710559d76067bab79","src/format/strftime.rs":"35ee925171f8c02e876a9b4f515d6ba7eadf3fc8cc914759bee382d5821270e7","src/lib.rs":"1e88f2bdc97130bd6ec3f87bfec4d671167cd66e9daa953b7ce11ceb5ea62928","src/naive/date.rs":"ad4e6b0a4ad939afd79981015d4b2004a33f66abd3c0a3d18a0765d6b87900a1","src/naive/datetime.rs":"317ab30a8648aef7440da5a813a55a7346c24ff13953436bcae7f6888ed0a0c6","src/naive/time.rs":"dab2c7a6cbd8943a1a775c6c8a9a042fed0dacca623c741871d3969a592d733f","src/offset/fixed.rs":"9f103b5abb3927a19bfeb533db5a695451a5e474ed645c7cf1ac52649bc5fe8a","src/offset/local.rs":"c29fdd66a0dd39f32ded7834479dd8755022a791fb13be1ae5027999a86e4a9e","src/offset/mod.rs":"3e732d056a29585d3eecd74ccdbb38c050d08def9d10f0000a7328761e6c77e6","src/offset/utc.rs":"072b460f6b726877344207e68edc00507e08d8a9168f9f571b6631a0c73ea7be"},"package":"9213f7cd7c27e95c2b57c49f0e69b1ea65b27138da84a170133fd21b07659c00"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/clang-sys-0.19.0/.cargo-checksum.json
+++ b/third_party/rust/clang-sys-0.19.0/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"79d6a139814ae0f06ce0ca85fe22a27316a27d444320b904c471c7f612129889","CHANGELOG.md":"bd7194bb4c1572c3c34764853a871649bb4f8a20bd7fe6ef96aa8c49d3eb79a9","CONTRIBUTING.md":"4e2a45992604f07a37030bb1fc598c6f54a1785747c4f37a15a37481bbdecce8","Cargo.toml":"5f1795410761466bc3fbcec96a4f5d560b6ccf681bfa86b337fcf3b83ee074cb","LICENSE.txt":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","README.md":"73c5156eeff880c0c0ea80a2eb2926797fd06376118e23f842b4164ad677d4f1","appveyor.yml":"fe7033ab25bb78005136748676f59bfdd8f65b4c5c2910af911cbb9c496bdaef","build.rs":"2b934b1cd30083531d4b751f8fe22f997e07ffc35631f15a734574d1d2fa0900","ci/before_install.sh":"402f5704cd0163254b056a515a6cdfa16482eb2e28c31eb63a5c226abd26a8b7","ci/install.bat":"d694550679e14b384f8adf8384d475866e5880002cf82d450926f4607dc9077b","ci/script.sh":"1bb1cd29bd9635cc126cdcbd6c02f3500620a231a86726bf2165a4b74baaf433","ci/test_script.bat":"73462f51aaa9a1c14ce9f55c41dc3672df64faa9789725384ae4f28d8ba3c90b","clippy.toml":"acef14b9acffa18d1069ae08a4e8fe824a614f91b0bc71a6b1c68e4d885397e6","src/lib.rs":"7576ac0decd8827f2454af80631f8c7a852c0b56c28c0b08e03274a7c6e26ab0","src/link.rs":"b9f76e26fa9b1d690f6abf17e9f898d6545be149e2afe64c7411cd53e3168fcf","src/support.rs":"174534f4963a841de7c4fe14d9db6930355d99e5497ac38f42c9006440be02ef","tests/header.h":"b1cf564b21d76db78529d1934e1481a5f0452fdedc6e32954608293c310498b6","tests/lib.rs":"cc0544b0e580d79ae7a7ce0f390f979b3fabe85370b29318d5fc51c9de92599d"},"package":"611ec2e3a7623afd8a8c0d027887b6b55759d894abbf5fe11b9dc11b50d5b49a"}
\ No newline at end of file
+{"files":{".travis.yml":"79d6a139814ae0f06ce0ca85fe22a27316a27d444320b904c471c7f612129889","CHANGELOG.md":"bd7194bb4c1572c3c34764853a871649bb4f8a20bd7fe6ef96aa8c49d3eb79a9","CONTRIBUTING.md":"4e2a45992604f07a37030bb1fc598c6f54a1785747c4f37a15a37481bbdecce8","Cargo.toml":"5f1795410761466bc3fbcec96a4f5d560b6ccf681bfa86b337fcf3b83ee074cb","LICENSE.txt":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","README.md":"73c5156eeff880c0c0ea80a2eb2926797fd06376118e23f842b4164ad677d4f1","appveyor.yml":"fe7033ab25bb78005136748676f59bfdd8f65b4c5c2910af911cbb9c496bdaef","build.rs":"2b934b1cd30083531d4b751f8fe22f997e07ffc35631f15a734574d1d2fa0900","ci/before_install.sh":"402f5704cd0163254b056a515a6cdfa16482eb2e28c31eb63a5c226abd26a8b7","ci/install.bat":"d694550679e14b384f8adf8384d475866e5880002cf82d450926f4607dc9077b","ci/script.sh":"1bb1cd29bd9635cc126cdcbd6c02f3500620a231a86726bf2165a4b74baaf433","ci/test_script.bat":"73462f51aaa9a1c14ce9f55c41dc3672df64faa9789725384ae4f28d8ba3c90b","clippy.toml":"acef14b9acffa18d1069ae08a4e8fe824a614f91b0bc71a6b1c68e4d885397e6","src/lib.rs":"7576ac0decd8827f2454af80631f8c7a852c0b56c28c0b08e03274a7c6e26ab0","src/link.rs":"b9f76e26fa9b1d690f6abf17e9f898d6545be149e2afe64c7411cd53e3168fcf","src/support.rs":"174534f4963a841de7c4fe14d9db6930355d99e5497ac38f42c9006440be02ef","tests/header.h":"b1cf564b21d76db78529d1934e1481a5f0452fdedc6e32954608293c310498b6","tests/lib.rs":"cc0544b0e580d79ae7a7ce0f390f979b3fabe85370b29318d5fc51c9de92599d"},"package":"611ec2e3a7623afd8a8c0d027887b6b55759d894abbf5fe11b9dc11b50d5b49a"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/clang-sys/.cargo-checksum.json
+++ b/third_party/rust/clang-sys/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"136bc7c0b31a2317ca827c49b25aac46ae685e0c401a783a9b0505bb1405b30b","CHANGELOG.md":"12141ad7256835749c04c43e36eb128484d904a380f11ad34f90e738514a01a7","CONTRIBUTING.md":"4e2a45992604f07a37030bb1fc598c6f54a1785747c4f37a15a37481bbdecce8","Cargo.toml":"eac0e457be834ae463858dc840d93929a33c4ba91739b1f58521948c725266f1","LICENSE.txt":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","README.md":"17568cd3ba6ea85a1a5a661d0755eb7bc1640a569fdb4e4add9ebc764eb62bfb","appveyor.yml":"c9ab8ab1ab028b27d2be176e994a0d6a255cf8bcc36e15868472b6b8abf33fac","build.rs":"b99acc3fa4f1ee801805bd124544e43367ee2b51777aea4d64462c2c4df6d279","ci/before_install.sh":"711c9d0539fa0372980c3a288d9482a0e46d3ba0fb8f7c7c110d6488a8ec4de5","ci/install.bat":"d694550679e14b384f8adf8384d475866e5880002cf82d450926f4607dc9077b","ci/script.sh":"1bb1cd29bd9635cc126cdcbd6c02f3500620a231a86726bf2165a4b74baaf433","ci/test_script.bat":"73462f51aaa9a1c14ce9f55c41dc3672df64faa9789725384ae4f28d8ba3c90b","clippy.toml":"acef14b9acffa18d1069ae08a4e8fe824a614f91b0bc71a6b1c68e4d885397e6","src/lib.rs":"7220620110eae7ca261d040bf62ee499ca0faf4c2b754f73d86aa5f5885fc12b","src/link.rs":"eb73ee98ca8e2ca3a0de05ffd01d905046c8d0aef99f13397b9e3996037e8993","src/support.rs":"9929cdf5ad0896248938282d0e621be34855bca9a1eb6b7a02a174ace58a9d86","tests/header.h":"b1cf564b21d76db78529d1934e1481a5f0452fdedc6e32954608293c310498b6","tests/lib.rs":"e5e8a60bcaec3b5d043fde4a993d397adb56454d0b2a6adaa15df0535246f909"},"package":"5955eab05fa8e6ff2b353753dc73a0608daa36e472a21c69f2eb51f43f593544"}
\ No newline at end of file
+{"files":{".travis.yml":"136bc7c0b31a2317ca827c49b25aac46ae685e0c401a783a9b0505bb1405b30b","CHANGELOG.md":"12141ad7256835749c04c43e36eb128484d904a380f11ad34f90e738514a01a7","CONTRIBUTING.md":"4e2a45992604f07a37030bb1fc598c6f54a1785747c4f37a15a37481bbdecce8","Cargo.toml":"eac0e457be834ae463858dc840d93929a33c4ba91739b1f58521948c725266f1","LICENSE.txt":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","README.md":"17568cd3ba6ea85a1a5a661d0755eb7bc1640a569fdb4e4add9ebc764eb62bfb","appveyor.yml":"c9ab8ab1ab028b27d2be176e994a0d6a255cf8bcc36e15868472b6b8abf33fac","build.rs":"b99acc3fa4f1ee801805bd124544e43367ee2b51777aea4d64462c2c4df6d279","ci/before_install.sh":"711c9d0539fa0372980c3a288d9482a0e46d3ba0fb8f7c7c110d6488a8ec4de5","ci/install.bat":"d694550679e14b384f8adf8384d475866e5880002cf82d450926f4607dc9077b","ci/script.sh":"1bb1cd29bd9635cc126cdcbd6c02f3500620a231a86726bf2165a4b74baaf433","ci/test_script.bat":"73462f51aaa9a1c14ce9f55c41dc3672df64faa9789725384ae4f28d8ba3c90b","clippy.toml":"acef14b9acffa18d1069ae08a4e8fe824a614f91b0bc71a6b1c68e4d885397e6","src/lib.rs":"7220620110eae7ca261d040bf62ee499ca0faf4c2b754f73d86aa5f5885fc12b","src/link.rs":"eb73ee98ca8e2ca3a0de05ffd01d905046c8d0aef99f13397b9e3996037e8993","src/support.rs":"9929cdf5ad0896248938282d0e621be34855bca9a1eb6b7a02a174ace58a9d86","tests/header.h":"b1cf564b21d76db78529d1934e1481a5f0452fdedc6e32954608293c310498b6","tests/lib.rs":"e5e8a60bcaec3b5d043fde4a993d397adb56454d0b2a6adaa15df0535246f909"},"package":"5955eab05fa8e6ff2b353753dc73a0608daa36e472a21c69f2eb51f43f593544"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/clap-2.24.2/.cargo-checksum.json
+++ b/third_party/rust/clap-2.24.2/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".clog.toml":"f691701bd51b5f311931d0d8f05fa3d78c00dda8d60f3313e21011309c736ff1",".github/CONTRIBUTING.md":"f7eff737f3aa25294802fefb233e3758a64b248781dbbf3262532d693f340a87",".github/ISSUE_TEMPLATE.md":"681afbd64b3603e3e82789ceb6841d851eaa7333caec5769173462bab1b5d82b",".travis.yml":"2975b3159624d4ecc4dd29577f378e9d4fa27f1991bfd5042ac3c267fb2cdd38","CHANGELOG.md":"82b23419a6964c8f80993b399c9dded5b7fd809ba51f5f806c2a139d3c6270a4","CONTRIBUTORS.md":"5d7dbafaff6879bbfbb01b22cca299953ec163872d8d624bbf99e20851ca0165","Cargo.toml":"94e3789815bfd001abf96cb0d10fa95a4b4576bc679539e79a531d0010e2ccdd","LICENSE-MIT":"6725d1437fc6c77301f2ff0e7d52914cf4f9509213e1078dc77d9356dbe6eac5","README.md":"031031971829f165ed7ffd8375c2249ce96336a9ed7f207d4722df05563d2d7e","appveyor.yml":"303c64c2cc84c24b3c9ac0b4cd66b98d6bb25dec7d030ed53e5cb6ab3f13ebd1","clap-test.rs":"a0b0d9ca9106a52bf9dc41cf52b0b87c98209dca3490caa6ec1452bd1fec5c4c","index.html":"36f9ce4465266f3af9a259444b01c4239200473cabfc848f789f75b322a3ea8f","justfile":"811b2dec57aec46e570aeeb9945018cf87fe65f6d5b27cdb9ffca79d906910f6","rustfmt.toml":"8fd2d63119df515fd5f44e530c709b19d66b09fbc2e22a640bf4b64c57e7d6b3","src/app/help.rs":"da53217886fb1ea289b9057d4b5e94dce74ce81a7b7006d216370aad709bff77","src/app/macros.rs":"0205c461041d917aecb4a15212f89908e72902b961f47014a645f2b061de5998","src/app/meta.rs":"a56d28bb466a8ba68155b3f2883e85228b4b74cf25658f62fc050e07cff2dc85","src/app/mod.rs":"d0e1843ae1f77c1da4179cebdd8fb1ea55803002fb1ae96087de3a8cdcedf6fc","src/app/parser.rs":"66b08057b7bc19f6c2c94671de7fc20ec623368e04f92d2a6775991d37430fc2","src/app/settings.rs":"cf9f4a1a9d3799ac30d1d98cf23987cc884435ad912a0dfd853b101ce86c97cc","src/app/usage.rs":"ecaeab6c7980544e9a2d35cc41f2797df8bc9c09f5da67e96286631a116c0ccc","src/app/validator.rs":"f19d876ac673019ed5fdd4b9f76ba598fa790aa5e64d482696ca1e45dce5f28b","src/args/any_arg.rs":"b082385eeff2505ced7b747bd44d20a3fb6fd9d4bd14be9e99870699c43ea072","src/args/arg.rs":"673de3f1957eccb1b116255bac9638fe24c0da54ccb358d958446c8ed54c9621","src/args/arg_builder/base.rs":"8b99a9ab811df3e0bdcfba8c0994042b0bcd06d8ddf794ab559baaf9a490ba59","src/args/arg_builder/flag.rs":"4007a950869789b1f4d5f953107aee228477e2d5fe82515d3b895286c65522c6","src/args/arg_builder/mod.rs":"7a32c8fd85b48f7b60e5f2c13dc70fa9100aa65cd933ba419300d28d682bf722","src/args/arg_builder/option.rs":"d5e5243e3a72d2c820c8fad4e1efc4b985881c6f60f3a72757b33a9054a87e99","src/args/arg_builder/positional.rs":"39615d22b586e744a0bdeb8490dbe43df7df66ed793abf8f50ed2037ec0fb90c","src/args/arg_builder/switched.rs":"61f5121b0ec746461215a47e1b7a4d699a37a3f181172820e0615f68d5f6f0ef","src/args/arg_builder/valued.rs":"19368a03e046d6b63451c3d04dff6e51d49f140ed45330f82879539c6d1b28dd","src/args/arg_matcher.rs":"27829739ae12ac7800a26109e751ce9f8c3d26e262d41de161a38baf5c421167","src/args/arg_matches.rs":"9d72a388053ef0c31fe2516df9ea791a4d0f6c0b5e9758eb61886f1ac8df89ab","src/args/group.rs":"3f72a6ecc6ff71c96dd9cd8098e4fb6f7c4e6207e9bd0b67a50b104f5dfdb23d","src/args/macros.rs":"0dd7ae4c6e26ed78044c3ef90e21259816e544f724dcb09e6a0d92d4fcbc4b1a","src/args/matched_arg.rs":"1ed8d338869ecc3b5fa426ef4cf42f4c9c3b1dd538cdea1fe0489169345536f7","src/args/mod.rs":"c155cd989fa4ca1f8de6a79115afbf5086f092adcb854ff9698b9100f45fc323","src/args/settings.rs":"e6bbfb49c2e38fcedb67481bcbf0eb887ee510031639be8134411121a9363f7e","src/args/subcommand.rs":"e1ad9638c33785f1301675de1795b0a4f4b079452aa11f7526d263c2a1179432","src/completions/bash.rs":"116c6830ee2b6310f299a69924f5b1e39b05ebec2b5f7b0ffe3b6938b7fa5514","src/completions/fish.rs":"63975f8beea9af6bef66c7dd7938bfa61c6f871995a74dbc1545daa9fbc1f2d0","src/completions/macros.rs":"ebad5037e6e63401b1a54498e09d3bd93d1a3a06f045c2990902d47eb9a73774","src/completions/mod.rs":"5d4a734df6a21e6c1e0831a2f7be50a45d2e7bdaf7475589ea78b978643229cd","src/completions/powershell.rs":"4267818aaa60583c055d7a276a7535309e5162c94467f3003799b6a8a7f6d6b0","src/completions/shell.rs":"c7995ca229fd0d8671761da0aca0513c4f740165f02d06cd97aa0ae881c22cd4","src/completions/zsh.rs":"8ac4576e1cb3b1403dbb35ce146159aa8b29864e1d8201776200d999052b422d","src/errors.rs":"5d0ab536ea62614a6cf88d175a5b5e9c2777a35958e1d4598ac1ec4a6f451593","src/fmt.rs":"42459e7f42f5495c005d2de3eaf8d7b5619bf4b8d245ecb76e583f08ecaa3869","src/lib.rs":"3471c5b046df081afecb4e541d4e55dc7afa34bf7fe8f369f301f6471887e930","src/macros.rs":"c1d40220947c62b0364eedd2c40ca2c414daccc334a1e04e029a884e782bf2b0","src/osstringext.rs":"a87a5a0685dd8310f6329d5f8e8f54c0fac68eb75595a835aeb1c36208efd5f9","src/strext.rs":"d4418d396069e9c05804f92c042ba7192a4244e46059e2edc98670b45cd2daee","src/suggestions.rs":"ca352c62cdcc1b6071c50e39f39e8f5f6cd11c318229cc6cf16511dfde43c5c7","src/usage_parser.rs":"a04143bba42a6506746091a3f898c38e2c7409bacefed21fa8194c90961ca390"},"package":"6b8f69e518f967224e628896b54e41ff6acfb4dcfefc5076325c36525dac900f"}
\ No newline at end of file
+{"files":{".clog.toml":"f691701bd51b5f311931d0d8f05fa3d78c00dda8d60f3313e21011309c736ff1",".github/CONTRIBUTING.md":"f7eff737f3aa25294802fefb233e3758a64b248781dbbf3262532d693f340a87",".github/ISSUE_TEMPLATE.md":"681afbd64b3603e3e82789ceb6841d851eaa7333caec5769173462bab1b5d82b",".travis.yml":"2975b3159624d4ecc4dd29577f378e9d4fa27f1991bfd5042ac3c267fb2cdd38","CHANGELOG.md":"82b23419a6964c8f80993b399c9dded5b7fd809ba51f5f806c2a139d3c6270a4","CONTRIBUTORS.md":"5d7dbafaff6879bbfbb01b22cca299953ec163872d8d624bbf99e20851ca0165","Cargo.toml":"94e3789815bfd001abf96cb0d10fa95a4b4576bc679539e79a531d0010e2ccdd","LICENSE-MIT":"6725d1437fc6c77301f2ff0e7d52914cf4f9509213e1078dc77d9356dbe6eac5","README.md":"031031971829f165ed7ffd8375c2249ce96336a9ed7f207d4722df05563d2d7e","appveyor.yml":"303c64c2cc84c24b3c9ac0b4cd66b98d6bb25dec7d030ed53e5cb6ab3f13ebd1","clap-test.rs":"a0b0d9ca9106a52bf9dc41cf52b0b87c98209dca3490caa6ec1452bd1fec5c4c","index.html":"36f9ce4465266f3af9a259444b01c4239200473cabfc848f789f75b322a3ea8f","justfile":"811b2dec57aec46e570aeeb9945018cf87fe65f6d5b27cdb9ffca79d906910f6","rustfmt.toml":"8fd2d63119df515fd5f44e530c709b19d66b09fbc2e22a640bf4b64c57e7d6b3","src/app/help.rs":"da53217886fb1ea289b9057d4b5e94dce74ce81a7b7006d216370aad709bff77","src/app/macros.rs":"0205c461041d917aecb4a15212f89908e72902b961f47014a645f2b061de5998","src/app/meta.rs":"a56d28bb466a8ba68155b3f2883e85228b4b74cf25658f62fc050e07cff2dc85","src/app/mod.rs":"d0e1843ae1f77c1da4179cebdd8fb1ea55803002fb1ae96087de3a8cdcedf6fc","src/app/parser.rs":"66b08057b7bc19f6c2c94671de7fc20ec623368e04f92d2a6775991d37430fc2","src/app/settings.rs":"cf9f4a1a9d3799ac30d1d98cf23987cc884435ad912a0dfd853b101ce86c97cc","src/app/usage.rs":"ecaeab6c7980544e9a2d35cc41f2797df8bc9c09f5da67e96286631a116c0ccc","src/app/validator.rs":"f19d876ac673019ed5fdd4b9f76ba598fa790aa5e64d482696ca1e45dce5f28b","src/args/any_arg.rs":"b082385eeff2505ced7b747bd44d20a3fb6fd9d4bd14be9e99870699c43ea072","src/args/arg.rs":"673de3f1957eccb1b116255bac9638fe24c0da54ccb358d958446c8ed54c9621","src/args/arg_builder/base.rs":"8b99a9ab811df3e0bdcfba8c0994042b0bcd06d8ddf794ab559baaf9a490ba59","src/args/arg_builder/flag.rs":"4007a950869789b1f4d5f953107aee228477e2d5fe82515d3b895286c65522c6","src/args/arg_builder/mod.rs":"7a32c8fd85b48f7b60e5f2c13dc70fa9100aa65cd933ba419300d28d682bf722","src/args/arg_builder/option.rs":"d5e5243e3a72d2c820c8fad4e1efc4b985881c6f60f3a72757b33a9054a87e99","src/args/arg_builder/positional.rs":"39615d22b586e744a0bdeb8490dbe43df7df66ed793abf8f50ed2037ec0fb90c","src/args/arg_builder/switched.rs":"61f5121b0ec746461215a47e1b7a4d699a37a3f181172820e0615f68d5f6f0ef","src/args/arg_builder/valued.rs":"19368a03e046d6b63451c3d04dff6e51d49f140ed45330f82879539c6d1b28dd","src/args/arg_matcher.rs":"27829739ae12ac7800a26109e751ce9f8c3d26e262d41de161a38baf5c421167","src/args/arg_matches.rs":"9d72a388053ef0c31fe2516df9ea791a4d0f6c0b5e9758eb61886f1ac8df89ab","src/args/group.rs":"3f72a6ecc6ff71c96dd9cd8098e4fb6f7c4e6207e9bd0b67a50b104f5dfdb23d","src/args/macros.rs":"0dd7ae4c6e26ed78044c3ef90e21259816e544f724dcb09e6a0d92d4fcbc4b1a","src/args/matched_arg.rs":"1ed8d338869ecc3b5fa426ef4cf42f4c9c3b1dd538cdea1fe0489169345536f7","src/args/mod.rs":"c155cd989fa4ca1f8de6a79115afbf5086f092adcb854ff9698b9100f45fc323","src/args/settings.rs":"e6bbfb49c2e38fcedb67481bcbf0eb887ee510031639be8134411121a9363f7e","src/args/subcommand.rs":"e1ad9638c33785f1301675de1795b0a4f4b079452aa11f7526d263c2a1179432","src/completions/bash.rs":"116c6830ee2b6310f299a69924f5b1e39b05ebec2b5f7b0ffe3b6938b7fa5514","src/completions/fish.rs":"63975f8beea9af6bef66c7dd7938bfa61c6f871995a74dbc1545daa9fbc1f2d0","src/completions/macros.rs":"ebad5037e6e63401b1a54498e09d3bd93d1a3a06f045c2990902d47eb9a73774","src/completions/mod.rs":"5d4a734df6a21e6c1e0831a2f7be50a45d2e7bdaf7475589ea78b978643229cd","src/completions/powershell.rs":"4267818aaa60583c055d7a276a7535309e5162c94467f3003799b6a8a7f6d6b0","src/completions/shell.rs":"c7995ca229fd0d8671761da0aca0513c4f740165f02d06cd97aa0ae881c22cd4","src/completions/zsh.rs":"8ac4576e1cb3b1403dbb35ce146159aa8b29864e1d8201776200d999052b422d","src/errors.rs":"5d0ab536ea62614a6cf88d175a5b5e9c2777a35958e1d4598ac1ec4a6f451593","src/fmt.rs":"42459e7f42f5495c005d2de3eaf8d7b5619bf4b8d245ecb76e583f08ecaa3869","src/lib.rs":"3471c5b046df081afecb4e541d4e55dc7afa34bf7fe8f369f301f6471887e930","src/macros.rs":"c1d40220947c62b0364eedd2c40ca2c414daccc334a1e04e029a884e782bf2b0","src/osstringext.rs":"a87a5a0685dd8310f6329d5f8e8f54c0fac68eb75595a835aeb1c36208efd5f9","src/strext.rs":"d4418d396069e9c05804f92c042ba7192a4244e46059e2edc98670b45cd2daee","src/suggestions.rs":"ca352c62cdcc1b6071c50e39f39e8f5f6cd11c318229cc6cf16511dfde43c5c7","src/usage_parser.rs":"a04143bba42a6506746091a3f898c38e2c7409bacefed21fa8194c90961ca390"},"package":"6b8f69e518f967224e628896b54e41ff6acfb4dcfefc5076325c36525dac900f"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/clap/.cargo-checksum.json
+++ b/third_party/rust/clap/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".appveyor.yml":"38fb7e583271029caad727c9123a2b2679b7c59971de418f16dc5136dbebaeb5",".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".clog.toml":"f691701bd51b5f311931d0d8f05fa3d78c00dda8d60f3313e21011309c736ff1",".github/CONTRIBUTING.md":"f7eff737f3aa25294802fefb233e3758a64b248781dbbf3262532d693f340a87",".github/ISSUE_TEMPLATE.md":"681afbd64b3603e3e82789ceb6841d851eaa7333caec5769173462bab1b5d82b",".mention-bot":"51790ab49f43ed86a4a7c3d2e468aa5fa526ca5e2ac6af20432a2cb5b2fdbe84",".travis.yml":"2975b3159624d4ecc4dd29577f378e9d4fa27f1991bfd5042ac3c267fb2cdd38","CHANGELOG.md":"89936cd672f43681351e1b76622cc44d11c69f60440dd101f7b9db1cf2f184f7","CONTRIBUTORS.md":"5d7dbafaff6879bbfbb01b22cca299953ec163872d8d624bbf99e20851ca0165","Cargo.toml":"f12c622fae3f6582168616219b6e07e2ec99943e9515b76f97974e75227b9aa0","LICENSE-MIT":"6725d1437fc6c77301f2ff0e7d52914cf4f9509213e1078dc77d9356dbe6eac5","README.md":"bce567fb1e3e57129f3d0f58f5a1e9e07dc7414731644a47939c50b76f9976bb","clap-test.rs":"995a9d41ef372a814616113f4a58c1e580043678e54527afc2ebee7e8e1d3ef5","index.html":"36f9ce4465266f3af9a259444b01c4239200473cabfc848f789f75b322a3ea8f","justfile":"811b2dec57aec46e570aeeb9945018cf87fe65f6d5b27cdb9ffca79d906910f6","rustfmt.toml":"8fd2d63119df515fd5f44e530c709b19d66b09fbc2e22a640bf4b64c57e7d6b3","src/app/help.rs":"515f3ec638e3df8323b44c906073c07657122ec1b34bdadbdc47661c5d97ad1d","src/app/macros.rs":"44610b6522cedbcb140670aac27c796379f562ce77fcf5e8d104b038aadf52ec","src/app/meta.rs":"a56d28bb466a8ba68155b3f2883e85228b4b74cf25658f62fc050e07cff2dc85","src/app/mod.rs":"d0e1843ae1f77c1da4179cebdd8fb1ea55803002fb1ae96087de3a8cdcedf6fc","src/app/parser.rs":"1bae4cecf4fc798efdc2ad8d237f17536dafd7524e2d9a366f30f72a8a275846","src/app/settings.rs":"c6b87d4da01891123edddee9e28b048cba0c19d8c1db34ad5ad3e85b657c6b97","src/app/usage.rs":"703cec975c53e7f01b14b4593de41c518910ab347bc4c54efe79367a704ffc4c","src/app/validator.rs":"bc2291f6231a63456acab9e7743d1f881f1d5dfc17955394fa856703a8e80086","src/args/any_arg.rs":"b082385eeff2505ced7b747bd44d20a3fb6fd9d4bd14be9e99870699c43ea072","src/args/arg.rs":"673de3f1957eccb1b116255bac9638fe24c0da54ccb358d958446c8ed54c9621","src/args/arg_builder/base.rs":"8b99a9ab811df3e0bdcfba8c0994042b0bcd06d8ddf794ab559baaf9a490ba59","src/args/arg_builder/flag.rs":"4007a950869789b1f4d5f953107aee228477e2d5fe82515d3b895286c65522c6","src/args/arg_builder/mod.rs":"7a32c8fd85b48f7b60e5f2c13dc70fa9100aa65cd933ba419300d28d682bf722","src/args/arg_builder/option.rs":"d5e5243e3a72d2c820c8fad4e1efc4b985881c6f60f3a72757b33a9054a87e99","src/args/arg_builder/positional.rs":"f103a22803d9fb7f7c8f37f705fe214fdaad46903439964fc13740ec6f647eb8","src/args/arg_builder/switched.rs":"61f5121b0ec746461215a47e1b7a4d699a37a3f181172820e0615f68d5f6f0ef","src/args/arg_builder/valued.rs":"19368a03e046d6b63451c3d04dff6e51d49f140ed45330f82879539c6d1b28dd","src/args/arg_matcher.rs":"27829739ae12ac7800a26109e751ce9f8c3d26e262d41de161a38baf5c421167","src/args/arg_matches.rs":"9d72a388053ef0c31fe2516df9ea791a4d0f6c0b5e9758eb61886f1ac8df89ab","src/args/group.rs":"7fe5e2f0dd24faf1765410a9336d85976875e964d7f246e1fa216c4808d88dde","src/args/macros.rs":"57f248e2694f9413cbbaf9087813ed4f27064f5f8e29eaf4ec41ec2b274ae806","src/args/matched_arg.rs":"1ed8d338869ecc3b5fa426ef4cf42f4c9c3b1dd538cdea1fe0489169345536f7","src/args/mod.rs":"c155cd989fa4ca1f8de6a79115afbf5086f092adcb854ff9698b9100f45fc323","src/args/settings.rs":"2753ff50046def9ccb7f601b3d9f565348da1ef0253af24ccee94616a2e5c470","src/args/subcommand.rs":"e1ad9638c33785f1301675de1795b0a4f4b079452aa11f7526d263c2a1179432","src/completions/bash.rs":"116c6830ee2b6310f299a69924f5b1e39b05ebec2b5f7b0ffe3b6938b7fa5514","src/completions/fish.rs":"63975f8beea9af6bef66c7dd7938bfa61c6f871995a74dbc1545daa9fbc1f2d0","src/completions/macros.rs":"ebad5037e6e63401b1a54498e09d3bd93d1a3a06f045c2990902d47eb9a73774","src/completions/mod.rs":"5d4a734df6a21e6c1e0831a2f7be50a45d2e7bdaf7475589ea78b978643229cd","src/completions/powershell.rs":"866409e5d0a9b2551d739f86c0e4faf86911e9e7c656fb74b38e6960844233b5","src/completions/shell.rs":"c7995ca229fd0d8671761da0aca0513c4f740165f02d06cd97aa0ae881c22cd4","src/completions/zsh.rs":"8ac4576e1cb3b1403dbb35ce146159aa8b29864e1d8201776200d999052b422d","src/errors.rs":"3c46a4d79d9304ffb152a190528ec9db0cb6c05799bb5211e6df9f7d7abab814","src/fmt.rs":"f205f784268572544ff7e84a89f416c898255404275d4ab1f8fea7e89695daa9","src/lib.rs":"87b3ee49c6389cdbaa23e705732bcc68e7235bb16ff469321c92a89258c21beb","src/macros.rs":"2317a90223c80d8688fea5334b09b783c8aca8894e6c22ec2fd400ce941d301b","src/osstringext.rs":"a87a5a0685dd8310f6329d5f8e8f54c0fac68eb75595a835aeb1c36208efd5f9","src/strext.rs":"d4418d396069e9c05804f92c042ba7192a4244e46059e2edc98670b45cd2daee","src/suggestions.rs":"ad1165a9896382a0f09f73c0f6bf468454c19da207f28c3973e02879f453ad68","src/usage_parser.rs":"a04143bba42a6506746091a3f898c38e2c7409bacefed21fa8194c90961ca390"},"package":"867a885995b4184be051b70a592d4d70e32d7a188db6e8dff626af286a962771"}
\ No newline at end of file
+{"files":{".appveyor.yml":"38fb7e583271029caad727c9123a2b2679b7c59971de418f16dc5136dbebaeb5",".clog.toml":"f691701bd51b5f311931d0d8f05fa3d78c00dda8d60f3313e21011309c736ff1",".github/CONTRIBUTING.md":"f7eff737f3aa25294802fefb233e3758a64b248781dbbf3262532d693f340a87",".github/ISSUE_TEMPLATE.md":"681afbd64b3603e3e82789ceb6841d851eaa7333caec5769173462bab1b5d82b",".mention-bot":"51790ab49f43ed86a4a7c3d2e468aa5fa526ca5e2ac6af20432a2cb5b2fdbe84",".travis.yml":"2975b3159624d4ecc4dd29577f378e9d4fa27f1991bfd5042ac3c267fb2cdd38","CHANGELOG.md":"89936cd672f43681351e1b76622cc44d11c69f60440dd101f7b9db1cf2f184f7","CONTRIBUTORS.md":"5d7dbafaff6879bbfbb01b22cca299953ec163872d8d624bbf99e20851ca0165","Cargo.toml":"f12c622fae3f6582168616219b6e07e2ec99943e9515b76f97974e75227b9aa0","LICENSE-MIT":"6725d1437fc6c77301f2ff0e7d52914cf4f9509213e1078dc77d9356dbe6eac5","README.md":"bce567fb1e3e57129f3d0f58f5a1e9e07dc7414731644a47939c50b76f9976bb","clap-test.rs":"995a9d41ef372a814616113f4a58c1e580043678e54527afc2ebee7e8e1d3ef5","index.html":"36f9ce4465266f3af9a259444b01c4239200473cabfc848f789f75b322a3ea8f","justfile":"811b2dec57aec46e570aeeb9945018cf87fe65f6d5b27cdb9ffca79d906910f6","rustfmt.toml":"8fd2d63119df515fd5f44e530c709b19d66b09fbc2e22a640bf4b64c57e7d6b3","src/app/help.rs":"515f3ec638e3df8323b44c906073c07657122ec1b34bdadbdc47661c5d97ad1d","src/app/macros.rs":"44610b6522cedbcb140670aac27c796379f562ce77fcf5e8d104b038aadf52ec","src/app/meta.rs":"a56d28bb466a8ba68155b3f2883e85228b4b74cf25658f62fc050e07cff2dc85","src/app/mod.rs":"d0e1843ae1f77c1da4179cebdd8fb1ea55803002fb1ae96087de3a8cdcedf6fc","src/app/parser.rs":"1bae4cecf4fc798efdc2ad8d237f17536dafd7524e2d9a366f30f72a8a275846","src/app/settings.rs":"c6b87d4da01891123edddee9e28b048cba0c19d8c1db34ad5ad3e85b657c6b97","src/app/usage.rs":"703cec975c53e7f01b14b4593de41c518910ab347bc4c54efe79367a704ffc4c","src/app/validator.rs":"bc2291f6231a63456acab9e7743d1f881f1d5dfc17955394fa856703a8e80086","src/args/any_arg.rs":"b082385eeff2505ced7b747bd44d20a3fb6fd9d4bd14be9e99870699c43ea072","src/args/arg.rs":"673de3f1957eccb1b116255bac9638fe24c0da54ccb358d958446c8ed54c9621","src/args/arg_builder/base.rs":"8b99a9ab811df3e0bdcfba8c0994042b0bcd06d8ddf794ab559baaf9a490ba59","src/args/arg_builder/flag.rs":"4007a950869789b1f4d5f953107aee228477e2d5fe82515d3b895286c65522c6","src/args/arg_builder/mod.rs":"7a32c8fd85b48f7b60e5f2c13dc70fa9100aa65cd933ba419300d28d682bf722","src/args/arg_builder/option.rs":"d5e5243e3a72d2c820c8fad4e1efc4b985881c6f60f3a72757b33a9054a87e99","src/args/arg_builder/positional.rs":"f103a22803d9fb7f7c8f37f705fe214fdaad46903439964fc13740ec6f647eb8","src/args/arg_builder/switched.rs":"61f5121b0ec746461215a47e1b7a4d699a37a3f181172820e0615f68d5f6f0ef","src/args/arg_builder/valued.rs":"19368a03e046d6b63451c3d04dff6e51d49f140ed45330f82879539c6d1b28dd","src/args/arg_matcher.rs":"27829739ae12ac7800a26109e751ce9f8c3d26e262d41de161a38baf5c421167","src/args/arg_matches.rs":"9d72a388053ef0c31fe2516df9ea791a4d0f6c0b5e9758eb61886f1ac8df89ab","src/args/group.rs":"7fe5e2f0dd24faf1765410a9336d85976875e964d7f246e1fa216c4808d88dde","src/args/macros.rs":"57f248e2694f9413cbbaf9087813ed4f27064f5f8e29eaf4ec41ec2b274ae806","src/args/matched_arg.rs":"1ed8d338869ecc3b5fa426ef4cf42f4c9c3b1dd538cdea1fe0489169345536f7","src/args/mod.rs":"c155cd989fa4ca1f8de6a79115afbf5086f092adcb854ff9698b9100f45fc323","src/args/settings.rs":"2753ff50046def9ccb7f601b3d9f565348da1ef0253af24ccee94616a2e5c470","src/args/subcommand.rs":"e1ad9638c33785f1301675de1795b0a4f4b079452aa11f7526d263c2a1179432","src/completions/bash.rs":"116c6830ee2b6310f299a69924f5b1e39b05ebec2b5f7b0ffe3b6938b7fa5514","src/completions/fish.rs":"63975f8beea9af6bef66c7dd7938bfa61c6f871995a74dbc1545daa9fbc1f2d0","src/completions/macros.rs":"ebad5037e6e63401b1a54498e09d3bd93d1a3a06f045c2990902d47eb9a73774","src/completions/mod.rs":"5d4a734df6a21e6c1e0831a2f7be50a45d2e7bdaf7475589ea78b978643229cd","src/completions/powershell.rs":"866409e5d0a9b2551d739f86c0e4faf86911e9e7c656fb74b38e6960844233b5","src/completions/shell.rs":"c7995ca229fd0d8671761da0aca0513c4f740165f02d06cd97aa0ae881c22cd4","src/completions/zsh.rs":"8ac4576e1cb3b1403dbb35ce146159aa8b29864e1d8201776200d999052b422d","src/errors.rs":"3c46a4d79d9304ffb152a190528ec9db0cb6c05799bb5211e6df9f7d7abab814","src/fmt.rs":"f205f784268572544ff7e84a89f416c898255404275d4ab1f8fea7e89695daa9","src/lib.rs":"87b3ee49c6389cdbaa23e705732bcc68e7235bb16ff469321c92a89258c21beb","src/macros.rs":"2317a90223c80d8688fea5334b09b783c8aca8894e6c22ec2fd400ce941d301b","src/osstringext.rs":"a87a5a0685dd8310f6329d5f8e8f54c0fac68eb75595a835aeb1c36208efd5f9","src/strext.rs":"d4418d396069e9c05804f92c042ba7192a4244e46059e2edc98670b45cd2daee","src/suggestions.rs":"ad1165a9896382a0f09f73c0f6bf468454c19da207f28c3973e02879f453ad68","src/usage_parser.rs":"a04143bba42a6506746091a3f898c38e2c7409bacefed21fa8194c90961ca390"},"package":"867a885995b4184be051b70a592d4d70e32d7a188db6e8dff626af286a962771"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cmake/.cargo-checksum.json
+++ b/third_party/rust/cmake/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"c5565ac6e1981bf3a88d132c16e381411a239a1c25ec140ee13cf2d50f1f97d0","Cargo.toml":"b00470e46ebb5985066646479d788b7ceb4ec7155c5d0bc99d78230e323c5745","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"8ca528d20639506546044c676ff9069e3e850937b02bff4194dcf9e5c3c50d64","src/lib.rs":"414fe90372fa7c7f67853af871f2ca30c117abe406b405719e615b581a9f55ff"},"package":"b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f"}
\ No newline at end of file
+{"files":{".travis.yml":"c5565ac6e1981bf3a88d132c16e381411a239a1c25ec140ee13cf2d50f1f97d0","Cargo.toml":"b00470e46ebb5985066646479d788b7ceb4ec7155c5d0bc99d78230e323c5745","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"8ca528d20639506546044c676ff9069e3e850937b02bff4194dcf9e5c3c50d64","src/lib.rs":"414fe90372fa7c7f67853af871f2ca30c117abe406b405719e615b581a9f55ff"},"package":"b8ebbb35d3dc9cd09497168f33de1acb79b265d350ab0ac34133b98f8509af1f"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/coco/.cargo-checksum.json
+++ b/third_party/rust/coco/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"b4ea42f2ade2f287c4b0b6eee0e34437ec7cad7462832c18c397372b2a18aef1","CHANGELOG.md":"255242d56d5ce66921e03665a7b4b87be94c4b2ca7c4333f6569abe45321f992","Cargo.toml":"3aeb19f8e670699b19d0627c2466e8a859a02d3b8697c2054ac1ce8f82876c3e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0621878e61f0d0fda054bcbe02df75192c28bde1ecc8289cbd86aeba2dd72720","README.md":"7c3ce82aaba8e7bb81a62e1c99eb4c62c0116cd0832e343be5a52ec5e20942cb","benches/bench.rs":"ab1b7a1db73425735405fc214606c9ec783b350001f1be376ebf43cd4a540b67","ci/script.sh":"878f8b0a1d77d51834c152b299e6ef7b9c7d24a7ca2fbefe5070e9d2a72532c9","src/deque.rs":"5eaa6bec7c61435abebb35d52e9e02a6bb164c92d6c078f634e2b941f03e033d","src/epoch/atomic.rs":"1b7ed6f5abc0860a71a2d07f9099a4c0c7f274f7fe2a09733b64bf9f1a72fcd1","src/epoch/garbage.rs":"b1b35659796008001a8cb4a9edad7c101091f5ba45515cc5d64ef1ec862d36af","src/epoch/mod.rs":"0c83566f179b125ce37d40d5ba1c8731b3baa29fc0c46f966eeb44d1cb41502c","src/epoch/thread.rs":"cb8d17c75763004f4d3b227a7b710b1c8cbf3c5adc87d8346db57b2f8af59b27","src/lib.rs":"4b01d1e4bea889496b8c22713caaf34c65339aa8582e8b903fd3e0395c830a4a","src/stack.rs":"c1186eadfce0b83c3df2211cf15e0d2426b3a8fc3cd7726eca4e73851a502b60"},"package":"c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd"}
\ No newline at end of file
+{"files":{".travis.yml":"b4ea42f2ade2f287c4b0b6eee0e34437ec7cad7462832c18c397372b2a18aef1","CHANGELOG.md":"255242d56d5ce66921e03665a7b4b87be94c4b2ca7c4333f6569abe45321f992","Cargo.toml":"3aeb19f8e670699b19d0627c2466e8a859a02d3b8697c2054ac1ce8f82876c3e","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"0621878e61f0d0fda054bcbe02df75192c28bde1ecc8289cbd86aeba2dd72720","README.md":"7c3ce82aaba8e7bb81a62e1c99eb4c62c0116cd0832e343be5a52ec5e20942cb","benches/bench.rs":"ab1b7a1db73425735405fc214606c9ec783b350001f1be376ebf43cd4a540b67","ci/script.sh":"878f8b0a1d77d51834c152b299e6ef7b9c7d24a7ca2fbefe5070e9d2a72532c9","src/deque.rs":"5eaa6bec7c61435abebb35d52e9e02a6bb164c92d6c078f634e2b941f03e033d","src/epoch/atomic.rs":"1b7ed6f5abc0860a71a2d07f9099a4c0c7f274f7fe2a09733b64bf9f1a72fcd1","src/epoch/garbage.rs":"b1b35659796008001a8cb4a9edad7c101091f5ba45515cc5d64ef1ec862d36af","src/epoch/mod.rs":"0c83566f179b125ce37d40d5ba1c8731b3baa29fc0c46f966eeb44d1cb41502c","src/epoch/thread.rs":"cb8d17c75763004f4d3b227a7b710b1c8cbf3c5adc87d8346db57b2f8af59b27","src/lib.rs":"4b01d1e4bea889496b8c22713caaf34c65339aa8582e8b903fd3e0395c830a4a","src/stack.rs":"c1186eadfce0b83c3df2211cf15e0d2426b3a8fc3cd7726eca4e73851a502b60"},"package":"c06169f5beb7e31c7c67ebf5540b8b472d23e3eade3b2ec7d1f5b504a85f91bd"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cookie/.cargo-checksum.json
+++ b/third_party/rust/cookie/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"d2a9bb7c029e8ed0acfb8dc8e786014cfa4f053b6f4c525303d69fd7e28704e9","Cargo.toml":"58c04bac67faab6be97b59de07794082d3939573035d206bfdd097943a5db79c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"d4e2bab975203277cab1daa6560bd918fdc35e50a7a41a97a55eeea06526a441","src/builder.rs":"528640f717f5769e522a9ac066a994c21973ff3a5e9359d087f410233887c83c","src/delta.rs":"510fc3dbf0a70d635d0488c5a5a32a2ba8e1490ce05bee39d944ea8c02189bbc","src/draft.rs":"bd11960db08f4e4368937845fc18b842e474391738e4457a3441df2789c9d320","src/jar.rs":"98237c4a37143e08bcb6e84c5ed69b799a8a08f89a1b83f02c425cc92b089252","src/lib.rs":"c9713205a51c98138cdcf422313fde959d8bcabf483c4803f2ed6c755eb9f7d5","src/parse.rs":"ee46cee7fa445e6545f29eac3eac81e76ec29e9c53e000195af427c7315ee11c","src/secure/key.rs":"734f35ef4b0d6b63174befdcb970f0304ac63f0895871b7c2f267fefdd43b648","src/secure/macros.rs":"83d770e5c4eb7fbd3c3d86973b69042e9e2bb9fafb72a4456598e2ae78638d5f","src/secure/mod.rs":"5d7fecb62295827d474ed1ce6b7628fe93d4a09eb14babfde036d64e8e4a04f8","src/secure/private.rs":"fbe9b8f79acaab9f9698298e7be57d3fcc33ca3fffbd13f576951b16f28cba60","src/secure/signed.rs":"8440c9ce5a0be4e162fb502cd1fbe24572ce00709f5554c45f8bece39637590d"},"package":"a54aa6d675d62b2f95b56b331b5222a520149a54f23a2d21974dfcc69caf0a9d"}
\ No newline at end of file
+{"files":{".travis.yml":"d2a9bb7c029e8ed0acfb8dc8e786014cfa4f053b6f4c525303d69fd7e28704e9","Cargo.toml":"58c04bac67faab6be97b59de07794082d3939573035d206bfdd097943a5db79c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"d4e2bab975203277cab1daa6560bd918fdc35e50a7a41a97a55eeea06526a441","src/builder.rs":"528640f717f5769e522a9ac066a994c21973ff3a5e9359d087f410233887c83c","src/delta.rs":"510fc3dbf0a70d635d0488c5a5a32a2ba8e1490ce05bee39d944ea8c02189bbc","src/draft.rs":"bd11960db08f4e4368937845fc18b842e474391738e4457a3441df2789c9d320","src/jar.rs":"98237c4a37143e08bcb6e84c5ed69b799a8a08f89a1b83f02c425cc92b089252","src/lib.rs":"c9713205a51c98138cdcf422313fde959d8bcabf483c4803f2ed6c755eb9f7d5","src/parse.rs":"ee46cee7fa445e6545f29eac3eac81e76ec29e9c53e000195af427c7315ee11c","src/secure/key.rs":"734f35ef4b0d6b63174befdcb970f0304ac63f0895871b7c2f267fefdd43b648","src/secure/macros.rs":"83d770e5c4eb7fbd3c3d86973b69042e9e2bb9fafb72a4456598e2ae78638d5f","src/secure/mod.rs":"5d7fecb62295827d474ed1ce6b7628fe93d4a09eb14babfde036d64e8e4a04f8","src/secure/private.rs":"fbe9b8f79acaab9f9698298e7be57d3fcc33ca3fffbd13f576951b16f28cba60","src/secure/signed.rs":"8440c9ce5a0be4e162fb502cd1fbe24572ce00709f5554c45f8bece39637590d"},"package":"a54aa6d675d62b2f95b56b331b5222a520149a54f23a2d21974dfcc69caf0a9d"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.3.1/.cargo-checksum.json
+++ b/third_party/rust/core-foundation-sys-0.3.1/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"4516face4b018e46fc36cfe24eff335671684032a75435305d62fd5f280f05a7","build.rs":"4dbf3e5a423e5eba48fc7f11e4f7638c054e53a3750c888059a96d96f8923ef2","src/array.rs":"d648ed8cf0ccb72c3ca0d9e018a3db804edad9685739eba13f8f515e04f3708b","src/base.rs":"c995d91c9e5aed99ea28fc75561cfd573f5e8ff806ef512194e7b616c35c308f","src/bundle.rs":"ff5f5253f331b7fa054414a3f256d74760e3ce805b720cdb735a2e46cc66dce6","src/data.rs":"21e968951fe56e080d33474f4438de2dfb7e0c8af426a6dfb100efdd6c530eec","src/date.rs":"f6cdcb94658fafc5bacb83cfbd20ad97502b8ddf6bd1c0c0d6a2545a4f7b7420","src/dictionary.rs":"97c40c1afc719b970968179112ad76c3c89b6b4eb4ea18f7ac3f059d98cce736","src/error.rs":"61bc31a401ec6c8495668175eade9284e257da056fc666af74a5555af5daf33f","src/lib.rs":"8bdbc6ed8fcbbc5b69d7634031ff44d50b9ac789279eb89b80c280ea156c98b3","src/messageport.rs":"59ba92ca90bb9b3162b6df44188fac18cd979250f33a52361144c902e86529bd","src/number.rs":"8881c7cd1b510c654c445485de898f83abda91557fd3e6f9daccf2d1b9c4c57e","src/propertylist.rs":"cc2b27f8f8ebc80c03871b7b1ad50ee348539b016078ce721c86b8cd5f9d75bd","src/runloop.rs":"7feab3bbb9913c3b40285bc37b920f9fe4d937d1db08d8ae69a2ec9597713598","src/set.rs":"51e978fc81d4c55013dfc6df4e76c58daaf5deedf9aafda0f6a9e04e7575272c","src/string.rs":"27b92e8e5d3fc95a521dc6447ccfefd9eb28ec5f42bd8571defd124d950b133f","src/url.rs":"8a3f4137ca26e379a24666b4caa7a08f9726f838e53e9dbb92ba474036309669"},"package":"41115a6aa5d3e1e5ef98148373f25971d1fad53818553f216495f9e67e90a624"}
\ No newline at end of file
+{"files":{"Cargo.toml":"4516face4b018e46fc36cfe24eff335671684032a75435305d62fd5f280f05a7","build.rs":"4dbf3e5a423e5eba48fc7f11e4f7638c054e53a3750c888059a96d96f8923ef2","src/array.rs":"d648ed8cf0ccb72c3ca0d9e018a3db804edad9685739eba13f8f515e04f3708b","src/base.rs":"c995d91c9e5aed99ea28fc75561cfd573f5e8ff806ef512194e7b616c35c308f","src/bundle.rs":"ff5f5253f331b7fa054414a3f256d74760e3ce805b720cdb735a2e46cc66dce6","src/data.rs":"21e968951fe56e080d33474f4438de2dfb7e0c8af426a6dfb100efdd6c530eec","src/date.rs":"f6cdcb94658fafc5bacb83cfbd20ad97502b8ddf6bd1c0c0d6a2545a4f7b7420","src/dictionary.rs":"97c40c1afc719b970968179112ad76c3c89b6b4eb4ea18f7ac3f059d98cce736","src/error.rs":"61bc31a401ec6c8495668175eade9284e257da056fc666af74a5555af5daf33f","src/lib.rs":"8bdbc6ed8fcbbc5b69d7634031ff44d50b9ac789279eb89b80c280ea156c98b3","src/messageport.rs":"59ba92ca90bb9b3162b6df44188fac18cd979250f33a52361144c902e86529bd","src/number.rs":"8881c7cd1b510c654c445485de898f83abda91557fd3e6f9daccf2d1b9c4c57e","src/propertylist.rs":"cc2b27f8f8ebc80c03871b7b1ad50ee348539b016078ce721c86b8cd5f9d75bd","src/runloop.rs":"7feab3bbb9913c3b40285bc37b920f9fe4d937d1db08d8ae69a2ec9597713598","src/set.rs":"51e978fc81d4c55013dfc6df4e76c58daaf5deedf9aafda0f6a9e04e7575272c","src/string.rs":"27b92e8e5d3fc95a521dc6447ccfefd9eb28ec5f42bd8571defd124d950b133f","src/url.rs":"8a3f4137ca26e379a24666b4caa7a08f9726f838e53e9dbb92ba474036309669"},"package":"41115a6aa5d3e1e5ef98148373f25971d1fad53818553f216495f9e67e90a624"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys/.cargo-checksum.json
+++ b/third_party/rust/core-foundation-sys/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"77d394e2185996b9c2478c670a7aed78fa872e61585a838ac2b93109a338813d","build.rs":"9433ed3b20cc99e716dda4c6d8507c29bc04882544cbbea8d4e48ba80fd0fa12","src/array.rs":"d648ed8cf0ccb72c3ca0d9e018a3db804edad9685739eba13f8f515e04f3708b","src/base.rs":"c995d91c9e5aed99ea28fc75561cfd573f5e8ff806ef512194e7b616c35c308f","src/bundle.rs":"1b6df1e2a112c1965c5b5ae095634444b771eb078e78bc5b251714b9ccc3d8e0","src/data.rs":"21e968951fe56e080d33474f4438de2dfb7e0c8af426a6dfb100efdd6c530eec","src/date.rs":"f6cdcb94658fafc5bacb83cfbd20ad97502b8ddf6bd1c0c0d6a2545a4f7b7420","src/dictionary.rs":"97c40c1afc719b970968179112ad76c3c89b6b4eb4ea18f7ac3f059d98cce736","src/error.rs":"61bc31a401ec6c8495668175eade9284e257da056fc666af74a5555af5daf33f","src/lib.rs":"0a061fa3866fb98568dc5307b68297819853d0737ab07ff2b515910f1ff5afaa","src/messageport.rs":"59ba92ca90bb9b3162b6df44188fac18cd979250f33a52361144c902e86529bd","src/number.rs":"0fc5598a0498baa70d64891d96522be58802a0ec18eb6f9570e0b154eb0a564c","src/propertylist.rs":"cc2b27f8f8ebc80c03871b7b1ad50ee348539b016078ce721c86b8cd5f9d75bd","src/runloop.rs":"7feab3bbb9913c3b40285bc37b920f9fe4d937d1db08d8ae69a2ec9597713598","src/set.rs":"22055b5ce6a2ce37847ee955f5e6e517348a351770d335373704776bc5412b9f","src/string.rs":"27b92e8e5d3fc95a521dc6447ccfefd9eb28ec5f42bd8571defd124d950b133f","src/url.rs":"bd965da3db23ef0e14ae196511b4ece88a3de8bbdf3e9dd58e224959f10b07ae"},"package":"bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387"}
\ No newline at end of file
+{"files":{"Cargo.toml":"77d394e2185996b9c2478c670a7aed78fa872e61585a838ac2b93109a338813d","build.rs":"9433ed3b20cc99e716dda4c6d8507c29bc04882544cbbea8d4e48ba80fd0fa12","src/array.rs":"d648ed8cf0ccb72c3ca0d9e018a3db804edad9685739eba13f8f515e04f3708b","src/base.rs":"c995d91c9e5aed99ea28fc75561cfd573f5e8ff806ef512194e7b616c35c308f","src/bundle.rs":"1b6df1e2a112c1965c5b5ae095634444b771eb078e78bc5b251714b9ccc3d8e0","src/data.rs":"21e968951fe56e080d33474f4438de2dfb7e0c8af426a6dfb100efdd6c530eec","src/date.rs":"f6cdcb94658fafc5bacb83cfbd20ad97502b8ddf6bd1c0c0d6a2545a4f7b7420","src/dictionary.rs":"97c40c1afc719b970968179112ad76c3c89b6b4eb4ea18f7ac3f059d98cce736","src/error.rs":"61bc31a401ec6c8495668175eade9284e257da056fc666af74a5555af5daf33f","src/lib.rs":"0a061fa3866fb98568dc5307b68297819853d0737ab07ff2b515910f1ff5afaa","src/messageport.rs":"59ba92ca90bb9b3162b6df44188fac18cd979250f33a52361144c902e86529bd","src/number.rs":"0fc5598a0498baa70d64891d96522be58802a0ec18eb6f9570e0b154eb0a564c","src/propertylist.rs":"cc2b27f8f8ebc80c03871b7b1ad50ee348539b016078ce721c86b8cd5f9d75bd","src/runloop.rs":"7feab3bbb9913c3b40285bc37b920f9fe4d937d1db08d8ae69a2ec9597713598","src/set.rs":"22055b5ce6a2ce37847ee955f5e6e517348a351770d335373704776bc5412b9f","src/string.rs":"27b92e8e5d3fc95a521dc6447ccfefd9eb28ec5f42bd8571defd124d950b133f","src/url.rs":"bd965da3db23ef0e14ae196511b4ece88a3de8bbdf3e9dd58e224959f10b07ae"},"package":"bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/core-foundation/.cargo-checksum.json
+++ b/third_party/rust/core-foundation/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"309020bd517f30f6daaf95caf2a832118eb3cd23d5732d076e059a7a8f4dea49","src/array.rs":"ceeb3298fb939ead81914a0e6a555098e59f97c47e62adb625273bde2bb299a4","src/base.rs":"540c85a6600503e2bdf34087e7e921615b094f7493099c7e319c76f34ab97a02","src/boolean.rs":"112adb640ded232cba59eb27edafcf4a3c045cca6f4b0ecb53bb48b741c2139a","src/bundle.rs":"69fa69ec2d8ea8e897363e2351d947235d040eaa5f5ff562e280e59399f56769","src/data.rs":"fc44b08e644b66ae471bb7c8141ec6be7cf5f35eb985dbca5924668a67f0efe5","src/dictionary.rs":"0f3129629db02ea233d08fd937e8290c40f401d644f6a8afc13717094a767559","src/error.rs":"0edbf66bcaa8a68f1de77b9056696b6be4f2dc773f4561f4279e6494cc38453a","src/lib.rs":"71ee7a83a7012138b5a86897f5617d2742c668ccc69664a8c5b4cf080486ddd8","src/number.rs":"262db248c88ac08a3d28d0940ef25fe796fd4ebcf1eeea7bb8a6caa3abdc97f9","src/propertylist.rs":"ec814aa190bc6cf8c2bb3f2d5c65e1a706a770701c8589d29fc01bddad6a11c6","src/runloop.rs":"6fdc656958950ff84a167c67111e94818246caa50e2ba84004853f28652490d6","src/set.rs":"f98fbd31b107f27680727676ab7a3725d6b4370f428e58759ca680eb339a5ea3","src/string.rs":"ec5420a3916e5ebd2cc487ffc605d8fe8de7d09cae8c9fecbf20aa21595f4bee","src/url.rs":"2b3caaea223bc27fb268a81f0607b975f92b9df9a58194ac1881dacf314e4219"},"package":"5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7"}
\ No newline at end of file
+{"files":{"Cargo.toml":"309020bd517f30f6daaf95caf2a832118eb3cd23d5732d076e059a7a8f4dea49","src/array.rs":"ceeb3298fb939ead81914a0e6a555098e59f97c47e62adb625273bde2bb299a4","src/base.rs":"540c85a6600503e2bdf34087e7e921615b094f7493099c7e319c76f34ab97a02","src/boolean.rs":"112adb640ded232cba59eb27edafcf4a3c045cca6f4b0ecb53bb48b741c2139a","src/bundle.rs":"69fa69ec2d8ea8e897363e2351d947235d040eaa5f5ff562e280e59399f56769","src/data.rs":"fc44b08e644b66ae471bb7c8141ec6be7cf5f35eb985dbca5924668a67f0efe5","src/dictionary.rs":"0f3129629db02ea233d08fd937e8290c40f401d644f6a8afc13717094a767559","src/error.rs":"0edbf66bcaa8a68f1de77b9056696b6be4f2dc773f4561f4279e6494cc38453a","src/lib.rs":"71ee7a83a7012138b5a86897f5617d2742c668ccc69664a8c5b4cf080486ddd8","src/number.rs":"262db248c88ac08a3d28d0940ef25fe796fd4ebcf1eeea7bb8a6caa3abdc97f9","src/propertylist.rs":"ec814aa190bc6cf8c2bb3f2d5c65e1a706a770701c8589d29fc01bddad6a11c6","src/runloop.rs":"6fdc656958950ff84a167c67111e94818246caa50e2ba84004853f28652490d6","src/set.rs":"f98fbd31b107f27680727676ab7a3725d6b4370f428e58759ca680eb339a5ea3","src/string.rs":"ec5420a3916e5ebd2cc487ffc605d8fe8de7d09cae8c9fecbf20aa21595f4bee","src/url.rs":"2b3caaea223bc27fb268a81f0607b975f92b9df9a58194ac1881dacf314e4219"},"package":"5909502e547762013619f4c4e01cc7393c20fe2d52d7fa471c1210adb2320dc7"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/core-graphics/.cargo-checksum.json
+++ b/third_party/rust/core-graphics/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"b71b9a6f84b9263b2b89be6ec90dff5920ee68cf9e5768d73ed71957de2d0670","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"7ec2f5418172e650baa8dfd874a0f337370d512f6abcbf5c86b8c8535156f2f6","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"4a45abeb1e684e30bb361dfa7db59189423348e18d310cbae694b7c8c57cd86a","src/base.rs":"3f0a5be163f86c864c995c6beb081d2943263a2fca28491b9fe0eaea5e3ff401","src/color_space.rs":"deef20773dc8ef0e75654ca730876ee25b2914539a0dc587755dfd5301584da7","src/context.rs":"4a19c23444d1d1df8bba4228053636c89d9209e7abe255f774afc0ab6317dd72","src/data_provider.rs":"a5dd6593af681aace97ef9a2eed006d11fe44039d40d37c1780d01969cd145fe","src/display.rs":"fe253013b5c8e2a57a242dec90236753011e8d99b827a7bc404b1a483f9f0332","src/event.rs":"36052e6ea7db7606060e088e507499d4e4125825513735b495062d991bbad8e7","src/event_source.rs":"8a8282e944208db52839a56f0d55d687358264f1458eebf6fefcd9e42c7ddeac","src/font.rs":"27fc377a1e2bb08cada16da7ff0ff6c13d9cfaee0a33524580987549e6b02e3e","src/geometry.rs":"58758d6f3b58fb472f14d4ec694882d41e5e1f6dbb1ed766f241ad39eff56c36","src/image.rs":"de0797097d52dd8fd2bc5816357ba614b734a69834155c39c17f90468bb1bf7b","src/lib.rs":"e46cd5770ef451f7502a6dd39bd0f14632634e10abd668700fcdea35e6e48212","src/private.rs":"87c96ed2002bd567bf02535b4c6e8e3f22827afb2dd92ee17d91cfb45bc6072c"},"package":"2fd47addfc77b7e574d24e5434f95bb64a863769dfd4f1d451ca4ff5530ba01a"}
\ No newline at end of file
+{"files":{".travis.yml":"b71b9a6f84b9263b2b89be6ec90dff5920ee68cf9e5768d73ed71957de2d0670","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"7ec2f5418172e650baa8dfd874a0f337370d512f6abcbf5c86b8c8535156f2f6","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"4a45abeb1e684e30bb361dfa7db59189423348e18d310cbae694b7c8c57cd86a","src/base.rs":"3f0a5be163f86c864c995c6beb081d2943263a2fca28491b9fe0eaea5e3ff401","src/color_space.rs":"deef20773dc8ef0e75654ca730876ee25b2914539a0dc587755dfd5301584da7","src/context.rs":"4a19c23444d1d1df8bba4228053636c89d9209e7abe255f774afc0ab6317dd72","src/data_provider.rs":"a5dd6593af681aace97ef9a2eed006d11fe44039d40d37c1780d01969cd145fe","src/display.rs":"fe253013b5c8e2a57a242dec90236753011e8d99b827a7bc404b1a483f9f0332","src/event.rs":"36052e6ea7db7606060e088e507499d4e4125825513735b495062d991bbad8e7","src/event_source.rs":"8a8282e944208db52839a56f0d55d687358264f1458eebf6fefcd9e42c7ddeac","src/font.rs":"27fc377a1e2bb08cada16da7ff0ff6c13d9cfaee0a33524580987549e6b02e3e","src/geometry.rs":"58758d6f3b58fb472f14d4ec694882d41e5e1f6dbb1ed766f241ad39eff56c36","src/image.rs":"de0797097d52dd8fd2bc5816357ba614b734a69834155c39c17f90468bb1bf7b","src/lib.rs":"e46cd5770ef451f7502a6dd39bd0f14632634e10abd668700fcdea35e6e48212","src/private.rs":"87c96ed2002bd567bf02535b4c6e8e3f22827afb2dd92ee17d91cfb45bc6072c"},"package":"2fd47addfc77b7e574d24e5434f95bb64a863769dfd4f1d451ca4ff5530ba01a"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/core-text/.cargo-checksum.json
+++ b/third_party/rust/core-text/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"6aad961651169d31d79c0595624d1777b5c4cbb4cf2bed9a126c7e72d29411fd","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"227a4fb6741d1bcf824afe7cfff7a716a8983543a5c4939a16edbf8ef7eab30d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"0c82015d302c9937e6376debd961350afeaeb6dde228aac95e3a3115c5813613","src/font.rs":"d73139838b7dc15319645a3b03bd3692a3b453fcd6304c7ebdeb454166e22db2","src/font_collection.rs":"5a8f5a17aec1dccf858ef1205c21d035fc5a8c7ac8ed7c089896a1f779bef126","src/font_descriptor.rs":"f932e5626ad8f93d88d82ed3bec9b249bdeccf3c44b1d5abfaed91e018e537d9","src/font_manager.rs":"de5e22620528322d6811d01f03975c53b676ec743297590de5e17a45393df0f1","src/lib.rs":"b1fc720a9ab7ae4f054f0767e05ba5640b2d9fc8c34d05ae04f25b9dd44f6b81"},"package":"2a23bef779fab70e5e6af23e36eed03a48e1c1687dea8929505d405ea48d1f5e"}
\ No newline at end of file
+{"files":{".travis.yml":"6aad961651169d31d79c0595624d1777b5c4cbb4cf2bed9a126c7e72d29411fd","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"227a4fb6741d1bcf824afe7cfff7a716a8983543a5c4939a16edbf8ef7eab30d","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"0c82015d302c9937e6376debd961350afeaeb6dde228aac95e3a3115c5813613","src/font.rs":"d73139838b7dc15319645a3b03bd3692a3b453fcd6304c7ebdeb454166e22db2","src/font_collection.rs":"5a8f5a17aec1dccf858ef1205c21d035fc5a8c7ac8ed7c089896a1f779bef126","src/font_descriptor.rs":"f932e5626ad8f93d88d82ed3bec9b249bdeccf3c44b1d5abfaed91e018e537d9","src/font_manager.rs":"de5e22620528322d6811d01f03975c53b676ec743297590de5e17a45393df0f1","src/lib.rs":"b1fc720a9ab7ae4f054f0767e05ba5640b2d9fc8c34d05ae04f25b9dd44f6b81"},"package":"2a23bef779fab70e5e6af23e36eed03a48e1c1687dea8929505d405ea48d1f5e"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/crossbeam/.cargo-checksum.json
+++ b/third_party/rust/crossbeam/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"5c1a66c2f3f70d7a6fd7ee40b87863d95b78294244cc037453220d64fc431362","CHANGELOG.md":"729d4632f518b0c699d1b947e5d8ddd3fc6a8878bd7796d7b96b2f58772f0478","Cargo.toml":"778cf5a227b5f6a0200d9385d2a8adc59a559a6822ab4d1941348f3eee92d791","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7b63ecd5f1902af1b63729947373683c32745c16a10e8e6292e2e2dcd7e90ae0","README.md":"ea4153526db8a7b7c33fba324fd87f9e43ecac4c973ec1af242c325768c1a4b3","scala-bench/bench.scala":"8f203f98f2c938115247a8ed5ef9d0848fe0f8dca49fc43e2dba88bdd61029e3","src/bin/bench.rs":"7826ed26fcce96f0e2fe3d0b46c36bbfde70168546124018394b1aae8fbf1ec3","src/bin/extra_impls/mod.rs":"b72e67187cbfc1672faacd7d906604f3adc0c7540c781db88c6f4f1726229db9","src/bin/extra_impls/mpsc_queue.rs":"94551cbe0075c40472bae74cb500070c5c621e3690e15c1374b56c5cb7dd6639","src/bin/stress-msq.rs":"f49ba9adb0308013dbd7ed748572659c8b25d045e20609a21ed29ce35784f8f7","src/lib.rs":"b84c7a07bcae8342ce791e42566d103bfc7ac072994a2fe4d6f0b14c8d905f2d","src/mem/cache_padded.rs":"710de7fc76c04bda2e9eafa9f2e9a038fd381330f0e2ac657b56552a9bd9223c","src/mem/epoch/atomic.rs":"ec73c5e271b6b16bc489d3a6b47a48c5ef21cd1d8320d5ed01a6cac271afb42a","src/mem/epoch/garbage.rs":"dd3a3270481da756cf2e8aece5518642059d72492ffbdb107ad9c92d608ed3d3","src/mem/epoch/global.rs":"901df28fdb255cf2466962fa1fcfe3f3006325b94d80a5edb71e3251cecd592e","src/mem/epoch/guard.rs":"75c2a771d88e859f1f53a79a9466ed1e62a6854a1ddca99c6dcaa3d4ca3520e1","src/mem/epoch/local.rs":"d451c2c05fe50e80bdc92313d074b7db13f54d6caa3cf6df6ba5b717566932ae","src/mem/epoch/mod.rs":"a57570492cc2b23b5d6164e0738af5b8d7d65c4b2de08fdfaa2283a47481fce0","src/mem/epoch/participant.rs":"d16e9a81d34f8368340126e9e420bdeec9e661c94aec7a26057be26cad0982df","src/mem/epoch/participants.rs":"c7f4edd7e632130cd149afad8abbeb21888df55b7e4db4206a8840a218bf764d","src/mem/mod.rs":"c60aaeee01ce6abe2418f6f2a3cdd38564a6a46d3c47285d9730a358f52fa6bf","src/scoped.rs":"9ef97832dea5dbdebc88f6c1c8dee5ac5e801f302b70ba17b667214fc3fe57ed","src/sync/arc_cell.rs":"d12dcaca3d59cb0a7c34470dff60c11cb8e25ecde87baf3940bd0747bb107672","src/sync/atomic_option.rs":"dcdfd1080c35d782f041edc7d6c52c1c8fc05f4fe75a9dad261a8982f954ae97","src/sync/chase_lev.rs":"9679cb37bf777466c714e3b8aca7c583638e4534cbb298449130cfa7a07c1d78","src/sync/mod.rs":"35e5f793530e198e891e6ef619da161bbcd31a1de1419dc5b9e9a954d3542c02","src/sync/ms_queue.rs":"cf735b32c12d3227364b2a2abf75a99e5f36f2980b58f34821462cdaf1aac209","src/sync/seg_queue.rs":"e9178f259a0fec71aeb4fb9d5c2bd668eb3dc5f3a3808f167eaae263d76f6646","src/sync/treiber_stack.rs":"60e7f82a42379fbcc2b418b9d50cef98ebc743d9747bf646eb1f3d723189bea4"},"package":"0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97"}
\ No newline at end of file
+{"files":{".travis.yml":"5c1a66c2f3f70d7a6fd7ee40b87863d95b78294244cc037453220d64fc431362","CHANGELOG.md":"729d4632f518b0c699d1b947e5d8ddd3fc6a8878bd7796d7b96b2f58772f0478","Cargo.toml":"778cf5a227b5f6a0200d9385d2a8adc59a559a6822ab4d1941348f3eee92d791","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7b63ecd5f1902af1b63729947373683c32745c16a10e8e6292e2e2dcd7e90ae0","README.md":"ea4153526db8a7b7c33fba324fd87f9e43ecac4c973ec1af242c325768c1a4b3","scala-bench/bench.scala":"8f203f98f2c938115247a8ed5ef9d0848fe0f8dca49fc43e2dba88bdd61029e3","src/bin/bench.rs":"7826ed26fcce96f0e2fe3d0b46c36bbfde70168546124018394b1aae8fbf1ec3","src/bin/extra_impls/mod.rs":"b72e67187cbfc1672faacd7d906604f3adc0c7540c781db88c6f4f1726229db9","src/bin/extra_impls/mpsc_queue.rs":"94551cbe0075c40472bae74cb500070c5c621e3690e15c1374b56c5cb7dd6639","src/bin/stress-msq.rs":"f49ba9adb0308013dbd7ed748572659c8b25d045e20609a21ed29ce35784f8f7","src/lib.rs":"b84c7a07bcae8342ce791e42566d103bfc7ac072994a2fe4d6f0b14c8d905f2d","src/mem/cache_padded.rs":"710de7fc76c04bda2e9eafa9f2e9a038fd381330f0e2ac657b56552a9bd9223c","src/mem/epoch/atomic.rs":"ec73c5e271b6b16bc489d3a6b47a48c5ef21cd1d8320d5ed01a6cac271afb42a","src/mem/epoch/garbage.rs":"dd3a3270481da756cf2e8aece5518642059d72492ffbdb107ad9c92d608ed3d3","src/mem/epoch/global.rs":"901df28fdb255cf2466962fa1fcfe3f3006325b94d80a5edb71e3251cecd592e","src/mem/epoch/guard.rs":"75c2a771d88e859f1f53a79a9466ed1e62a6854a1ddca99c6dcaa3d4ca3520e1","src/mem/epoch/local.rs":"d451c2c05fe50e80bdc92313d074b7db13f54d6caa3cf6df6ba5b717566932ae","src/mem/epoch/mod.rs":"a57570492cc2b23b5d6164e0738af5b8d7d65c4b2de08fdfaa2283a47481fce0","src/mem/epoch/participant.rs":"d16e9a81d34f8368340126e9e420bdeec9e661c94aec7a26057be26cad0982df","src/mem/epoch/participants.rs":"c7f4edd7e632130cd149afad8abbeb21888df55b7e4db4206a8840a218bf764d","src/mem/mod.rs":"c60aaeee01ce6abe2418f6f2a3cdd38564a6a46d3c47285d9730a358f52fa6bf","src/scoped.rs":"9ef97832dea5dbdebc88f6c1c8dee5ac5e801f302b70ba17b667214fc3fe57ed","src/sync/arc_cell.rs":"d12dcaca3d59cb0a7c34470dff60c11cb8e25ecde87baf3940bd0747bb107672","src/sync/atomic_option.rs":"dcdfd1080c35d782f041edc7d6c52c1c8fc05f4fe75a9dad261a8982f954ae97","src/sync/chase_lev.rs":"9679cb37bf777466c714e3b8aca7c583638e4534cbb298449130cfa7a07c1d78","src/sync/mod.rs":"35e5f793530e198e891e6ef619da161bbcd31a1de1419dc5b9e9a954d3542c02","src/sync/ms_queue.rs":"cf735b32c12d3227364b2a2abf75a99e5f36f2980b58f34821462cdaf1aac209","src/sync/seg_queue.rs":"e9178f259a0fec71aeb4fb9d5c2bd668eb3dc5f3a3808f167eaae263d76f6646","src/sync/treiber_stack.rs":"60e7f82a42379fbcc2b418b9d50cef98ebc743d9747bf646eb1f3d723189bea4"},"package":"0c5ea215664ca264da8a9d9c3be80d2eaf30923c259d03e870388eb927508f97"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cssparser-macros/.cargo-checksum.json
+++ b/third_party/rust/cssparser-macros/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"3080a72e897022e23ede1dd38cf28049e74a077518cc25d91f559c3b575aa3e3","lib.rs":"17331a3a0b0be3c05fe360e08538baf26b343ae61feec9062429a34a1c1eb1e2"},"package":"079adec4af52bb5275eadd004292028c79eb3c5f5b4ee8086a36d4197032f6df"}
\ No newline at end of file
+{"files":{"Cargo.toml":"3080a72e897022e23ede1dd38cf28049e74a077518cc25d91f559c3b575aa3e3","lib.rs":"17331a3a0b0be3c05fe360e08538baf26b343ae61feec9062429a34a1c1eb1e2"},"package":"079adec4af52bb5275eadd004292028c79eb3c5f5b4ee8086a36d4197032f6df"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/cssparser/.cargo-checksum.json
+++ b/third_party/rust/cssparser/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f1fb4b65964c81bc1240544267ea334f554ca38ae7a74d57066f4d47d2b5d568","Cargo.toml":"fac23b751b4a88d7102e488a4417d695099287c6c88541e64f11dd8bb52d710f","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"950bcc47a196f07f99f59637c28cc65e02a885130011f90a2b2608248b4724a2","build/match_byte.rs":"2c84b8ca5884347d2007f49aecbd85b4c7582085526e2704399817249996e19b","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","docs/index.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","src/color.rs":"c92cdb9dcabcc63de005478ca770858b330f02ee712f9fd21b31eeb7472df72d","src/cow_rc_str.rs":"541216f8ef74ee3cc5cbbc1347e5f32ed66588c401851c9a7d68b867aede1de0","src/from_bytes.rs":"331fe63af2123ae3675b61928a69461b5ac77799fff3ce9978c55cf2c558f4ff","src/lib.rs":"a0433a3cf2147e09a8b2471f50ca136d3494d7fc764417b43dc146e2dd5a09ff","src/macros.rs":"adb9773c157890381556ea83d7942dcc676f99eea71abbb6afeffee1e3f28960","src/nth.rs":"0450aa21ecc4639cbe350a143598d570ed9d2b03ac21b9cb795577e0f92f3be6","src/parser.rs":"3533ece7309e694eccf4858435ad090fc6bf98123d443691572931c4323f44d4","src/rules_and_declarations.rs":"eda11baa27c80df932e43460ec6864ff8c3367aaf7673c15410443097efe2506","src/serializer.rs":"3dc1d9441c9602f26d34c0b209f6d3954814815b780c068f9dc3514d808de3d9","src/size_of_tests.rs":"ccbbd8601646798f87b57877135346bc270736560d2c85b5e5ae8cd6492efd65","src/tests.rs":"e8c2593ee6e93e10fd2bb6a9b8b872d280577ba132c04a533f76c58c7233bf70","src/tokenizer.rs":"c46d540cf589de8a2a2a0d918575a257de4d6a55af78e87b0d9c1345032b80ef","src/unicode_range.rs":"c1c4ed2493e09d248c526ce1ef8575a5f8258da3962b64ffc814ef3bdf9780d0"},"package":"44313341610282488e1156ad1fedebca51c54766c87a041d0287b10499c04ba1"}
\ No newline at end of file
+{"files":{".travis.yml":"f1fb4b65964c81bc1240544267ea334f554ca38ae7a74d57066f4d47d2b5d568","Cargo.toml":"fac23b751b4a88d7102e488a4417d695099287c6c88541e64f11dd8bb52d710f","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"950bcc47a196f07f99f59637c28cc65e02a885130011f90a2b2608248b4724a2","build/match_byte.rs":"2c84b8ca5884347d2007f49aecbd85b4c7582085526e2704399817249996e19b","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","docs/index.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","src/color.rs":"c92cdb9dcabcc63de005478ca770858b330f02ee712f9fd21b31eeb7472df72d","src/cow_rc_str.rs":"541216f8ef74ee3cc5cbbc1347e5f32ed66588c401851c9a7d68b867aede1de0","src/from_bytes.rs":"331fe63af2123ae3675b61928a69461b5ac77799fff3ce9978c55cf2c558f4ff","src/lib.rs":"a0433a3cf2147e09a8b2471f50ca136d3494d7fc764417b43dc146e2dd5a09ff","src/macros.rs":"adb9773c157890381556ea83d7942dcc676f99eea71abbb6afeffee1e3f28960","src/nth.rs":"0450aa21ecc4639cbe350a143598d570ed9d2b03ac21b9cb795577e0f92f3be6","src/parser.rs":"3533ece7309e694eccf4858435ad090fc6bf98123d443691572931c4323f44d4","src/rules_and_declarations.rs":"eda11baa27c80df932e43460ec6864ff8c3367aaf7673c15410443097efe2506","src/serializer.rs":"3dc1d9441c9602f26d34c0b209f6d3954814815b780c068f9dc3514d808de3d9","src/size_of_tests.rs":"ccbbd8601646798f87b57877135346bc270736560d2c85b5e5ae8cd6492efd65","src/tests.rs":"e8c2593ee6e93e10fd2bb6a9b8b872d280577ba132c04a533f76c58c7233bf70","src/tokenizer.rs":"c46d540cf589de8a2a2a0d918575a257de4d6a55af78e87b0d9c1345032b80ef","src/unicode_range.rs":"c1c4ed2493e09d248c526ce1ef8575a5f8258da3962b64ffc814ef3bdf9780d0"},"package":"44313341610282488e1156ad1fedebca51c54766c87a041d0287b10499c04ba1"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/darling/.cargo-checksum.json
+++ b/third_party/rust/darling/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"2e3d3211e52ff52d83a0a2a495a28175dbcf2a30ab680d7c8f20622751b04f78","CHANGELOG.md":"d569306f02d0887358137ffc8e11ba73d4b89486df11b69b10d1e9e75760b3de","Cargo.toml":"0151967c887ab223589c78568facf8acd91d289b4d15733b773a9b5ff0421020","README.md":"6602bb931351d08efbb7bc224bba93272f51a02340b20dd9def17aa5b5f8ee60","publish.sh":"42795a155247c69402f8c4c917c9874a06dfde5a7606c8b59fc4e9ccd34233dd","src/lib.rs":"4d26a3423ee53244bf07b2d5fc106b907690a8a03b95321a734ef634c2318a5e","tests/accrue_errors.rs":"2ff12bfe8f4673dfe19a56b6127228bb32bf5de1d7022bdb9ccb644ffc68c1f5","tests/custom_bound.rs":"120bcd7fa34b58576d2496ed81986bbb4df0b2fac5d084dbbaf2082c7edd3f26","tests/enums_newtype.rs":"1ffc93184ad2f57387186f10334a770d3ab2071d6b84f353f3416cbdf672f9d3","tests/enums_struct.rs":"560a8bfdea9eca7f8c2024bc8740e71ef1a0681cea36b098ceadba520fad8640","tests/enums_unit.rs":"5e9458af9d695706e181b6622dcbc8b80b9eae33dcc1f15da7eecfd3e7037777","tests/error.rs":"1cab0d8a1ba7bea8839b4dcd487dd4c1ae6b934fbcb7d32d5ecaba02093309cf","tests/from_variant.rs":"f5f31cb68fa303b1c47d4afbce55584521b3f9f7fa96c8ac33b96e06ce534de4","tests/generics.rs":"deb8fd3ba099f74143889c2ec73cf8c62d40a5409a46bb7805fdb5d76283472d","tests/happy_path.rs":"a547826dfb6d04e08a78822726257c39bc353d4622ce73f1ab221913d031a58c","tests/multiple.rs":"ec372c5a69165b9bc0874b5cf32498584bc7109b2eb362abdf8cd3ff49377509","tests/newtype.rs":"b34b0967031c7bc90ac1220c789cf94659e6d535c24ecbbb28b9b025878f418d","tests/skip.rs":"04bf041d5a5c2dc0dde8f9f574580208c62197f740514a7c0e10b740c54539ee","tests/split_declaration.rs":"5757d58e6e41c5210b24c9030d47495f94bfd5c6e7d18df7475f89aa26773423","tests/supports.rs":"b556a38b787962d9032b16c39df7f3340a306c74b6ba2b332df7f8f65bd74967"},"package":"9861a8495606435477df581bc858ccf15a3469747edf175b94a4704fd9aaedac"}
\ No newline at end of file
+{"files":{".travis.yml":"2e3d3211e52ff52d83a0a2a495a28175dbcf2a30ab680d7c8f20622751b04f78","CHANGELOG.md":"d569306f02d0887358137ffc8e11ba73d4b89486df11b69b10d1e9e75760b3de","Cargo.toml":"0151967c887ab223589c78568facf8acd91d289b4d15733b773a9b5ff0421020","README.md":"6602bb931351d08efbb7bc224bba93272f51a02340b20dd9def17aa5b5f8ee60","publish.sh":"42795a155247c69402f8c4c917c9874a06dfde5a7606c8b59fc4e9ccd34233dd","src/lib.rs":"4d26a3423ee53244bf07b2d5fc106b907690a8a03b95321a734ef634c2318a5e","tests/accrue_errors.rs":"2ff12bfe8f4673dfe19a56b6127228bb32bf5de1d7022bdb9ccb644ffc68c1f5","tests/custom_bound.rs":"120bcd7fa34b58576d2496ed81986bbb4df0b2fac5d084dbbaf2082c7edd3f26","tests/enums_newtype.rs":"1ffc93184ad2f57387186f10334a770d3ab2071d6b84f353f3416cbdf672f9d3","tests/enums_struct.rs":"560a8bfdea9eca7f8c2024bc8740e71ef1a0681cea36b098ceadba520fad8640","tests/enums_unit.rs":"5e9458af9d695706e181b6622dcbc8b80b9eae33dcc1f15da7eecfd3e7037777","tests/error.rs":"1cab0d8a1ba7bea8839b4dcd487dd4c1ae6b934fbcb7d32d5ecaba02093309cf","tests/from_variant.rs":"f5f31cb68fa303b1c47d4afbce55584521b3f9f7fa96c8ac33b96e06ce534de4","tests/generics.rs":"deb8fd3ba099f74143889c2ec73cf8c62d40a5409a46bb7805fdb5d76283472d","tests/happy_path.rs":"a547826dfb6d04e08a78822726257c39bc353d4622ce73f1ab221913d031a58c","tests/multiple.rs":"ec372c5a69165b9bc0874b5cf32498584bc7109b2eb362abdf8cd3ff49377509","tests/newtype.rs":"b34b0967031c7bc90ac1220c789cf94659e6d535c24ecbbb28b9b025878f418d","tests/skip.rs":"04bf041d5a5c2dc0dde8f9f574580208c62197f740514a7c0e10b740c54539ee","tests/split_declaration.rs":"5757d58e6e41c5210b24c9030d47495f94bfd5c6e7d18df7475f89aa26773423","tests/supports.rs":"b556a38b787962d9032b16c39df7f3340a306c74b6ba2b332df7f8f65bd74967"},"package":"9861a8495606435477df581bc858ccf15a3469747edf175b94a4704fd9aaedac"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/darling_core/.cargo-checksum.json
+++ b/third_party/rust/darling_core/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"f0d3d2c4c30be6fb1980495070508dc26a035158c5e12e0411dfaa13d59047ae","src/ast.rs":"b85dc2e9dae37b8542bc4771694f9c1c872b1224f7e9a4aff02c1e4792bfc28a","src/codegen/default_expr.rs":"e4d9effba5348aaa9f9912e2cee874ab5f8e05d1cc43c5d6b7d898a8a936feb7","src/codegen/error.rs":"cec311db026d62705534bb50b79eb23268a741b6efe4b98a4703e35bad5cf8c8","src/codegen/field.rs":"743244ea5a8780b7d135aa9483786c8352659d86a04fa6d753e437fc545ea9ad","src/codegen/fmi_impl.rs":"eb15521d0deb6528f2a5708efcf8c69787185570d18cbcfcec0da70d6ac1f219","src/codegen/from_derive_impl.rs":"6bcaec2db9f37c5b7204525dd5434ae028baee3e06d17c8faf0276cd1f542c96","src/codegen/from_field.rs":"69627f2fd46e8010fe55404e1437ac39d2dbaa501f2be305fab0791779c7a67b","src/codegen/from_variant_impl.rs":"d65022ff8d509ab4daf0c98aec890b26b711ed6e3266bad07965f7e454eede71","src/codegen/mod.rs":"755632cd806e6ef32d7d4e20ed87c51fcf3c56ab80eecc43664dbb738bd53e0c","src/codegen/outer_from_impl.rs":"e55d9be050e29bb71e61a557d52e13bbd558ad4a91367a3a7a78d32df2599fad","src/codegen/trait_impl.rs":"b9536726c72a8136b62e04ac311ecd39ae0a6e67ae16672a139a7d896427958f","src/codegen/variant.rs":"e0db3227358082dd0f52fc89371aecc80899f3979e648d9a914f2eec0d131797","src/codegen/variant_data.rs":"076863c4b5aec4c92d0d79171e2854696009369a2a9b758949b0681c6df375a4","src/error.rs":"dd10a9f9a2bb9ea66626b288ca9641690fc07625fd5474b76b2e0103a17ee121","src/from_derive_input.rs":"ea55cc1b2bc17495d36fb616f7cd7aa78e4b74ea7c8554eed9d392ee853700c3","src/from_field.rs":"e51d29091e86775315a36b0c40f5f6da57f9d0d79ac1fd0d544f8edb884af63f","src/from_meta_item.rs":"054c8ff1eb28158ee5016027260453b6d7c96d620558522dd61ba1eed1e56a62","src/from_variant.rs":"2baeb09c8a95ff606d9d5ca8992f10bbad9c4925590332af1a8b5bdae54ebae8","src/lib.rs":"cab30b1713d505450ce97eb4fb85dda0be2c6ce4d1da6586ee6295de749da11a","src/macros.rs":"242c1caca5c9ec70ba1c49f2990312f573c27454f8d16c0d721f7906997c543b","src/options/core.rs":"197371516c075a5a7fa86a98344df395436dca15147a524a5cbc51852816b3f5","src/options/forward_attrs.rs":"ac6dfc331591f2bb18a5af073776278a771fadccdca386ac07104debb12b7231","src/options/from_derive.rs":"8c06aa9819b8f55c476f316678ac1f316b7a1db86acbfeb55bc2a8481bed9231","src/options/from_field.rs":"16aa20eec754a4e8a5bf69a4084e591744b8e5469b0359db9a4e8cf24284aa03","src/options/from_meta_item.rs":"e958cccbb8743541a26f7b4de3b72cbf0f42dd2c8c7a7f84e344959a1e2e49ee","src/options/from_variant.rs":"9374d62ac369a6d828c6af17cc8b1fcfc51ee293d0b3d7a8a84cc8cbb119e527","src/options/input_field.rs":"96f2b49ada2bbfde531c1d958269638ab0007d5b4ab1ee6ff4a47ade0db64a03","src/options/input_variant.rs":"0558b94a565d8eaa763d6cc05866690d9a6cbc5c6193c6fd8c72e2d9ef68a0e9","src/options/mod.rs":"b2915e4579085a07b128bdee677487fe410bf0e89462f17aa6fd9ae506c6c532","src/options/outer_from.rs":"0d2667ccfa3f8fe4cd953cf0cb75eebcb5ebbd055695cd869b9971b435c831b9","src/options/shape.rs":"364fb81a967303dc69c104abb5d542bca46b375169bec7b1a6a2068e77ba0383","src/util/ident_list.rs":"7bb6468a1b32128e257abde21db753d04e4786e5114257ff6785f7fc35a96fe7","src/util/ignored.rs":"592e9c5269fc7104626ef29f0be4797012c5c1818d8eca3e6681d8aae535526f","src/util/mod.rs":"7967cc8302c946f4d34f5c79a4af7060a3d37f7c45a5c6a1f3a8dee5bfbd71a5","src/util/over_ride.rs":"4ca3468a6c60ca7f80c3184442965303b6d64db18544fc682d4be78c401c8823"},"package":"1486a8b00b45062c997f767738178b43219133dd0c8c826cb811e60563810821"}
\ No newline at end of file
+{"files":{"Cargo.toml":"f0d3d2c4c30be6fb1980495070508dc26a035158c5e12e0411dfaa13d59047ae","src/ast.rs":"b85dc2e9dae37b8542bc4771694f9c1c872b1224f7e9a4aff02c1e4792bfc28a","src/codegen/default_expr.rs":"e4d9effba5348aaa9f9912e2cee874ab5f8e05d1cc43c5d6b7d898a8a936feb7","src/codegen/error.rs":"cec311db026d62705534bb50b79eb23268a741b6efe4b98a4703e35bad5cf8c8","src/codegen/field.rs":"743244ea5a8780b7d135aa9483786c8352659d86a04fa6d753e437fc545ea9ad","src/codegen/fmi_impl.rs":"eb15521d0deb6528f2a5708efcf8c69787185570d18cbcfcec0da70d6ac1f219","src/codegen/from_derive_impl.rs":"6bcaec2db9f37c5b7204525dd5434ae028baee3e06d17c8faf0276cd1f542c96","src/codegen/from_field.rs":"69627f2fd46e8010fe55404e1437ac39d2dbaa501f2be305fab0791779c7a67b","src/codegen/from_variant_impl.rs":"d65022ff8d509ab4daf0c98aec890b26b711ed6e3266bad07965f7e454eede71","src/codegen/mod.rs":"755632cd806e6ef32d7d4e20ed87c51fcf3c56ab80eecc43664dbb738bd53e0c","src/codegen/outer_from_impl.rs":"e55d9be050e29bb71e61a557d52e13bbd558ad4a91367a3a7a78d32df2599fad","src/codegen/trait_impl.rs":"b9536726c72a8136b62e04ac311ecd39ae0a6e67ae16672a139a7d896427958f","src/codegen/variant.rs":"e0db3227358082dd0f52fc89371aecc80899f3979e648d9a914f2eec0d131797","src/codegen/variant_data.rs":"076863c4b5aec4c92d0d79171e2854696009369a2a9b758949b0681c6df375a4","src/error.rs":"dd10a9f9a2bb9ea66626b288ca9641690fc07625fd5474b76b2e0103a17ee121","src/from_derive_input.rs":"ea55cc1b2bc17495d36fb616f7cd7aa78e4b74ea7c8554eed9d392ee853700c3","src/from_field.rs":"e51d29091e86775315a36b0c40f5f6da57f9d0d79ac1fd0d544f8edb884af63f","src/from_meta_item.rs":"054c8ff1eb28158ee5016027260453b6d7c96d620558522dd61ba1eed1e56a62","src/from_variant.rs":"2baeb09c8a95ff606d9d5ca8992f10bbad9c4925590332af1a8b5bdae54ebae8","src/lib.rs":"cab30b1713d505450ce97eb4fb85dda0be2c6ce4d1da6586ee6295de749da11a","src/macros.rs":"242c1caca5c9ec70ba1c49f2990312f573c27454f8d16c0d721f7906997c543b","src/options/core.rs":"197371516c075a5a7fa86a98344df395436dca15147a524a5cbc51852816b3f5","src/options/forward_attrs.rs":"ac6dfc331591f2bb18a5af073776278a771fadccdca386ac07104debb12b7231","src/options/from_derive.rs":"8c06aa9819b8f55c476f316678ac1f316b7a1db86acbfeb55bc2a8481bed9231","src/options/from_field.rs":"16aa20eec754a4e8a5bf69a4084e591744b8e5469b0359db9a4e8cf24284aa03","src/options/from_meta_item.rs":"e958cccbb8743541a26f7b4de3b72cbf0f42dd2c8c7a7f84e344959a1e2e49ee","src/options/from_variant.rs":"9374d62ac369a6d828c6af17cc8b1fcfc51ee293d0b3d7a8a84cc8cbb119e527","src/options/input_field.rs":"96f2b49ada2bbfde531c1d958269638ab0007d5b4ab1ee6ff4a47ade0db64a03","src/options/input_variant.rs":"0558b94a565d8eaa763d6cc05866690d9a6cbc5c6193c6fd8c72e2d9ef68a0e9","src/options/mod.rs":"b2915e4579085a07b128bdee677487fe410bf0e89462f17aa6fd9ae506c6c532","src/options/outer_from.rs":"0d2667ccfa3f8fe4cd953cf0cb75eebcb5ebbd055695cd869b9971b435c831b9","src/options/shape.rs":"364fb81a967303dc69c104abb5d542bca46b375169bec7b1a6a2068e77ba0383","src/util/ident_list.rs":"7bb6468a1b32128e257abde21db753d04e4786e5114257ff6785f7fc35a96fe7","src/util/ignored.rs":"592e9c5269fc7104626ef29f0be4797012c5c1818d8eca3e6681d8aae535526f","src/util/mod.rs":"7967cc8302c946f4d34f5c79a4af7060a3d37f7c45a5c6a1f3a8dee5bfbd71a5","src/util/over_ride.rs":"4ca3468a6c60ca7f80c3184442965303b6d64db18544fc682d4be78c401c8823"},"package":"1486a8b00b45062c997f767738178b43219133dd0c8c826cb811e60563810821"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/darling_macro/.cargo-checksum.json
+++ b/third_party/rust/darling_macro/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"4ac4c74c3d125858d55bb7131d944eaa56c493fb45446b08939d3d739963bea4","src/lib.rs":"9ffdeab007965a0ccdff1d432eb664e5954ace534e998ef13ee012a87dd4a29a"},"package":"8a86ec160aa0c3dd492dd4a14ec8104ad8f1a9400a820624db857998cc1f80f9"}
\ No newline at end of file
+{"files":{"Cargo.toml":"4ac4c74c3d125858d55bb7131d944eaa56c493fb45446b08939d3d739963bea4","src/lib.rs":"9ffdeab007965a0ccdff1d432eb664e5954ace534e998ef13ee012a87dd4a29a"},"package":"8a86ec160aa0c3dd492dd4a14ec8104ad8f1a9400a820624db857998cc1f80f9"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/dbghelp-sys/.cargo-checksum.json
+++ b/third_party/rust/dbghelp-sys/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"1f8c2a0d9c67203873c258054f7e3f52d18771e538abf3c183920a8a74b126e5","README.md":"add8bbc7d13eccbb5930f36c8daa8137dfb24cac790eddc0e73385aef6daca0e","build.rs":"c5cc71a0c004d0f0fb7d004d5db0767d72d0b4ecbdc1c9a741a4194c38900668","i686/libdbghelp.a":"fefcc21fbaecbaaae846d5480b72c484cc676509cf5a7d6a5dd08ed8973ffe3c","src/lib.rs":"b039dbc1447e3c68f76f7755d90be97715b433b4eda26e24b035436b823326ac","x86_64/libdbghelp.a":"6805c38acd6f47a7707290bb0838d3722d93d0da0763436647056e125bcbb089"},"package":"97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850"}
\ No newline at end of file
+{"files":{"Cargo.toml":"1f8c2a0d9c67203873c258054f7e3f52d18771e538abf3c183920a8a74b126e5","README.md":"add8bbc7d13eccbb5930f36c8daa8137dfb24cac790eddc0e73385aef6daca0e","build.rs":"c5cc71a0c004d0f0fb7d004d5db0767d72d0b4ecbdc1c9a741a4194c38900668","i686/libdbghelp.a":"fefcc21fbaecbaaae846d5480b72c484cc676509cf5a7d6a5dd08ed8973ffe3c","src/lib.rs":"b039dbc1447e3c68f76f7755d90be97715b433b4eda26e24b035436b823326ac","x86_64/libdbghelp.a":"6805c38acd6f47a7707290bb0838d3722d93d0da0763436647056e125bcbb089"},"package":"97590ba53bcb8ac28279161ca943a924d1fd4a8fb3fa63302591647c4fc5b850"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/dtoa-short/.cargo-checksum.json
+++ b/third_party/rust/dtoa-short/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"72a50a7572b499bcb5fe019d7eb60741e7ab5ade14c61bad1a4342a9792720a1","src/lib.rs":"efac1b36819fe8414df20b3fca2ebd1590d320075d0796996c63c8a87cdbee90"},"package":"068d4026697c1a18f0b0bb8cfcad1b0c151b90d8edb9bf4c235ad68128920d1d"}
\ No newline at end of file
+{"files":{"Cargo.toml":"72a50a7572b499bcb5fe019d7eb60741e7ab5ade14c61bad1a4342a9792720a1","src/lib.rs":"efac1b36819fe8414df20b3fca2ebd1590d320075d0796996c63c8a87cdbee90"},"package":"068d4026697c1a18f0b0bb8cfcad1b0c151b90d8edb9bf4c235ad68128920d1d"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/dtoa/.cargo-checksum.json
+++ b/third_party/rust/dtoa/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"a2b867b2e28af9bde20a669a6ff0f366ecc5150b89314cd7ec97ed95bb427547","Cargo.toml":"f7341a8bad6e4c144f5d39e3a2254443738555214c26e1e92de45bbab02bb424","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"e18259ab3aa7f39a194795bdad8039b3c5fd544f6dd922526c9326c44842b76d","README.md":"2a26b3c04192f933e2a28f1f7069e0df4b0b24fbd3cef53ab9a2318a53a65553","benches/bench.rs":"ac713ab4e1c668dea70416504955563fcd6bd2982ae1cfa3a1c0043e09dd893f","src/diyfp.rs":"81754c3d1b8ff2347a506187ef43a666f09e20ae0e53436226c969d7e3f737dc","src/dtoa.rs":"f5cdd96d6ac9d3c50289a090a6d6801d36cb121c2a5e6d8acd1aa41013fded76","src/lib.rs":"141f175d15e6c5d0f0833f6c758305aa2b101bacfa9100f5d4cd98601df00e11","tests/test.rs":"296f3c322e08508fd372e436434fdd209bb911cab2124ea654d5f78d90f3eeea"},"package":"09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"}
\ No newline at end of file
+{"files":{".travis.yml":"a2b867b2e28af9bde20a669a6ff0f366ecc5150b89314cd7ec97ed95bb427547","Cargo.toml":"f7341a8bad6e4c144f5d39e3a2254443738555214c26e1e92de45bbab02bb424","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"e18259ab3aa7f39a194795bdad8039b3c5fd544f6dd922526c9326c44842b76d","README.md":"2a26b3c04192f933e2a28f1f7069e0df4b0b24fbd3cef53ab9a2318a53a65553","benches/bench.rs":"ac713ab4e1c668dea70416504955563fcd6bd2982ae1cfa3a1c0043e09dd893f","src/diyfp.rs":"81754c3d1b8ff2347a506187ef43a666f09e20ae0e53436226c969d7e3f737dc","src/dtoa.rs":"f5cdd96d6ac9d3c50289a090a6d6801d36cb121c2a5e6d8acd1aa41013fded76","src/lib.rs":"141f175d15e6c5d0f0833f6c758305aa2b101bacfa9100f5d4cd98601df00e11","tests/test.rs":"296f3c322e08508fd372e436434fdd209bb911cab2124ea654d5f78d90f3eeea"},"package":"09c3753c3db574d215cba4ea76018483895d7bff25a31b49ba45db21c48e50ab"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/dwrote/.cargo-checksum.json
+++ b/third_party/rust/dwrote/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"48059bb4b7efd1a6c2d659fa909888f2c8b5d34f0bd8027b4aefaae9b8d0586e","README.md":"d69d75705e2582721cbfb2d3b4b2af052c71679057a0b2ac53a22c03f1755bba","appveyor.yml":"2c7b2468dc69bef84860b8900024cb6e1a1c52f6fe1232e8ccd83caaf7c231ca","src/bitmap_render_target.rs":"d3b229f85a9804ac52976431657727b410e7d5253283df046e46d98c196f0a3a","src/com_helpers.rs":"fccb4b36379ae3454a88aa32a8e5c09e46ef5f5626266dde1fe5f40a992de39c","src/comptr.rs":"218435689f505769686e07cfc5428852dda90b849a0d48e670f632307f5edc7c","src/font.rs":"9bdf3134c6ad3639eab3da4419c9b43aad2673797f6fdc65841da2c82e1f3af4","src/font_collection.rs":"969fa3abf141dc3504774886f4783fda4a74cd5a198c643f8a77fc1af4e75258","src/font_face.rs":"9506ca579345ab2b6b5615fc75f8f431e2bb0dbd93123d1d2a21a73c851a5427","src/font_family.rs":"403da9f8f9903cbe7f9f79636497b273f9885e200f53af99f9d4e483f11d6889","src/font_file.rs":"60ad02fc25765a2c113175ea372e98a2be0d84aa65fef9246b6a0192e63ff708","src/font_file_loader_impl.rs":"0d304ad99ff1e6874510a1498223329d798ff75b417e3db7e823a695003dfe92","src/gdi_interop.rs":"98922996afc5b8c8304cb65e7c965419003825dfa172a3e11fe69bf3d768551c","src/glyph_run_analysis.rs":"d30d8b41b047815ab5770c730b7a6d09939f2347b4a4257b87bebec08a5794fe","src/helpers.rs":"5d6f164468234ca8806dc1cea117b42dbfae80cc4c9ae965cb0556efdb364682","src/lib.rs":"07dae7e9a6b8e2970917eade968490e2af90110047a0e16f539647269b12f439","src/rendering_params.rs":"be1d1c433f76926c285d8ecdb747c5d9cc6a6c10c1a1890c0760cd99755ed471","src/test.rs":"d77e45f8866abeea070cbbafd4cbde62d875292e8d191310a04c70091978547c","src/types.rs":"784235c15d61fb0d001373575169aa473c92af18dcbc1709a5b2bbaa3a7ceb22"},"package":"36e3b27cd0b8a68e00f07e8d8e1e4f4d8a6b8b873290a734f63bd56d792d23e1"}
\ No newline at end of file
+{"files":{"Cargo.toml":"48059bb4b7efd1a6c2d659fa909888f2c8b5d34f0bd8027b4aefaae9b8d0586e","README.md":"d69d75705e2582721cbfb2d3b4b2af052c71679057a0b2ac53a22c03f1755bba","appveyor.yml":"2c7b2468dc69bef84860b8900024cb6e1a1c52f6fe1232e8ccd83caaf7c231ca","src/bitmap_render_target.rs":"d3b229f85a9804ac52976431657727b410e7d5253283df046e46d98c196f0a3a","src/com_helpers.rs":"fccb4b36379ae3454a88aa32a8e5c09e46ef5f5626266dde1fe5f40a992de39c","src/comptr.rs":"218435689f505769686e07cfc5428852dda90b849a0d48e670f632307f5edc7c","src/font.rs":"9bdf3134c6ad3639eab3da4419c9b43aad2673797f6fdc65841da2c82e1f3af4","src/font_collection.rs":"969fa3abf141dc3504774886f4783fda4a74cd5a198c643f8a77fc1af4e75258","src/font_face.rs":"9506ca579345ab2b6b5615fc75f8f431e2bb0dbd93123d1d2a21a73c851a5427","src/font_family.rs":"403da9f8f9903cbe7f9f79636497b273f9885e200f53af99f9d4e483f11d6889","src/font_file.rs":"60ad02fc25765a2c113175ea372e98a2be0d84aa65fef9246b6a0192e63ff708","src/font_file_loader_impl.rs":"0d304ad99ff1e6874510a1498223329d798ff75b417e3db7e823a695003dfe92","src/gdi_interop.rs":"98922996afc5b8c8304cb65e7c965419003825dfa172a3e11fe69bf3d768551c","src/glyph_run_analysis.rs":"d30d8b41b047815ab5770c730b7a6d09939f2347b4a4257b87bebec08a5794fe","src/helpers.rs":"5d6f164468234ca8806dc1cea117b42dbfae80cc4c9ae965cb0556efdb364682","src/lib.rs":"07dae7e9a6b8e2970917eade968490e2af90110047a0e16f539647269b12f439","src/rendering_params.rs":"be1d1c433f76926c285d8ecdb747c5d9cc6a6c10c1a1890c0760cd99755ed471","src/test.rs":"d77e45f8866abeea070cbbafd4cbde62d875292e8d191310a04c70091978547c","src/types.rs":"784235c15d61fb0d001373575169aa473c92af18dcbc1709a5b2bbaa3a7ceb22"},"package":"36e3b27cd0b8a68e00f07e8d8e1e4f4d8a6b8b873290a734f63bd56d792d23e1"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/either/.cargo-checksum.json
+++ b/third_party/rust/either/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"dc6e405e91c47da40c13a31820f3b4edf52a82be6fac0e23fed7d4fb415b1f7c","Cargo.toml":"76b9389a7d769eff88be373c17bc7384f8a55e15aea2d8955fffb07cf51ca413","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545","README.rst":"3813c794770085af90f88860e71fb8f172472584a4844de6e4a4ad32be084589","src/lib.rs":"5179302c50ad3f20fb54ffaacbbfd2c58a0273f98ae753a3b8a6632f0e954b8a"},"package":"18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a"}
\ No newline at end of file
+{"files":{".travis.yml":"dc6e405e91c47da40c13a31820f3b4edf52a82be6fac0e23fed7d4fb415b1f7c","Cargo.toml":"76b9389a7d769eff88be373c17bc7384f8a55e15aea2d8955fffb07cf51ca413","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7576269ea71f767b99297934c0b2367532690f8c4badc695edf8e04ab6a1e545","README.rst":"3813c794770085af90f88860e71fb8f172472584a4844de6e4a4ad32be084589","src/lib.rs":"5179302c50ad3f20fb54ffaacbbfd2c58a0273f98ae753a3b8a6632f0e954b8a"},"package":"18785c1ba806c258137c937e44ada9ee7e69a37e3c72077542cd2f069d78562a"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/encoding_c/.cargo-checksum.json
+++ b/third_party/rust/encoding_c/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","CONTRIBUTING.md":"8cd9262df951c4b42078aa55064ca3b8ef2676c06b8fc7c281c02ee3f1ae04a8","COPYRIGHT":"65fb11bb8d2aac1ea00620273e0595ff71f4a335d25b67acbccbaa1b9ad5a409","Cargo.toml":"ff4fa375e664d63f9949265be588ebb23e09cdda7632ac3375d60af8fa8cb185","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"90df74ddb43e7f5aa5068890eacc151ecca7c997c9515cf17aea30b8734075bf","README.md":"089e6895e665a791c081fc7d7d9e953e2d4bb46c3774a050e9c6b0b574beabac","build-disabled.rs":"d65ed45d33ce834ab9f9f7c5f308e0a72605aa34ede6dca45a2077a2deee5cfa","include/encoding_rs.h":"b37624428fa0cdc61d0e93b8b6f1bcf58768f0a8eabd0ae2b606d01627ac9bb3","include/encoding_rs_cpp.h":"8bd8c41b6a919f939f57fd7c733129f3bd4297cc38a6a488899dcac142f7ad83","include/encoding_rs_statics.h":"05561c00809483282daab356113c67c31ff5df5bbe4dbfd79a7fa56cf36bbea7","src/lib.rs":"9299d8052a6af4932290f34d2a7abf5ba4e497bf56941e62cb802c5c058f96bc"},"package":"93ec52324ca72f423237a413ca0e1c60654c8b3d0934fcd5fd888508dfcc4ba7"}
\ No newline at end of file
+{"files":{"CONTRIBUTING.md":"8cd9262df951c4b42078aa55064ca3b8ef2676c06b8fc7c281c02ee3f1ae04a8","COPYRIGHT":"65fb11bb8d2aac1ea00620273e0595ff71f4a335d25b67acbccbaa1b9ad5a409","Cargo.toml":"ff4fa375e664d63f9949265be588ebb23e09cdda7632ac3375d60af8fa8cb185","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"90df74ddb43e7f5aa5068890eacc151ecca7c997c9515cf17aea30b8734075bf","README.md":"089e6895e665a791c081fc7d7d9e953e2d4bb46c3774a050e9c6b0b574beabac","build-disabled.rs":"d65ed45d33ce834ab9f9f7c5f308e0a72605aa34ede6dca45a2077a2deee5cfa","include/encoding_rs.h":"b37624428fa0cdc61d0e93b8b6f1bcf58768f0a8eabd0ae2b606d01627ac9bb3","include/encoding_rs_cpp.h":"8bd8c41b6a919f939f57fd7c733129f3bd4297cc38a6a488899dcac142f7ad83","include/encoding_rs_statics.h":"05561c00809483282daab356113c67c31ff5df5bbe4dbfd79a7fa56cf36bbea7","src/lib.rs":"9299d8052a6af4932290f34d2a7abf5ba4e497bf56941e62cb802c5c058f96bc"},"package":"93ec52324ca72f423237a413ca0e1c60654c8b3d0934fcd5fd888508dfcc4ba7"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/encoding_rs/.cargo-checksum.json
+++ b/third_party/rust/encoding_rs/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"dc509cc3b8f44fbdf1d806f533c3f005afaf0fd77cd266b38cb69bab3e4ea136","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"2bed851f8857df3daf0cef25b3588a0841241624ab326e81cce188a598395352","Ideas.md":"7fbeddb0f8ba7b233673ee705997adc2fddb1636a17fe662532b35ef2810a51d","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"cf09a31640f5d556661e2fbe1d07f76046eff94daf6ebb895d14499653b59bde","generate-encoding-data.py":"8a0a5162098d355e4df63532819769fd6626a66a0aa93f2762e315d6147aa0a5","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"1e9f9a02130933fdba6b7606b47c2308afd6d16df064779245226060211af0ce","src/big5.rs":"780ae537353f899a5772a9e7d062441041276e1eb1506a013e4280c5cda6bb93","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"2699c52055882e34ba4e12d072b8161c635840f3620075ca3f10986aec0e8d3b","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"c07a3738e43e8aae11108a30d34067c31ddc5d22074b85ef393f00abcc1f4e01","src/iso_2022_jp.rs":"1f780c3ff72f1a867d6c5782135cd01427eca6d74f0dd6cb23c1406b5163af1a","src/lib.rs":"250cabe96d561b38eef9e26141707904b66b612007098287dd2b245240c5a5be","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"6c5beb75d30c1b3a2e6e9dd86209f9748313ee75f5b43a9d7f5176be310ffabb","src/single_byte.rs":"b3fadb4fa1e66b00efc12b8850b3076580a8cd73c9ed810a19421fd3ade9bbf1","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"c962c7aeac3d9ef2aca70c9e21983b231d4cf998cb06879374b0401e5149d1da","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"1d2c40857c946f6eecf724efc60a196865b4d84a59b08b42fbe4576fa8308fd0","src/utf_8.rs":"34218c7f4faa81883492fdfeb303b7e77710121b06e8342ac62ccb3d6eb16a37","src/utf_8_core.rs":"bbc010dbdfed0f5e7c48a1ab0772eaf2e27711b789bb82f71a678f2240158a65","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"84d054eec249dd676452585f8eb13dc851095021ed6e1f8c79e952c6d81751df"},"package":"f5215aabf22b83153be3ee44dfe3f940214541b2ce13d419c55e7a115c8c51a9"}
\ No newline at end of file
+{"files":{".travis.yml":"dc509cc3b8f44fbdf1d806f533c3f005afaf0fd77cd266b38cb69bab3e4ea136","CONTRIBUTING.md":"e4ffa92c979c7e6ca7b676842a708ea05b84181327fcde43dfcd8038b678a057","COPYRIGHT":"20d4fff11cca11529df3f02096fbe8ffe350219cdb07cdedea34e6a762866da5","Cargo.toml":"2bed851f8857df3daf0cef25b3588a0841241624ab326e81cce188a598395352","Ideas.md":"7fbeddb0f8ba7b233673ee705997adc2fddb1636a17fe662532b35ef2810a51d","LICENSE-APACHE":"cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30","LICENSE-MIT":"74aa8b6d04c36bb640ee81187a3f24a2fa94e36d4c1d4f2ca164c3784ae87a83","README.md":"cf09a31640f5d556661e2fbe1d07f76046eff94daf6ebb895d14499653b59bde","generate-encoding-data.py":"8a0a5162098d355e4df63532819769fd6626a66a0aa93f2762e315d6147aa0a5","rustfmt.toml":"c01c06dfbdfcf30730535aab911d69068febb921e2faef9571ceeb6a5c2a3eab","src/ascii.rs":"1e9f9a02130933fdba6b7606b47c2308afd6d16df064779245226060211af0ce","src/big5.rs":"780ae537353f899a5772a9e7d062441041276e1eb1506a013e4280c5cda6bb93","src/data.rs":"412c842c698c3ce1cec4a27ab19ca275372ac28940ac49cdf3e0dad71a2c2812","src/euc_jp.rs":"feda0ade5e1c3e4abd7637c59373b977662007990fd164ea7db1acc502ba3534","src/euc_kr.rs":"2699c52055882e34ba4e12d072b8161c635840f3620075ca3f10986aec0e8d3b","src/gb18030.rs":"aa9de27a41715dfb02a3b9161d86e3775f635f625f70d3abaadcd583ee7022c0","src/handles.rs":"c07a3738e43e8aae11108a30d34067c31ddc5d22074b85ef393f00abcc1f4e01","src/iso_2022_jp.rs":"1f780c3ff72f1a867d6c5782135cd01427eca6d74f0dd6cb23c1406b5163af1a","src/lib.rs":"250cabe96d561b38eef9e26141707904b66b612007098287dd2b245240c5a5be","src/macros.rs":"9ab30e7194f61f268cd7d899cabb06ff9ca7717663926fd583b20334f49ac8d3","src/replacement.rs":"782f03f04d110e9a0656262bf4296aa0ab8199e196cb63239c30d9649996caa4","src/shift_jis.rs":"84df4ff58b60e0827d6c0c7049f2cf19033f2b9e25a9186bcfb0bbb05e87b380","src/simd_funcs.rs":"6c5beb75d30c1b3a2e6e9dd86209f9748313ee75f5b43a9d7f5176be310ffabb","src/single_byte.rs":"b3fadb4fa1e66b00efc12b8850b3076580a8cd73c9ed810a19421fd3ade9bbf1","src/test_data/big5_in.txt":"4c5a8691f8dc717311889c63894026d2fb62725a86c4208ca274a9cc8d42a503","src/test_data/big5_in_ref.txt":"99d399e17750cf9c7cf30bb253dbfe35b81c4fcbdead93cfa48b1429213473c7","src/test_data/big5_out.txt":"6193ca97c297aa20e09396038d18e938bb7ea331c26f0f2454097296723a0b13","src/test_data/big5_out_ref.txt":"36567691f557df144f6cc520015a87038dfa156f296fcf103b56ae9a718be1fc","src/test_data/euc_kr_in.txt":"c86a7224f3215fa0d04e685622a752fdc72763e8ae076230c7fd62de57ec4074","src/test_data/euc_kr_in_ref.txt":"1f419f4ca47d708b54c73c461545a022ae2e20498fdbf8005a483d752a204883","src/test_data/euc_kr_out.txt":"e7f32e026f70be1e1b58e0047baf7d3d2c520269c4f9b9992e158b4decb0a1a3","src/test_data/euc_kr_out_ref.txt":"c9907857980b20b8e9e3b584482ed6567a2be6185d72237b6322f0404944924e","src/test_data/gb18030_in.txt":"ab7231b2d3e9afacdbd7d7f3b9e5361a7ff9f7e1cfdb4f3bd905b9362b309e53","src/test_data/gb18030_in_ref.txt":"dc5069421adca2043c55f5012b55a76fdff651d22e6e699fd0978f8d5706815c","src/test_data/gb18030_out.txt":"f0208d527f5ca63de7d9a0323be8d5cf12d8a104b2943d92c2701f0c3364dac1","src/test_data/gb18030_out_ref.txt":"6819fe47627e4ea01027003fc514b9f21a1322e732d7f1fb92cc6c5455bc6c07","src/test_data/iso_2022_jp_in.txt":"cd24bbdcb1834e25db54646fbf4c41560a13dc7540f6be3dba4f5d97d44513af","src/test_data/iso_2022_jp_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/iso_2022_jp_out.txt":"9b6f015329dda6c3f9ee5ce6dbd6fa9c89acc21283e886836c78b8d833480c21","src/test_data/iso_2022_jp_out_ref.txt":"78cb260093a20116ad9a42f43b05d1848c5ab100b6b9a850749809e943884b35","src/test_data/jis0208_in.txt":"6df3030553ffb0a6615bb33dc8ea9dca6d9623a9028e2ffec754ce3c3da824cc","src/test_data/jis0208_in_ref.txt":"3dc4e6a5e06471942d086b16c9440945e78415f6f3f47e43717e4bc2eac2cdf5","src/test_data/jis0208_out.txt":"4ec24477e1675ce750733bdc3c5add1cd27b6bd4ce1f09289564646e9654e857","src/test_data/jis0208_out_ref.txt":"c3e1cef5032b2b1d93a406f31ff940c4e2dfe8859b8b17ca2761fee7a75a0e48","src/test_data/jis0212_in.txt":"c011f0dd72bd7c8cd922df9374ef8d2769a77190514c77f6c62b415852eeb9fe","src/test_data/jis0212_in_ref.txt":"7d9458b3d2f73e7092a7f505c08ce1d233dde18aa679fbcf9889256239cc9e06","src/test_data/shift_jis_in.txt":"02e389ccef0dd2122e63f503899402cb7f797912c2444cc80ab93131116c5524","src/test_data/shift_jis_in_ref.txt":"512f985950ca902e643c88682dba9708b7c38d3c5ec2925168ab00ac94ab19f9","src/test_data/shift_jis_out.txt":"5fbc44da7bf639bf6cfe0fa1fd3eba7102b88f81919c9ea991302712f69426fb","src/test_data/shift_jis_out_ref.txt":"466322c6fed8286c64582731755290c2296508efdd258826e6279686649b481f","src/test_labels_names.rs":"c962c7aeac3d9ef2aca70c9e21983b231d4cf998cb06879374b0401e5149d1da","src/testing.rs":"60f85c6fb63fd4ab62e90dfa005920e79e0e1885795dc13a7a3c1980507925b1","src/utf_16.rs":"1d2c40857c946f6eecf724efc60a196865b4d84a59b08b42fbe4576fa8308fd0","src/utf_8.rs":"34218c7f4faa81883492fdfeb303b7e77710121b06e8342ac62ccb3d6eb16a37","src/utf_8_core.rs":"bbc010dbdfed0f5e7c48a1ab0772eaf2e27711b789bb82f71a678f2240158a65","src/variant.rs":"93dfec2dcfc9fd9711bb55d48177f4a0e9479c7fbd055f08db3853338569da83","src/x_user_defined.rs":"84d054eec249dd676452585f8eb13dc851095021ed6e1f8c79e952c6d81751df"},"package":"f5215aabf22b83153be3ee44dfe3f940214541b2ce13d419c55e7a115c8c51a9"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/env_logger/.cargo-checksum.json
+++ b/third_party/rust/env_logger/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"3f4cf313ce063b0d3888a3acdc3a31ed99432415aa4204b143fd39de0d037996","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","src/lib.rs":"5fac719110645152e649993bfd7edb8ca755155844867cbfa8077b486ddde9e1","src/regex.rs":"d8e2a6958d4ed8084867063aae4b5c77ffc5d271dc2e17909d56c5a5e1552034","src/string.rs":"26ede9ab41a2673c3ad6001bc1802c005ce9a4f190f55860a24aa66b6b71bbc7","tests/regexp_filter.rs":"a3f9c01623e90e54b247a62c53b25caf5f502d054f28c0bdf92abbea486a95b5"},"package":"3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"}
\ No newline at end of file
+{"files":{"Cargo.toml":"3f4cf313ce063b0d3888a3acdc3a31ed99432415aa4204b143fd39de0d037996","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"6485b8ed310d3f0340bf1ad1f47645069ce4069dcc6bb46c7d5c6faf41de1fdb","src/lib.rs":"5fac719110645152e649993bfd7edb8ca755155844867cbfa8077b486ddde9e1","src/regex.rs":"d8e2a6958d4ed8084867063aae4b5c77ffc5d271dc2e17909d56c5a5e1552034","src/string.rs":"26ede9ab41a2673c3ad6001bc1802c005ce9a4f190f55860a24aa66b6b71bbc7","tests/regexp_filter.rs":"a3f9c01623e90e54b247a62c53b25caf5f502d054f28c0bdf92abbea486a95b5"},"package":"3ddf21e73e016298f5cb37d6ef8e8da8e39f91f9ec8b0df44b7deb16a9f8cd5b"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/error-chain/.cargo-checksum.json
+++ b/third_party/rust/error-chain/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"d56246d6c8796c638b5012c2d7a91d9b6ec101b6a47128e2d4bfa957c1c784e8","CHANGELOG.md":"4f602de0b17e0d0121371482dfcf3caf2265b70bf92e8b5db1cba5dd8f391469","Cargo.toml":"8e4d1f0b25be862107a6938190c9817cd7ea516db50e688de1d0fe87519105ee","README.md":"6771ca940645b2f7e7a018c8cd25b25f8bf35786e229b54fa2fded1f2d0ae411","examples/all.rs":"6f073ea0e3db541a4eefb41436fc03a121a1f932fd6a2798b485a72d64bd1a3c","examples/doc.rs":"574948eb776c3d363f5cff9a48015bab6c17828c7306dc3eb8818afa90a31a83","examples/quickstart.rs":"c3142d5139d89c3861b119507a372fba47ac3d7df61aa90b068d518dea8fd6f6","examples/size.rs":"7922acd891dfd06f1d36308a3ccdf03def2646b2f39bfd1b15cf2896247bad8f","src/error_chain.rs":"d0cb3e4a93f9c358e4bd18ab8443573e57ace15442f4697ad95963d10408f882","src/example_generated.rs":"7d5220020aada7def70d3b3e396dadb0b139ed104b1253d06ac53f48517ec668","src/lib.rs":"0d1c972252dd1df3117ddf0a71a4734cdb350b41376e09cbe4b868afb0e2762b","src/quick_error.rs":"1889b9ca1f7a5e9124275fd5da81e709d0d6bd3b06915bf320c23d4c4f083301","src/quick_main.rs":"106a0cf44a6a2fbb9fb1d8932d234f43cd7af230fc6685b28f6b9dfaca2a3210","tests/quick_main.rs":"1d6a726856b954d4cffddab00602583921972ceeeb2bf7ba9ebbac6a51584b53","tests/tests.rs":"67b6acf87f4986fa013f018195e3becd6dd63d8101a7af07a417e8e526cf50ad"},"package":"d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8"}
\ No newline at end of file
+{"files":{".travis.yml":"d56246d6c8796c638b5012c2d7a91d9b6ec101b6a47128e2d4bfa957c1c784e8","CHANGELOG.md":"4f602de0b17e0d0121371482dfcf3caf2265b70bf92e8b5db1cba5dd8f391469","Cargo.toml":"8e4d1f0b25be862107a6938190c9817cd7ea516db50e688de1d0fe87519105ee","README.md":"6771ca940645b2f7e7a018c8cd25b25f8bf35786e229b54fa2fded1f2d0ae411","examples/all.rs":"6f073ea0e3db541a4eefb41436fc03a121a1f932fd6a2798b485a72d64bd1a3c","examples/doc.rs":"574948eb776c3d363f5cff9a48015bab6c17828c7306dc3eb8818afa90a31a83","examples/quickstart.rs":"c3142d5139d89c3861b119507a372fba47ac3d7df61aa90b068d518dea8fd6f6","examples/size.rs":"7922acd891dfd06f1d36308a3ccdf03def2646b2f39bfd1b15cf2896247bad8f","src/error_chain.rs":"d0cb3e4a93f9c358e4bd18ab8443573e57ace15442f4697ad95963d10408f882","src/example_generated.rs":"7d5220020aada7def70d3b3e396dadb0b139ed104b1253d06ac53f48517ec668","src/lib.rs":"0d1c972252dd1df3117ddf0a71a4734cdb350b41376e09cbe4b868afb0e2762b","src/quick_error.rs":"1889b9ca1f7a5e9124275fd5da81e709d0d6bd3b06915bf320c23d4c4f083301","src/quick_main.rs":"106a0cf44a6a2fbb9fb1d8932d234f43cd7af230fc6685b28f6b9dfaca2a3210","tests/quick_main.rs":"1d6a726856b954d4cffddab00602583921972ceeeb2bf7ba9ebbac6a51584b53","tests/tests.rs":"67b6acf87f4986fa013f018195e3becd6dd63d8101a7af07a417e8e526cf50ad"},"package":"d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/euclid/.cargo-checksum.json
+++ b/third_party/rust/euclid/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"13574ca06216b94913348afb2beae9db9929f8964fbc45b3c00344ee281e1f52","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"dee3baa3cf47f241e948f89f443d685a09095748dbd0891f3902a03884e21d36","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"625bec69c76ce5423fdd05cfe46922b2680ec517f97c5854ce34798d1d8a9541","src/approxeq.rs":"6cf810ad389c73a27141a7a67454ed12d4b01c3c16605b9a7414b389bc0615dd","src/length.rs":"73b0aed12a0c9acfd77a6b9ac0cd3a7ec522c41ffafad4448753cb6bba47b6a4","src/lib.rs":"4d0961f56e4232ae09b41da4838324af21efc318555f625b4151a81fe99a0217","src/macros.rs":"a3f4deaa4323da6398546720548dda20b0b39427603ccc35ab49d220a83467a8","src/num.rs":"749b201289fc6663199160a2f9204e17925fd3053f8ab7779e7bfb377ad06227","src/point.rs":"e57a5e7633ce870ad22718bf4f550ecea39c43560af82216d27879bf0d61d94a","src/rect.rs":"00ef63d706d5ccd8a6fb377e2bcc58b1453080fbbdc8e41a2c6c6a1a42a76085","src/scale_factor.rs":"b093243256df3f2b8a2e2bf98236e6ec1032c3d358596f384313614dbefaca49","src/side_offsets.rs":"fd95ffc9a74e9e84314875c388e763d0780486eb7f9034423e3a22048361e379","src/size.rs":"1a438f2774e668eb37759e858af18bb17bffe99c7ce61bd2b3c5679dda023c17","src/transform2d.rs":"4fe4fef7266b06b7790cd400d990ad02e6e605499a1a33c8e39b5e00364389ba","src/transform3d.rs":"0cbf5585cfc0b2a660180e63d0294c57ff732b4aec46ecf7731b7cc7c3af74c0","src/trig.rs":"ef290927af252ca90a29ba9f17158b591ed591604e66cb9df045dd47b9cfdca5","src/vector.rs":"b30ce6ff791eb657f7d9898cf13afe3600bb871797b787b341dad038aeb2a632"},"package":"50c9e4c3b53de731815135191f0b77969bea953211b8bbd3cc3083a7b10e190e"}
\ No newline at end of file
+{"files":{".travis.yml":"13574ca06216b94913348afb2beae9db9929f8964fbc45b3c00344ee281e1f52","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"dee3baa3cf47f241e948f89f443d685a09095748dbd0891f3902a03884e21d36","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","README.md":"625bec69c76ce5423fdd05cfe46922b2680ec517f97c5854ce34798d1d8a9541","src/approxeq.rs":"6cf810ad389c73a27141a7a67454ed12d4b01c3c16605b9a7414b389bc0615dd","src/length.rs":"73b0aed12a0c9acfd77a6b9ac0cd3a7ec522c41ffafad4448753cb6bba47b6a4","src/lib.rs":"4d0961f56e4232ae09b41da4838324af21efc318555f625b4151a81fe99a0217","src/macros.rs":"a3f4deaa4323da6398546720548dda20b0b39427603ccc35ab49d220a83467a8","src/num.rs":"749b201289fc6663199160a2f9204e17925fd3053f8ab7779e7bfb377ad06227","src/point.rs":"e57a5e7633ce870ad22718bf4f550ecea39c43560af82216d27879bf0d61d94a","src/rect.rs":"00ef63d706d5ccd8a6fb377e2bcc58b1453080fbbdc8e41a2c6c6a1a42a76085","src/scale_factor.rs":"b093243256df3f2b8a2e2bf98236e6ec1032c3d358596f384313614dbefaca49","src/side_offsets.rs":"fd95ffc9a74e9e84314875c388e763d0780486eb7f9034423e3a22048361e379","src/size.rs":"1a438f2774e668eb37759e858af18bb17bffe99c7ce61bd2b3c5679dda023c17","src/transform2d.rs":"4fe4fef7266b06b7790cd400d990ad02e6e605499a1a33c8e39b5e00364389ba","src/transform3d.rs":"0cbf5585cfc0b2a660180e63d0294c57ff732b4aec46ecf7731b7cc7c3af74c0","src/trig.rs":"ef290927af252ca90a29ba9f17158b591ed591604e66cb9df045dd47b9cfdca5","src/vector.rs":"b30ce6ff791eb657f7d9898cf13afe3600bb871797b787b341dad038aeb2a632"},"package":"50c9e4c3b53de731815135191f0b77969bea953211b8bbd3cc3083a7b10e190e"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/flate2/.cargo-checksum.json
+++ b/third_party/rust/flate2/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"e33073c310c4bc45c4017b793e710c689fbf4fcbd618b3dee92a6343364ece0f","Cargo.toml":"7cccd970edc30578b4fa9fb27762ec77fbd31df0281d0c1d0a69ea16896216eb","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"b875d1d0ca491813f3a2469ea69d37dd667ad0c70f895e6bbda540c99e291154","appveyor.yml":"a39fd7664bf538147bfb494b9f9c96d6f898d9896a5d5e1806019f399cc44bff","src/bufreader.rs":"0a1213858056c8154066f45df7b261c052c6a2c55ec88bc21f56ad3f2748d8c4","src/crc.rs":"869b4cc79a61b6dda02253430c4ca09fd1efee51509a7552bdc0c8dc5bd2b6bb","src/deflate.rs":"4783d36a1a323c0004f2ebd3af7f6ac9c949cd1e7dc5fc54eacdc5d944098271","src/ffi.rs":"7bd962e85dc05b18c878dc3d5abb054f2c41f7b20a793d2ddbba755b7661fcfa","src/gz.rs":"d4fae4fbcf17b7ad7b233eee2027cfbeb7ed138b1efdf64068fdbcc7e1ade26e","src/lib.rs":"572a609457d29bc93340d65f561454c07d3638b4fb741906d1949232d410dc73","src/mem.rs":"51fa61421f1b235ace54596b3a0e4dcd2a67324dcd16d6552d7d6a7368935e50","src/zio.rs":"1d1fc161e40939b1f84da98a433d3b0adbf9e29baee578042c2919b123d0b66d","src/zlib.rs":"ecc52ab6b8034f0fdb89d3a01b75cc181160e44225160800448d183fed4ef2ee","tests/corrupt-file.gz":"083dd284aa1621916a2d0f66ea048c8d3ba7a722b22d0d618722633f51e7d39c","tests/good-file.gz":"87296963e53024a74752179ce7e54087565d358a85d3e65c3b37ef36eaa3d4a6","tests/good-file.txt":"bc4e03658a441fe2ad2df7cd2197144b87e41696f01e327b380e869cd9b485a0","tests/gunzip.rs":"3d2e0a80756474dc2b08f20071685117083765c4f1763456c676f1feeaff35e9","tests/multi.gz":"efa3341da052f95056314cc6920e02a3da15bdef30234b2552fb407812db5cc6","tests/multi.txt":"dbea9325179efe46ea2add94f7b6b745ca983fabb208dc6d34aa064623d7ee23","tests/tokio.rs":"d19defd6c369877f406ed8bd74683a257fde7de51f4161004cea4260faf4464d"},"package":"36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c"}
\ No newline at end of file
+{"files":{".travis.yml":"e33073c310c4bc45c4017b793e710c689fbf4fcbd618b3dee92a6343364ece0f","Cargo.toml":"7cccd970edc30578b4fa9fb27762ec77fbd31df0281d0c1d0a69ea16896216eb","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"b875d1d0ca491813f3a2469ea69d37dd667ad0c70f895e6bbda540c99e291154","appveyor.yml":"a39fd7664bf538147bfb494b9f9c96d6f898d9896a5d5e1806019f399cc44bff","src/bufreader.rs":"0a1213858056c8154066f45df7b261c052c6a2c55ec88bc21f56ad3f2748d8c4","src/crc.rs":"869b4cc79a61b6dda02253430c4ca09fd1efee51509a7552bdc0c8dc5bd2b6bb","src/deflate.rs":"4783d36a1a323c0004f2ebd3af7f6ac9c949cd1e7dc5fc54eacdc5d944098271","src/ffi.rs":"7bd962e85dc05b18c878dc3d5abb054f2c41f7b20a793d2ddbba755b7661fcfa","src/gz.rs":"d4fae4fbcf17b7ad7b233eee2027cfbeb7ed138b1efdf64068fdbcc7e1ade26e","src/lib.rs":"572a609457d29bc93340d65f561454c07d3638b4fb741906d1949232d410dc73","src/mem.rs":"51fa61421f1b235ace54596b3a0e4dcd2a67324dcd16d6552d7d6a7368935e50","src/zio.rs":"1d1fc161e40939b1f84da98a433d3b0adbf9e29baee578042c2919b123d0b66d","src/zlib.rs":"ecc52ab6b8034f0fdb89d3a01b75cc181160e44225160800448d183fed4ef2ee","tests/corrupt-file.gz":"083dd284aa1621916a2d0f66ea048c8d3ba7a722b22d0d618722633f51e7d39c","tests/good-file.gz":"87296963e53024a74752179ce7e54087565d358a85d3e65c3b37ef36eaa3d4a6","tests/good-file.txt":"bc4e03658a441fe2ad2df7cd2197144b87e41696f01e327b380e869cd9b485a0","tests/gunzip.rs":"3d2e0a80756474dc2b08f20071685117083765c4f1763456c676f1feeaff35e9","tests/multi.gz":"efa3341da052f95056314cc6920e02a3da15bdef30234b2552fb407812db5cc6","tests/multi.txt":"dbea9325179efe46ea2add94f7b6b745ca983fabb208dc6d34aa064623d7ee23","tests/tokio.rs":"d19defd6c369877f406ed8bd74683a257fde7de51f4161004cea4260faf4464d"},"package":"36df0166e856739905cd3d7e0b210fe818592211a008862599845e012d8d304c"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/fnv/.cargo-checksum.json
+++ b/third_party/rust/fnv/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"29b74b95210896ce634c11a9037638668473b5a1b3b1716c505cb04dbb6341fa","Cargo.toml":"19864ecb948c0e7be14ead11068a2c689a4d31a684c85b6ad1bdf4a26d893516","README.md":"772c547b8e78764f07cc22f2294cb7c691cb20f30d459ed45a65c2434b1ca8a9","lib.rs":"2e2be31e9c90c9b2b0fe223f64f4b4bb24487e370e1cd2fbcce70d30f50fc452"},"package":"6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"}
\ No newline at end of file
+{"files":{".travis.yml":"29b74b95210896ce634c11a9037638668473b5a1b3b1716c505cb04dbb6341fa","Cargo.toml":"19864ecb948c0e7be14ead11068a2c689a4d31a684c85b6ad1bdf4a26d893516","README.md":"772c547b8e78764f07cc22f2294cb7c691cb20f30d459ed45a65c2434b1ca8a9","lib.rs":"2e2be31e9c90c9b2b0fe223f64f4b4bb24487e370e1cd2fbcce70d30f50fc452"},"package":"6cc484842f1e2884faf56f529f960cc12ad8c71ce96cc7abba0a067c98fee344"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/freetype/.cargo-checksum.json
+++ b/third_party/rust/freetype/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"b66e958a27e280a79ae1742be91e02cbaf7392851d430f19b13f3619861860e2","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"ec1a0a3ceb37de795193e244fb3781cf87d25ea610f150976958468881da76a7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","Makefile.in":"7348b5f8a577048279b3f98e2c2b5705f506cf5b4b1e6bb542cc0b1e62468411","README.md":"755e885eb12f7b0b459c8b579f20cd941e55f0197b947591131daf048c5d7bc6","configure":"e0e6ba778e5f5784fa87abf235aa4f3da750d922bfb26a34803d9674577d56ec","etc/bindgen.sh":"39c1d5298f6e46380f0616d6080bd2c3ead5f04149bcf5b7345c56dae2000e79","etc/bindings.h":"b531980f5739536dfc1484236d436efd18f448b4ea15001d1dfbbaf381ad054f","src/freetype.rs":"445a3d48974dcf22961b612ef6cdef48c2dedc1ccc6e73a88eee53fa601859d8","src/lib.rs":"812e79af46e33a93420c8301ad95392f5e8a57266b3e43c47085c6dd0c63653f","src/tt_os2.rs":"9517c53fc4e575ceb615d554dc72812dcbb532bf94883d51202b24caae1a1418"},"package":"398b8a11884898184d55aca9806f002b3cf68f0e860e0cbb4586f834ee39b0e7"}
\ No newline at end of file
+{"files":{".travis.yml":"b66e958a27e280a79ae1742be91e02cbaf7392851d430f19b13f3619861860e2","COPYRIGHT":"ec82b96487e9e778ee610c7ab245162464782cfa1f555c2299333f8dbe5c036a","Cargo.toml":"ec1a0a3ceb37de795193e244fb3781cf87d25ea610f150976958468881da76a7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"62065228e42caebca7e7d7db1204cbb867033de5982ca4009928915e4095f3a3","Makefile.in":"7348b5f8a577048279b3f98e2c2b5705f506cf5b4b1e6bb542cc0b1e62468411","README.md":"755e885eb12f7b0b459c8b579f20cd941e55f0197b947591131daf048c5d7bc6","configure":"e0e6ba778e5f5784fa87abf235aa4f3da750d922bfb26a34803d9674577d56ec","etc/bindgen.sh":"39c1d5298f6e46380f0616d6080bd2c3ead5f04149bcf5b7345c56dae2000e79","etc/bindings.h":"b531980f5739536dfc1484236d436efd18f448b4ea15001d1dfbbaf381ad054f","src/freetype.rs":"445a3d48974dcf22961b612ef6cdef48c2dedc1ccc6e73a88eee53fa601859d8","src/lib.rs":"812e79af46e33a93420c8301ad95392f5e8a57266b3e43c47085c6dd0c63653f","src/tt_os2.rs":"9517c53fc4e575ceb615d554dc72812dcbb532bf94883d51202b24caae1a1418"},"package":"398b8a11884898184d55aca9806f002b3cf68f0e860e0cbb4586f834ee39b0e7"}
\ No newline at end of file
deleted file mode 100644
--- a/third_party/rust/fs2/.cargo-checksum.json
+++ b/third_party/rust/fs2/.cargo-checksum.json
@@ -1,1 +1,1 @@
-{"files":{".appveyor.yml":"15c5548159ad6ebcc02960bb6a3269e729e772df2733b7d4c7cc1583c413ae45",".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"5733d01f7cd27cbdd17a46399103e83eca528727e6cad7f355f6748e772ef916","Cargo.toml":"c257476252f17472f1a78c9fa92b137dc435873797ec1a137aa73043b3ad06a7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7b63ecd5f1902af1b63729947373683c32745c16a10e8e6292e2e2dcd7e90ae0","README.md":"7667acd3dfd050dadccf8b7815435b9108c24c5704944085281beed6a181e220","src/lib.rs":"106e402d1c5ae68558f4e8a3971b646c12f19762363d2cf15c13a1c2aeb1d1e7","src/unix.rs":"67f0244c118cff918f01b6c164dfe604039ce9160a099ba6e4ff86dcf8ec0097","src/windows.rs":"5767d923280998e341504f8d2a015b8b0c3f8b2b1188610aa4c1b6a343da5682"},"package":"9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866"}
\ No newline at end of file
+{"files":{".appveyor.yml":"15c5548159ad6ebcc02960bb6a3269e729e772df2733b7d4c7cc1583c413ae45",".travis.yml":"5733d01f7cd27cbdd17a46399103e83eca528727e6cad7f355f6748e772ef916","Cargo.toml":"c257476252f17472f1a78c9fa92b137dc435873797ec1a137aa73043b3ad06a7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"7b63ecd5f1902af1b63729947373683c32745c16a10e8e6292e2e2dcd7e90ae0","README.md":"7667acd3dfd050dadccf8b7815435b9108c24c5704944085281beed6a181e220","src/lib.rs":"106e402d1c5ae68558f4e8a3971b646c12f19762363d2cf15c13a1c2aeb1d1e7","src/unix.rs":"67f0244c118cff918f01b6c164dfe604039ce9160a099ba6e4ff86dcf8ec0097","src/windows.rs":"5767d923280998e341504f8d2a015b8b0c3f8b2b1188610aa4c1b6a343da5682"},"package":"9ab76cfd2aaa59b7bf6688ad9ba15bbae64bff97f04ea02144cfd3443e5c2866"}
\ No newline at end of file
deleted file mode 100644
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon-sys/.cargo-checksum.json
@@ -0,0 +1,1 @@
+{"files":{"BUILD.gn":"862eccf06f706db5af1e0041b10b6b637dbc77257b6c4f536a72fc7d21d3dfb9","Cargo.toml":"d05607413136805977463d1c2b979e7692ea1ac06e051d598de440c64603e886","examples/hello.rs":"66c6a147b98b913fef8e7a7da6387fb735f7f1e2c00abc8794a32a8cf0320851","src/definitions.rs":"0b13b741cad9ba42c1da5b654c6d60f03183a7c79a5843e7734a95b4f934d81f","src/lib.rs":"83c8b96c64b442d72a7b87455f182e6ffef6bf2cd7aa2c0c88db992ac9060bda"},"package":"43f3795b4bae048dc6123a6b972cadde2e676f9ded08aef6bb77f5f157684a82"}
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon-sys/BUILD.gn
@@ -0,0 +1,11 @@
+# Copyright 2017 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/rust/rust_library.gni")
+
+rust_library("fuchsia-zircon-sys") {
+  deps = [
+    "//third_party/rust-crates:bitflags-0.7.0",
+  ]
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon-sys/Cargo.toml
@@ -0,0 +1,21 @@
+# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
+#
+# When uploading crates to the registry Cargo will automatically
+# "normalize" Cargo.toml files for maximal compatibility
+# with all versions of Cargo and also rewrite `path` dependencies
+# to registry (e.g. crates.io) dependencies
+#
+# If you believe there's an error in this file please file an
+# issue against the rust-lang/cargo repository. If you're
+# editing this file be aware that the upstream Cargo.toml
+# will likely look very different (and much more reasonable)
+
+[package]
+name = "fuchsia-zircon-sys"
+version = "0.2.0"
+authors = ["Raph Levien <raph@google.com>"]
+description = "Low-level Rust bindings for the Zircon kernel"
+license = "BSD-3-Clause"
+repository = "https://fuchsia.googlesource.com/garnet/"
+[dependencies.bitflags]
+version = "0.7.0"
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon-sys/examples/hello.rs
@@ -0,0 +1,14 @@
+// Copyright 2016 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+extern crate fuchsia_zircon_sys as zircon_sys;
+
+pub fn main() {
+    let time = unsafe { zircon_sys::zx_time_get(zircon_sys::ZX_CLOCK_MONOTONIC) };
+    println!("before sleep, time = {}", time);
+    unsafe { zircon_sys::zx_nanosleep(zircon_sys::zx_deadline_after(1000_000_000)); }
+    let time = unsafe { zircon_sys::zx_time_get(zircon_sys::ZX_CLOCK_MONOTONIC) };
+    println!("after sleep, time = {}", time);
+}
+
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon-sys/src/definitions.rs
@@ -0,0 +1,903 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// This is a GENERATED file, see //zircon/system/host/sysgen.
+// The license governing this file can be found in the LICENSE file.
+
+#[link(name = "zircon")]
+extern {
+    pub fn zx_time_get(
+        clock_id: u32
+        ) -> zx_time_t;
+
+    pub fn zx_nanosleep(
+        deadline: zx_time_t
+        ) -> zx_status_t;
+
+    pub fn zx_ticks_get(
+        ) -> u64;
+
+    pub fn zx_ticks_per_second(
+        ) -> u64;
+
+    pub fn zx_deadline_after(
+        nanoseconds: zx_duration_t
+        ) -> zx_time_t;
+
+    pub fn zx_clock_adjust(
+        handle: zx_handle_t,
+        clock_id: u32,
+        offset: i64
+        ) -> zx_status_t;
+
+    pub fn zx_system_get_num_cpus(
+        ) -> u32;
+
+    pub fn zx_system_get_version(
+        version: *mut u8,
+        version_len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_system_get_physmem(
+        ) -> u64;
+
+    pub fn zx_cache_flush(
+        addr: *const u8,
+        len: usize,
+        options: u32
+        ) -> zx_status_t;
+
+    pub fn zx_handle_close(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_handle_duplicate(
+        handle: zx_handle_t,
+        rights: zx_rights_t,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_handle_replace(
+        handle: zx_handle_t,
+        rights: zx_rights_t,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_object_wait_one(
+        handle: zx_handle_t,
+        waitfor: zx_signals_t,
+        deadline: zx_time_t,
+        observed: *mut zx_signals_t
+        ) -> zx_status_t;
+
+    pub fn zx_object_wait_many(
+        items: *mut zx_wait_item_t,
+        count: u32,
+        deadline: zx_time_t
+        ) -> zx_status_t;
+
+    pub fn zx_object_wait_async(
+        handle: zx_handle_t,
+        port_handle: zx_handle_t,
+        key: u64,
+        signals: zx_signals_t,
+        options: u32
+        ) -> zx_status_t;
+
+    pub fn zx_object_signal(
+        handle: zx_handle_t,
+        clear_mask: u32,
+        set_mask: u32
+        ) -> zx_status_t;
+
+    pub fn zx_object_signal_peer(
+        handle: zx_handle_t,
+        clear_mask: u32,
+        set_mask: u32
+        ) -> zx_status_t;
+
+    pub fn zx_object_get_property(
+        handle: zx_handle_t,
+        property: u32,
+        value: *mut u8,
+        size: usize
+        ) -> zx_status_t;
+
+    pub fn zx_object_set_property(
+        handle: zx_handle_t,
+        property: u32,
+        value: *const u8,
+        size: usize
+        ) -> zx_status_t;
+
+    pub fn zx_object_set_cookie(
+        handle: zx_handle_t,
+        scope: zx_handle_t,
+        cookie: u64
+        ) -> zx_status_t;
+
+    pub fn zx_object_get_cookie(
+        handle: zx_handle_t,
+        scope: zx_handle_t,
+        cookie: *mut u64
+        ) -> zx_status_t;
+
+    pub fn zx_object_get_info(
+        handle: zx_handle_t,
+        topic: u32,
+        buffer: *mut u8,
+        buffer_size: usize,
+        actual_count: *mut usize,
+        avail_count: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_object_get_child(
+        handle: zx_handle_t,
+        koid: u64,
+        rights: zx_rights_t,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_channel_create(
+        options: u32,
+        out0: *mut zx_handle_t,
+        out1: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_channel_read(
+        handle: zx_handle_t,
+        options: u32,
+        bytes: *mut u8,
+        handles: *mut zx_handle_t,
+        num_bytes: u32,
+        num_handles: u32,
+        actual_bytes: *mut u32,
+        actual_handles: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_channel_write(
+        handle: zx_handle_t,
+        options: u32,
+        bytes: *const u8,
+        num_bytes: u32,
+        handles: *const zx_handle_t,
+        num_handles: u32
+        ) -> zx_status_t;
+
+    pub fn zx_channel_call_noretry(
+        handle: zx_handle_t,
+        options: u32,
+        deadline: zx_time_t,
+        args: *const zx_channel_call_args_t,
+        actual_bytes: *mut u32,
+        actual_handles: *mut u32,
+        read_status: *mut zx_status_t
+        ) -> zx_status_t;
+
+    pub fn zx_channel_call_finish(
+        deadline: zx_time_t,
+        args: *const zx_channel_call_args_t,
+        actual_bytes: *mut u32,
+        actual_handles: *mut u32,
+        read_status: *mut zx_status_t
+        ) -> zx_status_t;
+
+    pub fn zx_channel_call(
+        handle: zx_handle_t,
+        options: u32,
+        deadline: zx_time_t,
+        args: *const zx_channel_call_args_t,
+        actual_bytes: *mut u32,
+        actual_handles: *mut u32,
+        read_status: *mut zx_status_t
+        ) -> zx_status_t;
+
+    pub fn zx_socket_create(
+        options: u32,
+        out0: *mut zx_handle_t,
+        out1: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_socket_write(
+        handle: zx_handle_t,
+        options: u32,
+        buffer: *const u8,
+        size: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_socket_read(
+        handle: zx_handle_t,
+        options: u32,
+        buffer: *mut u8,
+        size: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_thread_exit(
+        );
+
+    pub fn zx_thread_create(
+        process: zx_handle_t,
+        name: *const u8,
+        name_len: u32,
+        options: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_thread_start(
+        handle: zx_handle_t,
+        thread_entry: usize,
+        stack: usize,
+        arg1: usize,
+        arg2: usize
+        ) -> zx_status_t;
+
+    pub fn zx_thread_read_state(
+        handle: zx_handle_t,
+        kind: u32,
+        buffer: *mut u8,
+        len: u32,
+        actual: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_thread_write_state(
+        handle: zx_handle_t,
+        kind: u32,
+        buffer: *const u8,
+        buffer_len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_thread_set_priority(
+        prio: i32
+        ) -> zx_status_t;
+
+    pub fn zx_process_exit(
+        retcode: isize
+        );
+
+    pub fn zx_process_create(
+        job: zx_handle_t,
+        name: *const u8,
+        name_len: u32,
+        options: u32,
+        proc_handle: *mut zx_handle_t,
+        vmar_handle: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_process_start(
+        process_handle: zx_handle_t,
+        thread_handle: zx_handle_t,
+        entry: usize,
+        stack: usize,
+        arg_handle: zx_handle_t,
+        arg2: usize
+        ) -> zx_status_t;
+
+    pub fn zx_process_read_memory(
+        proc_: zx_handle_t,
+        vaddr: usize,
+        buffer: *mut u8,
+        len: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_process_write_memory(
+        proc_: zx_handle_t,
+        vaddr: usize,
+        buffer: *const u8,
+        len: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_job_create(
+        parent_job: zx_handle_t,
+        options: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_job_set_policy(
+        job: zx_handle_t,
+        options: u32,
+        topic: u32,
+        policy: *const u8,
+        count: u32
+        ) -> zx_status_t;
+
+    pub fn zx_task_bind_exception_port(
+        object: zx_handle_t,
+        eport: zx_handle_t,
+        key: u64,
+        options: u32
+        ) -> zx_status_t;
+
+    pub fn zx_task_suspend(
+        task_handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_task_resume(
+        task_handle: zx_handle_t,
+        options: u32
+        ) -> zx_status_t;
+
+    pub fn zx_task_kill(
+        task_handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_event_create(
+        options: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_eventpair_create(
+        options: u32,
+        out0: *mut zx_handle_t,
+        out1: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_futex_wait(
+        value_ptr: *mut zx_futex_t,
+        current_value: isize,
+        deadline: zx_time_t
+        ) -> zx_status_t;
+
+    pub fn zx_futex_wake(
+        value_ptr: *const zx_futex_t,
+        count: u32
+        ) -> zx_status_t;
+
+    pub fn zx_futex_requeue(
+        wake_ptr: *mut zx_futex_t,
+        wake_count: u32,
+        current_value: isize,
+        requeue_ptr: *mut zx_futex_t,
+        requeue_count: u32
+        ) -> zx_status_t;
+
+    pub fn zx_port_create(
+        options: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_port_queue(
+        handle: zx_handle_t,
+        packet: *const u8,
+        size: usize
+        ) -> zx_status_t;
+
+    pub fn zx_port_wait(
+        handle: zx_handle_t,
+        deadline: zx_time_t,
+        packet: *mut u8,
+        size: usize
+        ) -> zx_status_t;
+
+    pub fn zx_port_cancel(
+        handle: zx_handle_t,
+        source: zx_handle_t,
+        key: u64
+        ) -> zx_status_t;
+
+    pub fn zx_timer_create(
+        options: u32,
+        clock_id: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_timer_set(
+        handle: zx_handle_t,
+        deadline: zx_time_t,
+        slack: zx_duration_t
+        ) -> zx_status_t;
+
+    pub fn zx_timer_cancel(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_create(
+        size: u64,
+        options: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_read(
+        handle: zx_handle_t,
+        data: *mut u8,
+        offset: u64,
+        len: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_write(
+        handle: zx_handle_t,
+        data: *const u8,
+        offset: u64,
+        len: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_get_size(
+        handle: zx_handle_t,
+        size: *mut u64
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_set_size(
+        handle: zx_handle_t,
+        size: u64
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_op_range(
+        handle: zx_handle_t,
+        op: u32,
+        offset: u64,
+        size: u64,
+        buffer: *mut u8,
+        buffer_size: usize
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_clone(
+        handle: zx_handle_t,
+        options: u32,
+        offset: u64,
+        size: u64,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_set_cache_policy(
+        handle: zx_handle_t,
+        cache_policy: u32
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_allocate(
+        parent_vmar_handle: zx_handle_t,
+        offset: usize,
+        size: usize,
+        map_flags: u32,
+        child_vmar: *mut zx_handle_t,
+        child_addr: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_destroy(
+        vmar_handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_map(
+        vmar_handle: zx_handle_t,
+        vmar_offset: usize,
+        vmo_handle: zx_handle_t,
+        vmo_offset: u64,
+        len: usize,
+        map_flags: u32,
+        mapped_addr: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_unmap(
+        vmar_handle: zx_handle_t,
+        addr: usize,
+        len: usize
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_protect(
+        vmar_handle: zx_handle_t,
+        addr: usize,
+        len: usize,
+        prot_flags: u32
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_root_self() -> zx_handle_t;
+
+    pub fn zx_cprng_draw(
+        buffer: *mut u8,
+        len: usize,
+        actual: *mut usize
+        ) -> zx_status_t;
+
+    pub fn zx_cprng_add_entropy(
+        buffer: *const u8,
+        len: usize
+        ) -> zx_status_t;
+
+    pub fn zx_fifo_create(
+        elem_count: u32,
+        elem_size: u32,
+        options: u32,
+        out0: *mut zx_handle_t,
+        out1: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_fifo_read(
+        handle: zx_handle_t,
+        data: *mut u8,
+        len: usize,
+        num_written: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_fifo_write(
+        handle: zx_handle_t,
+        data: *const u8,
+        len: usize,
+        num_written: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_vmar_unmap_handle_close_thread_exit(
+        vmar_handle: zx_handle_t,
+        addr: usize,
+        len: usize,
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_futex_wake_handle_close_thread_exit(
+        value_ptr: *const zx_futex_t,
+        count: u32,
+        new_value: isize,
+        handle: zx_handle_t
+        );
+
+    pub fn zx_log_create(
+        options: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_log_write(
+        handle: zx_handle_t,
+        len: u32,
+        buffer: *const u8,
+        options: u32
+        ) -> zx_status_t;
+
+    pub fn zx_log_read(
+        handle: zx_handle_t,
+        len: u32,
+        buffer: *mut u8,
+        options: u32
+        ) -> zx_status_t;
+
+    pub fn zx_ktrace_read(
+        handle: zx_handle_t,
+        data: *mut u8,
+        offset: u32,
+        len: u32,
+        actual: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_ktrace_control(
+        handle: zx_handle_t,
+        action: u32,
+        options: u32,
+        ptr: *mut u8
+        ) -> zx_status_t;
+
+    pub fn zx_ktrace_write(
+        handle: zx_handle_t,
+        id: u32,
+        arg0: u32,
+        arg1: u32
+        ) -> zx_status_t;
+
+    pub fn zx_mtrace_control(
+        handle: zx_handle_t,
+        kind: u32,
+        action: u32,
+        options: u32,
+        ptr: *mut u8,
+        size: u32
+        ) -> zx_status_t;
+
+    pub fn zx_debug_read(
+        handle: zx_handle_t,
+        buffer: *mut u8,
+        length: u32
+        ) -> zx_status_t;
+
+    pub fn zx_debug_write(
+        buffer: *const u8,
+        length: u32
+        ) -> zx_status_t;
+
+    pub fn zx_debug_send_command(
+        resource_handle: zx_handle_t,
+        buffer: *const u8,
+        length: u32
+        ) -> zx_status_t;
+
+    pub fn zx_interrupt_create(
+        handle: zx_handle_t,
+        vector: u32,
+        options: u32,
+        out_handle: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_interrupt_complete(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_interrupt_wait(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_interrupt_signal(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_mmap_device_io(
+        handle: zx_handle_t,
+        io_addr: u32,
+        len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_create_contiguous(
+        rsrc_handle: zx_handle_t,
+        size: usize,
+        alignment_log2: u32,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vmo_create_physical(
+        rsrc_handle: zx_handle_t,
+        paddr: zx_paddr_t,
+        size: usize,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_bootloader_fb_get_info(
+        format: *mut u32,
+        width: *mut u32,
+        height: *mut u32,
+        stride: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_set_framebuffer(
+        handle: zx_handle_t,
+        vaddr: *mut u8,
+        len: u32,
+        format: u32,
+        width: u32,
+        height: u32,
+        stride: u32
+        ) -> zx_status_t;
+
+    pub fn zx_set_framebuffer_vmo(
+        handle: zx_handle_t,
+        vmo: zx_handle_t,
+        len: u32,
+        format: u32,
+        width: u32,
+        height: u32,
+        stride: u32
+        ) -> zx_status_t;
+
+    pub fn zx_pci_get_nth_device(
+        handle: zx_handle_t,
+        index: u32,
+        out_info: *mut zx_pcie_device_info_t,
+        out_handle: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_pci_enable_bus_master(
+        handle: zx_handle_t,
+        enable: bool
+        ) -> zx_status_t;
+
+    pub fn zx_pci_enable_pio(
+        handle: zx_handle_t,
+        enable: bool
+        ) -> zx_status_t;
+
+    pub fn zx_pci_reset_device(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_pci_cfg_pio_rw(
+        handle: zx_handle_t,
+        bus: u8,
+        dev: u8,
+        func: u8,
+        offset: u8,
+        val: *mut u32,
+        width: usize,
+        write: bool
+        ) -> zx_status_t;
+
+    pub fn zx_pci_get_bar(
+        handle: zx_handle_t,
+        bar_num: u32,
+        out_bar: *mut zx_pci_resource_t
+        ) -> zx_status_t;
+
+    pub fn zx_pci_get_config(
+        handle: zx_handle_t,
+        out_config: *mut zx_pci_resource_t
+        ) -> zx_status_t;
+
+    pub fn zx_pci_io_write(
+        handle: zx_handle_t,
+        bar_num: u32,
+        offset: u32,
+        len: u32,
+        value: u32
+        ) -> zx_status_t;
+
+    pub fn zx_pci_io_read(
+        handle: zx_handle_t,
+        bar_num: u32,
+        offset: u32,
+        len: u32,
+        out_value: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_pci_map_interrupt(
+        handle: zx_handle_t,
+        which_irq: i32,
+        out_handle: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_pci_query_irq_mode_caps(
+        handle: zx_handle_t,
+        mode: u32,
+        out_max_irqs: *mut u32
+        ) -> zx_status_t;
+
+    pub fn zx_pci_set_irq_mode(
+        handle: zx_handle_t,
+        mode: u32,
+        requested_irq_count: u32
+        ) -> zx_status_t;
+
+    pub fn zx_pci_init(
+        handle: zx_handle_t,
+        init_buf: *const zx_pci_init_arg_t,
+        len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_pci_add_subtract_io_range(
+        handle: zx_handle_t,
+        mmio: bool,
+        base: u64,
+        len: u64,
+        add: bool
+        ) -> zx_status_t;
+
+    pub fn zx_acpi_uefi_rsdp(
+        handle: zx_handle_t
+        ) -> u64;
+
+    pub fn zx_acpi_cache_flush(
+        handle: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_resource_create(
+        parent_handle: zx_handle_t,
+        kind: u32,
+        low: u64,
+        high: u64,
+        resource_out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_guest_create(
+        resource: zx_handle_t,
+        options: u32,
+        physmem_vmo: zx_handle_t,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_guest_set_trap(
+        guest: zx_handle_t,
+        kind: u32,
+        addr: zx_vaddr_t,
+        len: usize,
+        fifo: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vcpu_create(
+        guest: zx_handle_t,
+        options: u32,
+        args: *const zx_vcpu_create_args_t,
+        out: *mut zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_vcpu_resume(
+        vcpu: zx_handle_t,
+        packet: *mut zx_guest_packet_t
+        ) -> zx_status_t;
+
+    pub fn zx_vcpu_interrupt(
+        vcpu: zx_handle_t,
+        vector: u32
+        ) -> zx_status_t;
+
+    pub fn zx_vcpu_read_state(
+        vcpu: zx_handle_t,
+        kind: u32,
+        buffer: *mut u8,
+        len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_vcpu_write_state(
+        vcpu: zx_handle_t,
+        kind: u32,
+        buffer: *const u8,
+        len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_system_mexec(
+        kernel: zx_handle_t,
+        bootimage: zx_handle_t,
+        cmdline: *const u8,
+        cmdline_len: u32
+        ) -> zx_status_t;
+
+    pub fn zx_job_set_relative_importance(
+        root_resource: zx_handle_t,
+        job: zx_handle_t,
+        less_important_job: zx_handle_t
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_0(
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_1(
+        a: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_2(
+        a: isize,
+        b: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_3(
+        a: isize,
+        b: isize,
+        c: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_4(
+        a: isize,
+        b: isize,
+        c: isize,
+        d: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_5(
+        a: isize,
+        b: isize,
+        c: isize,
+        d: isize,
+        e: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_6(
+        a: isize,
+        b: isize,
+        c: isize,
+        d: isize,
+        e: isize,
+        f: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_7(
+        a: isize,
+        b: isize,
+        c: isize,
+        d: isize,
+        e: isize,
+        f: isize,
+        g: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_8(
+        a: isize,
+        b: isize,
+        c: isize,
+        d: isize,
+        e: isize,
+        f: isize,
+        g: isize,
+        h: isize
+        ) -> zx_status_t;
+
+    pub fn zx_syscall_test_wrapper(
+        a: isize,
+        b: isize,
+        c: isize
+        ) -> zx_status_t;
+
+
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon-sys/src/lib.rs
@@ -0,0 +1,460 @@
+// Copyright 2016 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#![allow(non_camel_case_types)]
+
+#[macro_use]
+extern crate bitflags;
+
+use std::{cmp, fmt};
+
+pub type zx_handle_t = i32;
+
+pub type zx_status_t = i32;
+
+pub type zx_futex_t = isize;
+pub type zx_addr_t = usize;
+pub type zx_paddr_t = usize;
+pub type zx_vaddr_t = usize;
+pub type zx_off_t = u64;
+
+// Auto-generated using tools/gen_status.py
+pub const ZX_OK                    : zx_status_t = 0;
+pub const ZX_ERR_INTERNAL          : zx_status_t = -1;
+pub const ZX_ERR_NOT_SUPPORTED     : zx_status_t = -2;
+pub const ZX_ERR_NO_RESOURCES      : zx_status_t = -3;
+pub const ZX_ERR_NO_MEMORY         : zx_status_t = -4;
+pub const ZX_ERR_CALL_FAILED       : zx_status_t = -5;
+pub const ZX_ERR_INTERRUPTED_RETRY : zx_status_t = -6;
+pub const ZX_ERR_INVALID_ARGS      : zx_status_t = -10;
+pub const ZX_ERR_BAD_HANDLE        : zx_status_t = -11;
+pub const ZX_ERR_WRONG_TYPE        : zx_status_t = -12;
+pub const ZX_ERR_BAD_SYSCALL       : zx_status_t = -13;
+pub const ZX_ERR_OUT_OF_RANGE      : zx_status_t = -14;
+pub const ZX_ERR_BUFFER_TOO_SMALL  : zx_status_t = -15;
+pub const ZX_ERR_BAD_STATE         : zx_status_t = -20;
+pub const ZX_ERR_TIMED_OUT         : zx_status_t = -21;
+pub const ZX_ERR_SHOULD_WAIT       : zx_status_t = -22;
+pub const ZX_ERR_CANCELED          : zx_status_t = -23;
+pub const ZX_ERR_PEER_CLOSED       : zx_status_t = -24;
+pub const ZX_ERR_NOT_FOUND         : zx_status_t = -25;
+pub const ZX_ERR_ALREADY_EXISTS    : zx_status_t = -26;
+pub const ZX_ERR_ALREADY_BOUND     : zx_status_t = -27;
+pub const ZX_ERR_UNAVAILABLE       : zx_status_t = -28;
+pub const ZX_ERR_ACCESS_DENIED     : zx_status_t = -30;
+pub const ZX_ERR_IO                : zx_status_t = -40;
+pub const ZX_ERR_IO_REFUSED        : zx_status_t = -41;
+pub const ZX_ERR_IO_DATA_INTEGRITY : zx_status_t = -42;
+pub const ZX_ERR_IO_DATA_LOSS      : zx_status_t = -43;
+pub const ZX_ERR_BAD_PATH          : zx_status_t = -50;
+pub const ZX_ERR_NOT_DIR           : zx_status_t = -51;
+pub const ZX_ERR_NOT_FILE          : zx_status_t = -52;
+pub const ZX_ERR_FILE_BIG          : zx_status_t = -53;
+pub const ZX_ERR_NO_SPACE          : zx_status_t = -54;
+pub const ZX_ERR_STOP              : zx_status_t = -60;
+pub const ZX_ERR_NEXT              : zx_status_t = -61;
+
+pub type zx_time_t = u64;
+pub type zx_duration_t = u64;
+pub const ZX_TIME_INFINITE : zx_time_t = ::std::u64::MAX;
+
+bitflags! {
+    #[repr(C)]
+    pub flags zx_signals_t: u32 {
+        const ZX_SIGNAL_NONE              = 0,
+        const ZX_OBJECT_SIGNAL_ALL        = 0x00ffffff,
+        const ZX_USER_SIGNAL_ALL          = 0xff000000,
+        const ZX_OBJECT_SIGNAL_0          = 1 << 0,
+        const ZX_OBJECT_SIGNAL_1          = 1 << 1,
+        const ZX_OBJECT_SIGNAL_2          = 1 << 2,
+        const ZX_OBJECT_SIGNAL_3          = 1 << 3,
+        const ZX_OBJECT_SIGNAL_4          = 1 << 4,
+        const ZX_OBJECT_SIGNAL_5          = 1 << 5,
+        const ZX_OBJECT_SIGNAL_6          = 1 << 6,
+        const ZX_OBJECT_SIGNAL_7          = 1 << 7,
+        const ZX_OBJECT_SIGNAL_8          = 1 << 8,
+        const ZX_OBJECT_SIGNAL_9          = 1 << 9,
+        const ZX_OBJECT_SIGNAL_10         = 1 << 10,
+        const ZX_OBJECT_SIGNAL_11         = 1 << 11,
+        const ZX_OBJECT_SIGNAL_12         = 1 << 12,
+        const ZX_OBJECT_SIGNAL_13         = 1 << 13,
+        const ZX_OBJECT_SIGNAL_14         = 1 << 14,
+        const ZX_OBJECT_SIGNAL_15         = 1 << 15,
+        const ZX_OBJECT_SIGNAL_16         = 1 << 16,
+        const ZX_OBJECT_SIGNAL_17         = 1 << 17,
+        const ZX_OBJECT_SIGNAL_18         = 1 << 18,
+        const ZX_OBJECT_SIGNAL_19         = 1 << 19,
+        const ZX_OBJECT_SIGNAL_20         = 1 << 20,
+        const ZX_OBJECT_SIGNAL_21         = 1 << 21,
+        const ZX_OBJECT_LAST_HANDLE       = 1 << 22,
+        const ZX_OBJECT_HANDLE_CLOSED     = 1 << 23,
+        const ZX_USER_SIGNAL_0            = 1 << 24,
+        const ZX_USER_SIGNAL_1            = 1 << 25,
+        const ZX_USER_SIGNAL_2            = 1 << 26,
+        const ZX_USER_SIGNAL_3            = 1 << 27,
+        const ZX_USER_SIGNAL_4            = 1 << 28,
+        const ZX_USER_SIGNAL_5            = 1 << 29,
+        const ZX_USER_SIGNAL_6            = 1 << 30,
+        const ZX_USER_SIGNAL_7            = 1 << 31,
+
+        const ZX_OBJECT_READABLE          = ZX_OBJECT_SIGNAL_0.bits,
+        const ZX_OBJECT_WRITABLE          = ZX_OBJECT_SIGNAL_1.bits,
+        const ZX_OBJECT_PEER_CLOSED       = ZX_OBJECT_SIGNAL_2.bits,
+
+        // Cancelation (handle was closed while waiting with it)
+        const ZX_SIGNAL_HANDLE_CLOSED     = ZX_OBJECT_HANDLE_CLOSED.bits,
+
+        // Only one user-more reference (handle) to the object exists.
+        const ZX_SIGNAL_LAST_HANDLE       = ZX_OBJECT_LAST_HANDLE.bits,
+
+        // Event
+        const ZX_EVENT_SIGNALED           = ZX_OBJECT_SIGNAL_3.bits,
+
+        // EventPair
+        const ZX_EPAIR_SIGNALED           = ZX_OBJECT_SIGNAL_3.bits,
+        const ZX_EPAIR_CLOSED             = ZX_OBJECT_SIGNAL_2.bits,
+
+        // Task signals (process, thread, job)
+        const ZX_TASK_TERMINATED          = ZX_OBJECT_SIGNAL_3.bits,
+
+        // Channel
+        const ZX_CHANNEL_READABLE         = ZX_OBJECT_SIGNAL_0.bits,
+        const ZX_CHANNEL_WRITABLE         = ZX_OBJECT_SIGNAL_1.bits,
+        const ZX_CHANNEL_PEER_CLOSED      = ZX_OBJECT_SIGNAL_2.bits,
+
+        // Socket
+        const ZX_SOCKET_READABLE          = ZX_OBJECT_SIGNAL_0.bits,
+        const ZX_SOCKET_WRITABLE          = ZX_OBJECT_SIGNAL_1.bits,
+        const ZX_SOCKET_PEER_CLOSED       = ZX_OBJECT_SIGNAL_2.bits,
+
+        // Port
+        const ZX_PORT_READABLE            = ZX_OBJECT_READABLE.bits,
+
+        // Resource
+        const ZX_RESOURCE_DESTROYED       = ZX_OBJECT_SIGNAL_3.bits,
+        const ZX_RESOURCE_READABLE        = ZX_OBJECT_READABLE.bits,
+        const ZX_RESOURCE_WRITABLE        = ZX_OBJECT_WRITABLE.bits,
+        const ZX_RESOURCE_CHILD_ADDED     = ZX_OBJECT_SIGNAL_4.bits,
+
+        // Fifo
+        const ZX_FIFO_READABLE            = ZX_OBJECT_READABLE.bits,
+        const ZX_FIFO_WRITABLE            = ZX_OBJECT_WRITABLE.bits,
+        const ZX_FIFO_PEER_CLOSED         = ZX_OBJECT_PEER_CLOSED.bits,
+
+        // Job
+        const ZX_JOB_NO_PROCESSES         = ZX_OBJECT_SIGNAL_3.bits,
+        const ZX_JOB_NO_JOBS              = ZX_OBJECT_SIGNAL_4.bits,
+
+        // Process
+        const ZX_PROCESS_TERMINATED       = ZX_OBJECT_SIGNAL_3.bits,
+
+        // Thread
+        const ZX_THREAD_TERMINATED        = ZX_OBJECT_SIGNAL_3.bits,
+
+        // Log
+        const ZX_LOG_READABLE             = ZX_OBJECT_READABLE.bits,
+        const ZX_LOG_WRITABLE             = ZX_OBJECT_WRITABLE.bits,
+
+        // Timer
+        const ZX_TIMER_SIGNALED           = ZX_OBJECT_SIGNAL_3.bits,
+    }
+}
+
+pub type zx_size_t = usize;
+pub type zx_ssize_t = isize;
+
+bitflags! {
+    #[repr(C)]
+    pub flags zx_rights_t: u32 {
+        const ZX_RIGHT_NONE         = 0,
+        const ZX_RIGHT_DUPLICATE    = 1 << 0,
+        const ZX_RIGHT_TRANSFER     = 1 << 1,
+        const ZX_RIGHT_READ         = 1 << 2,
+        const ZX_RIGHT_WRITE        = 1 << 3,
+        const ZX_RIGHT_EXECUTE      = 1 << 4,
+        const ZX_RIGHT_MAP          = 1 << 5,
+        const ZX_RIGHT_GET_PROPERTY = 1 << 6,
+        const ZX_RIGHT_SET_PROPERTY = 1 << 7,
+        const ZX_RIGHT_DEBUG        = 1 << 8,
+        const ZX_RIGHT_SAME_RIGHTS  = 1 << 31,
+    }
+}
+
+// clock ids
+pub const ZX_CLOCK_MONOTONIC: u32 = 0;
+
+// Buffer size limits on the cprng syscalls
+pub const ZX_CPRNG_DRAW_MAX_LEN: usize = 256;
+pub const ZX_CPRNG_ADD_ENTROPY_MAX_LEN: usize = 256;
+
+// Socket flags and limits.
+pub const ZX_SOCKET_HALF_CLOSE: u32 = 1;
+
+// VM Object opcodes
+pub const ZX_VMO_OP_COMMIT: u32 = 1;
+pub const ZX_VMO_OP_DECOMMIT: u32 = 2;
+pub const ZX_VMO_OP_LOCK: u32 = 3;
+pub const ZX_VMO_OP_UNLOCK: u32 = 4;
+pub const ZX_VMO_OP_LOOKUP: u32 = 5;
+pub const ZX_VMO_OP_CACHE_SYNC: u32 = 6;
+pub const ZX_VMO_OP_CACHE_INVALIDATE: u32 = 7;
+pub const ZX_VMO_OP_CACHE_CLEAN: u32 = 8;
+pub const ZX_VMO_OP_CACHE_CLEAN_INVALIDATE: u32 = 9;
+
+// VM Object clone flags
+pub const ZX_VMO_CLONE_COPY_ON_WRITE: u32 = 1;
+
+// Mapping flags to vmar routines
+bitflags! {
+    #[repr(C)]
+    pub flags zx_vmar_flags_t: u32 {
+    // flags to vmar routines
+        const ZX_VM_FLAG_PERM_READ          = 1  << 0,
+        const ZX_VM_FLAG_PERM_WRITE         = 1  << 1,
+        const ZX_VM_FLAG_PERM_EXECUTE       = 1  << 2,
+        const ZX_VM_FLAG_COMPACT            = 1  << 3,
+        const ZX_VM_FLAG_SPECIFIC           = 1  << 4,
+        const ZX_VM_FLAG_SPECIFIC_OVERWRITE = 1  << 5,
+        const ZX_VM_FLAG_CAN_MAP_SPECIFIC   = 1  << 6,
+        const ZX_VM_FLAG_CAN_MAP_READ       = 1  << 7,
+        const ZX_VM_FLAG_CAN_MAP_WRITE      = 1  << 8,
+        const ZX_VM_FLAG_CAN_MAP_EXECUTE    = 1  << 9,
+    }
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum zx_cache_policy_t {
+    ZX_CACHE_POLICY_CACHED = 0,
+    ZX_CACHE_POLICY_UNCACHED = 1,
+    ZX_CACHE_POLICY_UNCACHED_DEVICE = 2,
+    ZX_CACHE_POLICY_WRITE_COMBINING = 3,
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_wait_item_t {
+    pub handle: zx_handle_t,
+    pub waitfor: zx_signals_t,
+    pub pending: zx_signals_t,
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_waitset_result_t {
+    pub cookie: u64,
+    pub status: zx_status_t,
+    pub observed: zx_signals_t,
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_channel_call_args_t {
+    pub wr_bytes: *const u8,
+    pub wr_handles: *const zx_handle_t,
+    pub rd_bytes: *mut u8,
+    pub rd_handles: *mut zx_handle_t,
+    pub wr_num_bytes: u32,
+    pub wr_num_handles: u32,
+    pub rd_num_bytes: u32,
+    pub rd_num_handles: u32,
+}
+
+pub type zx_pci_irq_swizzle_lut_t = [[[u32; 4]; 8]; 32];
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_pci_init_arg_t {
+    pub dev_pin_to_global_irq: zx_pci_irq_swizzle_lut_t,
+    pub num_irqs: u32,
+    pub irqs: [zx_irq_t; 32],
+    pub ecam_window_count: u32,
+    // Note: the ecam_windows field is actually a variable size array.
+    // We use a fixed size array to match the C repr.
+    pub ecam_windows: [zx_ecam_window_t; 1],
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_irq_t {
+    pub global_irq: u32,
+    pub level_triggered: bool,
+    pub active_high: bool,
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_ecam_window_t {
+    pub base: u64,
+    pub size: usize,
+    pub bus_start: u8,
+    pub bus_end: u8,
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_pcie_device_info_t {
+    pub vendor_id: u16,
+    pub device_id: u16,
+    pub base_class: u8,
+    pub sub_class: u8,
+    pub program_interface: u8,
+    pub revision_id: u8,
+    pub bus_id: u8,
+    pub dev_id: u8,
+    pub func_id: u8,
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_pci_resource_t {
+    pub type_: u32,
+    pub size: usize,
+    // TODO: Actually a union
+    pub pio_addr: usize,
+}
+
+// TODO: Actually a union
+pub type zx_rrec_t = [u8; 64];
+
+// Ports V2
+#[repr(u32)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum zx_packet_type_t {
+    ZX_PKT_TYPE_USER = 0,
+    ZX_PKT_TYPE_SIGNAL_ONE = 1,
+    ZX_PKT_TYPE_SIGNAL_REP = 2,
+}
+
+impl Default for zx_packet_type_t {
+    fn default() -> Self {
+        zx_packet_type_t::ZX_PKT_TYPE_USER
+    }
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct zx_packet_signal_t {
+    pub trigger: zx_signals_t,
+    pub observed: zx_signals_t,
+    pub count: u64,
+}
+
+pub const ZX_WAIT_ASYNC_ONCE: u32 = 0;
+pub const ZX_WAIT_ASYNC_REPEATING: u32 = 1;
+
+// Actually a union of different integer types, but this should be good enough.
+pub type zx_packet_user_t = [u8; 32];
+
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone, Eq, PartialEq)]
+pub struct zx_port_packet_t {
+    pub key: u64,
+    pub packet_type: zx_packet_type_t,
+    pub status: i32,
+    pub union: [u8; 32],
+}
+
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_guest_io_t {
+    port: u16,
+    access_size: u8,
+    input: bool,
+    // TODO: Actually a union
+    data: [u8; 4],
+}
+
+#[cfg(target_arch="aarch64")]
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_guest_memory_t {
+    addr: zx_vaddr_t,
+    inst: u32,
+}
+
+pub const X86_MAX_INST_LEN: usize = 15;
+
+#[cfg(target_arch="x86_64")]
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_guest_memory_t {
+    addr: zx_vaddr_t,
+    inst_len: u8,
+    inst_buf: [u8; X86_MAX_INST_LEN],
+}
+
+#[repr(u8)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum zx_guest_packet_t_type {
+    ZX_GUEST_PKT_MEMORY = 1,
+    ZX_GUEST_PKT_IO = 2,
+}
+
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union zx_guest_packet_t_union {
+    // ZX_GUEST_PKT_MEMORY
+    memory: zx_guest_memory_t,
+    // ZX_GUEST_PKT_IO
+    io: zx_guest_io_t,
+}
+
+// Note: values of this type must maintain the invariant that
+// `packet_type` correctly indicates the type of `contents`.
+// Failure to do so will result in unsafety.
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct zx_guest_packet_t {
+    packet_type: zx_guest_packet_t_type,
+    contents: zx_guest_packet_t_union,
+}
+
+impl fmt::Debug for zx_guest_packet_t {
+    fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
+        write!(f, "zx_guest_packet_t {{ packet_type: {:?}, contents: ", self.packet_type)?;
+        match self.packet_type {
+            zx_guest_packet_t_type::ZX_GUEST_PKT_MEMORY =>
+                write!(f, "zx_guest_packet_t_union {{ memory: {:?} }} }}",
+                    unsafe { self.contents.memory }
+                ),
+            zx_guest_packet_t_type::ZX_GUEST_PKT_IO =>
+                write!(f, "zx_guest_packet_t_union {{ io: {:?} }} }}",
+                    unsafe { self.contents.io }
+                ),
+        }
+    }
+}
+
+impl cmp::PartialEq for zx_guest_packet_t {
+    fn eq(&self, other: &Self) -> bool {
+        (self.packet_type == other.packet_type) &&
+        match self.packet_type {
+            zx_guest_packet_t_type::ZX_GUEST_PKT_MEMORY =>
+                unsafe { self.contents.memory == other.contents.memory },
+            zx_guest_packet_t_type::ZX_GUEST_PKT_IO =>
+                unsafe { self.contents.io == other.contents.io },
+        }
+    }
+}
+
+impl cmp::Eq for zx_guest_packet_t {}
+
+#[cfg(target_arch="x86_64")]
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_vcpu_create_args_t {
+    pub ip: zx_vaddr_t,
+    pub cr3: zx_vaddr_t,
+    pub apic_vmo: zx_handle_t,
+}
+
+#[cfg(not(target_arch="x86_64"))]
+#[repr(C)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub struct zx_vcpu_create_args_t {
+    pub ip: zx_vaddr_t,
+}
+
+include!("definitions.rs");
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/.cargo-checksum.json
@@ -0,0 +1,1 @@
+{"files":{"BUILD.gn":"1d49d75a432f5b4587b59a50a9b86a21e2a3faf1fff60876b4e486e43cffca35","Cargo.toml":"263dce41c44c34a70fb9803acbfb77c1801ff2b23f0fa46bb2c90f14f33f0ac9","LICENSE":"f82f9062a6dff28145c185f90f94c485eebdc2bb4c6f1c840513709e6d228453","README.md":"f4bff6efc5d888460e2d1eaf62fa0eaca8afe7b51df528ad7829340ec397b32c","examples/BUILD.gn":"fb7a491a26e5f3d48b8796db80d475be2d361bada7311213363dcce4efa9d4fc","src/channel.rs":"0b3c3761a831c9211e327f5332e58becc287cf2444b44164a4f680dc5bdded50","src/event.rs":"9b11c6c0c9fcdbe4e45c03f4a671ef66c31a1be540d3f50a5d0602314fdc1294","src/eventpair.rs":"aca1c6a15450badbfe71c33e287bab8aa05d6fff5968513b191436b853929ca8","src/fifo.rs":"ecc49463cc28713c1375ecafc8008b806767417da72fcc8685b42078ec0308df","src/job.rs":"827db2e4ea1bbf5ecabec9fb279f2721792032e4223b6bd15b56922d80c7ac01","src/lib.rs":"5bc01f9c7d1f3316826bf86cc5c8488523ca7f2ad2a58a8b539c3b49aed3f1a2","src/port.rs":"695aa7114d88d476954fde689180502f22ea6b70339855ebff89dce6694abb9e","src/process.rs":"0b5e42c4eb79b2a7fff9c70f0d99c8b805cefab99285e94fabf2542290b4b990","src/socket.rs":"6e8b799a8f605d42681660129989c9c6427b9039b83de9954c61aa351596218f","src/thread.rs":"d703414c440b5fa597dbafe7b8be925a94d1fe0cf8b47366c786b45eaaec4c60","src/timer.rs":"8fc50736e6a928cabccf78b18aec3e57ac7e5a57c1c519a1cd34158f59e1ff65","src/vmo.rs":"0f219777d5abffcfbc49a43f7eff3ef92b854d1d964579dc9a01d33ba57341c1","tools/BUILD.gn":"f4ce07b2906e6cde15a9d2ec253c58fbfe88ea1819083f864c154a0f1c50c14f","tools/README.md":"0217d58913c32b7e8aa231da852d96307d8387f99e2352a026196150cb180d07","tools/clang_wrapper.cc":"c62dcc1f71cab03f7e215c8800d798bd05af56fa7510ea8d59d6b15dce2b6a6f","tools/gen_status.py":"a2330db86564e12412af2dce60d4c605c0ab203fcdea8039d5c6a8e7f218a3c3"},"package":"f6c0581a4e363262e52b87f59ee2afe3415361c6ec35e665924eb08afe8ff159"}
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/BUILD.gn
@@ -0,0 +1,13 @@
+# Copyright 2017 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/rust/rust_library.gni")
+
+rust_library("fuchsia-zircon") {
+  deps = [
+    "//garnet/public/rust/crates/fuchsia-zircon/fuchsia-zircon-sys",
+  ]
+
+  with_tests = true
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/Cargo.toml
@@ -0,0 +1,21 @@
+# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
+#
+# When uploading crates to the registry Cargo will automatically
+# "normalize" Cargo.toml files for maximal compatibility
+# with all versions of Cargo and also rewrite `path` dependencies
+# to registry (e.g. crates.io) dependencies
+#
+# If you believe there's an error in this file please file an
+# issue against the rust-lang/cargo repository. If you're
+# editing this file be aware that the upstream Cargo.toml
+# will likely look very different (and much more reasonable)
+
+[package]
+name = "fuchsia-zircon"
+version = "0.2.1"
+authors = ["Raph Levien <raph@google.com>"]
+description = "Rust bindings for the Zircon kernel"
+license = "BSD-3-Clause"
+repository = "https://fuchsia.googlesource.com/garnet/"
+[dependencies.fuchsia-zircon-sys]
+version = "0.2.0"
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/LICENSE
@@ -0,0 +1,27 @@
+// Copyright 2016 The Fuchsia Authors. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/README.md
@@ -0,0 +1,12 @@
+Rust bindings for Zircon kernel
+================================
+
+This repository contains Rust language bindings for Zircon kernel syscalls. The
+main crate contains type-safe wrappers, while the inner "sys" crate contains the
+raw types and FFI declarations.
+
+There are two ways to build Rust artifacts targeting Fuchsia; using the
+[Fargo](https://fuchsia.googlesource.com/fargo/) cross compiling tool or
+including your [artifact in the GN
+build](https://fuchsia.googlesource.com/docs/+/master/rust.md). Of the two,
+Fargo is likely better for exploration and experimentation.
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/examples/BUILD.gn
@@ -0,0 +1,9 @@
+# Copyright 2017 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+group("examples") {
+  deps = [
+    "//garnet/public/rust/crates/fuchsia-zircon/examples/zx_toy",
+  ]
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/channel.rs
@@ -0,0 +1,380 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon channel objects.
+
+use {AsHandleRef, HandleBased, Handle, HandleRef, INVALID_HANDLE, Peered, Status, Time, usize_into_u32, size_to_u32_sat};
+use {sys, handle_drop, into_result};
+use std::mem;
+
+/// An object representing a Zircon
+/// [channel](https://fuchsia.googlesource.com/zircon/+/master/docs/objects/channel.md).
+///
+/// As essentially a subtype of `Handle`, it can be freely interconverted.
+#[derive(Debug, Eq, PartialEq)]
+pub struct Channel(Handle);
+impl_handle_based!(Channel);
+impl Peered for Channel {}
+
+impl Channel {
+    /// Create a channel, resulting an a pair of `Channel` objects representing both
+    /// sides of the channel. Messages written into one maybe read from the opposite.
+    ///
+    /// Wraps the
+    /// [zx_channel_create](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/channel_create.md)
+    /// syscall.
+    pub fn create(opts: ChannelOpts) -> Result<(Channel, Channel), Status> {
+        unsafe {
+            let mut handle0 = 0;
+            let mut handle1 = 0;
+            let status = sys::zx_channel_create(opts as u32, &mut handle0, &mut handle1);
+            into_result(status, ||
+                (Self::from(Handle(handle0)),
+                    Self::from(Handle(handle1))))
+        }
+    }
+
+    /// Read a message from a channel. Wraps the
+    /// [zx_channel_read](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/channel_read.md)
+    /// syscall.
+    ///
+    /// If the `MessageBuf` lacks the capacity to hold the pending message,
+    /// returns an `Err` with the number of bytes and number of handles needed.
+    /// Otherwise returns an `Ok` with the result as usual.
+    pub fn read_raw(&self, opts: u32, buf: &mut MessageBuf)
+        -> Result<Result<(), Status>, (usize, usize)>
+    {
+        unsafe {
+            buf.reset_handles();
+            let raw_handle = self.raw_handle();
+            let mut num_bytes: u32 = size_to_u32_sat(buf.bytes.capacity());
+            let mut num_handles: u32 = size_to_u32_sat(buf.handles.capacity());
+            let status = sys::zx_channel_read(raw_handle, opts,
+                buf.bytes.as_mut_ptr(), buf.handles.as_mut_ptr(),
+                num_bytes, num_handles, &mut num_bytes, &mut num_handles);
+            if status == sys::ZX_ERR_BUFFER_TOO_SMALL {
+                Err((num_bytes as usize, num_handles as usize))
+            } else {
+                Ok(into_result(status, || {
+                    buf.bytes.set_len(num_bytes as usize);
+                    buf.handles.set_len(num_handles as usize);
+                }))
+            }
+        }
+    }
+
+    /// Read a message from a channel.
+    ///
+    /// Note that this method can cause internal reallocations in the `MessageBuf`
+    /// if it is lacks capacity to hold the full message. If such reallocations
+    /// are not desirable, use `read_raw` instead.
+    pub fn read(&self, opts: u32, buf: &mut MessageBuf) -> Result<(), Status> {
+        loop {
+            match self.read_raw(opts, buf) {
+                Ok(result) => return result,
+                Err((num_bytes, num_handles)) => {
+                    buf.ensure_capacity_bytes(num_bytes);
+                    buf.ensure_capacity_handles(num_handles);
+                }
+            }
+        }
+    }
+
+    /// Write a message to a channel. Wraps the
+    /// [zx_channel_write](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/channel_write.md)
+    /// syscall.
+    pub fn write(&self, bytes: &[u8], handles: &mut Vec<Handle>, opts: u32)
+            -> Result<(), Status>
+    {
+        let n_bytes = try!(usize_into_u32(bytes.len()).map_err(|_| Status::ErrOutOfRange));
+        let n_handles = try!(usize_into_u32(handles.len()).map_err(|_| Status::ErrOutOfRange));
+        unsafe {
+            let status = sys::zx_channel_write(self.raw_handle(), opts, bytes.as_ptr(), n_bytes,
+                handles.as_ptr() as *const sys::zx_handle_t, n_handles);
+            into_result(status, || {
+                // Handles were successfully transferred, forget them on sender side
+                handles.set_len(0);
+            })
+        }
+    }
+
+    /// Send a message consisting of the given bytes and handles to a channel and await a reply. The
+    /// bytes should start with a four byte 'txid' which is used to identify the matching reply.
+    ///
+    /// Wraps the
+    /// [zx_channel_call](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/channel_call.md)
+    /// syscall.
+    ///
+    /// Note that unlike [`read`][read], the caller must ensure that the MessageBuf has enough
+    /// capacity for the bytes and handles which will be received, as replies which are too large
+    /// are discarded.
+    ///
+    /// On failure returns the both the main and read status.
+    ///
+    /// [read]: struct.Channel.html#method.read
+    pub fn call(&self, options: u32, timeout: Time, bytes: &[u8], handles: &mut Vec<Handle>,
+        buf: &mut MessageBuf) -> Result<(), (Status, Status)>
+    {
+        let write_num_bytes = try!(usize_into_u32(bytes.len()).map_err(
+            |_| (Status::ErrOutOfRange, Status::NoError)));
+        let write_num_handles = try!(usize_into_u32(handles.len()).map_err(
+            |_| (Status::ErrOutOfRange, Status::NoError)));
+        buf.reset_handles();
+        let read_num_bytes: u32 = size_to_u32_sat(buf.bytes.capacity());
+        let read_num_handles: u32 = size_to_u32_sat(buf.handles.capacity());
+        let args = sys::zx_channel_call_args_t {
+            wr_bytes: bytes.as_ptr(),
+            wr_handles: handles.as_ptr() as *const sys::zx_handle_t,
+            rd_bytes: buf.bytes.as_mut_ptr(),
+            rd_handles: buf.handles.as_mut_ptr(),
+            wr_num_bytes: write_num_bytes,
+            wr_num_handles: write_num_handles,
+            rd_num_bytes: read_num_bytes,
+            rd_num_handles: read_num_handles,
+        };
+        let mut actual_read_bytes: u32 = 0;
+        let mut actual_read_handles: u32 = 0;
+        let mut read_status = sys::ZX_OK;
+        let status = unsafe {
+            sys::zx_channel_call(self.raw_handle(), options, timeout, &args, &mut actual_read_bytes,
+                &mut actual_read_handles, &mut read_status)
+        };
+        if status == sys::ZX_OK || status == sys::ZX_ERR_TIMED_OUT || status == sys::ZX_ERR_CALL_FAILED
+        {
+            // Handles were successfully transferred, even if we didn't get a response, so forget
+            // them on the sender side.
+            unsafe { handles.set_len(0); }
+        }
+        unsafe {
+            buf.bytes.set_len(actual_read_bytes as usize);
+            buf.handles.set_len(actual_read_handles as usize);
+        }
+        if status == sys::ZX_OK {
+            Ok(())
+        } else {
+            Err((Status::from_raw(status), Status::from_raw(read_status)))
+        }
+    }
+}
+
+/// Options for creating a channel.
+#[repr(u32)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum ChannelOpts {
+    /// A normal channel.
+    Normal = 0,
+}
+
+impl Default for ChannelOpts {
+    fn default() -> Self {
+        ChannelOpts::Normal
+    }
+}
+
+/// A buffer for _receiving_ messages from a channel.
+///
+/// A `MessageBuf` is essentially a byte buffer and a vector of
+/// handles, but move semantics for "taking" handles requires special handling.
+///
+/// Note that for sending messages to a channel, the caller manages the buffers,
+/// using a plain byte slice and `Vec<Handle>`.
+#[derive(Default)]
+#[derive(Debug)]
+pub struct MessageBuf {
+    bytes: Vec<u8>,
+    handles: Vec<sys::zx_handle_t>,
+}
+
+impl MessageBuf {
+    /// Create a new, empty, message buffer.
+    pub fn new() -> Self {
+        Default::default()
+    }
+
+    /// Ensure that the buffer has the capacity to hold at least `n_bytes` bytes.
+    pub fn ensure_capacity_bytes(&mut self, n_bytes: usize) {
+        ensure_capacity(&mut self.bytes, n_bytes);
+    }
+
+    /// Ensure that the buffer has the capacity to hold at least `n_handles` handles.
+    pub fn ensure_capacity_handles(&mut self, n_handles: usize) {
+        ensure_capacity(&mut self.handles, n_handles);
+    }
+
+    /// Get a reference to the bytes of the message buffer, as a `&[u8]` slice.
+    pub fn bytes(&self) -> &[u8] {
+        self.bytes.as_slice()
+    }
+
+    /// The number of handles in the message buffer. Note this counts the number
+    /// available when the message was received; `take_handle` does not affect
+    /// the count.
+    pub fn n_handles(&self) -> usize {
+        self.handles.len()
+    }
+
+    /// Take the handle at the specified index from the message buffer. If the
+    /// method is called again with the same index, it will return `None`, as
+    /// will happen if the index exceeds the number of handles available.
+    pub fn take_handle(&mut self, index: usize) -> Option<Handle> {
+        self.handles.get_mut(index).and_then(|handleref|
+            if *handleref == INVALID_HANDLE {
+                None
+            } else {
+                Some(Handle(mem::replace(handleref, INVALID_HANDLE)))
+            }
+        )
+    }
+
+    fn drop_handles(&mut self) {
+        for &handle in &self.handles {
+            if handle != 0 {
+                handle_drop(handle);
+            }
+        }
+    }
+
+    fn reset_handles(&mut self) {
+        self.drop_handles();
+        self.handles.clear();
+    }
+}
+
+impl Drop for MessageBuf {
+    fn drop(&mut self) {
+        self.drop_handles();
+    }
+}
+
+fn ensure_capacity<T>(vec: &mut Vec<T>, size: usize) {
+    let len = vec.len();
+    if size > len {
+        vec.reserve(size - len);
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use {Duration, ZX_CHANNEL_READABLE, ZX_CHANNEL_WRITABLE, ZX_RIGHT_SAME_RIGHTS, ZX_SIGNAL_LAST_HANDLE, Vmo, VmoOpts};
+    use deadline_after;
+    use std::thread;
+
+    #[test]
+    fn channel_basic() {
+        let (p1, p2) = Channel::create(ChannelOpts::Normal).unwrap();
+
+        let mut empty = vec![];
+        assert!(p1.write(b"hello", &mut empty, 0).is_ok());
+
+        let mut buf = MessageBuf::new();
+        assert!(p2.read(0, &mut buf).is_ok());
+        assert_eq!(buf.bytes(), b"hello");
+    }
+
+    #[test]
+    fn channel_read_raw_too_small() {
+        let (p1, p2) = Channel::create(ChannelOpts::Normal).unwrap();
+
+        let mut empty = vec![];
+        assert!(p1.write(b"hello", &mut empty, 0).is_ok());
+
+        let mut buf = MessageBuf::new();
+        let result = p2.read_raw(0, &mut buf);
+        assert_eq!(result, Err((5, 0)));
+        assert_eq!(buf.bytes(), b"");
+    }
+
+    #[test]
+    fn channel_send_handle() {
+        let hello_length: usize = 5;
+
+        // Create a pair of channels and a virtual memory object.
+        let (p1, p2) = Channel::create(ChannelOpts::Normal).unwrap();
+        let vmo = Vmo::create(hello_length as u64, VmoOpts::Default).unwrap();
+
+        // Duplicate VMO handle and send it down the channel.
+        let duplicate_vmo_handle = vmo.duplicate_handle(ZX_RIGHT_SAME_RIGHTS).unwrap().into();
+        let mut handles_to_send: Vec<Handle> = vec![duplicate_vmo_handle];
+        assert!(p1.write(b"", &mut handles_to_send, 0).is_ok());
+        // Handle should be removed from vector.
+        assert!(handles_to_send.is_empty());
+
+        // Read the handle from the receiving channel.
+        let mut buf = MessageBuf::new();
+        assert!(p2.read(0, &mut buf).is_ok());
+        assert_eq!(buf.n_handles(), 1);
+        // Take the handle from the buffer.
+        let received_handle = buf.take_handle(0).unwrap();
+        // Should not affect number of handles.
+        assert_eq!(buf.n_handles(), 1);
+        // Trying to take it again should fail.
+        assert!(buf.take_handle(0).is_none());
+
+        // Now to test that we got the right handle, try writing something to it...
+        let received_vmo = Vmo::from(received_handle);
+        assert_eq!(received_vmo.write(b"hello", 0).unwrap(), hello_length);
+
+        // ... and reading it back from the original VMO.
+        let mut read_vec = vec![0; hello_length];
+        assert_eq!(vmo.read(&mut read_vec, 0).unwrap(), hello_length);
+        assert_eq!(read_vec, b"hello");
+    }
+
+    #[test]
+    fn channel_call_timeout() {
+        let ten_ms: Duration = 10_000_000;
+
+        // Create a pair of channels and a virtual memory object.
+        let (p1, p2) = Channel::create(ChannelOpts::Normal).unwrap();
+        let vmo = Vmo::create(0 as u64, VmoOpts::Default).unwrap();
+
+        // Duplicate VMO handle and send it along with the call.
+        let duplicate_vmo_handle = vmo.duplicate_handle(ZX_RIGHT_SAME_RIGHTS).unwrap().into();
+        let mut handles_to_send: Vec<Handle> = vec![duplicate_vmo_handle];
+        let mut buf = MessageBuf::new();
+        assert_eq!(p1.call(0, deadline_after(ten_ms), b"call", &mut handles_to_send, &mut buf),
+            Err((Status::ErrTimedOut, Status::NoError)));
+        // Handle should be removed from vector even though we didn't get a response, as it was
+        // still sent over the channel.
+        assert!(handles_to_send.is_empty());
+
+        // Should be able to read call even though it timed out waiting for a response.
+        let mut buf = MessageBuf::new();
+        assert!(p2.read(0, &mut buf).is_ok());
+        assert_eq!(buf.bytes(), b"call");
+        assert_eq!(buf.n_handles(), 1);
+    }
+
+    #[test]
+    fn channel_call() {
+        let hundred_ms: Duration = 100_000_000;
+
+        // Create a pair of channels
+        let (p1, p2) = Channel::create(ChannelOpts::Normal).unwrap();
+
+        // Start a new thread to respond to the call.
+        let server = thread::spawn(move || {
+            assert_eq!(p2.wait_handle(ZX_CHANNEL_READABLE, deadline_after(hundred_ms)),
+                Ok(ZX_CHANNEL_READABLE | ZX_CHANNEL_WRITABLE | ZX_SIGNAL_LAST_HANDLE));
+            let mut buf = MessageBuf::new();
+            assert_eq!(p2.read(0, &mut buf), Ok(()));
+            assert_eq!(buf.bytes(), b"txidcall");
+            assert_eq!(buf.n_handles(), 0);
+            let mut empty = vec![];
+            assert_eq!(p2.write(b"txidresponse", &mut empty, 0), Ok(()));
+        });
+
+        // Make the call.
+        let mut empty = vec![];
+        let mut buf = MessageBuf::new();
+        buf.ensure_capacity_bytes(12);
+        assert_eq!(p1.call(0, deadline_after(hundred_ms), b"txidcall", &mut empty, &mut buf),
+            Ok(()));
+        assert_eq!(buf.bytes(), b"txidresponse");
+        assert_eq!(buf.n_handles(), 0);
+
+        assert!(server.join().is_ok());
+    }
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/event.rs
@@ -0,0 +1,42 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon event objects.
+
+use {AsHandleRef, Cookied, HandleBased, Handle, HandleRef, Status};
+use {sys, into_result};
+
+/// An object representing a Zircon
+/// [event object](https://fuchsia.googlesource.com/zircon/+/master/docs/objects/event.md).
+///
+/// As essentially a subtype of `Handle`, it can be freely interconverted.
+#[derive(Debug, Eq, PartialEq)]
+pub struct Event(Handle);
+impl_handle_based!(Event);
+impl Cookied for Event {}
+
+impl Event {
+    /// Create an event object, an object which is signalable but nothing else. Wraps the
+    /// [zx_event_create](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/event_create.md)
+    /// syscall.
+    pub fn create(options: EventOpts) -> Result<Event, Status> {
+        let mut out = 0;
+        let status = unsafe { sys::zx_event_create(options as u32, &mut out) };
+        into_result(status, || Self::from(Handle(out)))
+    }
+}
+
+/// Options for creating an event object.
+#[repr(u32)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum EventOpts {
+    /// Default options.
+    Default = 0,
+}
+
+impl Default for EventOpts {
+    fn default() -> Self {
+        EventOpts::Default
+    }
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/eventpair.rs
@@ -0,0 +1,75 @@
+// Copyright 2016 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon event pairs.
+
+use {AsHandleRef, Cookied, HandleBased, Handle, HandleRef, Peered, Status};
+use {sys, into_result};
+
+/// An object representing a Zircon
+/// [event pair](https://fuchsia.googlesource.com/zircon/+/master/docs/concepts.md#Other-IPC_Events_Event-Pairs_and-User-Signals).
+///
+/// As essentially a subtype of `Handle`, it can be freely interconverted.
+#[derive(Debug, Eq, PartialEq)]
+pub struct EventPair(Handle);
+impl_handle_based!(EventPair);
+impl Peered for EventPair {}
+impl Cookied for EventPair {}
+
+impl EventPair {
+    /// Create an event pair, a pair of objects which can signal each other. Wraps the
+    /// [zx_eventpair_create](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/eventpair_create.md)
+    /// syscall.
+    pub fn create(options: EventPairOpts) -> Result<(EventPair, EventPair), Status> {
+        let mut out0 = 0;
+        let mut out1 = 0;
+        let status = unsafe { sys::zx_eventpair_create(options as u32, &mut out0, &mut out1) };
+        into_result(status, ||
+            (Self::from(Handle(out0)),
+                Self::from(Handle(out1))))
+    }
+}
+
+/// Options for creating an event pair.
+#[repr(u32)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum EventPairOpts {
+    /// Default options.
+    Default = 0,
+}
+
+impl Default for EventPairOpts {
+    fn default() -> Self {
+        EventPairOpts::Default
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use {Duration, ZX_SIGNAL_LAST_HANDLE, ZX_SIGNAL_NONE, ZX_USER_SIGNAL_0};
+    use deadline_after;
+
+    #[test]
+    fn wait_and_signal_peer() {
+        let (p1, p2) = EventPair::create(EventPairOpts::Default).unwrap();
+        let eighty_ms: Duration = 80_000_000;
+
+        // Waiting on one without setting any signal should time out.
+        assert_eq!(p2.wait_handle(ZX_USER_SIGNAL_0, deadline_after(eighty_ms)), Err(Status::ErrTimedOut));
+
+        // If we set a signal, we should be able to wait for it.
+        assert!(p1.signal_peer(ZX_SIGNAL_NONE, ZX_USER_SIGNAL_0).is_ok());
+        assert_eq!(p2.wait_handle(ZX_USER_SIGNAL_0, deadline_after(eighty_ms)).unwrap(),
+            ZX_USER_SIGNAL_0 | ZX_SIGNAL_LAST_HANDLE);
+
+        // Should still work, signals aren't automatically cleared.
+        assert_eq!(p2.wait_handle(ZX_USER_SIGNAL_0, deadline_after(eighty_ms)).unwrap(),
+            ZX_USER_SIGNAL_0 | ZX_SIGNAL_LAST_HANDLE);
+
+        // Now clear it, and waiting should time out again.
+        assert!(p1.signal_peer(ZX_USER_SIGNAL_0, ZX_SIGNAL_NONE).is_ok());
+        assert_eq!(p2.wait_handle(ZX_USER_SIGNAL_0, deadline_after(eighty_ms)), Err(Status::ErrTimedOut));
+    }
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/fifo.rs
@@ -0,0 +1,107 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon fifo objects.
+
+use {AsHandleRef, HandleBased, Handle, HandleRef, Status};
+use {sys, into_result};
+
+/// An object representing a Zircon fifo.
+///
+/// As essentially a subtype of `Handle`, it can be freely interconverted.
+#[derive(Debug, Eq, PartialEq)]
+pub struct Fifo(Handle);
+impl_handle_based!(Fifo);
+
+impl Fifo {
+    /// Create a pair of fifos and return their endpoints. Writing to one endpoint enqueues an
+    /// element into the fifo from which the opposing endpoint reads. Wraps the
+    /// [zx_fifo_create](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/fifo_create.md)
+    /// syscall.
+    pub fn create(elem_count: u32, elem_size: u32, options: FifoOpts)
+        -> Result<(Fifo, Fifo), Status>
+    {
+        let mut out0 = 0;
+        let mut out1 = 0;
+        let status = unsafe {
+            sys::zx_fifo_create(elem_count, elem_size, options as u32, &mut out0, &mut out1)
+        };
+        into_result(status, || (Self::from(Handle(out0)), Self::from(Handle(out1))))
+    }
+
+    /// Attempts to write some number of elements into the fifo. The number of bytes written will be
+    /// rounded down to a multiple of the fifo's element size.
+    /// Return value (on success) is number of elements actually written.
+    ///
+    /// Wraps
+    /// [zx_fifo_write](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/fifo_write.md).
+    pub fn write(&self, bytes: &[u8]) -> Result<u32, Status> {
+        let mut num_entries_written = 0;
+        let status = unsafe {
+            sys::zx_fifo_write(self.raw_handle(), bytes.as_ptr(), bytes.len(),
+                &mut num_entries_written)
+        };
+        into_result(status, || num_entries_written)
+    }
+
+    /// Attempts to read some number of elements out of the fifo. The number of bytes read will
+    /// always be a multiple of the fifo's element size.
+    /// Return value (on success) is number of elements actually read.
+    ///
+    /// Wraps
+    /// [zx_fifo_read](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/fifo_read.md).
+    pub fn read(&self, bytes: &mut [u8]) -> Result<u32, Status> {
+        let mut num_entries_read = 0;
+        let status = unsafe {
+            sys::zx_fifo_read(self.raw_handle(), bytes.as_mut_ptr(), bytes.len(),
+                &mut num_entries_read)
+        };
+        into_result(status, || num_entries_read)
+    }
+}
+
+/// Options for creating a fifo pair.
+#[repr(u32)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum FifoOpts {
+    /// Default options.
+    Default = 0,
+}
+
+impl Default for FifoOpts {
+    fn default() -> Self {
+        FifoOpts::Default
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn fifo_basic() {
+        let (fifo1, fifo2) = Fifo::create(4, 2, FifoOpts::Default).unwrap();
+
+        // Trying to write less than one element should fail.
+        assert_eq!(fifo1.write(b""), Err(Status::ErrOutOfRange));
+        assert_eq!(fifo1.write(b"h"), Err(Status::ErrOutOfRange));
+
+        // Should write one element "he" and ignore the last half-element as it rounds down.
+        assert_eq!(fifo1.write(b"hex").unwrap(), 1);
+
+        // Should write three elements "ll" "o " "wo" and drop the rest as it is full.
+        assert_eq!(fifo1.write(b"llo worlds").unwrap(), 3);
+
+        // Now that the fifo is full any further attempts to write should fail.
+        assert_eq!(fifo1.write(b"blah blah"), Err(Status::ErrShouldWait));
+
+        // Read all 4 entries from the other end.
+        let mut read_vec = vec![0; 8];
+        assert_eq!(fifo2.read(&mut read_vec).unwrap(), 4);
+        assert_eq!(read_vec, b"hello wo");
+
+        // Reading again should fail as the fifo is empty.
+        assert_eq!(fifo2.read(&mut read_vec), Err(Status::ErrShouldWait));
+    }
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/job.rs
@@ -0,0 +1,14 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon job.
+
+use {AsHandleRef, HandleBased, Handle, HandleRef};
+
+/// An object representing a Zircon job.
+///
+/// As essentially a subtype of `Handle`, it can be freely interconverted.
+#[derive(Debug, Eq, PartialEq)]
+pub struct Job(Handle);
+impl_handle_based!(Job);
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/lib.rs
@@ -0,0 +1,911 @@
+// Copyright 2016 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon kernel
+//! [syscalls](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls.md).
+
+extern crate fuchsia_zircon_sys as zircon_sys;
+
+use std::io;
+use std::marker::PhantomData;
+
+macro_rules! impl_handle_based {
+    ($type_name:path) => {
+        impl AsHandleRef for $type_name {
+            fn as_handle_ref(&self) -> HandleRef {
+                self.0.as_handle_ref()
+            }
+        }
+
+        impl From<Handle> for $type_name {
+            fn from(handle: Handle) -> Self {
+                $type_name(handle)
+            }
+        }
+
+        impl From<$type_name> for Handle {
+            fn from(x: $type_name) -> Handle {
+                x.0
+            }
+        }
+
+        impl HandleBased for $type_name {}
+    }
+}
+
+mod channel;
+mod event;
+mod eventpair;
+mod fifo;
+mod job;
+mod port;
+mod process;
+mod socket;
+mod timer;
+mod thread;
+mod vmo;
+
+pub use channel::{Channel, ChannelOpts, MessageBuf};
+pub use event::{Event, EventOpts};
+pub use eventpair::{EventPair, EventPairOpts};
+pub use fifo::{Fifo, FifoOpts};
+pub use job::Job;
+pub use port::{Packet, PacketContents, Port, PortOpts, SignalPacket, UserPacket, WaitAsyncOpts};
+pub use process::Process;
+pub use socket::{Socket, SocketOpts, SocketReadOpts, SocketWriteOpts};
+pub use timer::{Timer, TimerOpts};
+pub use thread::Thread;
+pub use vmo::{Vmo, VmoCloneOpts, VmoOp, VmoOpts};
+
+use zircon_sys as sys;
+
+type Duration = sys::zx_duration_t;
+type Time = sys::zx_time_t;
+pub use zircon_sys::ZX_TIME_INFINITE;
+
+// A placeholder value used for handles that have been taken from the message buf.
+// We rely on the kernel never to produce any actual handles with this value.
+const INVALID_HANDLE: sys::zx_handle_t = 0;
+
+/// A status code returned from the Zircon kernel.
+///
+/// See
+/// [errors.md](https://fuchsia.googlesource.com/zircon/+/master/docs/errors.md)
+/// in the Zircon documentation for more information about the meaning of these
+/// codes.
+#[derive(Debug, PartialEq, Eq, Clone, Copy)]
+#[repr(i32)]
+// Auto-generated using tools/gen_status.py
+pub enum Status {
+    NoError = 0,
+    ErrInternal = -1,
+    ErrNotSupported = -2,
+    ErrNoResources = -3,
+    ErrNoMemory = -4,
+    ErrCallFailed = -5,
+    ErrInterruptedRetry = -6,
+    ErrInvalidArgs = -10,
+    ErrBadHandle = -11,
+    ErrWrongType = -12,
+    ErrBadSyscall = -13,
+    ErrOutOfRange = -14,
+    ErrBufferTooSmall = -15,
+    ErrBadState = -20,
+    ErrTimedOut = -21,
+    ErrShouldWait = -22,
+    ErrCanceled = -23,
+    ErrPeerClosed = -24,
+    ErrNotFound = -25,
+    ErrAlreadyExists = -26,
+    ErrAlreadyBound = -27,
+    ErrUnavailable = -28,
+    ErrAccessDenied = -30,
+    ErrIo = -40,
+    ErrIoRefused = -41,
+    ErrIoDataIntegrity = -42,
+    ErrIoDataLoss = -43,
+    ErrBadPath = -50,
+    ErrNotDir = -51,
+    ErrNotFile = -52,
+    ErrFileBig = -53,
+    ErrNoSpace = -54,
+    ErrStop = -60,
+    ErrNext = -61,
+
+    /// Any zx_status_t not in the set above will map to the following:
+    UnknownOther = -32768,
+
+    // used to prevent exhaustive matching
+    #[doc(hidden)]
+    __Nonexhaustive = -32787,
+}
+
+impl Status {
+    pub fn from_raw(raw: sys::zx_status_t) -> Self {
+        match raw {
+            // Auto-generated using tools/gen_status.py
+            sys::ZX_OK => Status::NoError,
+            sys::ZX_ERR_INTERNAL => Status::ErrInternal,
+            sys::ZX_ERR_NOT_SUPPORTED => Status::ErrNotSupported,
+            sys::ZX_ERR_NO_RESOURCES => Status::ErrNoResources,
+            sys::ZX_ERR_NO_MEMORY => Status::ErrNoMemory,
+            sys::ZX_ERR_CALL_FAILED => Status::ErrCallFailed,
+            sys::ZX_ERR_INTERRUPTED_RETRY => Status::ErrInterruptedRetry,
+            sys::ZX_ERR_INVALID_ARGS => Status::ErrInvalidArgs,
+            sys::ZX_ERR_BAD_HANDLE => Status::ErrBadHandle,
+            sys::ZX_ERR_WRONG_TYPE => Status::ErrWrongType,
+            sys::ZX_ERR_BAD_SYSCALL => Status::ErrBadSyscall,
+            sys::ZX_ERR_OUT_OF_RANGE => Status::ErrOutOfRange,
+            sys::ZX_ERR_BUFFER_TOO_SMALL => Status::ErrBufferTooSmall,
+            sys::ZX_ERR_BAD_STATE => Status::ErrBadState,
+            sys::ZX_ERR_TIMED_OUT => Status::ErrTimedOut,
+            sys::ZX_ERR_SHOULD_WAIT => Status::ErrShouldWait,
+            sys::ZX_ERR_CANCELED => Status::ErrCanceled,
+            sys::ZX_ERR_PEER_CLOSED => Status::ErrPeerClosed,
+            sys::ZX_ERR_NOT_FOUND => Status::ErrNotFound,
+            sys::ZX_ERR_ALREADY_EXISTS => Status::ErrAlreadyExists,
+            sys::ZX_ERR_ALREADY_BOUND => Status::ErrAlreadyBound,
+            sys::ZX_ERR_UNAVAILABLE => Status::ErrUnavailable,
+            sys::ZX_ERR_ACCESS_DENIED => Status::ErrAccessDenied,
+            sys::ZX_ERR_IO => Status::ErrIo,
+            sys::ZX_ERR_IO_REFUSED => Status::ErrIoRefused,
+            sys::ZX_ERR_IO_DATA_INTEGRITY => Status::ErrIoDataIntegrity,
+            sys::ZX_ERR_IO_DATA_LOSS => Status::ErrIoDataLoss,
+            sys::ZX_ERR_BAD_PATH => Status::ErrBadPath,
+            sys::ZX_ERR_NOT_DIR => Status::ErrNotDir,
+            sys::ZX_ERR_NOT_FILE => Status::ErrNotFile,
+            sys::ZX_ERR_FILE_BIG => Status::ErrFileBig,
+            sys::ZX_ERR_NO_SPACE => Status::ErrNoSpace,
+            sys::ZX_ERR_STOP => Status::ErrStop,
+            sys::ZX_ERR_NEXT => Status::ErrNext,
+            _ => Status::UnknownOther,
+        }
+    }
+
+    pub fn into_io_err(self) -> io::Error {
+        self.into()
+    }
+
+    // Note: no to_raw, even though it's easy to implement, partly because
+    // handling of UnknownOther would be tricky.
+}
+
+impl From<io::ErrorKind> for Status {
+    fn from(kind: io::ErrorKind) -> Self {
+        use io::ErrorKind::*;
+        use Status::*;
+
+        match kind {
+            NotFound => ErrNotFound,
+            PermissionDenied => ErrAccessDenied,
+            ConnectionRefused => ErrIoRefused,
+            ConnectionAborted => ErrPeerClosed,
+            AddrInUse => ErrAlreadyBound,
+            AddrNotAvailable => ErrUnavailable,
+            BrokenPipe => ErrPeerClosed,
+            AlreadyExists => ErrAlreadyExists,
+            WouldBlock => ErrShouldWait,
+            InvalidInput => ErrInvalidArgs,
+            TimedOut => ErrTimedOut,
+            Interrupted => ErrInterruptedRetry,
+
+            UnexpectedEof |
+            WriteZero |
+            ConnectionReset |
+            NotConnected |
+            Other | _ => ErrIo,
+        }
+    }
+}
+
+impl From<Status> for io::ErrorKind {
+    fn from(status: Status) -> io::ErrorKind {
+        use io::ErrorKind::*;
+        use Status::*;
+
+        match status {
+            ErrInterruptedRetry => Interrupted,
+            ErrBadHandle => BrokenPipe,
+            ErrTimedOut => TimedOut,
+            ErrShouldWait => WouldBlock,
+            ErrPeerClosed => ConnectionAborted,
+            ErrNotFound => NotFound,
+            ErrAlreadyExists => AlreadyExists,
+            ErrAlreadyBound => AlreadyExists,
+            ErrUnavailable => AddrNotAvailable,
+            ErrAccessDenied => PermissionDenied,
+            ErrIoRefused => ConnectionRefused,
+            ErrIoDataIntegrity => InvalidData,
+
+            ErrBadPath |
+            ErrInvalidArgs |
+            ErrOutOfRange |
+            ErrWrongType => InvalidInput,
+
+            Status::__Nonexhaustive |
+            UnknownOther |
+            NoError |
+            ErrNext |
+            ErrStop |
+            ErrNoSpace |
+            ErrFileBig |
+            ErrNotFile |
+            ErrNotDir |
+            ErrIoDataLoss |
+            ErrIo |
+            ErrCanceled |
+            ErrBadState |
+            ErrBufferTooSmall |
+            ErrBadSyscall |
+            ErrInternal |
+            ErrNotSupported |
+            ErrNoResources |
+            ErrNoMemory |
+            ErrCallFailed => Other,
+        }
+    }
+}
+
+impl From<io::Error> for Status {
+    fn from(err: io::Error) -> Status {
+        err.kind().into()
+    }
+}
+
+impl From<Status> for io::Error {
+    fn from(status: Status) -> io::Error {
+        io::Error::from(io::ErrorKind::from(status))
+    }
+}
+
+/// Rights associated with a handle.
+///
+/// See [rights.md](https://fuchsia.googlesource.com/zircon/+/master/docs/rights.md)
+/// for more information.
+pub type Rights = sys::zx_rights_t;
+pub use zircon_sys::{
+    ZX_RIGHT_NONE,
+    ZX_RIGHT_DUPLICATE,
+    ZX_RIGHT_TRANSFER,
+    ZX_RIGHT_READ,
+    ZX_RIGHT_WRITE,
+    ZX_RIGHT_EXECUTE,
+    ZX_RIGHT_MAP,
+    ZX_RIGHT_GET_PROPERTY,
+    ZX_RIGHT_SET_PROPERTY,
+    ZX_RIGHT_DEBUG,
+    ZX_RIGHT_SAME_RIGHTS,
+};
+
+/// Signals that can be waited upon.
+///
+/// See
+/// [Objects and signals](https://fuchsia.googlesource.com/zircon/+/master/docs/concepts.md#Objects-and-Signals)
+/// in the Zircon kernel documentation. Note: the names of signals are still in flux.
+pub type Signals = sys::zx_signals_t;
+
+pub use zircon_sys::{
+        ZX_SIGNAL_NONE,
+
+        ZX_SIGNAL_HANDLE_CLOSED,
+        ZX_SIGNAL_LAST_HANDLE,
+
+        ZX_USER_SIGNAL_0,
+        ZX_USER_SIGNAL_1,
+        ZX_USER_SIGNAL_2,
+        ZX_USER_SIGNAL_3,
+        ZX_USER_SIGNAL_4,
+        ZX_USER_SIGNAL_5,
+        ZX_USER_SIGNAL_6,
+        ZX_USER_SIGNAL_7,
+
+        // Event
+        ZX_EVENT_SIGNALED,
+
+        // EventPair
+        ZX_EPAIR_SIGNALED,
+        ZX_EPAIR_CLOSED,
+
+        // Task signals (process, thread, job)
+        ZX_TASK_TERMINATED,
+
+        // Channel
+        ZX_CHANNEL_READABLE,
+        ZX_CHANNEL_WRITABLE,
+        ZX_CHANNEL_PEER_CLOSED,
+
+        // Socket
+        ZX_SOCKET_READABLE,
+        ZX_SOCKET_WRITABLE,
+        ZX_SOCKET_PEER_CLOSED,
+
+        // Timer
+        ZX_TIMER_SIGNALED,
+};
+
+/// A "wait item" containing a handle reference and information about what signals
+/// to wait on, and, on return from `object_wait_many`, which are pending.
+#[repr(C)]
+#[derive(Debug)]
+pub struct WaitItem<'a> {
+    /// The handle to wait on.
+    pub handle: HandleRef<'a>,
+    /// A set of signals to wait for.
+    pub waitfor: Signals,
+    /// The set of signals pending, on return of `object_wait_many`.
+    pub pending: Signals,
+}
+
+
+/// An identifier to select a particular clock. See
+/// [zx_time_get](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/time_get.md)
+/// for more information about the possible values.
+#[repr(u32)]
+#[derive(Debug, Copy, Clone, Eq, PartialEq)]
+pub enum ClockId {
+    /// The number of nanoseconds since the system was powered on. Corresponds to
+    /// `ZX_CLOCK_MONOTONIC`.
+    Monotonic = 0,
+    /// The number of wall clock nanoseconds since the Unix epoch (midnight on January 1 1970) in
+    /// UTC. Corresponds to ZX_CLOCK_UTC.
+    UTC = 1,
+    /// The number of nanoseconds the current thread has been running for. Corresponds to
+    /// ZX_CLOCK_THREAD.
+    Thread = 2,
+}
+
+/// Get the current time, from the specific clock id.
+///
+/// Wraps the
+/// [zx_time_get](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/time_get.md)
+/// syscall.
+pub fn time_get(clock_id: ClockId) -> Time {
+    unsafe { sys::zx_time_get(clock_id as u32) }
+}
+
+/// Read the number of high-precision timer ticks since boot. These ticks may be processor cycles,
+/// high speed timer, profiling timer, etc. They are not guaranteed to continue advancing when the
+/// system is asleep.
+///
+/// Wraps the
+/// [zx_ticks_get](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/ticks_get.md)
+/// syscall.
+pub fn ticks_get() -> u64 {
+    unsafe { sys::zx_ticks_get() }
+}
+
+/// Compute a deadline for the time in the future that is the given `Duration` away.
+///
+/// Wraps the
+/// [zx_deadline_after](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/deadline_after.md)
+/// syscall.
+pub fn deadline_after(nanos: Duration) -> Time {
+    unsafe { sys::zx_deadline_after(nanos) }
+}
+
+/// Sleep until the given deadline.
+///
+/// Wraps the
+/// [zx_nanosleep](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/nanosleep.md)
+/// syscall.
+pub fn nanosleep(deadline: Time) {
+    unsafe { sys::zx_nanosleep(deadline); }
+}
+
+/// Return the number of high-precision timer ticks in a second.
+///
+/// Wraps the
+/// [zx_ticks_per_second](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/ticks_per_second.md)
+/// syscall.
+pub fn ticks_per_second() -> u64 {
+    unsafe { sys::zx_ticks_per_second() }
+}
+
+pub use zircon_sys::{
+    ZX_CPRNG_DRAW_MAX_LEN,
+    ZX_CPRNG_ADD_ENTROPY_MAX_LEN,
+};
+
+/// Draw random bytes from the kernel's CPRNG to fill the given buffer. Returns the actual number of
+/// bytes drawn, which may sometimes be less than the size of the buffer provided.
+///
+/// The buffer must have length less than `ZX_CPRNG_DRAW_MAX_LEN`.
+///
+/// Wraps the
+/// [zx_cprng_draw](https://fuchsia.googlesource.com/zircon/+/HEAD/docs/syscalls/cprng_draw.md)
+/// syscall.
+pub fn cprng_draw(buffer: &mut [u8]) -> Result<usize, Status> {
+    let mut actual = 0;
+    let status = unsafe { sys::zx_cprng_draw(buffer.as_mut_ptr(), buffer.len(), &mut actual) };
+    into_result(status, || actual)
+}
+
+/// Mix the given entropy into the kernel CPRNG.
+///
+/// The buffer must have length less than `ZX_CPRNG_ADD_ENTROPY_MAX_LEN`.
+///
+/// Wraps the
+/// [zx_cprng_add_entropy](https://fuchsia.googlesource.com/zircon/+/HEAD/docs/syscalls/cprng_add_entropy.md)
+/// syscall.
+pub fn cprng_add_entropy(buffer: &[u8]) -> Result<(), Status> {
+    let status = unsafe { sys::zx_cprng_add_entropy(buffer.as_ptr(), buffer.len()) };
+    into_result(status, || ())
+}
+
+fn into_result<T, F>(status: sys::zx_status_t, f: F) -> Result<T, Status>
+    where F: FnOnce() -> T {
+    // All non-negative values are assumed successful. Note: calls that don't try
+    // to multiplex success values into status return could be more strict here.
+    if status >= 0 {
+        Ok(f())
+    } else {
+        Err(Status::from_raw(status))
+    }
+}
+
+// Handles
+
+/// A borrowed reference to a `Handle`.
+///
+/// Mostly useful as part of a `WaitItem`.
+#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
+pub struct HandleRef<'a> {
+    handle: sys::zx_handle_t,
+    phantom: PhantomData<&'a sys::zx_handle_t>,
+}
+
+impl<'a> HandleRef<'a> {
+    pub fn raw_handle(&self) -> sys::zx_handle_t {
+        self.handle
+    }
+
+    pub fn duplicate(&self, rights: Rights) -> Result<Handle, Status> {
+        let handle = self.handle;
+        let mut out = 0;
+        let status = unsafe { sys::zx_handle_duplicate(handle, rights, &mut out) };
+        into_result(status, || Handle(out))
+    }
+
+    pub fn signal(&self, clear_mask: Signals, set_mask: Signals) -> Result<(), Status> {
+        let handle = self.handle;
+        let status = unsafe { sys::zx_object_signal(handle, clear_mask.bits(), set_mask.bits()) };
+        into_result(status, || ())
+    }
+
+    pub fn wait(&self, signals: Signals, deadline: Time) -> Result<Signals, Status> {
+        let handle = self.handle;
+        let mut pending = sys::zx_signals_t::empty();
+        let status = unsafe {
+            sys::zx_object_wait_one(handle, signals, deadline, &mut pending)
+        };
+        into_result(status, || pending)
+    }
+
+    pub fn wait_async(&self, port: &Port, key: u64, signals: Signals, options: WaitAsyncOpts)
+        -> Result<(), Status>
+    {
+        let handle = self.handle;
+        let status = unsafe {
+            sys::zx_object_wait_async(handle, port.raw_handle(), key, signals, options as u32)
+        };
+        into_result(status, || ())
+    }
+}
+
+/// A trait to get a reference to the underlying handle of an object.
+pub trait AsHandleRef {
+    /// Get a reference to the handle. One important use of such a reference is
+    /// for `object_wait_many`.
+    fn as_handle_ref(&self) -> HandleRef;
+
+    /// Interpret the reference as a raw handle (an integer type). Two distinct
+    /// handles will have different raw values (so it can perhaps be used as a
+    /// key in a data structure).
+    fn raw_handle(&self) -> sys::zx_handle_t {
+        self.as_handle_ref().raw_handle()
+    }
+
+    /// Set and clear userspace-accessible signal bits on an object. Wraps the
+    /// [zx_object_signal](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/object_signal.md)
+    /// syscall.
+    fn signal_handle(&self, clear_mask: Signals, set_mask: Signals) -> Result<(), Status> {
+        self.as_handle_ref().signal(clear_mask, set_mask)
+    }
+
+    /// Waits on a handle. Wraps the
+    /// [zx_object_wait_one](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/object_wait_one.md)
+    /// syscall.
+    fn wait_handle(&self, signals: Signals, deadline: Time) -> Result<Signals, Status> {
+        self.as_handle_ref().wait(signals, deadline)
+    }
+
+    /// Causes packet delivery on the given port when the object changes state and matches signals.
+    /// [zx_object_wait_async](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/object_wait_async.md)
+    /// syscall.
+    fn wait_async_handle(&self, port: &Port, key: u64, signals: Signals, options: WaitAsyncOpts)
+        -> Result<(), Status>
+    {
+        self.as_handle_ref().wait_async(port, key, signals, options)
+    }
+}
+
+impl<'a> AsHandleRef for HandleRef<'a> {
+    fn as_handle_ref(&self) -> HandleRef { *self }
+}
+
+/// A trait implemented by all handle-based types.
+///
+/// Note: it is reasonable for user-defined objects wrapping a handle to implement
+/// this trait. For example, a specific interface in some protocol might be
+/// represented as a newtype of `Channel`, and implement the `as_handle_ref`
+/// method and the `From<Handle>` trait to facilitate conversion from and to the
+/// interface.
+pub trait HandleBased: AsHandleRef + From<Handle> + Into<Handle> {
+    /// Duplicate a handle, possibly reducing the rights available. Wraps the
+    /// [zx_handle_duplicate](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/handle_duplicate.md)
+    /// syscall.
+    fn duplicate_handle(&self, rights: Rights) -> Result<Self, Status> {
+        self.as_handle_ref().duplicate(rights).map(|handle| Self::from(handle))
+    }
+
+    /// Create a replacement for a handle, possibly reducing the rights available. This invalidates
+    /// the original handle. Wraps the
+    /// [zx_handle_replace](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/handle_replace.md)
+    /// syscall.
+    fn replace_handle(self, rights: Rights) -> Result<Self, Status> {
+        <Self as Into<Handle>>::into(self)
+            .replace(rights).map(|handle| Self::from(handle))
+    }
+
+    /// Converts the value into its inner handle.
+    ///
+    /// This is a convenience function which simply forwards to the `Into` trait.
+    fn into_handle(self) -> Handle {
+        self.into()
+    }
+
+    /// Creates an instance of this type from a handle.
+    ///
+    /// This is a convenience function which simply forwards to the `From` trait.
+    fn from_handle(handle: Handle) -> Self {
+        Self::from(handle)
+    }
+
+    /// Creates an instance of another handle-based type from this value's inner handle.
+    fn into_handle_based<H: HandleBased>(self) -> H {
+        H::from_handle(self.into_handle())
+    }
+
+    /// Creates an instance of this type from the inner handle of another
+    /// handle-based type.
+    fn from_handle_based<H: HandleBased>(h: H) -> Self {
+        Self::from_handle(h.into_handle())
+    }
+}
+
+/// A trait implemented by all handles for objects which have a peer.
+pub trait Peered: HandleBased {
+    /// Set and clear userspace-accessible signal bits on the object's peer. Wraps the
+    /// [zx_object_signal_peer](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/object_signal.md)
+    /// syscall.
+    fn signal_peer(&self, clear_mask: Signals, set_mask: Signals) -> Result<(), Status> {
+        let handle = self.as_handle_ref().handle;
+        let status = unsafe {
+            sys::zx_object_signal_peer(handle, clear_mask.bits(), set_mask.bits())
+        };
+        into_result(status, || ())
+    }
+}
+
+/// A trait implemented by all handles for objects which can have a cookie attached.
+pub trait Cookied: HandleBased {
+    /// Get the cookie attached to this object, if any. Wraps the
+    /// [zx_object_get_cookie](https://fuchsia.googlesource.com/zircon/+/HEAD/docs/syscalls/object_get_cookie.md)
+    /// syscall.
+    fn get_cookie(&self, scope: &HandleRef) -> Result<u64, Status> {
+        let handle = self.as_handle_ref().handle;
+        let mut cookie = 0;
+        let status = unsafe { sys::zx_object_get_cookie(handle, scope.handle, &mut cookie) };
+        into_result(status, || cookie)
+    }
+
+    /// Attach an opaque cookie to this object with the given scope. The cookie may be read or
+    /// changed in future only with the same scope. Wraps the
+    /// [zx_object_set_cookie](https://fuchsia.googlesource.com/zircon/+/HEAD/docs/syscalls/object_set_cookie.md)
+    /// syscall.
+    fn set_cookie(&self, scope: &HandleRef, cookie: u64) -> Result<(), Status> {
+        let handle = self.as_handle_ref().handle;
+        let status = unsafe { sys::zx_object_set_cookie(handle, scope.handle, cookie) };
+        into_result(status, || ())
+    }
+}
+
+fn handle_drop(handle: sys::zx_handle_t) {
+    let _ = unsafe { sys::zx_handle_close(handle) };
+}
+
+/// Wait on multiple handles.
+/// The success return value is a bool indicating whether one or more of the
+/// provided handle references was closed during the wait.
+///
+/// Wraps the
+/// [zx_object_wait_many](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/object_wait_many.md)
+/// syscall.
+pub fn object_wait_many(items: &mut [WaitItem], deadline: Time) -> Result<bool, Status>
+{
+    let len = try!(usize_into_u32(items.len()).map_err(|_| Status::ErrOutOfRange));
+    let items_ptr = items.as_mut_ptr() as *mut sys::zx_wait_item_t;
+    let status = unsafe { sys::zx_object_wait_many( items_ptr, len, deadline) };
+    if status == sys::ZX_ERR_CANCELED {
+        return Ok((true))
+    }
+    into_result(status, || false)
+}
+
+// An untyped handle
+
+/// An object representing a Zircon
+/// [handle](https://fuchsia.googlesource.com/zircon/+/master/docs/handles.md).
+///
+/// Internally, it is represented as a 32-bit integer, but this wrapper enforces
+/// strict ownership semantics. The `Drop` implementation closes the handle.
+///
+/// This type represents the most general reference to a kernel object, and can
+/// be interconverted to and from more specific types. Those conversions are not
+/// enforced in the type system; attempting to use them will result in errors
+/// returned by the kernel. These conversions don't change the underlying
+/// representation, but do change the type and thus what operations are available.
+#[derive(Debug, Eq, PartialEq, Hash)]
+pub struct Handle(sys::zx_handle_t);
+
+impl AsHandleRef for Handle {
+    fn as_handle_ref(&self) -> HandleRef {
+        HandleRef { handle: self.0, phantom: Default::default() }
+    }
+}
+
+impl HandleBased for Handle {}
+
+impl Drop for Handle {
+    fn drop(&mut self) {
+        handle_drop(self.0)
+    }
+}
+
+impl Handle {
+    /// If a raw handle is obtained from some other source, this method converts
+    /// it into a type-safe owned handle.
+    pub unsafe fn from_raw(raw: sys::zx_handle_t) -> Handle {
+        Handle(raw)
+    }
+
+    pub fn replace(self, rights: Rights) -> Result<Handle, Status> {
+        let handle = self.0;
+        let mut out = 0;
+        let status = unsafe { sys::zx_handle_replace(handle, rights, &mut out) };
+        into_result(status, || Handle(out))
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn monotonic_time_increases() {
+        let time1 = time_get(ClockId::Monotonic);
+        nanosleep(deadline_after(1_000));
+        let time2 = time_get(ClockId::Monotonic);
+        assert!(time2 > time1);
+    }
+
+    #[test]
+    fn utc_time_increases() {
+        let time1 = time_get(ClockId::UTC);
+        nanosleep(deadline_after(1_000));
+        let time2 = time_get(ClockId::UTC);
+        assert!(time2 > time1);
+    }
+
+    #[test]
+    fn thread_time_increases() {
+        let time1 = time_get(ClockId::Thread);
+        nanosleep(deadline_after(1_000));
+        let time2 = time_get(ClockId::Thread);
+        assert!(time2 > time1);
+    }
+
+    #[test]
+    fn ticks_increases() {
+        let ticks1 = ticks_get();
+        nanosleep(deadline_after(1_000));
+        let ticks2 = ticks_get();
+        assert!(ticks2 > ticks1);
+    }
+
+    #[test]
+    fn tick_length() {
+        let sleep_ns = 1_000_000;  // 1ms
+        let one_second_ns = 1_000_000_000; // 1 second in ns
+        let ticks1 = ticks_get();
+        nanosleep(deadline_after(sleep_ns));
+        let ticks2 = ticks_get();
+        // The number of ticks should have increased by at least 1 ms worth
+        assert!(ticks2 > ticks1 + sleep_ns * ticks_per_second() / one_second_ns);
+    }
+
+    #[test]
+    fn sleep() {
+        let sleep_ns = 1_000_000;  // 1ms
+        let time1 = time_get(ClockId::Monotonic);
+        nanosleep(deadline_after(sleep_ns));
+        let time2 = time_get(ClockId::Monotonic);
+        assert!(time2 > time1 + sleep_ns);
+    }
+
+    /// Test duplication by means of a VMO
+    #[test]
+    fn duplicate() {
+        let hello_length: usize = 5;
+
+        // Create a VMO and write some data to it.
+        let vmo = Vmo::create(hello_length as u64, VmoOpts::Default).unwrap();
+        assert!(vmo.write(b"hello", 0).is_ok());
+
+        // Replace, reducing rights to read.
+        let readonly_vmo = vmo.duplicate_handle(ZX_RIGHT_READ).unwrap();
+        // Make sure we can read but not write.
+        let mut read_vec = vec![0; hello_length];
+        assert_eq!(readonly_vmo.read(&mut read_vec, 0).unwrap(), hello_length);
+        assert_eq!(read_vec, b"hello");
+        assert_eq!(readonly_vmo.write(b"", 0), Err(Status::ErrAccessDenied));
+
+        // Write new data to the original handle, and read it from the new handle
+        assert!(vmo.write(b"bye", 0).is_ok());
+        assert_eq!(readonly_vmo.read(&mut read_vec, 0).unwrap(), hello_length);
+        assert_eq!(read_vec, b"byelo");
+    }
+
+    // Test replace by means of a VMO
+    #[test]
+    fn replace() {
+        let hello_length: usize = 5;
+
+        // Create a VMO and write some data to it.
+        let vmo = Vmo::create(hello_length as u64, VmoOpts::Default).unwrap();
+        assert!(vmo.write(b"hello", 0).is_ok());
+
+        // Replace, reducing rights to read.
+        let readonly_vmo = vmo.replace_handle(ZX_RIGHT_READ).unwrap();
+        // Make sure we can read but not write.
+        let mut read_vec = vec![0; hello_length];
+        assert_eq!(readonly_vmo.read(&mut read_vec, 0).unwrap(), hello_length);
+        assert_eq!(read_vec, b"hello");
+        assert_eq!(readonly_vmo.write(b"", 0), Err(Status::ErrAccessDenied));
+    }
+
+    #[test]
+    fn wait_and_signal() {
+        let event = Event::create(EventOpts::Default).unwrap();
+        let ten_ms: Duration = 10_000_000;
+
+        // Waiting on it without setting any signal should time out.
+        assert_eq!(event.wait_handle(
+            ZX_USER_SIGNAL_0, deadline_after(ten_ms)), Err(Status::ErrTimedOut));
+
+        // If we set a signal, we should be able to wait for it.
+        assert!(event.signal_handle(ZX_SIGNAL_NONE, ZX_USER_SIGNAL_0).is_ok());
+        assert_eq!(event.wait_handle(ZX_USER_SIGNAL_0, deadline_after(ten_ms)).unwrap(),
+            ZX_USER_SIGNAL_0 | ZX_SIGNAL_LAST_HANDLE);
+
+        // Should still work, signals aren't automatically cleared.
+        assert_eq!(event.wait_handle(ZX_USER_SIGNAL_0, deadline_after(ten_ms)).unwrap(),
+            ZX_USER_SIGNAL_0 | ZX_SIGNAL_LAST_HANDLE);
+
+        // Now clear it, and waiting should time out again.
+        assert!(event.signal_handle(ZX_USER_SIGNAL_0, ZX_SIGNAL_NONE).is_ok());
+        assert_eq!(event.wait_handle(
+            ZX_USER_SIGNAL_0, deadline_after(ten_ms)), Err(Status::ErrTimedOut));
+    }
+
+    #[test]
+    fn wait_many_and_signal() {
+        let ten_ms: Duration = 10_000_000;
+        let e1 = Event::create(EventOpts::Default).unwrap();
+        let e2 = Event::create(EventOpts::Default).unwrap();
+
+        // Waiting on them now should time out.
+        let mut items = vec![
+          WaitItem { handle: e1.as_handle_ref(), waitfor: ZX_USER_SIGNAL_0, pending: ZX_SIGNAL_NONE },
+          WaitItem { handle: e2.as_handle_ref(), waitfor: ZX_USER_SIGNAL_1, pending: ZX_SIGNAL_NONE },
+        ];
+        assert_eq!(object_wait_many(&mut items, deadline_after(ten_ms)), Err(Status::ErrTimedOut));
+        assert_eq!(items[0].pending, ZX_SIGNAL_LAST_HANDLE);
+        assert_eq!(items[1].pending, ZX_SIGNAL_LAST_HANDLE);
+
+        // Signal one object and it should return success.
+        assert!(e1.signal_handle(ZX_SIGNAL_NONE, ZX_USER_SIGNAL_0).is_ok());
+        assert!(object_wait_many(&mut items, deadline_after(ten_ms)).is_ok());
+        assert_eq!(items[0].pending, ZX_USER_SIGNAL_0 | ZX_SIGNAL_LAST_HANDLE);
+        assert_eq!(items[1].pending, ZX_SIGNAL_LAST_HANDLE);
+
+        // Signal the other and it should return both.
+        assert!(e2.signal_handle(ZX_SIGNAL_NONE, ZX_USER_SIGNAL_1).is_ok());
+        assert!(object_wait_many(&mut items, deadline_after(ten_ms)).is_ok());
+        assert_eq!(items[0].pending, ZX_USER_SIGNAL_0 | ZX_SIGNAL_LAST_HANDLE);
+        assert_eq!(items[1].pending, ZX_USER_SIGNAL_1 | ZX_SIGNAL_LAST_HANDLE);
+
+        // Clear signals on both; now it should time out again.
+        assert!(e1.signal_handle(ZX_USER_SIGNAL_0, ZX_SIGNAL_NONE).is_ok());
+        assert!(e2.signal_handle(ZX_USER_SIGNAL_1, ZX_SIGNAL_NONE).is_ok());
+        assert_eq!(object_wait_many(&mut items, deadline_after(ten_ms)), Err(Status::ErrTimedOut));
+        assert_eq!(items[0].pending, ZX_SIGNAL_LAST_HANDLE);
+        assert_eq!(items[1].pending, ZX_SIGNAL_LAST_HANDLE);
+    }
+
+    #[test]
+    fn cookies() {
+        let event = Event::create(EventOpts::Default).unwrap();
+        let scope = Event::create(EventOpts::Default).unwrap();
+
+        // Getting a cookie when none has been set should fail.
+        assert_eq!(event.get_cookie(&scope.as_handle_ref()), Err(Status::ErrAccessDenied));
+
+        // Set a cookie.
+        assert_eq!(event.set_cookie(&scope.as_handle_ref(), 42), Ok(()));
+
+        // Should get it back....
+        assert_eq!(event.get_cookie(&scope.as_handle_ref()), Ok(42));
+
+        // but not with the wrong scope!
+        assert_eq!(event.get_cookie(&event.as_handle_ref()), Err(Status::ErrAccessDenied));
+
+        // Can change it, with the same scope...
+        assert_eq!(event.set_cookie(&scope.as_handle_ref(), 123), Ok(()));
+
+        // but not with a different scope.
+        assert_eq!(event.set_cookie(&event.as_handle_ref(), 123), Err(Status::ErrAccessDenied));
+    }
+
+    #[test]
+    fn cprng() {
+        let mut buffer = [0; 20];
+        assert_eq!(cprng_draw(&mut buffer), Ok(20));
+        assert_ne!(buffer[0], 0);
+        assert_ne!(buffer[19], 0);
+    }
+
+    #[test]
+    fn cprng_too_large() {
+        let mut buffer = [0; ZX_CPRNG_DRAW_MAX_LEN + 1];
+        assert_eq!(cprng_draw(&mut buffer), Err(Status::ErrInvalidArgs));
+
+        for mut s in buffer.chunks_mut(ZX_CPRNG_DRAW_MAX_LEN) {
+            assert_eq!(cprng_draw(&mut s), Ok(s.len()));
+        }
+    }
+
+    #[test]
+    fn cprng_add() {
+        let buffer = [0, 1, 2];
+        assert_eq!(cprng_add_entropy(&buffer), Ok(()));
+    }
+}
+
+pub fn usize_into_u32(n: usize) -> Result<u32, ()> {
+    if n > ::std::u32::MAX as usize || n < ::std::u32::MIN as usize {
+        return Err(())
+    }
+    Ok(n as u32)
+}
+
+pub fn size_to_u32_sat(n: usize) -> u32 {
+    if n > ::std::u32::MAX as usize {
+        return ::std::u32::MAX;
+    }
+    if n < ::std::u32::MIN as usize {
+        return ::std::u32::MIN;
+    }
+    n as u32
+}
new file mode 100644
--- /dev/null
+++ b/third_party/rust/fuchsia-zircon/src/port.rs
@@ -0,0 +1,354 @@
+// Copyright 2017 The Fuchsia Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+//! Type-safe bindings for Zircon port objects.
+
+use std::mem;
+
+use {AsHandleRef, HandleBased, Handle, HandleRef, Signals, Status, Time};
+use {sys, into_result};
+
+/// An object representing a Zircon
+/// [port](https://fuchsia.googlesource.com/zircon/+/master/docs/objects/port.md).
+///
+/// As essentially a subtype of `Handle`, it can be freely interconverted.
+#[derive(Debug, Eq, PartialEq)]
+pub struct Port(Handle);
+impl_handle_based!(Port);
+
+/// A packet sent through a port. This is a type-safe wrapper for
+/// [zx_port_packet_t](https://fuchsia.googlesource.com/zircon/+/master/docs/syscalls/port_wait2.md).
+#[derive(PartialEq, Eq, Debug)]
+pub struct Packet(sys::zx_port_packet_t);
+
+/// The contents of a `Packet`.
+#[derive(Debug, Copy, Clone)]
+pub enum PacketContents {
+    /// A user-generated packet.
+    User(UserPacket),
+    /// A one-shot signal packet generated via `object_wait_async`.
+    SignalOne(Sig