[INFO] cloning repository voelklmichael/rust_tcp_data_share [INFO] running `"git" "clone" "--bare" "git://github.com/voelklmichael/rust_tcp_data_share.git" "work/cache/sources/gh/voelklmichael/rust_tcp_data_share"` [INFO] [stderr] Cloning into bare repository 'work/cache/sources/gh/voelklmichael/rust_tcp_data_share'... [INFO] running `"git" "clone" "work/cache/sources/gh/voelklmichael/rust_tcp_data_share" "work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/voelklmichael/rust_tcp_data_share"` [INFO] [stderr] Cloning into 'work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/voelklmichael/rust_tcp_data_share'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/voelklmichael/rust_tcp_data_share" "work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/voelklmichael/rust_tcp_data_share"` [INFO] [stderr] Cloning into 'work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/voelklmichael/rust_tcp_data_share'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 49486b4d665514132191f0cbbf1721d098adbb0d [INFO] sha for GitHub repo voelklmichael/rust_tcp_data_share: 49486b4d665514132191f0cbbf1721d098adbb0d [INFO] validating manifest of voelklmichael/rust_tcp_data_share on toolchain master#c8865d8e195813ade6b84434ac9f8850e7112d1a [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of voelklmichael/rust_tcp_data_share on toolchain try#e212b7d492c96d3837691ba29d32d5f468933fb8 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing voelklmichael/rust_tcp_data_share [INFO] finished frobbing voelklmichael/rust_tcp_data_share [INFO] frobbed toml for voelklmichael/rust_tcp_data_share written to work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/voelklmichael/rust_tcp_data_share/Cargo.toml [INFO] started frobbing voelklmichael/rust_tcp_data_share [INFO] finished frobbing voelklmichael/rust_tcp_data_share [INFO] frobbed toml for voelklmichael/rust_tcp_data_share written to work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/gh/voelklmichael/rust_tcp_data_share/Cargo.toml [INFO] crate voelklmichael/rust_tcp_data_share already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded criterion-stats v0.1.3 [INFO] [stderr] Downloaded criterion-plot v0.1.3 [INFO] [stderr] Downloaded criterion v0.1.2 [INFO] [stderr] Downloaded cast v0.1.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing voelklmichael/rust_tcp_data_share against master#c8865d8e195813ade6b84434ac9f8850e7112d1a for pr-61629 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-3/master#c8865d8e195813ade6b84434ac9f8850e7112d1a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/voelklmichael/rust_tcp_data_share:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "build" "--frozen"` [INFO] [stdout] 58af02525c311305d2204242f672803b4048b05cfc5365744df1d72dfef11490 [INFO] running `"docker" "start" "-a" "58af02525c311305d2204242f672803b4048b05cfc5365744df1d72dfef11490"` [INFO] [stderr] Compiling rust_tcp_ipc v0.3.1 (/opt/crater/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.92s [INFO] running `"docker" "inspect" "58af02525c311305d2204242f672803b4048b05cfc5365744df1d72dfef11490"` [INFO] running `"docker" "rm" "-f" "58af02525c311305d2204242f672803b4048b05cfc5365744df1d72dfef11490"` [INFO] [stdout] 58af02525c311305d2204242f672803b4048b05cfc5365744df1d72dfef11490 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-3/master#c8865d8e195813ade6b84434ac9f8850e7112d1a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/voelklmichael/rust_tcp_data_share:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "test" "--frozen" "--no-run"` [INFO] [stdout] 21471ec9fc0cba3329e0f4f0a767854c02f2a6e997b1afef03862bde22cd8d43 [INFO] running `"docker" "start" "-a" "21471ec9fc0cba3329e0f4f0a767854c02f2a6e997b1afef03862bde22cd8d43"` [INFO] [stderr] Compiling cast v0.1.0 [INFO] [stderr] Compiling itertools v0.4.19 [INFO] [stderr] Compiling itertools v0.5.10 [INFO] [stderr] Compiling num_cpus v0.2.13 [INFO] [stderr] Compiling isatty v0.1.9 [INFO] [stderr] Compiling serde_derive v1.0.82 [INFO] [stderr] Compiling rand v0.3.22 [INFO] [stderr] Compiling simplelog v0.4.4 [INFO] [stderr] Compiling failure_derive v0.1.3 [INFO] [stderr] Compiling criterion-stats v0.1.3 [INFO] [stderr] Compiling criterion-plot v0.1.3 [INFO] [stderr] Compiling failure v0.1.3 [INFO] [stderr] Compiling criterion v0.1.2 [INFO] [stderr] Compiling rust_tcp_ipc v0.3.1 (/opt/crater/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 30.60s [INFO] running `"docker" "inspect" "21471ec9fc0cba3329e0f4f0a767854c02f2a6e997b1afef03862bde22cd8d43"` [INFO] running `"docker" "rm" "-f" "21471ec9fc0cba3329e0f4f0a767854c02f2a6e997b1afef03862bde22cd8d43"` [INFO] [stdout] 21471ec9fc0cba3329e0f4f0a767854c02f2a6e997b1afef03862bde22cd8d43 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-3/master#c8865d8e195813ade6b84434ac9f8850e7112d1a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/gh/voelklmichael/rust_tcp_data_share:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "test" "--frozen"` [INFO] [stdout] 87f329ae0dc32bb0971090ba090d856e11d6603a77e2fe1e435e29d6ed5d15c3 [INFO] running `"docker" "start" "-a" "87f329ae0dc32bb0971090ba090d856e11d6603a77e2fe1e435e29d6ed5d15c3"` [INFO] [stderr] Blocking waiting for file lock on package cache lock [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.43s [INFO] [stderr] Running /opt/crater/target/debug/deps/rust_tcp_ipc-50c578a11cda3320 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests rust_tcp_ipc [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::construct_header (line 182) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::LengthAsArray (line 46) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol (line 21) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::CommandAsArray (line 40) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::Commands (line 28) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::HeaderAsArray (line 54) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::get_length_as_array (line 165) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::BusyStates (line 34) ... ok [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::message_is_answered_via_immediate_route (line 69) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::idle (line 60) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::message_slice_to_header_array (line 109) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::parse_length (line 100) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::command_to_array (line 150) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::split_header_array (line 129) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::await_message (line 459) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::clear_message_queue (line 436) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::get_busy_state (line 400) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::get_message (line 415) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::client (line 126) ... FAILED [INFO] [stdout] test src/protocol/mod.rs - protocol::Protocol::parse_command (line 85) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::server (line 185) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::update_busy_state (line 389) ... FAILED [INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpc
::write_message (line 486) ... FAILED
[INFO] [stdout] test src/tcp_ipc.rs - tcp_ipc::TcpIpcConfig (line 16) ... FAILED
[INFO] [stdout]
[INFO] [stdout] failures:
[INFO] [stdout]
[INFO] [stdout] ---- src/protocol/mod.rs - protocol::Protocol::construct_header (line 182) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `Self`
[INFO] [stdout] --> src/protocol/mod.rs:183:30
[INFO] [stdout] |
[INFO] [stdout] 3 | fn construct_header(command: Self::CommandAsArray, length: Self::LengthAsArray) -> Vec ::await_message (line 459) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:460:15
[INFO] [stdout] |
[INFO] [stdout] 3 | let message = client.await_message(std::time::Duration::from_micros(10_000), std::time::Duration::from_nanos(2_000));
[INFO] [stdout] | ^^^^^^ not found in this scope
[INFO] [stdout]
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout]
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tcp_ipc.rs - tcp_ipc::TcpIpc ::clear_message_queue (line 436) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:437:14
[INFO] [stdout] |
[INFO] [stdout] 3 | let result = client.clear_message_queue(std::time::Duration::from_micros(10_000));
[INFO] [stdout] | ^^^^^^ not found in this scope
[INFO] [stdout]
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout]
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tcp_ipc.rs - tcp_ipc::TcpIpc ::get_busy_state (line 400) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:401:26
[INFO] [stdout] |
[INFO] [stdout] 3 | let current_busy_state = client.get_busy_state();
[INFO] [stdout] | ^^^^^^ not found in this scope
[INFO] [stdout]
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout]
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tcp_ipc.rs - tcp_ipc::TcpIpc ::get_message (line 415) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:416:15
[INFO] [stdout] |
[INFO] [stdout] 3 | let message = client.get_message();
[INFO] [stdout] | ^^^^^^ not found in this scope
[INFO] [stdout]
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout]
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tcp_ipc.rs - tcp_ipc::TcpIpc ::client (line 126) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TcpIpc`
[INFO] [stdout] --> src/tcp_ipc.rs:133:5
[INFO] [stdout] |
[INFO] [stdout] 9 | TcpIpc:: ::server (line 185) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `TcpIpc`
[INFO] [stdout] --> src/tcp_ipc.rs:191:5
[INFO] [stdout] |
[INFO] [stdout] 8 | TcpIpc:: ::update_busy_state (line 389) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `BusyStatesExample`
[INFO] [stdout] --> src/tcp_ipc.rs:390:26
[INFO] [stdout] |
[INFO] [stdout] 3 | client.update_busy_state(BusyStatesExample::Working);
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^ use of undeclared type or module `BusyStatesExample`
[INFO] [stdout]
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:390:1
[INFO] [stdout] |
[INFO] [stdout] 3 | client.update_busy_state(BusyStatesExample::Working);
[INFO] [stdout] | ^^^^^^ not found in this scope
[INFO] [stdout]
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout]
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tcp_ipc.rs - tcp_ipc::TcpIpc ::write_message (line 486) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type or module `ProtocolExampleCommands`
[INFO] [stdout] --> src/tcp_ipc.rs:487:36
[INFO] [stdout] |
[INFO] [stdout] 3 | let message = client.write_message(ProtocolExampleCommands::Start, "ok".as_bytes());
[INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type or module `ProtocolExampleCommands`
[INFO] [stdout]
[INFO] [stdout] error[E0425]: cannot find value `client` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:487:15
[INFO] [stdout] |
[INFO] [stdout] 3 | let message = client.write_message(ProtocolExampleCommands::Start, "ok".as_bytes());
[INFO] [stdout] | ^^^^^^ not found in this scope
[INFO] [stdout]
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout]
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/tcp_ipc.rs - tcp_ipc::TcpIpcConfig (line 16) stdout ----
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `TcpIpcConfig` in this scope
[INFO] [stdout] --> src/tcp_ipc.rs:17:14
[INFO] [stdout] |
[INFO] [stdout] 3 | let config = TcpIpcConfig {
[INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] help: possible candidate is found in another module, you can import it into scope
[INFO] [stdout] |
[INFO] [stdout] 2 | use rust_tcp_ipc::TcpIpcConfig;
[INFO] [stdout] |
[INFO] [stdout]
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout]
[INFO] [stdout] For more information about this error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout]
[INFO] [stdout] failures:
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::command_to_array (line 150)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::construct_header (line 182)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::get_length_as_array (line 165)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::idle (line 60)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::message_is_answered_via_immediate_route (line 69)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::message_slice_to_header_array (line 109)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::parse_command (line 85)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::parse_length (line 100)
[INFO] [stdout] src/protocol/mod.rs - protocol::Protocol::split_header_array (line 129)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::await_message (line 459)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::clear_message_queue (line 436)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::client (line 126)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::get_busy_state (line 400)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::get_message (line 415)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::server (line 185)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::update_busy_state (line 389)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpc ::write_message (line 486)
[INFO] [stdout] src/tcp_ipc.rs - tcp_ipc::TcpIpcConfig (line 16)
[INFO] [stdout]
[INFO] [stdout] test result: FAILED. 6 passed; 18 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout]
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `"docker" "inspect" "87f329ae0dc32bb0971090ba090d856e11d6603a77e2fe1e435e29d6ed5d15c3"`
[INFO] running `"docker" "rm" "-f" "87f329ae0dc32bb0971090ba090d856e11d6603a77e2fe1e435e29d6ed5d15c3"`
[INFO] [stdout] 87f329ae0dc32bb0971090ba090d856e11d6603a77e2fe1e435e29d6ed5d15c3