[INFO] cloning repository https://github.com/foudfou/cryptopals [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/foudfou/cryptopals" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffoudfou%2Fcryptopals", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffoudfou%2Fcryptopals'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ef8ee2b2c038af542efbe39abf713289897ffab5 [INFO] testing foudfou/cryptopals against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffoudfou%2Fcryptopals" "/workspace/builds/worker-119/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-119/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/foudfou/cryptopals 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 git repo https://github.com/foudfou/cryptopals [INFO] finished tweaking git repo https://github.com/foudfou/cryptopals [INFO] tweaked toml for git repo https://github.com/foudfou/cryptopals written to /workspace/builds/worker-119/source/Cargo.toml [INFO] crate git repo https://github.com/foudfou/cryptopals already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", 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] Downloading crates ... [INFO] [stderr] Downloaded rug v1.6.0 [INFO] [stderr] Downloaded gmp-mpfr-sys v1.1.14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/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] 99b1b37c3be0c93e95beccb0d7ad4bc6b191ac7af490b3349ca24ebeffff8cff [INFO] running `Command { std: "docker" "start" "-a" "99b1b37c3be0c93e95beccb0d7ad4bc6b191ac7af490b3349ca24ebeffff8cff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "99b1b37c3be0c93e95beccb0d7ad4bc6b191ac7af490b3349ca24ebeffff8cff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "99b1b37c3be0c93e95beccb0d7ad4bc6b191ac7af490b3349ca24ebeffff8cff", kill_on_drop: false }` [INFO] [stdout] 99b1b37c3be0c93e95beccb0d7ad4bc6b191ac7af490b3349ca24ebeffff8cff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/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] 5cfc408524b5b277ec3c0bb8d3789b1dab9d8df8558979ddf01cd6431d9e9e56 [INFO] running `Command { std: "docker" "start" "-a" "5cfc408524b5b277ec3c0bb8d3789b1dab9d8df8558979ddf01cd6431d9e9e56", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling getrandom v0.1.13 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling cc v1.0.48 [INFO] [stderr] Compiling ppv-lite86 v0.2.6 [INFO] [stderr] Compiling rug v1.6.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.26 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling c2-chacha v0.2.3 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling openssl-sys v0.9.53 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling dirs-sys v0.3.4 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling dirs v2.0.2 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.1 [INFO] [stderr] Compiling gmp-mpfr-sys v1.1.14 [INFO] [stderr] Compiling rand v0.7.2 [INFO] [stderr] Compiling chrono v0.4.10 [INFO] [stderr] Compiling cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/main.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | Err(f) => panic!(f.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 32 | Err(f) => panic!("{}", f.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3m 21s [INFO] running `Command { std: "docker" "inspect" "5cfc408524b5b277ec3c0bb8d3789b1dab9d8df8558979ddf01cd6431d9e9e56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5cfc408524b5b277ec3c0bb8d3789b1dab9d8df8558979ddf01cd6431d9e9e56", kill_on_drop: false }` [INFO] [stdout] 5cfc408524b5b277ec3c0bb8d3789b1dab9d8df8558979ddf01cd6431d9e9e56 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/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] cf7792c6714a25bc5e0ebab11476bc97fb77d2699eee612d895ef58beabdca60 [INFO] running `Command { std: "docker" "start" "-a" "cf7792c6714a25bc5e0ebab11476bc97fb77d2699eee612d895ef58beabdca60", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling cryptopals v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/main.rs:32:26 [INFO] [stdout] | [INFO] [stdout] 32 | Err(f) => panic!(f.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to Display the message [INFO] [stdout] | [INFO] [stdout] 32 | Err(f) => panic!("{}", f.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/rng.rs:163:9 [INFO] [stdout] | [INFO] [stdout] 163 | (((mask << beg) >> (32 - len)) & (u >> (32 - beg - len))) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 163 - (((mask << beg) >> (32 - len)) & (u >> (32 - beg - len))) [INFO] [stdout] 163 + ((mask << beg) >> (32 - len)) & (u >> (32 - beg - len)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/set4/chall31.rs:70:10 [INFO] [stdout] | [INFO] [stdout] 70 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 57.58s [INFO] running `Command { std: "docker" "inspect" "cf7792c6714a25bc5e0ebab11476bc97fb77d2699eee612d895ef58beabdca60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf7792c6714a25bc5e0ebab11476bc97fb77d2699eee612d895ef58beabdca60", kill_on_drop: false }` [INFO] [stdout] cf7792c6714a25bc5e0ebab11476bc97fb77d2699eee612d895ef58beabdca60 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-119/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] 6d32870a345eac41204dc44bb70d5331d17ec013563fd1ab5f8a06014cb1bb1a [INFO] running `Command { std: "docker" "start" "-a" "6d32870a345eac41204dc44bb70d5331d17ec013563fd1ab5f8a06014cb1bb1a", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/rng.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | (((mask << beg) >> (32 - len)) & (u >> (32 - beg - len))) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 163 - (((mask << beg) >> (32 - len)) & (u >> (32 - beg - len))) [INFO] [stderr] 163 + ((mask << beg) >> (32 - len)) & (u >> (32 - beg - len)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/set4/chall31.rs:70:10 [INFO] [stderr] | [INFO] [stderr] 70 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `cryptopals` (lib test) generated 2 warnings [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/main.rs:32:26 [INFO] [stderr] | [INFO] [stderr] 32 | Err(f) => panic!(f.to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: add a "{}" format string to Display the message [INFO] [stderr] | [INFO] [stderr] 32 | Err(f) => panic!("{}", f.to_string()), [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `cryptopals` (bin "cryptopals" test) generated 1 warning [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/cryptopals-336ba988e04ee608) [INFO] [stdout] [INFO] [stdout] running 70 tests [INFO] [stdout] test aes::tests::test_detect_ecb ... ok [INFO] [stdout] test b64::tests::test_encode ... ok [INFO] [stdout] test b64::tests::test_hex2base64 ... ok [INFO] [stdout] test b64::tests::test_decode ... ok [INFO] [stdout] test b64::tests::test_hex2bytes_fail ... ok [INFO] [stdout] test b64::tests::test_hex2bytes_success ... ok [INFO] [stdout] test md4::tests::test_md4_collision ... ok [INFO] [stdout] test md4::tests::test_md_padding ... ok [INFO] [stdout] test md4::tests::test_md4 ... ok [INFO] [stdout] test pkcs::tests::test_pkcs7_pad ... ok [INFO] [stdout] test hmac::tests::test_hmac ... ok [INFO] [stdout] test pkcs::tests::test_pkcs7_unpad ... ok [INFO] [stdout] test pkcs::tests::test_pkcs7_unpad_fail ... ok [INFO] [stdout] test pkcs::tests::test_pkcs7_unpad_2 ... ok [INFO] [stdout] test pkcs::tests::test_pkcs7_unpad_fail_2 ... ok [INFO] [stdout] test pkcs::tests::test_pkcs7_unpad_fail_3 ... ok [INFO] [stdout] test aes::tests::test_aes_128_ecb_decrypt ... ok [INFO] [stdout] test aes::tests::test_encrypt_cbc_sample ... ok [INFO] [stdout] test aes::tests::test_aes_128_ctr_encrypt ... ok [INFO] [stdout] test par::tests::test_thread_pool ... ok [INFO] [stdout] test rng::tests::test_crack_password_reset_token ... ok [INFO] [stdout] test aes::tests::test_decrypt_cbc_sample ... ok [INFO] [stdout] test rng::tests::test_get_bits ... ok [INFO] [stdout] test rng::tests::test_clone_mt19937 ... ok [INFO] [stdout] test rng::tests::test_reverse_lshift_and_xor ... ok [INFO] [stdout] test rng::tests::test_reverse_rshift_xor ... ok [INFO] [stdout] test rng::tests::test_stream_cipher ... ok [INFO] [stdout] test set2::chall12::tests::test_aes_128_cbc_encrypt ... ok [INFO] [stdout] test rng::tests::test_untemper ... ok [INFO] [stdout] test rng::tests::test_mt19937 ... ok [INFO] [stdout] test set2::chall13::tests::test_kv_parse ... ok [INFO] [stdout] test aes::tests::test_crack_ctr_random_access ... ok [INFO] [stdout] test set2::chall13::tests::test_profile_for_plain ... ok [INFO] [stdout] test set2::chall13::tests::test_profile_oracle ... ok [INFO] [stdout] test set2::chall12::tests::test_aes_rand_detect ... ok [INFO] [stdout] test set2::chall16::tests::test_cbc_bitflip ... ok [INFO] [stdout] test set2::chall17::tests::test_blk_size ... ok [INFO] [stdout] test aes::tests::test_detect_ecb_sample ... ok [INFO] [stdout] test set2::chall16::tests::test_detect_prefix_size ... ok [INFO] [stdout] test set4::chall31::tests::test_hmac_sha1_timing_attack_artificial ... ignored [INFO] [stdout] test set4::chall30::tests::test_md4_beak_keyed_mac_using_length_extension ... ok [INFO] [stdout] test rng::tests::test_crack_stream_cipher ... ok [INFO] [stdout] test set4::chall26::tests::test_ctr_bitflip ... ok [INFO] [stdout] test set4::chall27::tests::test_crack_cbc_with_iv_eq_key ... ok [INFO] [stdout] test sha::tests::test_md_padding ... ok [INFO] [stdout] test sha::tests::test_sha1_mac_verify ... ok [INFO] [stdout] test set4::chall29::tests::test_sha1_beak_keyed_mac_using_length_extension ... ok [INFO] [stdout] test set5::chall33::tests::test_diffie_hellman ... ok [INFO] [stdout] test xor::tests::test_fixed_xor ... ok [INFO] [stdout] test xor::tests::test_hamming_distance ... ok [INFO] [stdout] test xor::tests::test_popcount ... ok [INFO] [stdout] test xor::tests::test_guess_xor_keylen ... ok [INFO] [stdout] test xor::tests::test_xor ... ok [INFO] [stdout] test xor::tests::test_xor2 ... ok [INFO] [stdout] test xor::tests::test_xor_strict ... ok [INFO] [stdout] test xor::tests::test_guess_single_byte_xor ... ok [INFO] [stdout] test xor::tests::test_guess_xor_short ... ok [INFO] [stdout] test rng::tests::test_get_bits_too_much - should panic ... ok [INFO] [stdout] test rng::tests::test_get_bits_len_zero - should panic ... ok [INFO] [stdout] test aes::tests::test_fixed_nonce_ctr_2 ... ok [INFO] [stdout] test set2::chall12::tests::test_ecb_oracle ... ok [INFO] [stdout] test rng::tests::test_crack_mt19937_seed ... ok [INFO] [stdout] test aes::tests::test_fixed_nonce_ctr ... ok [INFO] [stdout] test set2::chall14::tests::test_ecb_oracle ... ok [INFO] [stdout] test xor::tests::test_guess_xor_long ... ok [INFO] [stdout] test xor::tests::test_detect_single_byte_xor ... ok [INFO] [stdout] test aes::tests::test_fixed_nonce_ctr_3 ... ok [INFO] [stdout] test set2::chall17::tests::test_cbc_padding_oracle_blk ... ok [INFO] [stdout] test sha::tests::test_sha1 ... ok [INFO] [stdout] test set2::chall17::tests::test_cbc_padding_oracle ... ok [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/cryptopals-6343a0f5acf6cf1d) [INFO] [stdout] [INFO] [stdout] test result: ok. 69 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 3.75s [INFO] [stdout] [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] [stderr] Doc-tests cryptopals [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" "6d32870a345eac41204dc44bb70d5331d17ec013563fd1ab5f8a06014cb1bb1a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d32870a345eac41204dc44bb70d5331d17ec013563fd1ab5f8a06014cb1bb1a", kill_on_drop: false }` [INFO] [stdout] 6d32870a345eac41204dc44bb70d5331d17ec013563fd1ab5f8a06014cb1bb1a