[INFO] fetching crate reductive 0.9.0... [INFO] testing reductive-0.9.0 against try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] extracting crate reductive 0.9.0 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate reductive 0.9.0 [INFO] finished tweaking crates.io crate reductive 0.9.0 [INFO] tweaked toml for crates.io crate reductive 0.9.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate reductive 0.9.0 on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 157 packages to latest compatible versions [INFO] [stderr] Adding anyhow v1.0.48 (available: v1.0.100) [INFO] [stderr] Adding criterion v0.3.6 (available: v0.7.0) [INFO] [stderr] Adding lax v0.2.0 (available: v0.17.0) [INFO] [stderr] Adding ndarray v0.15.6 (available: v0.16.1) [INFO] [stderr] Adding ndarray-linalg v0.14.1 (available: v0.17.0) [INFO] [stderr] Adding openblas-build v0.10.5 (available: v0.10.13) [INFO] [stderr] Adding openblas-src v0.10.5 (available: v0.10.13) [INFO] [stderr] Adding ordered-float v2.10.1 (available: v5.1.0) [INFO] [stderr] Adding rand v0.8.5 (available: v0.9.2) [INFO] [stderr] Adding rand_chacha v0.3.1 (available: v0.9.0) [INFO] [stderr] Adding rand_core v0.6.4 (available: v0.9.3) [INFO] [stderr] Adding rand_distr v0.4.3 (available: v0.5.1) [INFO] [stderr] Adding rand_xorshift v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.17) [INFO] [stderr] Adding zstd-sys v1.4.18+zstd.1.4.7 (available: v1.6.3+zstd.1.5.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 04bbe0a11ae29109c08d24faa358e8b7ce119126addce1e568a339582bbc8560 [INFO] running `Command { std: "docker" "start" "-a" "04bbe0a11ae29109c08d24faa358e8b7ce119126addce1e568a339582bbc8560", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "04bbe0a11ae29109c08d24faa358e8b7ce119126addce1e568a339582bbc8560", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04bbe0a11ae29109c08d24faa358e8b7ce119126addce1e568a339582bbc8560", kill_on_drop: false }` [INFO] [stdout] 04bbe0a11ae29109c08d24faa358e8b7ce119126addce1e568a339582bbc8560 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c603017454d7cc37b690eaf1748936c1c4f3000686dc8f67502f23b6bc545dca [INFO] running `Command { std: "docker" "start" "-a" "c603017454d7cc37b690eaf1748936c1c4f3000686dc8f67502f23b6bc545dca", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling rand_xorshift v0.3.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling approx v0.4.0 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling ordered-float v2.10.1 [INFO] [stderr] Compiling ndarray v0.15.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling reductive v0.9.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pq/pq.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn projection(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn projection(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pq/pq.rs:191:26 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn subquantizers(&self) -> ArrayView3 { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn subquantizers(&self) -> ArrayView3<'_, A> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.14s [INFO] running `Command { std: "docker" "inspect" "c603017454d7cc37b690eaf1748936c1c4f3000686dc8f67502f23b6bc545dca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c603017454d7cc37b690eaf1748936c1c4f3000686dc8f67502f23b6bc545dca", kill_on_drop: false }` [INFO] [stdout] c603017454d7cc37b690eaf1748936c1c4f3000686dc8f67502f23b6bc545dca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f6371d66091c63e2315437b99bda36e82f3150dc7a40c3581eda7751cd4c5d7b [INFO] running `Command { std: "docker" "start" "-a" "f6371d66091c63e2315437b99bda36e82f3150dc7a40c3581eda7751cd4c5d7b", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling csv-core v0.1.12 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling half v1.8.3 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling rand_distr v0.4.3 [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pq/pq.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn projection(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn projection(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pq/pq.rs:191:26 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn subquantizers(&self) -> ArrayView3 { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn subquantizers(&self) -> ArrayView3<'_, A> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling serde_cbor v0.11.2 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling criterion-plot v0.4.5 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling criterion v0.3.6 [INFO] [stderr] Compiling reductive v0.9.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pq/pq.rs:108:23 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn projection(&self) -> Option> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 108 | pub fn projection(&self) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pq/pq.rs:191:26 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn subquantizers(&self) -> ArrayView3 { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 191 | pub fn subquantizers(&self) -> ArrayView3<'_, A> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 20.54s [INFO] running `Command { std: "docker" "inspect" "f6371d66091c63e2315437b99bda36e82f3150dc7a40c3581eda7751cd4c5d7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f6371d66091c63e2315437b99bda36e82f3150dc7a40c3581eda7751cd4c5d7b", kill_on_drop: false }` [INFO] [stdout] f6371d66091c63e2315437b99bda36e82f3150dc7a40c3581eda7751cd4c5d7b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b23a95d49bdab3fcf08c6ac787ffa8b5d0ee8c8cf9e58e634f80725bf7c64df4 [INFO] running `Command { std: "docker" "start" "-a" "b23a95d49bdab3fcf08c6ac787ffa8b5d0ee8c8cf9e58e634f80725bf7c64df4", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/pq/pq.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | pub fn projection(&self) -> Option> { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 108 | pub fn projection(&self) -> Option> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/pq/pq.rs:191:26 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn subquantizers(&self) -> ArrayView3 { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 191 | pub fn subquantizers(&self) -> ArrayView3<'_, A> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `reductive` (lib) generated 2 warnings (run `cargo fix --lib -p reductive` to apply 2 suggestions) [INFO] [stderr] warning: `reductive` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/reductive-d0508d866c750d60) [INFO] [stdout] running 21 tests [INFO] [stdout] test kmeans::tests::correct_mean_squared_error ... ok [INFO] [stdout] test kmeans::tests::correct_cluster_assignments ... ok [INFO] [stdout] test linalg::tests::euclidean_distance_ix2_ix2 ... ok [INFO] [stdout] test linalg::tests::squared_euclidean_distance_ix1_ix1 ... ok [INFO] [stdout] test linalg::tests::squared_euclidean_distances_ix1_ix2 ... ok [INFO] [stdout] test linalg::tests::squared_euclidean_distances_ix2_ix2 ... ok [INFO] [stdout] test pq::pq::tests::quantize_batch_with_predefined_codebook ... ok [INFO] [stdout] test pq::pq::tests::reconstruct_with_predefined_codebook ... ok [INFO] [stdout] test pq::pq::tests::quantize_with_type ... ok [INFO] [stdout] test linalg::tests::covariance ... ok [INFO] [stdout] test pq::pq::tests::quantizer_lens ... ok [INFO] [stdout] test pq::pq::tests::quantize_with_predefined_codebook ... ok [INFO] [stdout] test kmeans::tests::k_means_3_axis1 ... ok [INFO] [stdout] test kmeans::tests::k_means_3 ... ok [INFO] [stdout] test linalg::tests::euclidean_distance_ix1_ix2 ... ok [INFO] [stdout] test linalg::tests::euclidean_distance_ix1_ix1 ... ok [INFO] [stdout] test ndarray_rand::tests::test_dim ... ok [INFO] [stdout] test pq::pq::tests::reconstruct_batch_with_predefined_codebook ... ok [INFO] [stdout] test pq::pq::tests::quantize_with_too_narrow_type - should panic ... ok [INFO] [stdout] test kmeans::tests::correct_update_centroids ... ok [INFO] [stdout] test pq::pq::tests::quantize_with_pq ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.06s [INFO] [stdout] [INFO] [stderr] Doc-tests reductive [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; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b23a95d49bdab3fcf08c6ac787ffa8b5d0ee8c8cf9e58e634f80725bf7c64df4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b23a95d49bdab3fcf08c6ac787ffa8b5d0ee8c8cf9e58e634f80725bf7c64df4", kill_on_drop: false }` [INFO] [stdout] b23a95d49bdab3fcf08c6ac787ffa8b5d0ee8c8cf9e58e634f80725bf7c64df4