[INFO] fetching crate rsa_keygen 1.0.9... [INFO] checking rsa_keygen-1.0.9 against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] extracting crate rsa_keygen 1.0.9 into /workspace/builds/worker-4-tc1/source [INFO] validating manifest of crates.io crate rsa_keygen 1.0.9 on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rsa_keygen 1.0.9 [INFO] finished tweaking crates.io crate rsa_keygen 1.0.9 [INFO] tweaked toml for crates.io crate rsa_keygen 1.0.9 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate crates.io crate rsa_keygen 1.0.9 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 67cf0b6aab92b8903c77fd33354d7184497429099160e6666c421ff188c665fd [INFO] running `Command { std: "docker" "start" "-a" "67cf0b6aab92b8903c77fd33354d7184497429099160e6666c421ff188c665fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "67cf0b6aab92b8903c77fd33354d7184497429099160e6666c421ff188c665fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "67cf0b6aab92b8903c77fd33354d7184497429099160e6666c421ff188c665fd", kill_on_drop: false }` [INFO] [stdout] 67cf0b6aab92b8903c77fd33354d7184497429099160e6666c421ff188c665fd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1f49b84027462dc7a775b7572e92f3ed82d7c56c7caac2c40ebaa7c672d28d0b [INFO] running `Command { std: "docker" "start" "-a" "1f49b84027462dc7a775b7572e92f3ed82d7c56c7caac2c40ebaa7c672d28d0b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.79 [INFO] [stderr] Checking subtle v2.5.0 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Checking getrandom v0.2.14 [INFO] [stderr] Compiling thiserror v1.0.58 [INFO] [stderr] Compiling num-bigint-dig v0.8.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling anyhow v1.0.82 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking arrayref v0.3.7 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.58 [INFO] [stderr] Checking unicode-normalization v0.1.22 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-iter v0.1.44 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking der v0.7.9 [INFO] [stderr] Checking tiny-bip39 v1.0.0 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking pkcs1 v0.7.5 [INFO] [stderr] Checking rsa v0.9.6 [INFO] [stderr] Checking rsa_keygen v1.0.9 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/rsa_keygen.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use std::{fs, io::Read}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/rsa_keygen.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use std::{fs, io::Read}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `priv_key` [INFO] [stdout] --> src/rsa_keygen.rs:206:10 [INFO] [stdout] | [INFO] [stdout] 206 | let (priv_key, pub_key) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priv_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `priv_key1` [INFO] [stdout] --> src/rsa_keygen.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | let (priv_key1, pub_key1) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priv_key1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pub_key` [INFO] [stdout] --> src/rsa_keygen.rs:215:20 [INFO] [stdout] | [INFO] [stdout] 215 | let (priv_key, pub_key) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pub_key1` [INFO] [stdout] --> src/rsa_keygen.rs:216:21 [INFO] [stdout] | [INFO] [stdout] 216 | let (priv_key1, pub_key1) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pub_key1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `priv_key1` [INFO] [stdout] --> src/rsa_keygen.rs:225:10 [INFO] [stdout] | [INFO] [stdout] 225 | let (priv_key1, pub_key1) = keypair_from_private_key(&priv_key); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priv_key1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/rsa_keygen.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use std::{fs, io::Read}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bip39::Mnemonic` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use bip39::Mnemonic; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rsa::signature::Keypair` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rsa::signature::Keypair; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rsa_keygen::keypair_from_seedphrase` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rsa_keygen::keypair_from_seedphrase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rsa_keygen::pkcs8_pem_from_pub_key` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rsa_keygen::pkcs8_pem_from_pub_key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `io::Read` [INFO] [stdout] --> src/rsa_keygen.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use std::{fs, io::Read}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bip39::Mnemonic` [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use bip39::Mnemonic; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rsa::signature::Keypair` [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use rsa::signature::Keypair; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rsa_keygen::keypair_from_seedphrase` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use rsa_keygen::keypair_from_seedphrase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rsa_keygen::pkcs8_pem_from_pub_key` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rsa_keygen::pkcs8_pem_from_pub_key; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `priv_key` [INFO] [stdout] --> src/rsa_keygen.rs:206:10 [INFO] [stdout] | [INFO] [stdout] 206 | let (priv_key, pub_key) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priv_key` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `priv_key1` [INFO] [stdout] --> src/rsa_keygen.rs:207:10 [INFO] [stdout] | [INFO] [stdout] 207 | let (priv_key1, pub_key1) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priv_key1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pub_key` [INFO] [stdout] --> src/rsa_keygen.rs:215:20 [INFO] [stdout] | [INFO] [stdout] 215 | let (priv_key, pub_key) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pub_key1` [INFO] [stdout] --> src/rsa_keygen.rs:216:21 [INFO] [stdout] | [INFO] [stdout] 216 | let (priv_key1, pub_key1) = keypair_from_seedphrase(&seedphrase).unwrap(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pub_key1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `priv_key1` [INFO] [stdout] --> src/rsa_keygen.rs:225:10 [INFO] [stdout] | [INFO] [stdout] 225 | let (priv_key1, pub_key1) = keypair_from_private_key(&priv_key); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priv_key1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zerorized` [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let zerorized = Zeroizing::new(sp); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zerorized` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pub_key` [INFO] [stdout] --> src/main.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | let (priv_key, pub_key) = keypair; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pem_key` [INFO] [stdout] --> src/main.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let pem_key = pkcs8_pem_from_priv_key(&priv_key).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pem_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pkcs1_pem_from_priv_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pkcs1_pem_from_priv_key(priv_key: &RsaPrivateKey) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pkcs1_pem_from_pub_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn pkcs1_pem_from_pub_key(pub_key: &RsaPublicKey) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pkcs8_pem_from_pub_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn pkcs8_pem_from_pub_key(pub_key: &RsaPublicKey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `store_in_file` is never used [INFO] [stdout] --> src/rsa_keygen.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn store_in_file(keypair: Keypair, seedphrase: &mut Zeroizing, filename: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `zerorized` [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let zerorized = Zeroizing::new(sp); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zerorized` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pub_key` [INFO] [stdout] --> src/main.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | let (priv_key, pub_key) = keypair; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pub_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pem_key` [INFO] [stdout] --> src/main.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | let pem_key = pkcs8_pem_from_priv_key(&priv_key).unwrap(); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pem_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `keypair_from_private_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn keypair_from_private_key(priv_key: &RsaPrivateKey) -> (RsaPrivateKey, RsaPublicKey) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pkcs1_pem_from_priv_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:118:8 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn pkcs1_pem_from_priv_key(priv_key: &RsaPrivateKey) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pkcs1_pem_from_pub_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | pub fn pkcs1_pem_from_pub_key(pub_key: &RsaPublicKey) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pkcs8_pem_from_pub_key` is never used [INFO] [stdout] --> src/rsa_keygen.rs:166:8 [INFO] [stdout] | [INFO] [stdout] 166 | pub fn pkcs8_pem_from_pub_key(pub_key: &RsaPublicKey) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `store_in_file` is never used [INFO] [stdout] --> src/rsa_keygen.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn store_in_file(keypair: Keypair, seedphrase: &mut Zeroizing, filename: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.83s [INFO] running `Command { std: "docker" "inspect" "1f49b84027462dc7a775b7572e92f3ed82d7c56c7caac2c40ebaa7c672d28d0b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f49b84027462dc7a775b7572e92f3ed82d7c56c7caac2c40ebaa7c672d28d0b", kill_on_drop: false }` [INFO] [stdout] 1f49b84027462dc7a775b7572e92f3ed82d7c56c7caac2c40ebaa7c672d28d0b