[INFO] cloning repository https://github.com/pschichtel/adventofcode-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pschichtel/adventofcode-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpschichtel%2Fadventofcode-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpschichtel%2Fadventofcode-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 84ad4b9b7162213bef98847e8391ae82247961dc [INFO] testing pschichtel/adventofcode-rs against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpschichtel%2Fadventofcode-rs" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/pschichtel/adventofcode-rs [INFO] finished tweaking git repo https://github.com/pschichtel/adventofcode-rs [INFO] tweaked toml for git repo https://github.com/pschichtel/adventofcode-rs written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pschichtel/adventofcode-rs on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/pschichtel/adventofcode-rs 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d5dcd6d58b6f4bed6aa02ee0e366b02b4d1d1056db6e7b75d6175bd43d766990 [INFO] running `Command { std: "docker" "start" "-a" "d5dcd6d58b6f4bed6aa02ee0e366b02b4d1d1056db6e7b75d6175bd43d766990", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d5dcd6d58b6f4bed6aa02ee0e366b02b4d1d1056db6e7b75d6175bd43d766990", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5dcd6d58b6f4bed6aa02ee0e366b02b4d1d1056db6e7b75d6175bd43d766990", kill_on_drop: false }` [INFO] [stdout] d5dcd6d58b6f4bed6aa02ee0e366b02b4d1d1056db6e7b75d6175bd43d766990 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 6f3d12fb6f6a972a1d27febd6d577dc86fb6b04e53291226f60d40a2c06d5d08 [INFO] running `Command { std: "docker" "start" "-a" "6f3d12fb6f6a972a1d27febd6d577dc86fb6b04e53291226f60d40a2c06d5d08", kill_on_drop: false }` [INFO] [stderr] Compiling nom v7.1.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling adventofcode-rs v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `parse_number` is never used [INFO] [stdout] --> src/helpers.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn parse_number(input: &str, radix: u32) -> IResult<&str, i32> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_decimal_number` is never used [INFO] [stdout] --> src/helpers.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn parse_decimal_number(input: &str) -> IResult<&str, i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_binary_number` is never used [INFO] [stdout] --> src/helpers.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn parse_binary_number(input: &str) -> IResult<&str, i32> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_lines` is never used [INFO] [stdout] --> src/helpers.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn parse_lines<'a, F, O, E>( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INPUT` is never used [INFO] [stdout] --> src/year2021/day01.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const INPUT: &str = include_str!("inputs/day01.txt"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/year2021/day01.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_raises` is never used [INFO] [stdout] --> src/year2021/day01.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn count_raises(input: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INPUT` is never used [INFO] [stdout] --> src/year2021/day02.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const INPUT: &str = include_str!("inputs/day02.txt"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXAMPLE_INPUT` is never used [INFO] [stdout] --> src/year2021/day02.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const EXAMPLE_INPUT: &str = include_str!("inputs/day02_example.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instr` is never used [INFO] [stdout] --> src/year2021/day02.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | enum Instr { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_forward` is never used [INFO] [stdout] --> src/year2021/day02.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn parse_forward(input: &str) -> IResult<&str, Instr> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_up` is never used [INFO] [stdout] --> src/year2021/day02.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn parse_up(input: &str) -> IResult<&str, Instr> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_down` is never used [INFO] [stdout] --> src/year2021/day02.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn parse_down(input: &str) -> IResult<&str, Instr> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_instr` is never used [INFO] [stdout] --> src/year2021/day02.rs:30:4 [INFO] [stdout] | [INFO] [stdout] 30 | fn parse_instr(input: &str) -> IResult<&str, Instr> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/year2021/day02.rs:34:4 [INFO] [stdout] | [INFO] [stdout] 34 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `simple_interpretation` is never used [INFO] [stdout] --> src/year2021/day02.rs:38:4 [INFO] [stdout] | [INFO] [stdout] 38 | fn simple_interpretation(instructions: &Vec) -> (i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `complex_interpretation` is never used [INFO] [stdout] --> src/year2021/day02.rs:48:4 [INFO] [stdout] | [INFO] [stdout] 48 | fn complex_interpretation(instructions: &Vec) -> (i32, i32, i32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INPUT` is never used [INFO] [stdout] --> src/year2021/day03.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const INPUT: &str = include_str!("inputs/day03.txt"); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXAMPLE_INPUT` is never used [INFO] [stdout] --> src/year2021/day03.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const EXAMPLE_INPUT: &str = include_str!("inputs/day03_example.txt"); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bits` is never used [INFO] [stdout] --> src/year2021/day03.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn parse_bits(input: &str) -> IResult<&str, u32> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_input` is never used [INFO] [stdout] --> src/year2021/day03.rs:11:4 [INFO] [stdout] | [INFO] [stdout] 11 | fn parse_input(input: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_ones_per_bit` is never used [INFO] [stdout] --> src/year2021/day03.rs:15:4 [INFO] [stdout] | [INFO] [stdout] 15 | fn count_ones_per_bit(input: &Vec, bits: usize) -> (Vec, Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_gamma_rate` is never used [INFO] [stdout] --> src/year2021/day03.rs:36:4 [INFO] [stdout] | [INFO] [stdout] 36 | fn calculate_gamma_rate(input: &Vec, ones: &Vec, bits: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_epsilon_rate` is never used [INFO] [stdout] --> src/year2021/day03.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn calculate_epsilon_rate(gamma_rate: u32, bits: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sieve_numbers_by_bit` is never used [INFO] [stdout] --> src/year2021/day03.rs:51:4 [INFO] [stdout] | [INFO] [stdout] 51 | fn sieve_numbers_by_bit(input: &Vec, bits: usize, filter: impl Fn(u32, u32) -> bool) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_oxygen_generator_rating` is never used [INFO] [stdout] --> src/year2021/day03.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn calculate_oxygen_generator_rating(input: &Vec, bits: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_co2_scrubber_rating` is never used [INFO] [stdout] --> src/year2021/day03.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn calculate_co2_scrubber_rating(input: &Vec, bits: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_power_consumption` is never used [INFO] [stdout] --> src/year2021/day03.rs:82:4 [INFO] [stdout] | [INFO] [stdout] 82 | fn calculate_power_consumption(input: &Vec, bits: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_life_support_rating` is never used [INFO] [stdout] --> src/year2021/day03.rs:89:4 [INFO] [stdout] | [INFO] [stdout] 89 | fn calculate_life_support_rating(input: &Vec, bits: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.97s [INFO] running `Command { std: "docker" "inspect" "6f3d12fb6f6a972a1d27febd6d577dc86fb6b04e53291226f60d40a2c06d5d08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f3d12fb6f6a972a1d27febd6d577dc86fb6b04e53291226f60d40a2c06d5d08", kill_on_drop: false }` [INFO] [stdout] 6f3d12fb6f6a972a1d27febd6d577dc86fb6b04e53291226f60d40a2c06d5d08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] e37457efe16a197c05c6a5a70ed033629443f70ef91c412bb328838236642773 [INFO] running `Command { std: "docker" "start" "-a" "e37457efe16a197c05c6a5a70ed033629443f70ef91c412bb328838236642773", kill_on_drop: false }` [INFO] [stderr] Compiling adventofcode-rs v1.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.85s [INFO] running `Command { std: "docker" "inspect" "e37457efe16a197c05c6a5a70ed033629443f70ef91c412bb328838236642773", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e37457efe16a197c05c6a5a70ed033629443f70ef91c412bb328838236642773", kill_on_drop: false }` [INFO] [stdout] e37457efe16a197c05c6a5a70ed033629443f70ef91c412bb328838236642773 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 5f0dd80a4ed038d5f01f54d09f4cf4da1ad6f16829aa5c7bb621fbe9d4af3957 [INFO] running `Command { std: "docker" "start" "-a" "5f0dd80a4ed038d5f01f54d09f4cf4da1ad6f16829aa5c7bb621fbe9d4af3957", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/adventofcode_rs-b04053e8c8008dc6) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test year2021::day02::example_part1 ... ok [INFO] [stdout] test year2021::day02::example_part2 ... ok [INFO] [stdout] test year2021::day03::part1_example ... ok [INFO] [stdout] test year2021::day01::part1 ... ok [INFO] [stdout] test year2021::day02::part1 ... ok [INFO] [stdout] test year2021::day02::part2 ... ok [INFO] [stdout] test year2021::day01::part2 ... ok [INFO] [stdout] test year2021::day03::part1 ... ok [INFO] [stdout] test year2021::day03::part2 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5f0dd80a4ed038d5f01f54d09f4cf4da1ad6f16829aa5c7bb621fbe9d4af3957", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f0dd80a4ed038d5f01f54d09f4cf4da1ad6f16829aa5c7bb621fbe9d4af3957", kill_on_drop: false }` [INFO] [stdout] 5f0dd80a4ed038d5f01f54d09f4cf4da1ad6f16829aa5c7bb621fbe9d4af3957