[INFO] fetching crate osauth 0.2.0... [INFO] extracting crate osauth 0.2.0 into work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/reg/osauth/0.2.0 [INFO] extracting crate osauth 0.2.0 into work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/reg/osauth/0.2.0 [INFO] validating manifest of osauth-0.2.0 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 osauth-0.2.0 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 osauth-0.2.0 [INFO] finished frobbing osauth-0.2.0 [INFO] frobbed toml for osauth-0.2.0 written to work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/reg/osauth/0.2.0/Cargo.toml [INFO] started frobbing osauth-0.2.0 [INFO] finished frobbing osauth-0.2.0 [INFO] frobbed toml for osauth-0.2.0 written to work/ex/pr-61629/sources/try#e212b7d492c96d3837691ba29d32d5f468933fb8/reg/osauth/0.2.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] [stderr] Blocking waiting for file lock on package cache lock [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+c8865d8e195813ade6b84434ac9f8850e7112d1a-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e212b7d492c96d3837691ba29d32d5f468933fb8-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing osauth-0.2.0 against master#c8865d8e195813ade6b84434ac9f8850e7112d1a for pr-61629 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-4/master#c8865d8e195813ade6b84434ac9f8850e7112d1a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/reg/osauth/0.2.0:/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] 98fee276536a8a1abbad2077b57141185d3d536d89d0b7ab8076e1e72e6778b2 [INFO] running `"docker" "start" "-a" "98fee276536a8a1abbad2077b57141185d3d536d89d0b7ab8076e1e72e6778b2"` [INFO] [stderr] Compiling hyper-tls v0.3.2 [INFO] [stderr] Compiling reqwest v0.9.18 [INFO] [stderr] Compiling osauth v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:39:14 [INFO] [stderr] | [INFO] [stderr] 39 | ) -> Box + Send>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | ) -> Box + Send>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:49:30 [INFO] [stderr] | [INFO] [stderr] 49 | fn refresh(&self) -> Box + Send>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:102:14 [INFO] [stderr] | [INFO] [stderr] 102 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | fn refresh(&self) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:172:32 [INFO] [stderr] | [INFO] [stderr] 172 | fn cause(&self) -> Option<&::std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::error::Error)` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/identity.rs:332:14 [INFO] [stderr] | [INFO] [stderr] 332 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/identity.rs:346:14 [INFO] [stderr] | [INFO] [stderr] 346 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/identity.rs:372:30 [INFO] [stderr] | [INFO] [stderr] 372 | fn refresh(&self) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/protocol.rs:193:19 [INFO] [stderr] | [INFO] [stderr] 193 | auth: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/protocol.rs:260:19 [INFO] [stderr] | [INFO] [stderr] 260 | auth: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/session.rs:48:15 [INFO] [stderr] | [INFO] [stderr] 48 | auth: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/session.rs:68:33 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn auth_type(&self) -> &AuthType { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 18.53s [INFO] running `"docker" "inspect" "98fee276536a8a1abbad2077b57141185d3d536d89d0b7ab8076e1e72e6778b2"` [INFO] running `"docker" "rm" "-f" "98fee276536a8a1abbad2077b57141185d3d536d89d0b7ab8076e1e72e6778b2"` [INFO] [stdout] 98fee276536a8a1abbad2077b57141185d3d536d89d0b7ab8076e1e72e6778b2 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-4/master#c8865d8e195813ade6b84434ac9f8850e7112d1a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/reg/osauth/0.2.0:/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] 6f719f2f9c00e90519cecc26fbe69489d8094b3e915719f94a8ed486d109aa41 [INFO] running `"docker" "start" "-a" "6f719f2f9c00e90519cecc26fbe69489d8094b3e915719f94a8ed486d109aa41"` [INFO] [stderr] Compiling osauth v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:39:14 [INFO] [stderr] | [INFO] [stderr] 39 | ) -> Box + Send>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | ) -> Box + Send>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:49:30 [INFO] [stderr] | [INFO] [stderr] 49 | fn refresh(&self) -> Box + Send>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:93:14 [INFO] [stderr] | [INFO] [stderr] 93 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:102:14 [INFO] [stderr] | [INFO] [stderr] 102 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/auth.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | fn refresh(&self) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:172:32 [INFO] [stderr] | [INFO] [stderr] 172 | fn cause(&self) -> Option<&::std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (::std::error::Error)` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/identity.rs:332:14 [INFO] [stderr] | [INFO] [stderr] 332 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/identity.rs:346:14 [INFO] [stderr] | [INFO] [stderr] 346 | ) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/identity.rs:372:30 [INFO] [stderr] | [INFO] [stderr] 372 | fn refresh(&self) -> Box + Send> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Future + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/protocol.rs:193:19 [INFO] [stderr] | [INFO] [stderr] 193 | auth: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/protocol.rs:260:19 [INFO] [stderr] | [INFO] [stderr] 260 | auth: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/session.rs:48:15 [INFO] [stderr] | [INFO] [stderr] 48 | auth: Arc, [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/session.rs:68:33 [INFO] [stderr] | [INFO] [stderr] 68 | pub fn auth_type(&self) -> &AuthType { [INFO] [stderr] | ^^^^^^^^ help: use `dyn`: `dyn AuthType` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.55s [INFO] running `"docker" "inspect" "6f719f2f9c00e90519cecc26fbe69489d8094b3e915719f94a8ed486d109aa41"` [INFO] running `"docker" "rm" "-f" "6f719f2f9c00e90519cecc26fbe69489d8094b3e915719f94a8ed486d109aa41"` [INFO] [stdout] 6f719f2f9c00e90519cecc26fbe69489d8094b3e915719f94a8ed486d109aa41 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61629/worker-4/master#c8865d8e195813ade6b84434ac9f8850e7112d1a:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61629/sources/master#c8865d8e195813ade6b84434ac9f8850e7112d1a/reg/osauth/0.2.0:/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] 82a817bbc1a352db29e4cc6af7c349ba8af09e79c9021a7fa05e01dfa83e81d5 [INFO] running `"docker" "start" "-a" "82a817bbc1a352db29e4cc6af7c349ba8af09e79c9021a7fa05e01dfa83e81d5"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running /opt/crater/target/debug/deps/osauth-458a7209e6692e8e [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test catalog::test::test_find_endpoint_with_region ... ok [INFO] [stdout] test catalog::test::test_find_endpoint ... ok [INFO] [stdout] test apiversion::test::test_apiversion_serde ... ok [INFO] [stdout] test catalog::test::test_find_endpoint_not_found ... ok [INFO] [stdout] test apiversion::test::test_apiversion_format ... ok [INFO] [stdout] test error::test::test_error_display ... ok [INFO] [stdout] test protocol::test::test_root_into_service_info_one_version_unsupported ... ok [INFO] [stdout] test protocol::test::test_root_into_service_info_one_version ... ok [INFO] [stdout] test protocol::test::test_root_into_service_info_versions_unsupported ... ok [INFO] [stdout] test protocol::test::test_root_into_service_info_versions ... ok [INFO] [stdout] test protocol::test::test_version_current_is_stable ... ok [INFO] [stdout] test protocol::test::test_version_deprecated_is_not_stable ... ok [INFO] [stdout] test protocol::test::test_version_into_service_info ... ok [INFO] [stdout] test protocol::test::test_version_into_service_info_no_self_link ... ok [INFO] [stdout] test protocol::test::test_version_no_status_is_stable ... ok [INFO] [stdout] test protocol::test::test_version_stable_is_stable ... ok [INFO] [stdout] test protocol::test::test_version_supported_is_stable ... ok [INFO] [stdout] test auth::test::test_noauth_new_fail ... ok [INFO] [stdout] test identity::test::test_identity_create ... ok [INFO] [stdout] test identity::test::test_identity_new ... ok [INFO] [stdout] test auth::test::test_noauth_new ... ok [INFO] [stdout] test auth::test::test_noauth_get_endpoint ... ok [INFO] [stdout] test session::test::test_pick_api_version ... ok [INFO] [stdout] test session::test::test_get_major_version_absent ... ok [INFO] [stdout] test session::test::test_pick_api_version_empty ... ok [INFO] [stdout] test session::test::test_pick_api_version_empty_vec ... ok [INFO] [stdout] test identity::test::test_identity_new_invalid ... ok [INFO] [stdout] test session::test::test_pick_api_version_option ... ok [INFO] [stdout] test session::test::test_get_endpoint ... ok [INFO] [stdout] test session::test::test_get_endpoint_slice ... ok [INFO] [stdout] test session::test::test_get_endpoint_vec ... ok [INFO] [stdout] test session::test::test_get_major_version_present ... ok [INFO] [stdout] test session::test::test_pick_api_version_impossible ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests osauth [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/identity.rs - identity::Password (line 97) ... ok [INFO] [stdout] test src/auth.rs - auth::NoAuth (line 60) ... ok [INFO] [stdout] test src/identity.rs - identity::Password (line 82) ... ok [INFO] [stdout] test src/identity.rs - identity::Password (line 115) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "82a817bbc1a352db29e4cc6af7c349ba8af09e79c9021a7fa05e01dfa83e81d5"` [INFO] running `"docker" "rm" "-f" "82a817bbc1a352db29e4cc6af7c349ba8af09e79c9021a7fa05e01dfa83e81d5"` [INFO] [stdout] 82a817bbc1a352db29e4cc6af7c349ba8af09e79c9021a7fa05e01dfa83e81d5