[INFO] fetching crate libp2p-core 0.23.1... [INFO] checking libp2p-core-0.23.1 against try#ff044a3d65d25a17c3e14c1530004e1540179ba7 for pr-78338 [INFO] extracting crate libp2p-core 0.23.1 into /workspace/builds/worker-5/source [INFO] validating manifest of crates.io crate libp2p-core 0.23.1 on toolchain ff044a3d65d25a17c3e14c1530004e1540179ba7 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff044a3d65d25a17c3e14c1530004e1540179ba7" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate libp2p-core 0.23.1 [INFO] finished tweaking crates.io crate libp2p-core 0.23.1 [INFO] tweaked toml for crates.io crate libp2p-core 0.23.1 written to /workspace/builds/worker-5/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff044a3d65d25a17c3e14c1530004e1540179ba7" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff044a3d65d25a17c3e14c1530004e1540179ba7" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+ff044a3d65d25a17c3e14c1530004e1540179ba7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 52e62ed43272711e73f6780f071d436d0db83991de7fba21415aceb583090213 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "52e62ed43272711e73f6780f071d436d0db83991de7fba21415aceb583090213", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "52e62ed43272711e73f6780f071d436d0db83991de7fba21415aceb583090213", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "52e62ed43272711e73f6780f071d436d0db83991de7fba21415aceb583090213", kill_on_drop: false }` [INFO] [stdout] 52e62ed43272711e73f6780f071d436d0db83991de7fba21415aceb583090213 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+ff044a3d65d25a17c3e14c1530004e1540179ba7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 59a1871fad95390dd766de88e724127316d7b1a545dc40752b6e8ca8f8f6e41d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "59a1871fad95390dd766de88e724127316d7b1a545dc40752b6e8ca8f8f6e41d", kill_on_drop: false }` [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking multihash v0.11.4 [INFO] [stderr] Compiling libp2p-core v0.23.1 (/opt/rustwide/workdir) [INFO] [stderr] Checking multistream-select v0.8.4 [INFO] [stderr] Checking quickcheck v0.9.2 [INFO] [stderr] Checking parity-multiaddr v0.9.3 [INFO] [stdout] error[E0432]: unresolved import `libp2p_mplex` [INFO] [stdout] --> tests/transport_upgrade.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use libp2p_mplex::MplexConfig; [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `libp2p_mplex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `libp2p_noise` [INFO] [stdout] --> tests/transport_upgrade.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use libp2p_noise as noise; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ no external crate `libp2p_noise` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `libp2p_noise` [INFO] [stdout] --> tests/network_dial_error.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use libp2p_noise as noise; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ no external crate `libp2p_noise` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `libp2p_tcp` [INFO] [stdout] --> tests/network_dial_error.rs:49:36 [INFO] [stdout] | [INFO] [stdout] 49 | let transport: TestTransport = libp2p_tcp::TcpConfig::new() [INFO] [stdout] | ^^^^^^^^^^ use of undeclared crate or module `libp2p_tcp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `libp2p_mplex` [INFO] [stdout] --> tests/network_dial_error.rs:52:20 [INFO] [stdout] | [INFO] [stdout] 52 | .multiplex(libp2p_mplex::MplexConfig::new()) [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `libp2p_mplex` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] thread 'rustc' panicked at 'Box', compiler/rustc_errors/src/lib.rs:945:9 [INFO] [stdout] error: internal compiler error: compiler/rustc_middle/src/ty/sty.rs:2150:18: tuple_fields called on non-tuple [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x7f06340bca20 - std::backtrace_rs::backtrace::libunwind::trace::h303a626d53553a64 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:100:5 [INFO] [stderr] 1: 0x7f06340bca20 - std::backtrace_rs::backtrace::trace_unsynchronized::h6abb882733c3f18c [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stderr] 2: 0x7f06340bca20 - std::sys_common::backtrace::_print_fmt::h57829321f1d9217a [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stderr] 3: 0x7f06340bca20 - ::fmt::h400b66a054640aac [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stderr] 4: 0x7f063412be9c - core::fmt::write::h1857a60b204f1b6a [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/core/src/fmt/mod.rs:1076:17 [INFO] [stderr] 5: 0x7f06340ae642 - std::io::Write::write_fmt::h6453b28c8b27c6ea [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/io/mod.rs:1516:15 [INFO] [stderr] 6: 0x7f06340c19d5 - std::sys_common::backtrace::_print::h15cc4b3923cc9bc0 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stderr] 7: 0x7f06340c19d5 - std::sys_common::backtrace::print::h953c7be178c0674d [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stderr] 8: 0x7f06340c19d5 - std::panicking::default_hook::{{closure}}::h635d667f571198f0 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/panicking.rs:208:50 [INFO] [stderr] 9: 0x7f06340c1678 - std::panicking::default_hook::h3bc2efb48060abaa [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/panicking.rs:227:9 [INFO] [stderr] 10: 0x7f063498ae08 - rustc_driver::report_ice::hbf1325c7565687ba [INFO] [stderr] 11: 0x7f06340c2216 - std::panicking::rust_panic_with_hook::h887eb0c89f46b8b2 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/panicking.rs:581:17 [INFO] [stderr] 12: 0x7f063792ccbd - std::panicking::begin_panic::{{closure}}::hc1d905d2374ce0cc [INFO] [stderr] 13: 0x7f063792cbc6 - std::sys_common::backtrace::__rust_end_short_backtrace::ha1feaa73cb1e05ce [INFO] [stderr] 14: 0x7f063792cc2f - std::panicking::begin_panic::h09616460625efa25 [INFO] [stderr] 15: 0x7f0637963610 - rustc_errors::HandlerInner::bug::hbb6554bd4fbc8852 [INFO] [stderr] 16: 0x7f06379620f0 - rustc_errors::Handler::bug::h4feefeec7bb726ca [INFO] [stderr] 17: 0x7f063744aea4 - rustc_middle::util::bug::opt_span_bug_fmt::{{closure}}::h22b92ed7b73b8340 [INFO] [stderr] 18: 0x7f063744a74b - rustc_middle::ty::context::tls::with_opt::{{closure}}::h32bfd9cf0b0a9393 [INFO] [stderr] 19: 0x7f063744a6f2 - rustc_middle::ty::context::tls::with_opt::h762464f893de2d96 [INFO] [stderr] 20: 0x7f063744adc9 - rustc_middle::util::bug::opt_span_bug_fmt::h05648c19bbf99518 [INFO] [stderr] 21: 0x7f063744ad3e - rustc_middle::util::bug::bug_fmt::h5d4f7ed12a8f1d0d [INFO] [stderr] 22: 0x7f06374f0bc6 - rustc_middle::ty::sty::::tuple_fields::hdc3dc0e1875e99ff [INFO] [stderr] 23: 0x7f0636ce7e78 - rustc_trait_selection::traits::select::SelectionContext::copy_clone_conditions::h8ff43f065f427a31 [INFO] [stderr] 24: 0x7f0636ce33d1 - rustc_trait_selection::traits::select::candidate_assembly::::assemble_candidates::h7f604d35beab439e [INFO] [stderr] 25: 0x7f0636ce17cd - rustc_trait_selection::traits::select::candidate_assembly::::candidate_from_obligation_no_cache::h05f8c5b45c5e08a2 [INFO] [stderr] 26: 0x7f0636cf2309 - rustc_query_system::dep_graph::graph::DepGraph::with_anon_task::h44ec985a7770338d [INFO] [stderr] 27: 0x7f0636ce9762 - rustc_trait_selection::traits::select::candidate_assembly::::candidate_from_obligation::he84ed255728ad44e [INFO] [stderr] 28: 0x7f0636ce6393 - rustc_trait_selection::traits::select::SelectionContext::evaluate_stack::h06e7ee3234d676cd [INFO] [stderr] 29: 0x7f0636cf7260 - rustc_query_system::dep_graph::graph::DepGraph::with_anon_task::hf442492fe7988b09 [INFO] [stdout] warning: unused import: `Transport` [INFO] [stdout] --> tests/network_dial_error.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Transport, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `libp2p-core` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] 30: 0x7f0636ce5974 - rustc_trait_selection::traits::select::SelectionContext::evaluate_trait_predicate_recursively::hb38f849d34368217 [INFO] [stderr] 31: 0x7f0636ead8b6 - rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively::{{closure}}::ha75a9cb68e9796c1 [INFO] [stderr] 32: 0x7f0636cefc6e - rustc_trait_selection::traits::select::SelectionContext::evaluate_predicate_recursively::h08dd972328f720e7 [INFO] [stderr] 33: 0x7f0636cb5544 - rustc_infer::infer::InferCtxt::probe::hf13a54a708ad210c [INFO] [stderr] 34: 0x7f0636ce4f70 - rustc_trait_selection::traits::select::SelectionContext::evaluate_root_obligation::h954c58efaae55e17 [INFO] [stderr] 35: 0x7f063505fe96 - rustc_infer::infer::InferCtxtBuilder::enter_with_canonical::hdbc417ca7d0d6c33 [INFO] [stderr] 36: 0x7f06350cb91b - rustc_traits::evaluate_obligation::evaluate_obligation::h6ad149b3038f3f29 [INFO] [stderr] 37: 0x7f0636cbb22d - rustc_middle::ty::query:: for rustc_middle::ty::query::queries::evaluate_obligation>::compute::hb3df2fb3e496fc5e [INFO] [stderr] 38: 0x7f0636d06ae9 - rustc_query_system::dep_graph::graph::DepGraph::with_task_impl::heacdf35d72b91e29 [INFO] [stderr] 39: 0x7f0636e71b60 - rustc_middle::ty::query::plumbing::::start_query::{{closure}}::{{closure}}::{{closure}}::h1335e7ad0f4ea52c [INFO] [stderr] 40: 0x7f0636dfd39d - rustc_query_system::query::plumbing::get_query_impl::h3957bf19a016f15f [INFO] [stderr] 41: 0x7f0636cdd41e - ::evaluate_obligation::hd3c48f874d2c435f [INFO] [stderr] 42: 0x7f0636cdd4bd - ::evaluate_obligation_no_overflow::h888ee85cdb54e495 [INFO] [stderr] 43: 0x7f0636df0bd0 - rustc_trait_selection::traits::fulfill::FulfillProcessor::process_trait_obligation::h9f96ce64cbecfcf4 [INFO] [stderr] 44: 0x7f0636defe72 - rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations::h2020dfafb477c00f [INFO] [stderr] 45: 0x7f0636e7d0c9 - rustc_data_structures::obligation_forest::ObligationForest::process_obligations::h1d11017f52bfdd95 [INFO] [stderr] 46: 0x7f0636def174 - ::select_where_possible::hf96074721833b16c [INFO] [stderr] 47: 0x7f06353dc1b4 - rustc_typeck::check::fn_ctxt::_impl::::select_obligations_where_possible::h5a7844f4370dc933 [INFO] [stderr] 48: 0x7f0635654a27 - rustc_infer::infer::InferCtxtBuilder::enter::h6881f9376e4471a9 [INFO] [stderr] 49: 0x7f063570b288 - rustc_typeck::check::typeck::h7936b5f86fffb913 [INFO] [stderr] 50: 0x7f06355ecabe - rustc_middle::ty::query:: for rustc_middle::ty::query::queries::typeck>::compute::hcea92138ac9e28bb [INFO] [stderr] 51: 0x7f06355b6777 - rustc_query_system::dep_graph::graph::DepGraph::with_task_impl::h2605dda46e394e9a [INFO] [stderr] 52: 0x7f0635530b61 - rustc_data_structures::stack::ensure_sufficient_stack::hefd48e3d1b00a42f [INFO] [stderr] 53: 0x7f0635421459 - rustc_query_system::query::plumbing::get_query_impl::h3a9e7fcf130ad31d [INFO] [stderr] 54: 0x7f063548d52d - rustc_query_system::query::plumbing::ensure_query_impl::h7982f7a407c81650 [INFO] [stderr] 55: 0x7f063570fc66 - rustc_typeck::check::typeck_item_bodies::h64dc12efcaea9221 [INFO] [stderr] 56: 0x7f06355a326e - rustc_middle::ty::query:: for rustc_middle::ty::query::queries::typeck_item_bodies>::compute::h9834b15ef9ab2a9b [INFO] [stderr] 57: 0x7f06355c2987 - rustc_query_system::dep_graph::graph::DepGraph::with_task_impl::ha57625619acaac80 [INFO] [stderr] 58: 0x7f063552c664 - rustc_data_structures::stack::ensure_sufficient_stack::h9c1970be50e3794d [INFO] [stderr] 59: 0x7f0635411055 - rustc_query_system::query::plumbing::get_query_impl::h086a494db0b3fd1b [INFO] [stderr] 60: 0x7f063560bfa3 - rustc_typeck::check_crate::h19e2dfbdd8ea5557 [INFO] [stderr] 61: 0x7f0634bcdfb0 - rustc_interface::passes::analysis::hf34e525a2b31f7c0 [INFO] [stderr] 62: 0x7f063490a56b - rustc_middle::ty::query:: for rustc_middle::ty::query::queries::analysis>::compute::h23cb841af51f0584 [INFO] [stderr] 63: 0x7f06349a8847 - rustc_query_system::dep_graph::graph::DepGraph::with_task_impl::h7178e9f1ddee6943 [INFO] [stderr] 64: 0x7f06349a3bcf - rustc_middle::ty::query::plumbing::::start_query::{{closure}}::{{closure}}::{{closure}}::h4025824db8759ceb [INFO] [stderr] 65: 0x7f0634935700 - rustc_query_system::query::plumbing::get_query_impl::h29928f066778d4c4 [INFO] [stderr] 66: 0x7f063490c91b - rustc_interface::passes::QueryContext::enter::h0705343d8e4a95be [INFO] [stderr] 67: 0x7f06349a5c92 - rustc_interface::queries::::enter::h6eb07f11eba80bd6 [INFO] [stderr] 68: 0x7f063496ca92 - rustc_span::with_source_map::h3820d41b3a036910 [INFO] [stderr] 69: 0x7f06349a71b2 - rustc_interface::interface::create_compiler_and_run::h08ad396f4e7721e0 [INFO] [stderr] 70: 0x7f063498f54a - scoped_tls::ScopedKey::set::hd425a36fbe06985e [INFO] [stderr] 71: 0x7f06349ac1a5 - std::sys_common::backtrace::__rust_begin_short_backtrace::h23925571219dbc63 [INFO] [stderr] 72: 0x7f0634929bbe - core::ops::function::FnOnce::call_once{{vtable.shim}}::h43b61b9af30b3669 [INFO] [stderr] 73: 0x7f06340d121a - as core::ops::function::FnOnce>::call_once::h88864ee659ddb161 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/alloc/src/boxed.rs:1042:9 [INFO] [stderr] 74: 0x7f06340d121a - as core::ops::function::FnOnce>::call_once::h9f03cbdc7ab33431 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/alloc/src/boxed.rs:1042:9 [INFO] [stderr] 75: 0x7f06340d121a - std::sys::unix::thread::Thread::new::thread_start::h5979dd5560a11418 [INFO] [stderr] at /rustc/ff044a3d65d25a17c3e14c1530004e1540179ba7/library/std/src/sys/unix/thread.rs:89:17 [INFO] [stderr] 76: 0x7f0633fec609 - start_thread [INFO] [stderr] 77: 0x7f0633f00103 - clone [INFO] [stderr] 78: 0x0 - [INFO] [stderr] [INFO] [stderr] note: the compiler unexpectedly panicked. this is a bug. [INFO] [stderr] [INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md [INFO] [stderr] [INFO] [stderr] note: rustc 1.49.0-nightly (ff044a3d6 2020-10-24) running on x86_64-unknown-linux-gnu [INFO] [stderr] [INFO] [stderr] note: compiler flags: -C embed-bitcode=no -C debuginfo=2 [INFO] [stderr] [INFO] [stderr] note: some of the compiler flags provided by cargo are hidden [INFO] [stderr] [INFO] [stderr] query stack during panic: [INFO] [stderr] #0 [evaluate_obligation] evaluating trait selection obligation `[closure@tests/transport_upgrade.rs:92:19: 96:10]: std::clone::Clone` [INFO] [stderr] #1 [typeck] type-checking `upgrade_pipeline` [INFO] [stderr] #2 [typeck_item_bodies] type-checking all item bodies [INFO] [stderr] #3 [analysis] running analysis passes on this crate [INFO] [stderr] end of query stack [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "59a1871fad95390dd766de88e724127316d7b1a545dc40752b6e8ca8f8f6e41d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59a1871fad95390dd766de88e724127316d7b1a545dc40752b6e8ca8f8f6e41d", kill_on_drop: false }` [INFO] [stdout] 59a1871fad95390dd766de88e724127316d7b1a545dc40752b6e8ca8f8f6e41d