[INFO] cloning repository https://github.com/guilgaly/advent-of-code-2021 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/guilgaly/advent-of-code-2021" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguilgaly%2Fadvent-of-code-2021", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguilgaly%2Fadvent-of-code-2021'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9b4b1613a16bbf730d840fd70dbbad0743378ec9 [INFO] checking guilgaly/advent-of-code-2021 against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fguilgaly%2Fadvent-of-code-2021" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/guilgaly/advent-of-code-2021 on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/guilgaly/advent-of-code-2021 [INFO] finished tweaking git repo https://github.com/guilgaly/advent-of-code-2021 [INFO] tweaked toml for git repo https://github.com/guilgaly/advent-of-code-2021 written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/guilgaly/advent-of-code-2021 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" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ce3343fe1700ab2e88ec928c2a1f1d5edbb3baafbb5c60e8828b9355fd5ce97e [INFO] running `Command { std: "docker" "start" "-a" "ce3343fe1700ab2e88ec928c2a1f1d5edbb3baafbb5c60e8828b9355fd5ce97e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ce3343fe1700ab2e88ec928c2a1f1d5edbb3baafbb5c60e8828b9355fd5ce97e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce3343fe1700ab2e88ec928c2a1f1d5edbb3baafbb5c60e8828b9355fd5ce97e", kill_on_drop: false }` [INFO] [stdout] ce3343fe1700ab2e88ec928c2a1f1d5edbb3baafbb5c60e8828b9355fd5ce97e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c6dfd5fd80cda11f1051df870506bf88e4e3f674b199f5a72dcded6f8ffe1a13 [INFO] running `Command { std: "docker" "start" "-a" "c6dfd5fd80cda11f1051df870506bf88e4e3f674b199f5a72dcded6f8ffe1a13", kill_on_drop: false }` [INFO] [stderr] Compiling radium v0.6.2 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking funty v1.2.0 [INFO] [stderr] Checking itertools v0.10.1 [INFO] [stderr] Checking wyz v0.4.0 [INFO] [stderr] Checking bitvec v0.22.3 [INFO] [stderr] Checking common v0.1.0 (/opt/rustwide/workdir/common) [INFO] [stderr] Checking day_4 v0.1.0 (/opt/rustwide/workdir/day_4) [INFO] [stderr] Checking day_2 v0.1.0 (/opt/rustwide/workdir/day_2) [INFO] [stderr] Checking day_6 v0.1.0 (/opt/rustwide/workdir/day_6) [INFO] [stderr] Checking day_9 v0.1.0 (/opt/rustwide/workdir/day_9) [INFO] [stderr] Checking day_13 v0.1.0 (/opt/rustwide/workdir/day_13) [INFO] [stderr] Checking day_1 v0.1.0 (/opt/rustwide/workdir/day_1) [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> day_4/src/main.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day_12 v0.1.0 (/opt/rustwide/workdir/day_12) [INFO] [stdout] warning: struct `Coord` is never constructed [INFO] [stdout] --> day_9/src/main.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct Coord { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_neighbor` is never used [INFO] [stdout] --> day_9/src/main.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Coord { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 79 | fn is_neighbor(&self, other: &Coord) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> day_9/src/main.rs:37:31 [INFO] [stdout] | [INFO] [stdout] 37 | for risk_level in heights_map.low_point_risk_level(x, y) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(risk_level) = heights_map.low_point_risk_level(x, y) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(risk_level) = heights_map.low_point_risk_level(x, y) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day_10 v0.1.0 (/opt/rustwide/workdir/day_10) [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day_11 v0.1.0 (/opt/rustwide/workdir/day_11) [INFO] [stdout] warning: unused imports: `BinaryHeap`, `VecDeque` [INFO] [stdout] --> day_10/src/main.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::{BinaryHeap, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> day_10/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> day_13/src/main.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 41 | write!(target_string, "#"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> day_13/src/main.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | write!(target_string, " "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> day_13/src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | writeln!(target_string, ""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinaryHeap`, `VecDeque` [INFO] [stdout] --> day_10/src/main.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::{BinaryHeap, VecDeque}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> day_10/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day_7 v0.1.0 (/opt/rustwide/workdir/day_7) [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking day_8 v0.1.0 (/opt/rustwide/workdir/day_8) [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found `}` [INFO] [stdout] --> day_8/src/main.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | let digits [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 53 | [INFO] [stdout] 54 | } [INFO] [stdout] | - unexpected token [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Segment` [INFO] [stdout] --> day_8/src/main.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::signals::{Segment, SignalPattern}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::lazy_static::lazy_static` [INFO] [stdout] --> day_8/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use common::lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::regex::Regex` [INFO] [stdout] --> day_8/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use common::regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> day_8/src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> day_8/src/main.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let digits [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider giving `digits` an explicit type [INFO] [stdout] | [INFO] [stdout] 52 | let digits: /* Type */ [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> day_13/src/main.rs:41:17 [INFO] [stdout] | [INFO] [stdout] 41 | write!(target_string, "#"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> day_13/src/main.rs:43:17 [INFO] [stdout] | [INFO] [stdout] 43 | write!(target_string, " "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> day_13/src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | writeln!(target_string, ""); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;`, found `}` [INFO] [stdout] --> day_8/src/main.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | let digits [INFO] [stdout] | ^ help: add `;` here [INFO] [stdout] 53 | [INFO] [stdout] 54 | } [INFO] [stdout] | - unexpected token [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `day_8` (bin "day_8") due to 3 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Segment` [INFO] [stdout] --> day_8/src/main.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::signals::{Segment, SignalPattern}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::lazy_static::lazy_static` [INFO] [stdout] --> day_8/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use common::lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::regex::Regex` [INFO] [stdout] --> day_8/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use common::regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashSet` [INFO] [stdout] --> day_8/src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashSet; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> day_8/src/main.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> day_8/src/main.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let digits [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: consider giving `digits` an explicit type [INFO] [stdout] | [INFO] [stdout] 52 | let digits: /* Type */ [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `day_8` (bin "day_8" test) due to 3 previous errors; 5 warnings emitted [INFO] [stdout] warning: struct `Coord` is never constructed [INFO] [stdout] --> day_9/src/main.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | struct Coord { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_neighbor` is never used [INFO] [stdout] --> day_9/src/main.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Coord { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 79 | fn is_neighbor(&self, other: &Coord) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> day_9/src/main.rs:37:31 [INFO] [stdout] | [INFO] [stdout] 37 | for risk_level in heights_map.low_point_risk_level(x, y) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 37 | while let Some(risk_level) = heights_map.low_point_risk_level(x, y) { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(risk_level) = heights_map.low_point_risk_level(x, y) { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c6dfd5fd80cda11f1051df870506bf88e4e3f674b199f5a72dcded6f8ffe1a13", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6dfd5fd80cda11f1051df870506bf88e4e3f674b199f5a72dcded6f8ffe1a13", kill_on_drop: false }` [INFO] [stdout] c6dfd5fd80cda11f1051df870506bf88e4e3f674b199f5a72dcded6f8ffe1a13