[INFO] fetching crate vulkan-malloc 0.1.5... [INFO] testing vulkan-malloc-0.1.5 against 1.60.0 for beta-1.61-1 [INFO] extracting crate vulkan-malloc 0.1.5 into /workspace/builds/worker-19/source [INFO] validating manifest of crates.io crate vulkan-malloc 0.1.5 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate vulkan-malloc 0.1.5 [INFO] finished tweaking crates.io crate vulkan-malloc 0.1.5 [INFO] tweaked toml for crates.io crate vulkan-malloc 0.1.5 written to /workspace/builds/worker-19/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded option-filter v1.0.2 [INFO] [stderr] Downloaded vks v0.20.0 [INFO] [stderr] Downloaded dacite v0.7.0 [INFO] [stderr] Downloaded array_ext v0.2.0 [INFO] [stderr] Downloaded libloading v0.4.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 49c267fd5e09812570b40bbe568e95b020fd18e4ef87f0e8f138bd415bfe29c9 [INFO] running `Command { std: "docker" "start" "-a" "49c267fd5e09812570b40bbe568e95b020fd18e4ef87f0e8f138bd415bfe29c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "49c267fd5e09812570b40bbe568e95b020fd18e4ef87f0e8f138bd415bfe29c9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49c267fd5e09812570b40bbe568e95b020fd18e4ef87f0e8f138bd415bfe29c9", kill_on_drop: false }` [INFO] [stdout] 49c267fd5e09812570b40bbe568e95b020fd18e4ef87f0e8f138bd415bfe29c9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a64a2a6096b12f958c089008463d74d34987a7cd3dcfe45932153fe87e81d820 [INFO] running `Command { std: "docker" "start" "-a" "a64a2a6096b12f958c089008463d74d34987a7cd3dcfe45932153fe87e81d820", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling vks v0.20.0 [INFO] [stderr] Compiling libloading v0.4.3 [INFO] [stderr] Compiling option-filter v1.0.2 [INFO] [stderr] Compiling array_ext v0.2.0 [INFO] [stderr] Compiling dacite v0.7.0 [INFO] [stderr] Compiling vulkan-malloc v0.1.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lib.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering as MemOrdering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lib.rs:75:54 [INFO] [stdout] | [INFO] [stdout] 75 | has_empty_allocation: Array::from_fn(|_| ATOMIC_BOOL_INIT), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sync_key.rs:42:33 [INFO] [stdout] | [INFO] [stdout] 42 | use std::sync::atomic::{ATOMIC_USIZE_INIT, AtomicUsize, Ordering as MemOrdering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sync_key.rs:43:43 [INFO] [stdout] | [INFO] [stdout] 43 | static NEXT_KEY_ID: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/lib.rs:403:26 [INFO] [stdout] | [INFO] [stdout] 403 | .compare_and_swap(false, true, MemOrdering::SeqCst) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `option_filter::OptionFilterExt` [INFO] [stdout] --> src/allocation.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use option_filter::OptionFilterExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.69s [INFO] running `Command { std: "docker" "inspect" "a64a2a6096b12f958c089008463d74d34987a7cd3dcfe45932153fe87e81d820", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a64a2a6096b12f958c089008463d74d34987a7cd3dcfe45932153fe87e81d820", kill_on_drop: false }` [INFO] [stdout] a64a2a6096b12f958c089008463d74d34987a7cd3dcfe45932153fe87e81d820 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bccf45964a77c4fafb07cb8c638e25b3bdd16c88605d05bd4c670ca71568855b [INFO] running `Command { std: "docker" "start" "-a" "bccf45964a77c4fafb07cb8c638e25b3bdd16c88605d05bd4c670ca71568855b", kill_on_drop: false }` [INFO] [stderr] Compiling vulkan-malloc v0.1.5 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lib.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering as MemOrdering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lib.rs:75:54 [INFO] [stdout] | [INFO] [stdout] 75 | has_empty_allocation: Array::from_fn(|_| ATOMIC_BOOL_INIT), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sync_key.rs:42:33 [INFO] [stdout] | [INFO] [stdout] 42 | use std::sync::atomic::{ATOMIC_USIZE_INIT, AtomicUsize, Ordering as MemOrdering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sync_key.rs:43:43 [INFO] [stdout] | [INFO] [stdout] 43 | static NEXT_KEY_ID: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/lib.rs:403:26 [INFO] [stdout] | [INFO] [stdout] 403 | .compare_and_swap(false, true, MemOrdering::SeqCst) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `option_filter::OptionFilterExt` [INFO] [stdout] --> src/allocation.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use option_filter::OptionFilterExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lib.rs:20:37 [INFO] [stdout] | [INFO] [stdout] 20 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering as MemOrdering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/lib.rs:75:54 [INFO] [stdout] | [INFO] [stdout] 75 | has_empty_allocation: Array::from_fn(|_| ATOMIC_BOOL_INIT), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sync_key.rs:42:33 [INFO] [stdout] | [INFO] [stdout] 42 | use std::sync::atomic::{ATOMIC_USIZE_INIT, AtomicUsize, Ordering as MemOrdering}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/sync_key.rs:43:43 [INFO] [stdout] | [INFO] [stdout] 43 | static NEXT_KEY_ID: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stdout] --> src/lib.rs:403:26 [INFO] [stdout] | [INFO] [stdout] 403 | .compare_and_swap(false, true, MemOrdering::SeqCst) [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `option_filter::OptionFilterExt` [INFO] [stdout] --> src/allocation.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use option_filter::OptionFilterExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.57s [INFO] running `Command { std: "docker" "inspect" "bccf45964a77c4fafb07cb8c638e25b3bdd16c88605d05bd4c670ca71568855b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bccf45964a77c4fafb07cb8c638e25b3bdd16c88605d05bd4c670ca71568855b", kill_on_drop: false }` [INFO] [stdout] bccf45964a77c4fafb07cb8c638e25b3bdd16c88605d05bd4c670ca71568855b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-19/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=warn" "-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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f9af9a2475cdaef2f5891e3c93409cbabf6debbec76e72f10b8fed5760396fc9 [INFO] running `Command { std: "docker" "start" "-a" "f9af9a2475cdaef2f5891e3c93409cbabf6debbec76e72f10b8fed5760396fc9", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/lib.rs:20:37 [INFO] [stderr] | [INFO] [stderr] 20 | use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering as MemOrdering}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/lib.rs:75:54 [INFO] [stderr] | [INFO] [stderr] 75 | has_empty_allocation: Array::from_fn(|_| ATOMIC_BOOL_INIT), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/sync_key.rs:42:33 [INFO] [stderr] | [INFO] [stderr] 42 | use std::sync::atomic::{ATOMIC_USIZE_INIT, AtomicUsize, Ordering as MemOrdering}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated constant `std::sync::atomic::ATOMIC_USIZE_INIT`: the `new` function is now preferred [INFO] [stderr] --> src/sync_key.rs:43:43 [INFO] [stderr] | [INFO] [stderr] 43 | static NEXT_KEY_ID: AtomicUsize = ATOMIC_USIZE_INIT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicUsize::new(0)` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::sync::atomic::AtomicBool::compare_and_swap`: Use `compare_exchange` or `compare_exchange_weak` instead [INFO] [stderr] --> src/lib.rs:403:26 [INFO] [stderr] | [INFO] [stderr] 403 | .compare_and_swap(false, true, MemOrdering::SeqCst) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `option_filter::OptionFilterExt` [INFO] [stderr] --> src/allocation.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use option_filter::OptionFilterExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `vulkan-malloc` (lib) generated 6 warnings [INFO] [stderr] warning: `vulkan-malloc` (lib test) generated 6 warnings (6 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/vulkan_malloc-a27f3fd0a75a9493) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test allocator_send_sync_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests vulkan-malloc [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/lib.rs - Allocator::builder (line 157) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f9af9a2475cdaef2f5891e3c93409cbabf6debbec76e72f10b8fed5760396fc9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9af9a2475cdaef2f5891e3c93409cbabf6debbec76e72f10b8fed5760396fc9", kill_on_drop: false }` [INFO] [stdout] f9af9a2475cdaef2f5891e3c93409cbabf6debbec76e72f10b8fed5760396fc9