[INFO] cloning repository https://github.com/alecchendev/cryptopals-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alecchendev/cryptopals-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falecchendev%2Fcryptopals-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falecchendev%2Fcryptopals-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6ba6cb41f3b0f5b9a6a27f1e2e26c07d785c5818
[INFO] testing alecchendev/cryptopals-rust against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falecchendev%2Fcryptopals-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/alecchendev/cryptopals-rust
[INFO] finished tweaking git repo https://github.com/alecchendev/cryptopals-rust
[INFO] tweaked toml for git repo https://github.com/alecchendev/cryptopals-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/alecchendev/cryptopals-rust on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/alecchendev/cryptopals-rust 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0
[INFO] running `Command { std: "docker" "start" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.140
[INFO] [stderr]    Compiling proc-macro2 v1.0.54
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.6
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]    Compiling syn v1.0.107
[INFO] [stderr]    Compiling bytes v1.4.0
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.7
[INFO] [stderr]    Compiling itoa v1.0.6
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling futures-core v0.3.27
[INFO] [stderr]    Compiling generic-array v0.14.6
[INFO] [stderr]    Compiling tokio v1.27.0
[INFO] [stderr]    Compiling once_cell v1.17.1
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling futures-sink v0.3.27
[INFO] [stderr]    Compiling futures-task v0.3.27
[INFO] [stderr]    Compiling cpufeatures v0.2.5
[INFO] [stderr]    Compiling futures-util v0.3.27
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]    Compiling percent-encoding v2.2.0
[INFO] [stderr]    Compiling serde v1.0.159
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling io-lifetimes v1.0.9
[INFO] [stderr]    Compiling http v0.2.9
[INFO] [stderr]    Compiling tracing-core v0.1.30
[INFO] [stderr]    Compiling form_urlencoded v1.1.0
[INFO] [stderr]    Compiling openssl v0.10.48
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling futures-channel v0.3.27
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling rustix v0.37.4
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]    Compiling try-lock v0.2.4
[INFO] [stderr]    Compiling mime_guess v2.0.4
[INFO] [stderr]    Compiling want v0.3.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling ryu v1.0.13
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling linux-raw-sys v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling openssl-sys v0.9.83
[INFO] [stderr]    Compiling libm v0.2.6
[INFO] [stderr]    Compiling serde_json v1.0.95
[INFO] [stderr]    Compiling idna v0.3.0
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling syn v2.0.11
[INFO] [stderr]    Compiling http-body v0.4.5
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling buf_redux v0.8.4
[INFO] [stderr]    Compiling headers-core v0.2.0
[INFO] [stderr]    Compiling twoway v0.1.8
[INFO] [stderr]    Compiling native-tls v0.2.11
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling num-bigint-dig v0.8.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling rustls-pemfile v0.2.1
[INFO] [stderr]    Compiling encoding_rs v0.8.32
[INFO] [stderr]    Compiling base64 v0.21.0
[INFO] [stderr]    Compiling ipnet v2.7.2
[INFO] [stderr]    Compiling url v2.3.1
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling signal-hook-registry v1.4.1
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling getrandom v0.2.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling inout v0.1.3
[INFO] [stderr]    Compiling digest v0.10.6
[INFO] [stderr]    Compiling cipher v0.4.3
[INFO] [stderr]    Compiling sha-1 v0.10.1
[INFO] [stderr]    Compiling sha1 v0.10.5
[INFO] [stderr]    Compiling sha2 v0.10.6
[INFO] [stderr]    Compiling aes v0.8.2
[INFO] [stderr]    Compiling headers v0.3.8
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tempfile v3.5.0
[INFO] [stderr]    Compiling multipart v0.18.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-macros v2.0.0
[INFO] [stderr]    Compiling openssl-macros v0.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling pin-project-internal v1.0.12
[INFO] [stderr]    Compiling tungstenite v0.17.3
[INFO] [stderr]    Compiling pin-project v1.0.12
[INFO] [stderr]    Compiling tokio-util v0.7.7
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.17.2
[INFO] [stderr]    Compiling tokio-stream v0.1.12
[INFO] [stderr]    Compiling h2 v0.3.16
[INFO] [stderr]    Compiling hyper v0.14.25
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling warp v0.3.3
[INFO] [stderr]    Compiling reqwest v0.11.16
[INFO] [stderr]    Compiling cryptopals-rust v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/set1.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stdout]   |                        ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set1.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::general_purpose`
[INFO] [stdout]  --> src/set2.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::{engine::general_purpose, Engine};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set2.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set3.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `generate_key` and `repeating_key_xor`
[INFO] [stdout]  --> src/set3.rs:2:58
[INFO] [stdout]   |
[INFO] [stdout] 2 |     aes_ecb_encrypt, decrypt_single_byte_xor, fixed_xor, generate_key, pkcs7_pad,
[INFO] [stdout]   |                                                          ^^^^^^^^^^^^
[INFO] [stdout] 3 |     repeating_key_xor, transpose_blocks,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `engine::general_purpose`
[INFO] [stdout]  --> src/set3.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | use base64::{engine::general_purpose, Engine};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/set3.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set3.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]   --> src/set4.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[cfg(wait)]
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set4.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `engine::general_purpose`
[INFO] [stdout]  --> src/set4.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::{engine::general_purpose, Engine};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/set4.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]  --> src/set4.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::{Client, Response, StatusCode};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set4.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Reply`
[INFO] [stdout]   --> src/set4.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use warp::{http, Filter, Reply};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_ecb_decrypt`
[INFO] [stdout]   --> src/set4.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::set1::{aes_ecb_decrypt, aes_ecb_encrypt, fixed_xor, generate_key, pkcs7_pad};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/set5.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]  --> src/set5.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `generate_key` and `pkcs7_pad`
[INFO] [stdout]   --> src/set5.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::set1::{generate_key, pkcs7_pad};
[INFO] [stdout]    |                   ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set6.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set6.rs:463:7
[INFO] [stdout]     |
[INFO] [stdout] 463 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `engine::general_purpose`
[INFO] [stdout]  --> src/set6.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::{engine::general_purpose, Engine};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RandPrime`
[INFO] [stdout]  --> src/set6.rs:2:47
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_bigint::{BigInt, BigUint, RandBigInt, RandPrime, ToBigInt, ToBigUint};
[INFO] [stdout]   |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CheckedSub` and `Num`
[INFO] [stdout]  --> src/set6.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num_traits::{FromPrimitive, Num, One, Zero, Pow, CheckedSub};
[INFO] [stdout]   |                                 ^^^                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/set6.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]  --> src/set6.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Range, Mul};
[INFO] [stdout]   |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/set6.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/set6.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/set6.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_random_utf8`
[INFO] [stdout]   --> src/set6.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     set4::{get_random_utf8, sha1, DIGEST_LENGTH_SHA1},
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/set1.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/set2.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Engine`
[INFO] [stdout]  --> src/set2.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::{engine::general_purpose, Engine};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/set3.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/set4.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]  --> src/set6.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::Read;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/set4.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     port: u16,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> src/set5.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if let Some(d) = inv_mod(exp, &totient) {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/set5.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let (g, x, y) = egcd(a, m);
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counterparty`
[INFO] [stdout]    --> src/set5.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn send_dh_pk(&self, counterparty: &mut impl DHActor) {}
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counterparty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counterparty`
[INFO] [stdout]    --> src/set5.rs:734:33
[INFO] [stdout]     |
[INFO] [stdout] 734 |     fn send_dh_start(&mut self, counterparty: &mut impl DHActor) {}
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counterparty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_aes_ecb` is never used
[INFO] [stdout]   --> src/set1.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn detect_aes_ecb(lines: &[Vec<u8>]) -> Option<Vec<u8>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_key` is never used
[INFO] [stdout]   --> src/set1.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn generate_key() -> [u8; 16] {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_encrypt` is never used
[INFO] [stdout]   --> src/set1.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn aes_ecb_encrypt(input: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pkcs7_pad` is never used
[INFO] [stdout]   --> src/set1.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn pkcs7_pad(input: &[u8], block_size: usize) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ecb_decrypt` is never used
[INFO] [stdout]   --> src/set1.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn aes_ecb_decrypt(input: &[u8], key: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_best_key_size` is never used
[INFO] [stdout]    --> src/set1.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn get_best_key_size(input: &[u8]) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_key_sizes` is never used
[INFO] [stdout]    --> src/set1.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn get_key_sizes(input: &[u8]) -> Vec<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalize_distance` is never used
[INFO] [stdout]    --> src/set1.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn normalize_distance(distance: u32, key_size: usize) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_key_size_score` is never used
[INFO] [stdout]    --> src/set1.rs:135:4
[INFO] [stdout]     |
[INFO] [stdout] 135 | fn get_key_size_score(input: &[u8], key_size: usize) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_repeating_key_xor` is never used
[INFO] [stdout]    --> src/set1.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn decrypt_repeating_key_xor(input: Vec<u8>) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose_blocks` is never used
[INFO] [stdout]    --> src/set1.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub fn transpose_blocks(blocks: &[&[u8]]) -> Vec<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `div_ceil` is never used
[INFO] [stdout]    --> src/set1.rs:221:4
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn div_ceil(a: usize, b: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_blocks` is never used
[INFO] [stdout]    --> src/set1.rs:225:4
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn get_blocks(input: &[u8], key_size: usize) -> Vec<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hamming_distance` is never used
[INFO] [stdout]    --> src/set1.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn hamming_distance(input1: Vec<u8>, input2: Vec<u8>) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `repeating_key_xor` is never used
[INFO] [stdout]    --> src/set1.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub fn repeating_key_xor(key: &[u8], input: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_single_byte_xor_many` is never used
[INFO] [stdout]    --> src/set1.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn decrypt_single_byte_xor_many(lines: Vec<String>) -> (u32, u8, Vec<u8>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_single_byte_xor` is never used
[INFO] [stdout]    --> src/set1.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 330 | pub fn decrypt_single_byte_xor(ciphertext: Vec<u8>) -> (u32, u8, Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_score` is never used
[INFO] [stdout]    --> src/set1.rs:346:4
[INFO] [stdout]     |
[INFO] [stdout] 346 | fn calculate_score(plaintext: &[u8]) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fixed_xor` is never used
[INFO] [stdout]    --> src/set1.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn fixed_xor(input1: &[u8], input2: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_base64` is never used
[INFO] [stdout]    --> src/set1.rs:424:4
[INFO] [stdout]     |
[INFO] [stdout] 424 | fn hex_to_base64(input: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_base64_string` is never used
[INFO] [stdout]    --> src/set1.rs:429:4
[INFO] [stdout]     |
[INFO] [stdout] 429 | fn hex_to_base64_string(input: String) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_SIZE` is never used
[INFO] [stdout]  --> src/set2.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BLOCK_SIZE: usize = 16;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_random_block` is never used
[INFO] [stdout]   --> src/set2.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn create_random_block(bad_chars: &[u8]) -> [u8; BLOCK_SIZE] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cbc_bit_flipping_attack` is never used
[INFO] [stdout]   --> src/set2.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) fn cbc_bit_flipping_attack(oracle: &CbcBitFlippingOracle) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CbcBitFlippingOracle` is never used
[INFO] [stdout]    --> src/set2.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub(crate) type CbcBitFlippingOracle<'a> = BitFlippingOracle<'a, AesCbcOracle>;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AesCbcOracle` is never constructed
[INFO] [stdout]    --> src/set2.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub(crate) struct AesCbcOracle {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_with_args` are never used
[INFO] [stdout]    --> src/set2.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl AesCbcOracle {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 137 |     pub(crate) fn new() -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub(crate) fn new_with_args(key: [u8; BLOCK_SIZE], iv: [u8; BLOCK_SIZE]) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitFlippingOracle` is never constructed
[INFO] [stdout]    --> src/set2.rs:159:19
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub(crate) struct BitFlippingOracle<'a, T: CipherOracle> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encrypt`, and `check_admin` are never used
[INFO] [stdout]    --> src/set2.rs:166:19
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl<'a, T: CipherOracle> BitFlippingOracle<'a, T> {
[INFO] [stdout]     | -------------------------------------------------- associated items in this implementation
[INFO] [stdout] 166 |     pub(crate) fn new(cipher: &'a T, prefix: &'a [u8], suffix: &'a [u8]) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub(crate) fn encrypt(&self, plaintext: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(crate) fn check_admin(&self, ciphertext: &[u8]) -> Result<bool, ()> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CipherOracle` is never used
[INFO] [stdout]    --> src/set2.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub(crate) trait CipherOracle {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pkcs7_unpad` is never used
[INFO] [stdout]    --> src/set2.rs:223:15
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub(crate) fn pkcs7_unpad(input: &[u8]) -> Result<Vec<u8>, ()> {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EcbOracleHarder` is never constructed
[INFO] [stdout]    --> src/set2.rs:256:19
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub(crate) struct EcbOracleHarder<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `encrypt` are never used
[INFO] [stdout]    --> src/set2.rs:263:19
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl<'a> EcbOracleHarder<'a> {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 263 |     pub(crate) fn new(key: &'a [u8; 16], target: &'a [u8], prefix: &'a [u8]) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub(crate) fn encrypt(&self, input: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_at_a_time_ecb_decrypt_harder` is never used
[INFO] [stdout]    --> src/set2.rs:278:15
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub(crate) fn byte_at_a_time_ecb_decrypt_harder(oracle: &EcbOracleHarder) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forge_admin_ciphertext` is never used
[INFO] [stdout]    --> src/set2.rs:400:15
[INFO] [stdout]     |
[INFO] [stdout] 400 | pub(crate) fn forge_admin_ciphertext(oracle: &ProfileManager) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProfileManager` is never constructed
[INFO] [stdout]    --> src/set2.rs:415:19
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub(crate) struct ProfileManager<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_profile`, `profile_for`, and `profile_for_encrypted` are never used
[INFO] [stdout]    --> src/set2.rs:420:19
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl<'a> ProfileManager<'a> {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 420 |     pub(crate) fn new(key: &'a [u8]) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub(crate) fn add_profile(&self, ciphertext: &'a [u8]) -> UserProfile {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub(crate) fn profile_for(&self, email: &str) -> String {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub(crate) fn profile_for_encrypted(&self, email: &str) -> Vec<u8> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Role` is never used
[INFO] [stdout]    --> src/set2.rs:447:17
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub(crate) enum Role {
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserProfile` is never constructed
[INFO] [stdout]    --> src/set2.rs:453:19
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub(crate) struct UserProfile {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encode`, and `decode` are never used
[INFO] [stdout]    --> src/set2.rs:460:19
[INFO] [stdout]     |
[INFO] [stdout] 459 | impl UserProfile {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 460 |     pub(crate) fn new(email: String, uid: usize, role: Role) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     fn encode(&self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn decode(input: &str) -> Self {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_key_value` is never used
[INFO] [stdout]    --> src/set2.rs:500:15
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub(crate) fn parse_key_value(input: &str) -> HashMap<&str, &str> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pkcs7_unpad_unchecked` is never used
[INFO] [stdout]    --> src/set2.rs:514:4
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn pkcs7_unpad_unchecked(input: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `byte_at_a_time_ecb_decrypt` is never used
[INFO] [stdout]    --> src/set2.rs:581:15
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub(crate) fn byte_at_a_time_ecb_decrypt(oracle: &ConsistentKey) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsistentKey` is never constructed
[INFO] [stdout]    --> src/set2.rs:643:19
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub(crate) struct ConsistentKey<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `encrypt` are never used
[INFO] [stdout]    --> src/set2.rs:649:19
[INFO] [stdout]     |
[INFO] [stdout] 648 | impl<'a> ConsistentKey<'a> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 649 |     pub(crate) fn new(key: &'a [u8], append_text: &'a [u8]) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     fn encrypt(&self, plaintext: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_mode` is never used
[INFO] [stdout]    --> src/set2.rs:674:15
[INFO] [stdout]     |
[INFO] [stdout] 674 | pub(crate) fn detect_mode(ciphertext: &[u8]) -> AesBlockCipherMode {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AesBlockCipherMode` is never used
[INFO] [stdout]    --> src/set2.rs:703:17
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub(crate) enum AesBlockCipherMode {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encrypt_oracle` is never used
[INFO] [stdout]    --> src/set2.rs:708:15
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub(crate) fn encrypt_oracle(input: &[u8]) -> (AesBlockCipherMode, Vec<u8>) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_cbc_encrypt` is never used
[INFO] [stdout]    --> src/set2.rs:749:15
[INFO] [stdout]     |
[INFO] [stdout] 749 | pub(crate) fn aes_cbc_encrypt(input: &[u8], key: &[u8], iv: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_cbc_decrypt` is never used
[INFO] [stdout]    --> src/set2.rs:764:15
[INFO] [stdout]     |
[INFO] [stdout] 764 | pub(crate) fn aes_cbc_decrypt(input: &[u8], key: &[u8], iv: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_password_token` is never used
[INFO] [stdout]   --> src/set3.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub(crate) fn generate_password_token(seed: u16) -> u32 {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crack_password_token` is never used
[INFO] [stdout]   --> src/set3.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub(crate) fn crack_password_token(token: u32) -> Option<u16> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prng_encrypt_with_prefix` is never used
[INFO] [stdout]   --> src/set3.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) fn prng_encrypt_with_prefix(plaintext: &[u8], seed: u16) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crack_prefixed` is never used
[INFO] [stdout]   --> src/set3.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) fn crack_prefixed(ciphertext: &[u8], plaintext: &[u8]) -> Option<u16> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mt19937_encrypt` is never used
[INFO] [stdout]   --> src/set3.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) fn mt19937_encrypt(plaintext: &[u8], seed: u16) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mt19937_decrypt` is never used
[INFO] [stdout]   --> src/set3.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) fn mt19937_decrypt(ciphertext: &[u8], seed: u16) -> Vec<u8> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clone_mt19937` is never used
[INFO] [stdout]    --> src/set3.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub(crate) fn clone_mt19937(orig: &mut MersenneTwisterRng) -> MersenneTwisterRng {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_right` is never used
[INFO] [stdout]    --> src/set3.rs:143:15
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub(crate) fn invert_right(output: u32, shift: u32, magic: u32) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_left` is never used
[INFO] [stdout]    --> src/set3.rs:155:15
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub(crate) fn invert_left(output: u32, shift: u32, magic: u32) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invert_temper` is never used
[INFO] [stdout]    --> src/set3.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub(crate) fn invert_temper(out: u32, shift: &[u32; 4], magic: &[u32; 3]) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crack_mt19937_time_seed` is never used
[INFO] [stdout]    --> src/set3.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub(crate) fn crack_mt19937_time_seed(num: u32) -> Option<u32> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_wait_time` is never used
[INFO] [stdout]    --> src/set3.rs:247:4
[INFO] [stdout]     |
[INFO] [stdout] 247 | fn gen_wait_time() -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_random` is never used
[INFO] [stdout]    --> src/set3.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn wait_random() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MersenneTwisterRng` is never constructed
[INFO] [stdout]    --> src/set3.rs:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) struct MersenneTwisterRng {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `lowest_bits`, `new`, `new_from_state`, `generate`, and `twist` are never used
[INFO] [stdout]    --> src/set3.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl MersenneTwisterRng {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 320 |     fn lowest_bits(num: u64) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub(crate) fn new(seed: u32) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub(crate) fn new_from_state(state: &[u32; mt::N]) -> MersenneTwisterRng {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub(crate) fn generate(&mut self) -> u32 {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn twist(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fixed_nonce_ctr_attack` is never used
[INFO] [stdout]    --> src/set3.rs:392:15
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub(crate) fn fixed_nonce_ctr_attack(ciphertexts: &[&[u8]]) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ctr_encrypt` is never used
[INFO] [stdout]    --> src/set3.rs:444:15
[INFO] [stdout]     |
[INFO] [stdout] 444 | pub(crate) fn aes_ctr_encrypt(plaintext: &[u8], key: &[u8; 16], nonce: u64) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_ctr_decrypt` is never used
[INFO] [stdout]    --> src/set3.rs:456:15
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub(crate) fn aes_ctr_decrypt(ciphertext: &[u8], key: &[u8; 16], nonce: u64) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cbc_padding_oracle_attack` is never used
[INFO] [stdout]    --> src/set3.rs:483:15
[INFO] [stdout]     |
[INFO] [stdout] 483 | pub(crate) fn cbc_padding_oracle_attack(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CbcPaddingOracle` is never constructed
[INFO] [stdout]    --> src/set3.rs:549:19
[INFO] [stdout]     |
[INFO] [stdout] 549 | pub(crate) struct CbcPaddingOracle<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encrypt`, and `check_valid_padding` are never used
[INFO] [stdout]    --> src/set3.rs:556:19
[INFO] [stdout]     |
[INFO] [stdout] 555 | impl<'a> CbcPaddingOracle<'a> {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 556 |     pub(crate) fn new(key: &'a [u8; 16], iv: &'a [u8; 16], plaintexts: Vec<Vec<u8>>) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     pub(crate) fn encrypt(&self) -> (Vec<u8>, [u8; 16], usize) {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub(crate) fn check_valid_padding(&self, ciphertext: &[u8]) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N` is never used
[INFO] [stdout]    --> src/set3.rs:295:15
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub const N: usize = 624;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F` is never used
[INFO] [stdout]    --> src/set3.rs:297:15
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub const F: u64 = 1812433253;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W` is never used
[INFO] [stdout]    --> src/set3.rs:299:15
[INFO] [stdout]     |
[INFO] [stdout] 299 |     pub const W: u32 = 32;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R` is never used
[INFO] [stdout]    --> src/set3.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 |     pub const R: u32 = 31;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `M` is never used
[INFO] [stdout]    --> src/set3.rs:301:15
[INFO] [stdout]     |
[INFO] [stdout] 301 |     pub const M: usize = 397;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A` is never used
[INFO] [stdout]    --> src/set3.rs:302:15
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub const A: u32 = 0x9908B0DF;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `U` is never used
[INFO] [stdout]    --> src/set3.rs:304:15
[INFO] [stdout]     |
[INFO] [stdout] 304 |     pub const U: u32 = 11;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D` is never used
[INFO] [stdout]    --> src/set3.rs:305:15
[INFO] [stdout]     |
[INFO] [stdout] 305 |     pub const D: u32 = 0xFFFFFFFF;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S` is never used
[INFO] [stdout]    --> src/set3.rs:306:15
[INFO] [stdout]     |
[INFO] [stdout] 306 |     pub const S: u32 = 7;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B` is never used
[INFO] [stdout]    --> src/set3.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub const B: u32 = 0x9D2C5680;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `T` is never used
[INFO] [stdout]    --> src/set3.rs:308:15
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub const T: u32 = 15;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C` is never used
[INFO] [stdout]    --> src/set3.rs:309:15
[INFO] [stdout]     |
[INFO] [stdout] 309 |     pub const C: u32 = 0xEFC60000;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `L` is never used
[INFO] [stdout]    --> src/set3.rs:310:15
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub const L: u32 = 18;
[INFO] [stdout]     |               ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `less_insecure_compare` is never used
[INFO] [stdout]   --> src/set4.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn less_insecure_compare(a: &[u8], b: &[u8]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `less_artificial_timing_attack` is never used
[INFO] [stdout]   --> src/set4.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | async fn less_artificial_timing_attack<F, Fut>(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hmac_sha1` is never used
[INFO] [stdout]    --> src/set4.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn hmac_sha1(key: &[u8], message: &[u8]) -> [u8; DIGEST_LENGTH_SHA1] {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hmac` is never used
[INFO] [stdout]    --> src/set4.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn hmac<F>(key: &[u8], message: &[u8], hash: F) -> Vec<u8>
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_random_utf8` is never used
[INFO] [stdout]    --> src/set4.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn get_random_utf8() -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_server` is never used
[INFO] [stdout]    --> src/set4.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn start_server<F: Clone + Send + Sync + 'static>(port: u16, key: Arc<Vec<u8>>, compare: F)
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_request` is never used
[INFO] [stdout]    --> src/set4.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 | async fn send_request(port: u16, file: String, sig: String) -> Response {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insecure_compare` is never used
[INFO] [stdout]    --> src/set4.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn insecure_compare(a: &[u8], b: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `artificial_timing_attack` is never used
[INFO] [stdout]    --> src/set4.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | async fn artificial_timing_attack<F, Fut>(file: &[u8], send_request: F) -> [u8; DIGEST_LENGTH_SHA1]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4_mac_sign` is never used
[INFO] [stdout]    --> src/set4.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn md4_mac_sign(message: &[u8], key: &[u8]) -> [u8; DIGEST_LENGTH_MD4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4_mac_verify` is never used
[INFO] [stdout]    --> src/set4.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn md4_mac_verify(mac: &[u8; DIGEST_LENGTH_MD4], message: &[u8], key: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_LENGTH_MD4` is never used
[INFO] [stdout]    --> src/set4.rs:272:11
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub const DIGEST_LENGTH_MD4: usize = 16;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_STATE_MD4` is never used
[INFO] [stdout]    --> src/set4.rs:274:11
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub const DEFAULT_STATE_MD4: [u32; 4] = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4_pad` is never used
[INFO] [stdout]    --> src/set4.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn md4_pad(message_len: u64) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4` is never used
[INFO] [stdout]    --> src/set4.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub fn md4(message: &[u8]) -> [u8; DIGEST_LENGTH_MD4] {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4_from_state` is never used
[INFO] [stdout]    --> src/set4.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn md4_from_state(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4_digest_to_state` is never used
[INFO] [stdout]    --> src/set4.rs:394:8
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub fn md4_digest_to_state(digest: &[u8; DIGEST_LENGTH_MD4]) -> [u32; 4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md4_state_to_digest` is never used
[INFO] [stdout]    --> src/set4.rs:402:8
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub fn md4_state_to_digest(state: &[u32; 4]) -> [u8; DIGEST_LENGTH_MD4] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend_secret_prefix_md4_mac` is never used
[INFO] [stdout]    --> src/set4.rs:410:4
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn extend_secret_prefix_md4_mac<F>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend_secret_prefix_sha1_mac` is never used
[INFO] [stdout]    --> src/set4.rs:453:4
[INFO] [stdout]     |
[INFO] [stdout] 453 | fn extend_secret_prefix_sha1_mac<F>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_padding` is never used
[INFO] [stdout]    --> src/set4.rs:484:4
[INFO] [stdout]     |
[INFO] [stdout] 484 | fn get_padding(message: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K0` is never used
[INFO] [stdout]    --> src/set4.rs:513:7
[INFO] [stdout]     |
[INFO] [stdout] 513 | const K0: u32 = 0x5A827999u32;
[INFO] [stdout]     |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K1` is never used
[INFO] [stdout]    --> src/set4.rs:514:7
[INFO] [stdout]     |
[INFO] [stdout] 514 | const K1: u32 = 0x6ED9EBA1u32;
[INFO] [stdout]     |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K2` is never used
[INFO] [stdout]    --> src/set4.rs:515:7
[INFO] [stdout]     |
[INFO] [stdout] 515 | const K2: u32 = 0x8F1BBCDCu32;
[INFO] [stdout]     |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K3` is never used
[INFO] [stdout]    --> src/set4.rs:516:7
[INFO] [stdout]     |
[INFO] [stdout] 516 | const K3: u32 = 0xCA62C1D6u32;
[INFO] [stdout]     |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_STATE` is never used
[INFO] [stdout]    --> src/set4.rs:518:7
[INFO] [stdout]     |
[INFO] [stdout] 518 | const DEFAULT_STATE: [u32; 5] = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_LENGTH_SHA1` is never used
[INFO] [stdout]    --> src/set4.rs:520:11
[INFO] [stdout]     |
[INFO] [stdout] 520 | pub const DIGEST_LENGTH_SHA1: usize = 20;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sha1` is never used
[INFO] [stdout]    --> src/set4.rs:522:8
[INFO] [stdout]     |
[INFO] [stdout] 522 | pub fn sha1(message: &[u8]) -> [u8; DIGEST_LENGTH_SHA1] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sha1_from_state` is never used
[INFO] [stdout]    --> src/set4.rs:527:8
[INFO] [stdout]     |
[INFO] [stdout] 527 | pub fn sha1_from_state(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_to_digest` is never used
[INFO] [stdout]    --> src/set4.rs:634:8
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub fn state_to_digest(state: &[u32; 5]) -> [u8; DIGEST_LENGTH_SHA1] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_to_state` is never used
[INFO] [stdout]    --> src/set4.rs:642:8
[INFO] [stdout]     |
[INFO] [stdout] 642 | pub fn digest_to_state(digest: &[u8; DIGEST_LENGTH_SHA1]) -> [u32; 5] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sha1_pad` is never used
[INFO] [stdout]    --> src/set4.rs:655:8
[INFO] [stdout]     |
[INFO] [stdout] 655 | pub fn sha1_pad(len: u64) -> [u8; 128] {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sha1_mac_sign` is never used
[INFO] [stdout]    --> src/set4.rs:678:15
[INFO] [stdout]     |
[INFO] [stdout] 678 | pub(crate) fn sha1_mac_sign(message: &[u8], key: &[u8]) -> [u8; DIGEST_LENGTH_SHA1] {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sha1_mac_verify` is never used
[INFO] [stdout]    --> src/set4.rs:682:15
[INFO] [stdout]     |
[INFO] [stdout] 682 | pub(crate) fn sha1_mac_verify(mac: &[u8; DIGEST_LENGTH_SHA1], message: &[u8], key: &[u8]) -> bool {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recoverkey_from_cbc_key_as_iv` is never used
[INFO] [stdout]    --> src/set4.rs:701:15
[INFO] [stdout]     |
[INFO] [stdout] 701 | pub(crate) fn recoverkey_from_cbc_key_as_iv(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AesCbcOracleKeyAsIv` is never constructed
[INFO] [stdout]    --> src/set4.rs:723:19
[INFO] [stdout]     |
[INFO] [stdout] 723 | pub(crate) struct AesCbcOracleKeyAsIv<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `encrypt`, and `check_admin` are never used
[INFO] [stdout]    --> src/set4.rs:730:19
[INFO] [stdout]     |
[INFO] [stdout] 729 | impl<'a> AesCbcOracleKeyAsIv<'a> {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 730 |     pub(crate) fn new(key: &[u8; BLOCK_SIZE], prefix: &'a [u8], suffix: &'a [u8]) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub(crate) fn encrypt(&self, plaintext: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 746 |     pub(crate) fn check_admin(&self, ciphertext: &[u8]) -> Result<bool, Vec<u8>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ctr_bit_flipping_attack` is never used
[INFO] [stdout]    --> src/set4.rs:780:15
[INFO] [stdout]     |
[INFO] [stdout] 780 | pub(crate) fn ctr_bit_flipping_attack(oracle: &CtrBitFlippingOracle) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CtrBitFlippingOracle` is never used
[INFO] [stdout]    --> src/set4.rs:803:17
[INFO] [stdout]     |
[INFO] [stdout] 803 | pub(crate) type CtrBitFlippingOracle<'a> = BitFlippingOracle<'a, AesCtrOracle>;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AesCtrOracle` is never constructed
[INFO] [stdout]    --> src/set4.rs:807:19
[INFO] [stdout]     |
[INFO] [stdout] 807 | pub(crate) struct AesCtrOracle {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/set4.rs:813:19
[INFO] [stdout]     |
[INFO] [stdout] 812 | impl AesCtrOracle {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 813 |     pub(crate) fn new() -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `break_random_access_read_write_aes_ctr` is never used
[INFO] [stdout]    --> src/set4.rs:848:15
[INFO] [stdout]     |
[INFO] [stdout] 848 | pub(crate) fn break_random_access_read_write_aes_ctr(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CtrEditOracle` is never constructed
[INFO] [stdout]    --> src/set4.rs:855:19
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub(crate) struct CtrEditOracle<'a> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `edit` are never used
[INFO] [stdout]    --> src/set4.rs:861:19
[INFO] [stdout]     |
[INFO] [stdout] 860 | impl<'a> CtrEditOracle<'a> {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout] 861 |     pub(crate) fn new(key: &'a [u8; BLOCK_SIZE], nonce: u64) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 864 |     pub(crate) fn edit(&self, ciphertext: &[u8], offset: usize, new_text: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_keystream` is never used
[INFO] [stdout]    --> src/set4.rs:869:4
[INFO] [stdout]     |
[INFO] [stdout] 869 | fn create_keystream(key: &[u8; BLOCK_SIZE], nonce: u64, range: Range<usize>) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `edit` is never used
[INFO] [stdout]    --> src/set4.rs:885:4
[INFO] [stdout]     |
[INFO] [stdout] 885 | fn edit(ciphertext: &[u8], key: &[u8; 16], offset: usize, nonce: u64, new_text: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cube_root` is never used
[INFO] [stdout]   --> src/set5.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn cube_root(n: &BigUint) -> BigUint {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rsa_broadcast_attack` is never used
[INFO] [stdout]   --> src/set5.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn rsa_broadcast_attack(residues: &[BigUint; 3], moduli: &[BigUint; 3]) -> BigUint {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_test_rsa` is never used
[INFO] [stdout]   --> src/set5.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn do_test_rsa(p: &BigUint, q: &BigUint, e: &BigUint, message: &[u8]) {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_large_primes` is never used
[INFO] [stdout]   --> src/set5.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub fn generate_large_primes(bit_size: usize, exp: &BigUint) -> (BigUint, BigUint) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_mod` is never used
[INFO] [stdout]    --> src/set5.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn inv_mod(a: &BigUint, m: &BigUint) -> Option<BigUint> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `egcd` is never used
[INFO] [stdout]    --> src/set5.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn egcd(a: &BigUint, b: &BigUint) -> (BigUint, BigInt, BigInt) {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SrpMitm` is never constructed
[INFO] [stdout]    --> src/set5.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct SrpMitm {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `establish_shared_secret`, and `crack_password` are never used
[INFO] [stdout]    --> src/set5.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl SrpMitm {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 165 |     fn new(n: BigUint, g: BigUint, k: BigUint, passwords_filename: String) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     fn establish_shared_secret(&mut self, pk: &BigUint) -> Result<(BigUint, BigUint, BigUint), ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn crack_password(&self, client_hmac: &[u8; 32]) -> Result<String, ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_random_password` is never used
[INFO] [stdout]    --> src/set5.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn get_random_password(filename: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_srp_client_mitm` is never used
[INFO] [stdout]    --> src/set5.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn init_srp_client_mitm(passwords_filename: &str) -> (SrpClient, SrpMitm) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_test_break_srp_with_zero_key` is never used
[INFO] [stdout]    --> src/set5.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn do_test_break_srp_with_zero_key(public_key: &BigUint) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_srp_client_server` is never used
[INFO] [stdout]    --> src/set5.rs:271:4
[INFO] [stdout]     |
[INFO] [stdout] 271 | fn init_srp_client_server() -> (SrpClient, SrpServer) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_g_k` is never used
[INFO] [stdout]    --> src/set5.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn n_g_k() -> (BigUint, BigUint, BigUint) {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sha2` is never used
[INFO] [stdout]    --> src/set5.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn sha2(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hmac_sha2` is never used
[INFO] [stdout]    --> src/set5.rs:303:8
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub fn hmac_sha2(key: &[u8], message: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SrpClient` is never constructed
[INFO] [stdout]    --> src/set5.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | struct SrpClient {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/set5.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl SrpClient {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 320 |     fn new(n: BigUint, g: BigUint, k: BigUint, email: String, password: String) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn email(&self) -> &str {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn password(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     fn public_key(&self) -> BigUint {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     fn generate_hmac(&self, salt: &BigUint, pk: &BigUint) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     fn generate_zero_key_hmac(&self, salt: &BigUint) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn generate_hmac_simplified(&self, salt: &BigUint, pk: &BigUint, u: &BigUint) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SrpUserInfo` is never constructed
[INFO] [stdout]    --> src/set5.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | struct SrpUserInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SrpServer` is never constructed
[INFO] [stdout]    --> src/set5.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | struct SrpServer {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `establish_shared_secret`, and `authenticate` are never used
[INFO] [stdout]    --> src/set5.rs:390:8
[INFO] [stdout]     |
[INFO] [stdout] 389 | impl SrpServer {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 390 |     fn new(n: &BigUint, g: &BigUint, k: &BigUint) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     fn register(&mut self, email: String, password: String) -> Result<(), ()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     fn establish_shared_secret(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 435 |     fn authenticate(&self, email: &str, hmac: &[u8; 32]) -> Result<(), ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `server_sk_pk` is never used
[INFO] [stdout]    --> src/set5.rs:465:4
[INFO] [stdout]     |
[INFO] [stdout] 465 | fn server_sk_pk(n: &BigUint, k: &BigUint, v: &BigUint, g: &BigUint) -> (BigUint, BigUint) {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `server_K` is never used
[INFO] [stdout]    --> src/set5.rs:471:4
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn server_K(pk_a: &BigUint, v: &BigUint, u: &BigUint, n: &BigUint, sk_b: &BigUint) -> [u8; 32] {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `server_v` is never used
[INFO] [stdout]    --> src/set5.rs:476:4
[INFO] [stdout]     |
[INFO] [stdout] 476 | fn server_v(salt: &BigUint, password: &[u8], n: &BigUint, g: &BigUint) -> BigUint {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `client_K` is never used
[INFO] [stdout]    --> src/set5.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn client_K(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `big_prime` is never used
[INFO] [stdout]    --> src/set5.rs:499:4
[INFO] [stdout]     |
[INFO] [stdout] 499 | fn big_prime() -> BigUint {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DHAesCbc` is never used
[INFO] [stdout]    --> src/set5.rs:600:7
[INFO] [stdout]     |
[INFO] [stdout] 600 | trait DHAesCbc {
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DHActor` is never used
[INFO] [stdout]    --> src/set5.rs:605:7
[INFO] [stdout]     |
[INFO] [stdout] 605 | trait DHActor {
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DHBasic` is never constructed
[INFO] [stdout]    --> src/set5.rs:612:8
[INFO] [stdout]     |
[INFO] [stdout] 612 | struct DHBasic {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_from`, `new_from_other`, `new_from_other_with_secret`, and `public_key` are never used
[INFO] [stdout]    --> src/set5.rs:643:8
[INFO] [stdout]     |
[INFO] [stdout] 642 | impl DHBasic {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 643 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 650 |     fn new_from(g: &BigUint, p: &BigUint, secret: &BigUint) -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 660 |     fn new_from_other(g: &BigUint, p: &BigUint, their_pk: &BigUint) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 665 |     fn new_from_other_with_secret(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 676 |     fn public_key(&self) -> BigUint {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DHFixedKey` is never constructed
[INFO] [stdout]    --> src/set5.rs:700:8
[INFO] [stdout]     |
[INFO] [stdout] 700 | struct DHFixedKey {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/set5.rs:708:8
[INFO] [stdout]     |
[INFO] [stdout] 707 | impl DHFixedKey {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 708 |     fn new(shared_secret: &BigUint) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DHMitm` is never constructed
[INFO] [stdout]    --> src/set5.rs:743:8
[INFO] [stdout]     |
[INFO] [stdout] 743 | struct DHMitm {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/set5.rs:751:8
[INFO] [stdout]     |
[INFO] [stdout] 750 | impl DHMitm {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 751 |     fn new(key: &BigUint) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_key_from_dh_shared_secret` is never used
[INFO] [stdout]    --> src/set5.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn aes_key_from_dh_shared_secret(shared_secret: &BigUint) -> [u8; 16] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_key_from_dh` is never used
[INFO] [stdout]    --> src/set5.rs:770:4
[INFO] [stdout]     |
[INFO] [stdout] 770 | fn aes_key_from_dh(my_sk: &BigUint, their_pk: &BigUint, p: &BigUint) -> [u8; 16] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_dh_secret` is never used
[INFO] [stdout]    --> src/set5.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn generate_dh_secret(p: &BigUint) -> BigUint {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_test_basic_dh` is never used
[INFO] [stdout]    --> src/set5.rs:782:4
[INFO] [stdout]     |
[INFO] [stdout] 782 | fn do_test_basic_dh(p: &BigUint, g: &BigUint, a: &BigUint, b: &BigUint) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `do_test_bleichenbacher_padding_oracle` is never used
[INFO] [stdout]   --> src/set6.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn do_test_bleichenbacher_padding_oracle(modulus_bit_length: usize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ceil_div` is never used
[INFO] [stdout]   --> src/set6.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn ceil_div(dividend: &BigUint, divisor: &BigUint) -> BigUint {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `floor_div` is never used
[INFO] [stdout]   --> src/set6.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn floor_div(dividend: &BigUint, divisor: &BigUint) -> BigUint {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rsa_decrypt_from_padding_oracle_simple` is never used
[INFO] [stdout]   --> src/set6.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn rsa_decrypt_from_padding_oracle_simple(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pkcs1_5_pad` is never used
[INFO] [stdout]    --> src/set6.rs:182:4
[INFO] [stdout]     |
[INFO] [stdout] 182 | fn pkcs1_5_pad(msg: &[u8], key_byte_length: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RsaPublicKey` is never constructed
[INFO] [stdout]    --> src/set6.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | struct RsaPublicKey {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encrypt` is never used
[INFO] [stdout]    --> src/set6.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl RsaPublicKey {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 197 |     fn encrypt(&self, message: &BigUint) -> BigUint {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RsaPaddingOracle` is never constructed
[INFO] [stdout]    --> src/set6.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | struct RsaPaddingOracle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_plaintext_padding` is never used
[INFO] [stdout]    --> src/set6.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl RsaPaddingOracle {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 207 |     fn check_plaintext_padding(&self, ciphertext: &BigUint) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rsa_decrypt_from_parity_oracle` is never used
[INFO] [stdout]    --> src/set6.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn rsa_decrypt_from_parity_oracle(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RsaParityOracle` is never constructed
[INFO] [stdout]    --> src/set6.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | struct RsaParityOracle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_plaintext_odd` is never used
[INFO] [stdout]    --> src/set6.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl RsaParityOracle {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 267 |     fn is_plaintext_odd(&self, ciphertext: &BigUint) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_g_equals_zero` is never used
[INFO] [stdout]    --> src/set6.rs:312:4
[INFO] [stdout]     |
[INFO] [stdout] 312 | fn dsa_sign_g_equals_zero(params: &DsaParameters, message: &[u8]) -> DsaSignature {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_g_equals_one_mod_p` is never used
[INFO] [stdout]    --> src/set6.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn dsa_sign_g_equals_one_mod_p(params: &DsaParameters, pk: &DsaPublicKey) -> DsaSignature {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_repeated_nonce_from_messages` is never used
[INFO] [stdout]    --> src/set6.rs:377:4
[INFO] [stdout]     |
[INFO] [stdout] 377 | fn recover_repeated_nonce_from_messages(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_repeated_nonce` is never used
[INFO] [stdout]    --> src/set6.rs:412:4
[INFO] [stdout]     |
[INFO] [stdout] 412 | fn recover_repeated_nonce(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_secret_k_range` is never used
[INFO] [stdout]    --> src/set6.rs:476:4
[INFO] [stdout]     |
[INFO] [stdout] 476 | fn find_secret_k_range(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_k_range` is never used
[INFO] [stdout]    --> src/set6.rs:499:4
[INFO] [stdout]     |
[INFO] [stdout] 499 | fn dsa_sign_k_range(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_secret` is never used
[INFO] [stdout]    --> src/set6.rs:531:4
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn find_secret(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_secret_given_values` is never used
[INFO] [stdout]    --> src/set6.rs:545:4
[INFO] [stdout]     |
[INFO] [stdout] 545 | fn find_secret_given_values(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_new_keypair` is never used
[INFO] [stdout]    --> src/set6.rs:569:4
[INFO] [stdout]     |
[INFO] [stdout] 569 | fn dsa_new_keypair(params: &DsaParameters) -> (DsaSecretKey, DsaPublicKey) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DsaSecretKey` is never constructed
[INFO] [stdout]    --> src/set6.rs:576:8
[INFO] [stdout]     |
[INFO] [stdout] 576 | struct DsaSecretKey {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DsaPublicKey` is never constructed
[INFO] [stdout]    --> src/set6.rs:580:8
[INFO] [stdout]     |
[INFO] [stdout] 580 | struct DsaPublicKey {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DsaSignature` is never constructed
[INFO] [stdout]    --> src/set6.rs:585:8
[INFO] [stdout]     |
[INFO] [stdout] 585 | struct DsaSignature {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign` is never used
[INFO] [stdout]    --> src/set6.rs:590:4
[INFO] [stdout]     |
[INFO] [stdout] 590 | fn dsa_sign(params: &DsaParameters, sk: &DsaSecretKey, message: &[u8]) -> DsaSignature {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_given_k` is never used
[INFO] [stdout]    --> src/set6.rs:599:4
[INFO] [stdout]     |
[INFO] [stdout] 599 | fn dsa_sign_given_k(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_unsafe` is never used
[INFO] [stdout]    --> src/set6.rs:619:4
[INFO] [stdout]     |
[INFO] [stdout] 619 | fn dsa_sign_unsafe(params: &DsaParameters, sk: &DsaSecretKey, message: &[u8]) -> DsaSignature {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_given_values` is never used
[INFO] [stdout]    --> src/set6.rs:633:4
[INFO] [stdout]     |
[INFO] [stdout] 633 | fn dsa_sign_given_values(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_verify` is never used
[INFO] [stdout]    --> src/set6.rs:648:4
[INFO] [stdout]     |
[INFO] [stdout] 648 | fn dsa_verify(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_verify_unsafe` is never used
[INFO] [stdout]    --> src/set6.rs:674:4
[INFO] [stdout]     |
[INFO] [stdout] 674 | fn dsa_verify_unsafe(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DsaParameters` is never constructed
[INFO] [stdout]    --> src/set6.rs:700:8
[INFO] [stdout]     |
[INFO] [stdout] 700 | struct DsaParameters {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_default_parameters` is never used
[INFO] [stdout]    --> src/set6.rs:706:4
[INFO] [stdout]     |
[INFO] [stdout] 706 | fn dsa_default_parameters() -> DsaParameters {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bleichenbacher_forge_signature` is never used
[INFO] [stdout]    --> src/set6.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn bleichenbacher_forge_signature(message: &BigUint, key_length: usize) -> BigUint {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `asn1_sha1` is never used
[INFO] [stdout]    --> src/set6.rs:739:4
[INFO] [stdout]     |
[INFO] [stdout] 739 | fn asn1_sha1() -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RsaKeypair` is never constructed
[INFO] [stdout]    --> src/set6.rs:743:8
[INFO] [stdout]     |
[INFO] [stdout] 743 | struct RsaKeypair {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `public_key`, `encrypt`, `decrypt`, `verify`, and `sign` are never used
[INFO] [stdout]    --> src/set6.rs:750:8
[INFO] [stdout]     |
[INFO] [stdout] 749 | impl RsaKeypair {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 750 |     fn new(e: BigUint, bit_size: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 758 |     fn public_key(&self) -> RsaPublicKey {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     fn encrypt(&self, message: &BigUint) -> BigUint {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 766 |     fn decrypt(&self, ciphertext: &BigUint) -> BigUint {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 772 |     fn verify(&self, message: &BigUint, signature: &BigUint) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 810 |     fn sign(&self, message: &BigUint) -> BigUint {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RsaOracle` is never constructed
[INFO] [stdout]    --> src/set6.rs:843:8
[INFO] [stdout]     |
[INFO] [stdout] 843 | struct RsaOracle {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `public_key`, and `decrypt` are never used
[INFO] [stdout]    --> src/set6.rs:850:8
[INFO] [stdout]     |
[INFO] [stdout] 849 | impl RsaOracle {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 850 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 863 |     fn public_key(&self) -> (BigUint, BigUint) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 867 |     fn decrypt(&mut self, ciphertext: &BigUint) -> Result<BigUint, ()> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recover_message_from_unpadded_oracle` is never used
[INFO] [stdout]    --> src/set6.rs:879:4
[INFO] [stdout]     |
[INFO] [stdout] 879 | fn recover_message_from_unpadded_oracle(ciphertext: &BigUint, oracle: &mut RsaOracle) -> BigUint {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `server_K` should have a snake case name
[INFO] [stdout]    --> src/set5.rs:471:4
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn server_K(pk_a: &BigUint, v: &BigUint, u: &BigUint, n: &BigUint, sk_b: &BigUint) -> [u8; 32] {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `server_k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `client_K` should have a snake case name
[INFO] [stdout]    --> src/set5.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn client_K(
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `client_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.57s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, num-bigint-dig v0.8.2, openssl v0.10.48
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cryptopals-rust v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set3.rs:256:7
[INFO] [stdout]     |
[INFO] [stdout] 256 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/set3.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]   --> src/set4.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | #[cfg(wait)]
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set4.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StatusCode`
[INFO] [stdout]  --> src/set4.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use reqwest::{Client, Response, StatusCode};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Reply`
[INFO] [stdout]   --> src/set4.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | use warp::{http, Filter, Reply};
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/set5.rs:1:29
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set6.rs:217:7
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `wait`
[INFO] [stdout]    --> src/set6.rs:463:7
[INFO] [stdout]     |
[INFO] [stdout] 463 | #[cfg(wait)]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine` and `engine::general_purpose`
[INFO] [stdout]  --> src/set6.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use base64::{engine::general_purpose, Engine};
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RandPrime`
[INFO] [stdout]  --> src/set6.rs:2:47
[INFO] [stdout]   |
[INFO] [stdout] 2 | use num_bigint::{BigInt, BigUint, RandBigInt, RandPrime, ToBigInt, ToBigUint};
[INFO] [stdout]   |                                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CheckedSub`
[INFO] [stdout]  --> src/set6.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use num_traits::{FromPrimitive, Num, One, Zero, Pow, CheckedSub};
[INFO] [stdout]   |                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mul`
[INFO] [stdout]  --> src/set6.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::ops::{Range, Mul};
[INFO] [stdout]   |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/set6.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> src/set6.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/set4.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     port: u16,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> src/set5.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |         if let Some(d) = inv_mod(exp, &totient) {
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/set5.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let (g, x, y) = egcd(a, m);
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counterparty`
[INFO] [stdout]    --> src/set5.rs:730:26
[INFO] [stdout]     |
[INFO] [stdout] 730 |     fn send_dh_pk(&self, counterparty: &mut impl DHActor) {}
[INFO] [stdout]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counterparty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `counterparty`
[INFO] [stdout]    --> src/set5.rs:734:33
[INFO] [stdout]     |
[INFO] [stdout] 734 |     fn send_dh_start(&mut self, counterparty: &mut impl DHActor) {}
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counterparty`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_random` is never used
[INFO] [stdout]    --> src/set3.rs:251:4
[INFO] [stdout]     |
[INFO] [stdout] 251 | fn wait_random() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `less_insecure_compare` is never used
[INFO] [stdout]   --> src/set4.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn less_insecure_compare(a: &[u8], b: &[u8]) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `less_artificial_timing_attack` is never used
[INFO] [stdout]   --> src/set4.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | async fn less_artificial_timing_attack<F, Fut>(
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_server` is never used
[INFO] [stdout]    --> src/set4.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn start_server<F: Clone + Send + Sync + 'static>(port: u16, key: Arc<Vec<u8>>, compare: F)
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_request` is never used
[INFO] [stdout]    --> src/set4.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 | async fn send_request(port: u16, file: String, sig: String) -> Response {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insecure_compare` is never used
[INFO] [stdout]    --> src/set4.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn insecure_compare(a: &[u8], b: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `artificial_timing_attack` is never used
[INFO] [stdout]    --> src/set4.rs:199:10
[INFO] [stdout]     |
[INFO] [stdout] 199 | async fn artificial_timing_attack<F, Fut>(file: &[u8], send_request: F) -> [u8; DIGEST_LENGTH_SHA1]
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k` is never read
[INFO] [stdout]    --> src/set5.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct SrpMitm {
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 155 |     k: BigUint,
[INFO] [stdout]     |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shared_secret` is never read
[INFO] [stdout]    --> src/set5.rs:703:5
[INFO] [stdout]     |
[INFO] [stdout] 700 | struct DHFixedKey {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 703 |     shared_secret: BigUint,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `g` and `p` are never read
[INFO] [stdout]    --> src/set5.rs:744:5
[INFO] [stdout]     |
[INFO] [stdout] 743 | struct DHMitm {
[INFO] [stdout]     |        ------ fields in this struct
[INFO] [stdout] 744 |     g: BigUint,
[INFO] [stdout]     |     ^
[INFO] [stdout] 745 |     p: BigUint,
[INFO] [stdout]     |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aes_key_from_dh` is never used
[INFO] [stdout]    --> src/set5.rs:770:4
[INFO] [stdout]     |
[INFO] [stdout] 770 | fn aes_key_from_dh(my_sk: &BigUint, their_pk: &BigUint, p: &BigUint) -> [u8; 16] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rsa_decrypt_from_parity_oracle` is never used
[INFO] [stdout]    --> src/set6.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn rsa_decrypt_from_parity_oracle(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RsaParityOracle` is never constructed
[INFO] [stdout]    --> src/set6.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | struct RsaParityOracle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_plaintext_odd` is never used
[INFO] [stdout]    --> src/set6.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl RsaParityOracle {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 267 |     fn is_plaintext_odd(&self, ciphertext: &BigUint) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dsa_sign_k_range` is never used
[INFO] [stdout]    --> src/set6.rs:499:4
[INFO] [stdout]     |
[INFO] [stdout] 499 | fn dsa_sign_k_range(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `server_K` should have a snake case name
[INFO] [stdout]    --> src/set5.rs:471:4
[INFO] [stdout]     |
[INFO] [stdout] 471 | fn server_K(pk_a: &BigUint, v: &BigUint, u: &BigUint, n: &BigUint, sk_b: &BigUint) -> [u8; 32] {
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `server_k`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `client_K` should have a snake case name
[INFO] [stdout]    --> src/set5.rs:482:4
[INFO] [stdout]     |
[INFO] [stdout] 482 | fn client_K(
[INFO] [stdout]     |    ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `client_k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, num-bigint-dig v0.8.2, openssl v0.10.48
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `wait`
[INFO] [stderr]    --> src/set3.rs:256:7
[INFO] [stderr]     |
[INFO] [stderr] 256 | #[cfg(wait)]
[INFO] [stderr]     |       ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 32 more
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RngCore`
[INFO] [stderr]  --> src/set3.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stderr]   |                             ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wait`
[INFO] [stderr]   --> src/set4.rs:71:7
[INFO] [stderr]    |
[INFO] [stderr] 71 | #[cfg(wait)]
[INFO] [stderr]    |       ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider using a Cargo feature instead
[INFO] [stderr]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]             [lints.rust]
[INFO] [stderr]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stderr]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stderr]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wait`
[INFO] [stderr]    --> src/set4.rs:227:7
[INFO] [stderr]     |
[INFO] [stderr] 227 | #[cfg(wait)]
[INFO] [stderr]     |       ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `StatusCode`
[INFO] [stderr]  --> src/set4.rs:3:33
[INFO] [stderr]   |
[INFO] [stderr] 3 | use reqwest::{Client, Response, StatusCode};
[INFO] [stderr]   |                                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Reply`
[INFO] [stderr]   --> src/set4.rs:12:26
[INFO] [stderr]    |
[INFO] [stderr] 12 | use warp::{http, Filter, Reply};
[INFO] [stderr]    |                          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RngCore`
[INFO] [stderr]  --> src/set5.rs:1:29
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rand::{thread_rng, Rng, RngCore};
[INFO] [stderr]   |                             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wait`
[INFO] [stderr]    --> src/set6.rs:217:7
[INFO] [stderr]     |
[INFO] [stderr] 217 | #[cfg(wait)]
[INFO] [stderr]     |       ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition name: `wait`
[INFO] [stderr]    --> src/set6.rs:463:7
[INFO] [stderr]     |
[INFO] [stderr] 463 | #[cfg(wait)]
[INFO] [stderr]     |       ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: consider using a Cargo feature instead
[INFO] [stderr]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]              [lints.rust]
[INFO] [stderr]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(wait)'] }
[INFO] [stderr]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(wait)");` to the top of the `build.rs`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Engine` and `engine::general_purpose`
[INFO] [stderr]  --> src/set6.rs:1:14
[INFO] [stderr]   |
[INFO] [stderr] 1 | use base64::{engine::general_purpose, Engine};
[INFO] [stderr]   |              ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RandPrime`
[INFO] [stderr]  --> src/set6.rs:2:47
[INFO] [stderr]   |
[INFO] [stderr] 2 | use num_bigint::{BigInt, BigUint, RandBigInt, RandPrime, ToBigInt, ToBigUint};
[INFO] [stderr]   |                                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CheckedSub`
[INFO] [stderr]  --> src/set6.rs:4:54
[INFO] [stderr]   |
[INFO] [stderr] 4 | use num_traits::{FromPrimitive, Num, One, Zero, Pow, CheckedSub};
[INFO] [stderr]   |                                                      ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mul`
[INFO] [stderr]  --> src/set6.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::ops::{Range, Mul};
[INFO] [stderr]   |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]   --> src/set6.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::thread::sleep;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]   --> src/set6.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `port`
[INFO] [stderr]   --> src/set4.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     port: u16,
[INFO] [stderr]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d`
[INFO] [stderr]   --> src/set5.rs:80:21
[INFO] [stderr]    |
[INFO] [stderr] 80 |         if let Some(d) = inv_mod(exp, &totient) {
[INFO] [stderr]    |                     ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/set5.rs:112:16
[INFO] [stderr]     |
[INFO] [stderr] 112 |     let (g, x, y) = egcd(a, m);
[INFO] [stderr]     |                ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `counterparty`
[INFO] [stderr]    --> src/set5.rs:730:26
[INFO] [stderr]     |
[INFO] [stderr] 730 |     fn send_dh_pk(&self, counterparty: &mut impl DHActor) {}
[INFO] [stderr]     |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counterparty`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `counterparty`
[INFO] [stderr]    --> src/set5.rs:734:33
[INFO] [stderr]     |
[INFO] [stderr] 734 |     fn send_dh_start(&mut self, counterparty: &mut impl DHActor) {}
[INFO] [stderr]     |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_counterparty`
[INFO] [stderr] 
[INFO] [stderr] warning: function `wait_random` is never used
[INFO] [stderr]    --> src/set3.rs:251:4
[INFO] [stderr]     |
[INFO] [stderr] 251 | fn wait_random() {
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `less_insecure_compare` is never used
[INFO] [stderr]   --> src/set4.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn less_insecure_compare(a: &[u8], b: &[u8]) -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `less_artificial_timing_attack` is never used
[INFO] [stderr]   --> src/set4.rs:30:10
[INFO] [stderr]    |
[INFO] [stderr] 30 | async fn less_artificial_timing_attack<F, Fut>(
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `start_server` is never used
[INFO] [stderr]    --> src/set4.rs:159:4
[INFO] [stderr]     |
[INFO] [stderr] 159 | fn start_server<F: Clone + Send + Sync + 'static>(port: u16, key: Arc<Vec<u8>>, compare: F)
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `send_request` is never used
[INFO] [stderr]    --> src/set4.rs:181:10
[INFO] [stderr]     |
[INFO] [stderr] 181 | async fn send_request(port: u16, file: String, sig: String) -> Response {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `insecure_compare` is never used
[INFO] [stderr]    --> src/set4.rs:189:4
[INFO] [stderr]     |
[INFO] [stderr] 189 | fn insecure_compare(a: &[u8], b: &[u8]) -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `artificial_timing_attack` is never used
[INFO] [stderr]    --> src/set4.rs:199:10
[INFO] [stderr]     |
[INFO] [stderr] 199 | async fn artificial_timing_attack<F, Fut>(file: &[u8], send_request: F) -> [u8; DIGEST_LENGTH_SHA1]
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `k` is never read
[INFO] [stderr]    --> src/set5.rs:155:5
[INFO] [stderr]     |
[INFO] [stderr] 152 | struct SrpMitm {
[INFO] [stderr]     |        ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 155 |     k: BigUint,
[INFO] [stderr]     |     ^
[INFO] [stderr] 
[INFO] [stderr] warning: field `shared_secret` is never read
[INFO] [stderr]    --> src/set5.rs:703:5
[INFO] [stderr]     |
[INFO] [stderr] 700 | struct DHFixedKey {
[INFO] [stderr]     |        ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 703 |     shared_secret: BigUint,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `g` and `p` are never read
[INFO] [stderr]    --> src/set5.rs:744:5
[INFO] [stderr]     |
[INFO] [stderr] 743 | struct DHMitm {
[INFO] [stderr]     |        ------ fields in this struct
[INFO] [stderr] 744 |     g: BigUint,
[INFO] [stderr]     |     ^
[INFO] [stderr] 745 |     p: BigUint,
[INFO] [stderr]     |     ^
[INFO] [stderr] 
[INFO] [stderr] warning: function `aes_key_from_dh` is never used
[INFO] [stderr]    --> src/set5.rs:770:4
[INFO] [stderr]     |
[INFO] [stderr] 770 | fn aes_key_from_dh(my_sk: &BigUint, their_pk: &BigUint, p: &BigUint) -> [u8; 16] {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rsa_decrypt_from_parity_oracle` is never used
[INFO] [stderr]    --> src/set6.rs:240:4
[INFO] [stderr]     |
[INFO] [stderr] 240 | fn rsa_decrypt_from_parity_oracle(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RsaParityOracle` is never constructed
[INFO] [stderr]    --> src/set6.rs:262:8
[INFO] [stderr]     |
[INFO] [stderr] 262 | struct RsaParityOracle {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_plaintext_odd` is never used
[INFO] [stderr]    --> src/set6.rs:267:8
[INFO] [stderr]     |
[INFO] [stderr] 266 | impl RsaParityOracle {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] 267 |     fn is_plaintext_odd(&self, ciphertext: &BigUint) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dsa_sign_k_range` is never used
[INFO] [stderr]    --> src/set6.rs:499:4
[INFO] [stderr]     |
[INFO] [stderr] 499 | fn dsa_sign_k_range(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `server_K` should have a snake case name
[INFO] [stderr]    --> src/set5.rs:471:4
[INFO] [stderr]     |
[INFO] [stderr] 471 | fn server_K(pk_a: &BigUint, v: &BigUint, u: &BigUint, n: &BigUint, sk_b: &BigUint) -> [u8; 32] {
[INFO] [stderr]     |    ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `server_k`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `client_K` should have a snake case name
[INFO] [stderr]    --> src/set5.rs:482:4
[INFO] [stderr]     |
[INFO] [stderr] 482 | fn client_K(
[INFO] [stderr]     |    ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `client_k`
[INFO] [stderr] 
[INFO] [stderr] warning: `cryptopals-rust` (bin "cryptopals-rust" test) generated 37 warnings (run `cargo fix --bin "cryptopals-rust" -p cryptopals-rust --tests` to apply 15 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, multipart v0.18.0, num-bigint-dig v0.8.2, openssl v0.10.48
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/cryptopals_rust-d3f110125ed9f8af)
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[INFO] [stdout] test set1::test_aes_ecb_encrypt ... ok
[INFO] [stdout] test set1::test_aes_ecb_decrypt ... ok
[INFO] [stdout] test set1::test_get_blocks ... ok
[INFO] [stdout] test set1::test_fixed_xor ... ok
[INFO] [stdout] test set1::test_hex_to_base64 ... ok
[INFO] [stdout] test set1::test_hamming_distance ... ok
[INFO] [stdout] test set1::test_hex_to_base64_string ... ok
[INFO] [stdout] test set1::test_repeating_key_xor ... ok
[INFO] [stdout] test set1::test_transpose_blocks ... ok
[INFO] [stdout] test set2::test_add_profile ... ok
[INFO] [stdout] test set2::test_aes_cbc_encrypt ... ok
[INFO] [stdout] test set2::test_aes_cbc_decrypt ... ok
[INFO] [stdout] test set2::test_pkcs7_pad ... ok
[INFO] [stdout] test set2::test_pkcs7_unpad ... ok
[INFO] [stdout] test set2::test_forge_admin_ciphertext ... ok
[INFO] [stdout] test set2::test_parse_key_value ... ok
[INFO] [stdout] test set3::test_invert_left ... ok
[INFO] [stdout] test set3::test_clone_mt19937 ... ok
[INFO] [stdout] test set3::test_invert_right ... ok
[INFO] [stdout] test set3::test_invert_temper ... ok
[INFO] [stdout] test set2::test_profile_for ... ok
[INFO] [stdout] test set3::test_aes_ctr_mode ... ok
[INFO] [stdout] test set3::test_mt19937_rng ... ok
[INFO] [stdout] test set4::test_break_random_access_aes_ctr ... ok
[INFO] [stdout] test set3::test_mt19937_cipher ... ok
[INFO] [stdout] test set4::test_ctr_bit_flipping ... ok
[INFO] [stdout] test set4::test_extend_secret_prefix_md4_mac ... ok
[INFO] [stdout] test set1::test_decrypt_single_bytes_xor ... ok
[INFO] [stdout] test set1::test_detect_aes_ecb ... ok
[INFO] [stdout] test set4::test_md4 ... ok
[INFO] [stdout] test set4::test_extend_secret_prefix_sha1_mac ... ok
[INFO] [stdout] test set4::test_md4_update ... ok
[INFO] [stdout] test set4::test_recover_key_from_cbc_key_as_iv ... ok
[INFO] [stdout] test set4::test_sha1_update ... ok
[INFO] [stdout] test set4::test_sha1_hmac ... ok
[INFO] [stdout] test set4::test_sha1 ... ok
[INFO] [stdout] test set4::test_sha1_keyed_mac ... ok
[INFO] [stdout] test set3::test_crack_mt19937_time_seed ... ok
[INFO] [stdout] test set2::test_profile_for_panic - should panic ... ok
[INFO] [stdout] test set3::test_cbc_padding_oracle_attack ... ok
[INFO] [stdout] test set2::test_detect_mode ... ok
[INFO] [stdout] test set5::test_dh_g_equal_p_minus_one ... ok
[INFO] [stdout] test set5::test_egcd ... ok
[INFO] [stdout] test set5::test_inv_mod ... ok
[INFO] [stdout] test set2::test_byte_at_a_time_ecb_decryption_simple ... ok
[INFO] [stdout] test set2::test_byte_at_a_time_ecb_decryption_harder ... ok
[INFO] [stdout] test set2::test_cbc_bit_flipping ... ok
[INFO] [stdout] test set5::test_basic_dh ... ok
[INFO] [stdout] test set5::test_dh_mitm_param_injection ... ok
[INFO] [stdout] test set6::test_dsa ... ok
[INFO] [stdout] test set5::test_dh_g_equal_p ... ok
[INFO] [stdout] test set5::test_dh_interfaces ... ok
[INFO] [stdout] test set5::test_dh_g_equal_one ... ok
[INFO] [stdout] test set6::test_find_secret_given_k ... ok
[INFO] [stdout] test set1::test_decrypt_repeating_key_xor ... ok
[INFO] [stdout] test set6::test_dsa_parameter_tampering ... ok
[INFO] [stdout] test set6::test_repeated_nonce_recovery ... ok
[INFO] [stdout] test set3::test_fixed_nonce_ctr_attack ... ok
[INFO] [stdout] test set6::test_find_secret_example ... ok
[INFO] [stdout] test set5::test_srp ... ok
[INFO] [stdout] test set5::test_break_srp_with_zero_key ... ok
[INFO] [stdout] test set6::test_unpadded_message_recovery_oracle ... ok
[INFO] [stdout] test set3::test_prefixed_prng ... ok
[INFO] [stdout] test set5::test_e_equals_three_rsa_broadcast_attack ... ok
[INFO] [stdout] test set1::test_detect_single_byte_xor ... ok
[INFO] [stdout] test set5::test_rsa ... ok
[INFO] [stdout] test set3::test_password_token ... ok
[INFO] [stdout] test set5::test_offline_dictionary_attack_simplified_srp ... ok
[INFO] [stdout] test set6::test_bleichenbacher_padding_oracle_complete has been running for over 60 seconds
[INFO] [stdout] test set6::test_bleichenbacher_padding_oracle_simple has been running for over 60 seconds
[INFO] [stdout] test set6::test_e_equals_three_bleichenbacher has been running for over 60 seconds
[INFO] [stdout] test set6::test_e_equals_three_bleichenbacher ... ok
[INFO] [stdout] test set6::test_bleichenbacher_padding_oracle_complete ... ok
[INFO] [stdout] test set6::test_bleichenbacher_padding_oracle_simple ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- set6::test_bleichenbacher_padding_oracle_simple stdout ----
[INFO] [stdout] m0:
[INFO] [stdout] (a, b): (3533694129556768659166595001485837031654967793751237916243212402585239552, 5300541194335152988749892502228755547482451690626856874364818603877859327)
[INFO] [stdout] i: 1, s[i - 1]: 1
[INFO] [stdout] Found si: 19541
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067864450698163837957962634830139291498133983827419658109006797091436823, 4067954868131497770936294516386904191887869794886059216931898235922678448)
[INFO] [stdout] i: 2, s[i - 1]: 19541
[INFO] [stdout] Found si: 5197561
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954297511151376310935567602572871641239238341811385639331723736513515, 4067954637448876932275421522322007764837974366122687237912918916192013563)
[INFO] [stdout] i: 3, s[i - 1]: 5197561
[INFO] [stdout] Found si: 13814568
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954470116413075566674811105963471962158510534932265430273337550052818, 4067954598013793925867916918951644983169640049406353860055523878978941602)
[INFO] [stdout] i: 4, s[i - 1]: 13814568
[INFO] [stdout] Found si: 31048582
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954527904970157036312253370008016862443972415242905902491120973096946, 4067954584810856061210110901672126958813432775301116949220120187627612803)
[INFO] [stdout] i: 5, s[i - 1]: 31048582
[INFO] [stdout] Found si: 65516610
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954552275094051537076147640566805559052259460526817995226220664821407, 4067954579243019662742911272249387389269328414278120354590281400131619235)
[INFO] [stdout] i: 6, s[i - 1]: 65516610
[INFO] [stdout] Found si: 136172159
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954579243019662742911272249387389269328414278120354590281400131619235)
[INFO] [stdout] i: 7, s[i - 1]: 136172159
[INFO] [stdout] Found si: 277483258
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954579243019662742911272249387389269328414278120354590281400131619235)
[INFO] [stdout] i: 8, s[i - 1]: 277483258
[INFO] [stdout] Found si: 561844489
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577570632454074908990121039539936330657503175706527803242053586864)
[INFO] [stdout] i: 9, s[i - 1]: 561844489
[INFO] [stdout] Found si: 1128827917
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577570632454074908990121039539936330657503175706527803242053586864)
[INFO] [stdout] i: 10, s[i - 1]: 1128827917
[INFO] [stdout] Found si: 2259355787
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577570632454074908990121039539936330657503175706527803242053586864)
[INFO] [stdout] i: 11, s[i - 1]: 2259355787
[INFO] [stdout] Found si: 4525570007
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577570632454074908990121039539936330657503175706527803242053586864)
[INFO] [stdout] i: 12, s[i - 1]: 4525570007
[INFO] [stdout] Found si: 9052839967
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577551995475447687002043634274518512730609932740927524553408198107)
[INFO] [stdout] i: 13, s[i - 1]: 9052839967
[INFO] [stdout] Found si: 18112557907
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577447031882421713881290777589562474096157010438055973941063788297)
[INFO] [stdout] i: 14, s[i - 1]: 18112557907
[INFO] [stdout] Found si: 36228535260
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577437657902372780518841741077509623818997644037812264031634316646)
[INFO] [stdout] i: 15, s[i - 1]: 36228535260
[INFO] [stdout] Found si: 72460489966
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577432971575892376211029048494455594567984615540238874199305038779)
[INFO] [stdout] i: 16, s[i - 1]: 72460489966
[INFO] [stdout] Found si: 144927857905
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577419859255451623586320375076225258040425393737254412426510802504)
[INFO] [stdout] i: 17, s[i - 1]: 144927857905
[INFO] [stdout] Found si: 289859135256
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577418687953222011733277634610281343866121955129411305655551774441)
[INFO] [stdout] i: 18, s[i - 1]: 289859135256
[INFO] [stdout] Found si: 579721689958
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577418102312470466643505801236148588591742788761934734991610249729)
[INFO] [stdout] i: 19, s[i - 1]: 579721689958
[INFO] [stdout] Found si: 1159446799362
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577416894065199150797875476305292101341425432450654204424365807977, 4067954577417809494685455821895745536714256751945102430083408246215736820)
[INFO] [stdout] i: 20, s[i - 1]: 1159446799362
[INFO] [stdout] Found si: 2318902196190
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417033257373089249981750153275479101532997760963314306832774880, 4067954577417795189923621716313065029005491602727388414198928990274712857)
[INFO] [stdout] i: 21, s[i - 1]: 2318902196190
[INFO] [stdout] Found si: 4637807811826
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417341020034812293412845408620753916365325446582570138341023401, 4067954577417721986029192888589738763049715398779264418540319947763003405)
[INFO] [stdout] i: 22, s[i - 1]: 4637807811826
[INFO] [stdout] Found si: 9275619043098
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417494901195489302748927165832649061841794837341244751082073430, 4067954577417685384122458268501301730970016596043615922798376019402460263)
[INFO] [stdout] i: 23, s[i - 1]: 9275619043098
[INFO] [stdout] Found si: 18551241505642
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417571841733281734218120929308688205906074311242894261263691616, 4067954577417667083179210893842917521973262193727983752969781518309804873)
[INFO] [stdout] i: 24, s[i - 1]: 18551241505642
[INFO] [stdout] Found si: 37102484711237
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417571841733281734218120929308688205906074311242894261263691616, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 25, s[i - 1]: 37102484711237
[INFO] [stdout] Found si: 74204974561413
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417604386201158842039353329169881580450949489029855544146840927, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 26, s[i - 1]: 74204974561413
[INFO] [stdout] Found si: 148409954261766
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417604386201158842039353329169881580450949489029855544146840927, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 27, s[i - 1]: 148409954261766
[INFO] [stdout] Found si: 296819911942978
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417604386201158842039353329169881580450949489029855544146840927, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 28, s[i - 1]: 296819911942978
[INFO] [stdout] Found si: 593639829044435
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607465504268542718404605830274137701872464404389899956556766, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 29, s[i - 1]: 593639829044435
[INFO] [stdout] Found si: 1187279663227810
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607465504268542718404605830274137701872464404389899956556766, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 30, s[i - 1]: 1187279663227810
[INFO] [stdout] Found si: 2374559329875066
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607465504268542718404605830274137701872464404389899956556766, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 31, s[i - 1]: 2374559329875066
[INFO] [stdout] Found si: 4749118661450085
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607465504268542718404605830274137701872464404389899956556766, 4067954577417607610874241106142560837602165509017854629606877132927962492)
[INFO] [stdout] i: 32, s[i - 1]: 4749118661450085
[INFO] [stdout] Found si: 9498237329778143
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607465504268542718404605830274137701872464404389899956556766, 4067954577417607494457393694846725513023268794622389988516911971702337393)
[INFO] [stdout] i: 33, s[i - 1]: 9498237329778143
[INFO] [stdout] Found si: 18996474664695225
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607481861015279185515639149403209211931128958810164322420293, 4067954577417607494457393694846725513023268794622389988516911971702337393)
[INFO] [stdout] i: 34, s[i - 1]: 18996474664695225
[INFO] [stdout] Found si: 37992949331090403
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607481861015279185515639149403209211931128958810164322420293, 4067954577417607494457393694846725513023268794622389988516911971702337393)
[INFO] [stdout] i: 35, s[i - 1]: 37992949331090403
[INFO] [stdout] Found si: 75985898667319746
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607481861015279185515639149403209211931128958810164322420293, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 36, s[i - 1]: 75985898667319746
[INFO] [stdout] Found si: 151971797339778431
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607481861015279185515639149403209211931128958810164322420293, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 37, s[i - 1]: 151971797339778431
[INFO] [stdout] Found si: 303943594686434835
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607481861015279185515639149403209211931128958810164322420293, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 38, s[i - 1]: 303943594686434835
[INFO] [stdout] Found si: 607887189374569623
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607481861015279185515639149403209211931128958810164322420293, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 39, s[i - 1]: 607887189374569623
[INFO] [stdout] Found si: 1215774378754278185
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 40, s[i - 1]: 1215774378754278185
[INFO] [stdout] Found si: 2431548757513695310
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 41, s[i - 1]: 2431548757513695310
[INFO] [stdout] Found si: 4863097515030810066
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 42, s[i - 1]: 4863097515030810066
[INFO] [stdout] Found si: 9726195030068498105
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 43, s[i - 1]: 9726195030068498105
[INFO] [stdout] Found si: 19452390060138696163
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483359366893992767713820583822909200361777193809860991052)
[INFO] [stdout] i: 44, s[i - 1]: 19452390060138696163
[INFO] [stdout] Found si: 38904780120280811772
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483353477558625189597966359720076715465798884717931895967)
[INFO] [stdout] i: 45, s[i - 1]: 38904780120280811772
[INFO] [stdout] Found si: 77809560240565042990
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483349114277936595937289886097909192085839934055204697126)
[INFO] [stdout] i: 46, s[i - 1]: 77809560240565042990
[INFO] [stdout] Found si: 155619120481131785933
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483334934978003884901952196591293841378077406795424393484)
[INFO] [stdout] i: 47, s[i - 1]: 155619120481131785933
[INFO] [stdout] Found si: 311238240962266991312
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483333844157831736714403050714665215919978884498203119279)
[INFO] [stdout] i: 48, s[i - 1]: 311238240962266991312
[INFO] [stdout] Found si: 622476481924537402070
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483333298747745662629616770786648803770534407040572219528)
[INFO] [stdout] i: 49, s[i - 1]: 622476481924537402070
[INFO] [stdout] Found si: 1244952963849083401606
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483333272104484583272522294465564387624428137433849871670)
[INFO] [stdout] i: 50, s[i - 1]: 1244952963849083401606
[INFO] [stdout] Found si: 2489905927698168503165
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332385898238788864959372499341309354963985288022983033)
[INFO] [stdout] i: 51, s[i - 1]: 2489905927698168503165
[INFO] [stdout] Found si: 4979811855396345603796
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332379237423519027277802497889970975303510527181925121)
[INFO] [stdout] i: 52, s[i - 1]: 4979811855396345603796
[INFO] [stdout] Found si: 9959623710792699805058
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332375907015884108445642240600038335683279777448294149)
[INFO] [stdout] i: 53, s[i - 1]: 9959623710792699805058
[INFO] [stdout] Found si: 19919247421585403029562
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332358862950694293724524201876511417140126277454242316)
[INFO] [stdout] i: 54, s[i - 1]: 19919247421585403029562
[INFO] [stdout] Found si: 39838494843170809478570
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332350340918099386366159589987965104525347462584291009)
[INFO] [stdout] i: 55, s[i - 1]: 39838494843170809478570
[INFO] [stdout] Found si: 79676989686341620657093
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332322646972918311228925523022218346654693595711728692)
[INFO] [stdout] i: 56, s[i - 1]: 79676989686341620657093
[INFO] [stdout] Found si: 159353979372683244733632
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332320516464769584390202671336889345302646828758857376)
[INFO] [stdout] i: 57, s[i - 1]: 159353979372683244733632
[INFO] [stdout] Found si: 318707958745366492886710
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332319451210695220970875533110993862518497623218607803)
[INFO] [stdout] i: 58, s[i - 1]: 318707958745366492886710
[INFO] [stdout] Found si: 637415917490732994370886
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332319399173075925364946312212760470830428074288353304)
[INFO] [stdout] i: 59, s[i - 1]: 637415917490732994370886
[INFO] [stdout] Found si: 1274831834981465992161218
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332319132859557334510121830898875920039849274749504426)
[INFO] [stdout] i: 60, s[i - 1]: 1274831834981465992161218
[INFO] [stdout] Found si: 2549663669962931987741882
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318999702798039082710125985945660549079091279350435)
[INFO] [stdout] i: 61, s[i - 1]: 2549663669962931987741882
[INFO] [stdout] Found si: 5099327339925863980642243
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318999702798039082710125985945660549079091279350435)
[INFO] [stdout] i: 62, s[i - 1]: 5099327339925863980642243
[INFO] [stdout] Found si: 10198654679851727968142919
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318992641077048854872977053819409630550212439752838)
[INFO] [stdout] i: 63, s[i - 1]: 10198654679851727968142919
[INFO] [stdout] Found si: 20397309359703455943163811
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318899480022994220867685074354655219652580736041560)
[INFO] [stdout] i: 64, s[i - 1]: 20397309359703455943163811
[INFO] [stdout] Found si: 40794618719406911891466561
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318899480022994220867685074354655219652580736041560)
[INFO] [stdout] i: 65, s[i - 1]: 40794618719406911891466561
[INFO] [stdout] Found si: 81589237438813823788072062
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318899480022994220867685074354655219652580736041560)
[INFO] [stdout] i: 66, s[i - 1]: 81589237438813823788072062
[INFO] [stdout] Found si: 163178474877627647584741590
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318897882391143926053980105508684804170238669569858, 4067954577417607483332318899480022994220867685074354655219652580736041560)
[INFO] [stdout] i: 67, s[i - 1]: 163178474877627647584741590
[INFO] [stdout] Found si: 326356949755255295172902626
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899480022994220867685074354655219652580736041560)
[INFO] [stdout] i: 68, s[i - 1]: 326356949755255295172902626
[INFO] [stdout] Found si: 652713899510510590347505205
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899480022994220867685074354655219652580736041560)
[INFO] [stdout] i: 69, s[i - 1]: 652713899510510590347505205
[INFO] [stdout] Found si: 1305427799021021180700149350
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899218582983346013076956717418335785255232821115)
[INFO] [stdout] i: 70, s[i - 1]: 1305427799021021180700149350
[INFO] [stdout] Found si: 2610855598042042361405437639
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899218582983346013076956717418335785255232821115)
[INFO] [stdout] i: 71, s[i - 1]: 2610855598042042361405437639
[INFO] [stdout] Found si: 5221711196084084722817753251
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899218582983346013076956717418335785255232821115)
[INFO] [stdout] i: 72, s[i - 1]: 5221711196084084722817753251
[INFO] [stdout] Found si: 10443422392168169445637206455
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899218582983346013076956717418335785255232821115)
[INFO] [stdout] i: 73, s[i - 1]: 10443422392168169445637206455
[INFO] [stdout] Found si: 20886844784336338891277832356
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899131367440637655174042912634491845534610505384, 4067954577417607483332318899212210434967233008553773558809574930623009187)
[INFO] [stdout] i: 74, s[i - 1]: 20886844784336338891277832356
[INFO] [stdout] Found si: 41773689568672677782560803651
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899212210434967233008553773558809574930623009187)
[INFO] [stdout] i: 75, s[i - 1]: 41773689568672677782560803651
[INFO] [stdout] Found si: 83547379137345355565123307255
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899212210434967233008553773558809574930623009187)
[INFO] [stdout] i: 76, s[i - 1]: 83547379137345355565123307255
[INFO] [stdout] Found si: 167094758274690711130251753450
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899207163636681754182565077708534522406698221829)
[INFO] [stdout] i: 77, s[i - 1]: 167094758274690711130251753450
[INFO] [stdout] Found si: 334189516549381422260508645839
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899207163636681754182565077708534522406698221829)
[INFO] [stdout] i: 78, s[i - 1]: 334189516549381422260508645839
[INFO] [stdout] Found si: 668379033098762844521024169651
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899207163636681754182565077708534522406698221829)
[INFO] [stdout] i: 79, s[i - 1]: 668379033098762844521024169651
[INFO] [stdout] Found si: 1336758066197525689042050039255
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899207163636681754182565077708534522406698221829)
[INFO] [stdout] i: 80, s[i - 1]: 1336758066197525689042050039255
[INFO] [stdout] Found si: 2673516132395051378084103497956
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899206482265254345136448570026901912291228231485, 4067954577417607483332318899207113851147544963280680041942961679609746122)
[INFO] [stdout] i: 81, s[i - 1]: 2673516132395051378084103497956
[INFO] [stdout] Found si: 5347032264790102756168212134851
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207069099821663026779858147840871949044911962, 4067954577417607483332318899207113851147544963280680041942961679609746122)
[INFO] [stdout] i: 82, s[i - 1]: 5347032264790102756168212134851
[INFO] [stdout] Found si: 10694064529580205512336429408642
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207069099821663026779858147840871949044911962, 4067954577417607483332318899207113851147544963280680041942961679609746122)
[INFO] [stdout] i: 83, s[i - 1]: 10694064529580205512336429408642
[INFO] [stdout] Found si: 21388129059160411024672867414750
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207077823492393064310235491885683385950712348, 4067954577417607483332318899207113851147544963280680041942961679609746122)
[INFO] [stdout] i: 84, s[i - 1]: 21388129059160411024672867414750
[INFO] [stdout] Found si: 42776258118320822049345738248946
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207113851147544963280680041942961679609746122)
[INFO] [stdout] i: 85, s[i - 1]: 42776258118320822049345738248946
[INFO] [stdout] Found si: 85552516236641644098691478197845
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207113851147544963280680041942961679609746122)
[INFO] [stdout] i: 86, s[i - 1]: 85552516236641644098691478197845
[INFO] [stdout] Found si: 171105032473283288197382961534630
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111856518555744724405276561355645168472124)
[INFO] [stdout] i: 87, s[i - 1]: 171105032473283288197382961534630
[INFO] [stdout] Found si: 342210064946566576394765936825206
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111856518555744724405276561355645168472124)
[INFO] [stdout] i: 88, s[i - 1]: 342210064946566576394765936825206
[INFO] [stdout] Found si: 684420129893133152789531880528385
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111856518555744724405276561355645168472124)
[INFO] [stdout] i: 89, s[i - 1]: 684420129893133152789531880528385
[INFO] [stdout] Found si: 1368840259786266305579063762756723
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111851584593975266820342104005428957712107)
[INFO] [stdout] i: 90, s[i - 1]: 1368840259786266305579063762756723
[INFO] [stdout] Found si: 2737680519572532611158127528932892
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111727572698080795812861394454298083476963)
[INFO] [stdout] i: 91, s[i - 1]: 2737680519572532611158127528932892
[INFO] [stdout] Found si: 5475361039145065222316255064743757
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111380520727216581790269607218203711314460)
[INFO] [stdout] i: 92, s[i - 1]: 5475361039145065222316255064743757
[INFO] [stdout] Found si: 10950722078290130444632510132906960
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111191116771165577807124579987096377252800, 4067954577417607483332318899207111349517753242964038399429830616711875452)
[INFO] [stdout] i: 93, s[i - 1]: 10950722078290130444632510132906960
[INFO] [stdout] Found si: 21901444156580260889265020269233366
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111253343637905867248303407349018349041962, 4067954577417607483332318899207111334016266256155162464341136830472841219)
[INFO] [stdout] i: 94, s[i - 1]: 21901444156580260889265020269233366
[INFO] [stdout] Found si: 43802888313160521778530040541886178
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111285929208587606767416329896036255425778, 4067954577417607483332318899207111326265522762750724496796789939168495421)
[INFO] [stdout] i: 95, s[i - 1]: 43802888313160521778530040541886178
[INFO] [stdout] Found si: 87605776626321043557060081085472309
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111285929208587606767416329896036255425778, 4067954577417607483332318899207111301078026349372971369261552977264508096)
[INFO] [stdout] i: 96, s[i - 1]: 87605776626321043557060081085472309
[INFO] [stdout] Found si: 175211553252642087114120162176083557
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111301078026349372971369261552977264508096)
[INFO] [stdout] i: 97, s[i - 1]: 175211553252642087114120162176083557
[INFO] [stdout] Found si: 350423106505284174228240324353867067
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111301078026349372971369261552977264508096)
[INFO] [stdout] i: 98, s[i - 1]: 350423106505284174228240324353867067
[INFO] [stdout] Found si: 700846213010568348456480648712873074
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111299874775873136907891579723104300991004)
[INFO] [stdout] i: 99, s[i - 1]: 700846213010568348456480648712873074
[INFO] [stdout] Found si: 1401692426021136696912961297430885087
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111299874775873136907891579723104300991004)
[INFO] [stdout] i: 100, s[i - 1]: 1401692426021136696912961297430885087
[INFO] [stdout] Found si: 2803384852042273393825922594868648147
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111299874775873136907891579723104300991004)
[INFO] [stdout] i: 101, s[i - 1]: 2803384852042273393825922594868648147
[INFO] [stdout] Found si: 5606769704084546787651845189738996247
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111299874775873136907891579723104300991004)
[INFO] [stdout] i: 102, s[i - 1]: 5606769704084546787651845189738996247
[INFO] [stdout] Found si: 11213539408169093575303690379481411940
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299712324265573639679140274538188270133, 4067954577417607483332318899207111299862906076810933597776111107239177988)
[INFO] [stdout] i: 103, s[i - 1]: 11213539408169093575303690379481411940
[INFO] [stdout] Found si: 22427078816338187150607380758967962819
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299852236529281251318947038619434377533, 4067954577417607483332318899207111299862906076810933597776111107239177988)
[INFO] [stdout] i: 104, s[i - 1]: 22427078816338187150607380758967962819
[INFO] [stdout] Found si: 44854157632676374301214761517937625591
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299852236529281251318947038619434377533, 4067954577417607483332318899207111299862906076810933597776111107239177988)
[INFO] [stdout] i: 105, s[i - 1]: 44854157632676374301214761517937625591
[INFO] [stdout] Found si: 89708315265352748602429523035878670628
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299858344055344980040023071523229168112, 4067954577417607483332318899207111299862906076810933597776111107239177988)
[INFO] [stdout] i: 106, s[i - 1]: 89708315265352748602429523035878670628
[INFO] [stdout] Found si: 179416630530705497204859046071762480196
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299858344055344980040023071523229168112, 4067954577417607483332318899207111299862906076810933597776111107239177988)
[INFO] [stdout] i: 107, s[i - 1]: 179416630530705497204859046071762480196
[INFO] [stdout] Found si: 358833261061410994409718092143528379838
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299858344055344980040023071523229168112, 4067954577417607483332318899207111299862906076810933597776111107239177988)
[INFO] [stdout] i: 108, s[i - 1]: 358833261061410994409718092143528379838
[INFO] [stdout] Found si: 717666522122821988819436184287058459629
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299858344055344980040023071523229168112, 4067954577417607483332318899207111299859859549258760385286913941484526368)
[INFO] [stdout] i: 109, s[i - 1]: 717666522122821988819436184287058459629
[INFO] [stdout] Found si: 1435333044245643977638872368574125516724
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299858605473294410420637960261940888465, 4067954577417607483332318899207111299859836439913524921281285057286962997)
[INFO] [stdout] i: 110, s[i - 1]: 1435333044245643977638872368574125516724
[INFO] [stdout] Found si: 2870666088491287955277744737148252733401
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299858605473294410420637960261940888465, 4067954577417607483332318899207111299859067778523956508405078537604340694)
[INFO] [stdout] i: 111, s[i - 1]: 2870666088491287955277744737148252733401
[INFO] [stdout] Found si: 5741332176982575910555489474296510605741
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859026100603918687003402473198853201, 4067954577417607483332318899207111299859067778523956508405078537604340694)
[INFO] [stdout] i: 112, s[i - 1]: 5741332176982575910555489474296510605741
[INFO] [stdout] Found si: 11482664353965151821110978948593026350422
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859026100603918687003402473198853201, 4067954577417607483332318899207111299859067778523956508405078537604340694)
[INFO] [stdout] i: 113, s[i - 1]: 11482664353965151821110978948593026350422
[INFO] [stdout] Found si: 22965328707930303642221957897186061298310
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859034225155403083247221829169064700, 4067954577417607483332318899207111299859067778523956508405078537604340694)
[INFO] [stdout] i: 114, s[i - 1]: 22965328707930303642221957897186061298310
[INFO] [stdout] Found si: 45930657415860607284443915794372124296573
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859034225155403083247221829169064700, 4067954577417607483332318899207111299859063119232249713732666721398030464)
[INFO] [stdout] i: 115, s[i - 1]: 45930657415860607284443915794372124296573
[INFO] [stdout] Found si: 91861314831721214568887831588744253732085
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859060514362247349895061967372687496, 4067954577417607483332318899207111299859063119232249713732666721398030464)
[INFO] [stdout] i: 116, s[i - 1]: 91861314831721214568887831588744253732085
[INFO] [stdout] Found si: 183722629663442429137775663177488512603110
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859060514362247349895061967372687496, 4067954577417607483332318899207111299859063119232249713732666721398030464)
[INFO] [stdout] i: 117, s[i - 1]: 183722629663442429137775663177488512603110
[INFO] [stdout] Found si: 367445259326884858275551326354977033803686
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859061022146715124660300677120825715, 4067954577417607483332318899207111299859063119232249713732666721398030464)
[INFO] [stdout] i: 118, s[i - 1]: 367445259326884858275551326354977033803686
[INFO] [stdout] Found si: 734890518653769716551102652709954071026818
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859062964398080413127655029746852111, 4067954577417607483332318899207111299859063119232249713732666721398030464)
[INFO] [stdout] i: 119, s[i - 1]: 734890518653769716551102652709954071026818
[INFO] [stdout] Found si: 1469781037307539433102205305419908143753589
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859062964398080413127655029746852111, 4067954577417607483332318899207111299859063119232249713732666721398030464)
[INFO] [stdout] i: 120, s[i - 1]: 1469781037307539433102205305419908143753589
[INFO] [stdout] Found si: 2939562074615078866204410610839816292646118
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859062964398080413127655029746852111, 4067954577417607483332318899207111299859063003129561861126706228574730611)
[INFO] [stdout] i: 121, s[i - 1]: 2939562074615078866204410610839816292646118
[INFO] [stdout] Found si: 5879124149230157732408821221679632621460216
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063000507106814254153677455953721, 4067954577417607483332318899207111299859063003129561861126706228574730611)
[INFO] [stdout] i: 122, s[i - 1]: 5879124149230157732408821221679632621460216
[INFO] [stdout] Found si: 11758248298460315464817642443359265248059372
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063000507106814254153677455953721, 4067954577417607483332318899207111299859063003129561861126706228574730611)
[INFO] [stdout] i: 123, s[i - 1]: 11758248298460315464817642443359265248059372
[INFO] [stdout] Found si: 23516496596920630929635284886718530534006218
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063000507106814254153677455953721, 4067954577417607483332318899207111299859063003129561861126706228574730611)
[INFO] [stdout] i: 124, s[i - 1]: 23516496596920630929635284886718530534006218
[INFO] [stdout] Found si: 47032993193841261859270569773437061074890409
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063000507106814254153677455953721, 4067954577417607483332318899207111299859063003129561861126706228574730611)
[INFO] [stdout] i: 125, s[i - 1]: 47032993193841261859270569773437061074890409
[INFO] [stdout] Found si: 94065986387682523718541139546874122151480771
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063000507106814254153677455953721, 4067954577417607483332318899207111299859063002011569114292174077910015759)
[INFO] [stdout] i: 126, s[i - 1]: 94065986387682523718541139546874122151480771
[INFO] [stdout] Found si: 188131972775365047437082279093748244339129522
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063002011569114292174077910015759)
[INFO] [stdout] i: 127, s[i - 1]: 188131972775365047437082279093748244339129522
[INFO] [stdout] Found si: 376263945550730094874164558187496488683397984
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063002011569114292174077910015759)
[INFO] [stdout] i: 128, s[i - 1]: 376263945550730094874164558187496488683397984
[INFO] [stdout] Found si: 752527891101460189748329116374992977373673941
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063002011569114292174077910015759)
[INFO] [stdout] i: 129, s[i - 1]: 752527891101460189748329116374992977373673941
[INFO] [stdout] Found si: 1505055782202920379496658232749985954752486821
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063002011569114292174077910015759)
[INFO] [stdout] i: 130, s[i - 1]: 1505055782202920379496658232749985954752486821
[INFO] [stdout] Found si: 3010111564405840758993316465499971909506673595
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063002011569114292174077910015759)
[INFO] [stdout] i: 131, s[i - 1]: 3010111564405840758993316465499971909506673595
[INFO] [stdout] Found si: 6020223128811681517986632930999943819015047143
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001959757338383051820821452573)
[INFO] [stdout] i: 132, s[i - 1]: 6020223128811681517986632930999943819015047143
[INFO] [stdout] Found si: 12040446257623363035973265861999887638033513732
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001931560297814842487652439213)
[INFO] [stdout] i: 133, s[i - 1]: 12040446257623363035973265861999887638033513732
[INFO] [stdout] Found si: 24080892515246726071946531723999775276072166403
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001931560297814842487652439213)
[INFO] [stdout] i: 134, s[i - 1]: 24080892515246726071946531723999775276072166403
[INFO] [stdout] Found si: 48161785030493452143893063447999550552146032759
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001931560297814842487652439213)
[INFO] [stdout] i: 135, s[i - 1]: 48161785030493452143893063447999550552146032759
[INFO] [stdout] Found si: 96323570060986904287786126895999101104295484964
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001931560297814842487652439213)
[INFO] [stdout] i: 136, s[i - 1]: 96323570060986904287786126895999101104295484964
[INFO] [stdout] Found si: 192647140121973808575572253791998202208592669881
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001931560297814842487652439213)
[INFO] [stdout] i: 137, s[i - 1]: 192647140121973808575572253791998202208592669881
[INFO] [stdout] Found si: 385294280243947617151144507583996404417192198195
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001931560297814842487652439213)
[INFO] [stdout] i: 138, s[i - 1]: 385294280243947617151144507583996404417192198195
[INFO] [stdout] Found si: 770588560487895234302289015167992808834391274363
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929617394077406810687553982, 4067954577417607483332318899207111299859063001929986945539144566484526341)
[INFO] [stdout] i: 139, s[i - 1]: 770588560487895234302289015167992808834391274363
[INFO] [stdout] Found si: 1541177120975790468604578030335985617668787687665
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929986945539144566484526341)
[INFO] [stdout] i: 140, s[i - 1]: 1541177120975790468604578030335985617668787687665
[INFO] [stdout] Found si: 3082354241951580937209156060671971235337580514270
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929986945539144566484526341)
[INFO] [stdout] i: 141, s[i - 1]: 3082354241951580937209156060671971235337580514270
[INFO] [stdout] Found si: 6164708483903161874418312121343942470675167906513
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929845692743726232692189281)
[INFO] [stdout] i: 142, s[i - 1]: 6164708483903161874418312121343942470675167906513
[INFO] [stdout] Found si: 12329416967806323748836624242687884941350340951965
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929845692743726232692189281)
[INFO] [stdout] i: 143, s[i - 1]: 12329416967806323748836624242687884941350340951965
[INFO] [stdout] Found si: 24658833935612647497673248485375769882700683603883
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929845692743726232692189281)
[INFO] [stdout] i: 144, s[i - 1]: 24658833935612647497673248485375769882700683603883
[INFO] [stdout] Found si: 49317667871225294995346496970751539765401374066199
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929845692743726232692189281)
[INFO] [stdout] i: 145, s[i - 1]: 49317667871225294995346496970751539765401374066199
[INFO] [stdout] Found si: 98635335742450589990692993941503079530802749832351
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929844080473675607816265559)
[INFO] [stdout] i: 146, s[i - 1]: 98635335742450589990692993941503079530802749832351
[INFO] [stdout] Found si: 197270671484901179981385987883006159061605501364655
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929832894978295289603765040)
[INFO] [stdout] i: 147, s[i - 1]: 197270671484901179981385987883006159061605501364655
[INFO] [stdout] Found si: 394541342969802359962771975766012318123211006148756
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929832034472906855481048700)
[INFO] [stdout] i: 148, s[i - 1]: 394541342969802359962771975766012318123211006148756
[INFO] [stdout] Found si: 789082685939604719925543951532024636246422017455991
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929832034472906855481048700)
[INFO] [stdout] i: 149, s[i - 1]: 789082685939604719925543951532024636246422017455991
[INFO] [stdout] Found si: 1578165371879209439851087903064049272492844041770415
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929831988837604555674522539)
[INFO] [stdout] i: 150, s[i - 1]: 1578165371879209439851087903064049272492844041770415
[INFO] [stdout] Found si: 3156330743758418879702175806128098544985688092138296
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929831978328691029126534595)
[INFO] [stdout] i: 151, s[i - 1]: 3156330743758418879702175806128098544985688092138296
[INFO] [stdout] Found si: 6312661487516837759404351612256197089971376187696038
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929831924547104251993864824)
[INFO] [stdout] i: 152, s[i - 1]: 6312661487516837759404351612256197089971376187696038
[INFO] [stdout] Found si: 12625322975033675518808703224512394179942752377092029
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929831749773738934521794504)
[INFO] [stdout] i: 153, s[i - 1]: 12625322975033675518808703224512394179942752377092029
[INFO] [stdout] Found si: 25250645950067351037617406449024788359885504762781524
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929831748460124743703296011)
[INFO] [stdout] i: 154, s[i - 1]: 25250645950067351037617406449024788359885504762781524
[INFO] [stdout] Found si: 50501291900134702075234812898049576719771009527263001
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683187967599006444518, 4067954577417607483332318899207111299859063001929831704766783414335278430)
[INFO] [stdout] i: 155, s[i - 1]: 50501291900134702075234812898049576719771009527263001
[INFO] [stdout] Found si: 101002583800269404150469625796099153439542019057945448
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683912346457264916146, 4067954577417607483332318899207111299859063001929831701405434240764486570)
[INFO] [stdout] i: 156, s[i - 1]: 101002583800269404150469625796099153439542019057945448
[INFO] [stdout] Found si: 202005167600538808300939251592198306879084038117590849
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683912346457264916146, 4067954577417607483332318899207111299859063001929831690482098908422482175)
[INFO] [stdout] i: 157, s[i - 1]: 202005167600538808300939251592198306879084038117590849
[INFO] [stdout] Found si: 404010335201077616601878503184396613758168076236881651
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683912346457264916146, 4067954577417607483332318899207111299859063001929831685020431242251479977)
[INFO] [stdout] i: 158, s[i - 1]: 404010335201077616601878503184396613758168076236881651
[INFO] [stdout] Found si: 808020670402155233203757006368793227516336152478921781
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831683912346457264916146, 4067954577417607483332318899207111299859063001929831685020431242251479977)
[INFO] [stdout] i: 159, s[i - 1]: 808020670402155233203757006368793227516336152478921781
[INFO] [stdout] Found si: 1616041340804310466407514012737586455032672304961263008
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684089116572789699774, 4067954577417607483332318899207111299859063001929831685020431242251479977)
[INFO] [stdout] i: 160, s[i - 1]: 1616041340804310466407514012737586455032672304961263008
[INFO] [stdout] Found si: 3232082681608620932815028025475172910065344609925945462
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684530733404349974105, 4067954577417607483332318899207111299859063001929831685020431242251479977)
[INFO] [stdout] i: 161, s[i - 1]: 3232082681608620932815028025475172910065344609925945462
[INFO] [stdout] Found si: 6464165363217241865630056050950345820130689219857029864
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684530733404349974105, 4067954577417607483332318899207111299859063001929831684684395907971373602)
[INFO] [stdout] i: 162, s[i - 1]: 6464165363217241865630056050950345820130689219857029864
[INFO] [stdout] Found si: 12928330726434483731260112101900691640261378439717479174
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684530733404349974105, 4067954577417607483332318899207111299859063001929831684658135367552851791)
[INFO] [stdout] i: 163, s[i - 1]: 12928330726434483731260112101900691640261378439717479174
[INFO] [stdout] Found si: 25856661452868967462520224203801383280522756879438377794
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684576672723189295689, 4067954577417607483332318899207111299859063001929831684645005097343590885)
[INFO] [stdout] i: 164, s[i - 1]: 25856661452868967462520224203801383280522756879438377794
[INFO] [stdout] Found si: 51713322905737934925040448407602766561045513758880175034
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684604273775161812835, 4067954577417607483332318899207111299859063001929831684638439962238960432)
[INFO] [stdout] i: 165, s[i - 1]: 51713322905737934925040448407602766561045513758880175034
[INFO] [stdout] Found si: 103426645811475869850080896815205533122091027517763769514
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684618074301148071408, 4067954577417607483332318899207111299859063001929831684635157394686645206)
[INFO] [stdout] i: 166, s[i - 1]: 103426645811475869850080896815205533122091027517763769514
[INFO] [stdout] Found si: 206853291622951739700161793630411066244182055035530958474
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684624974564141200694, 4067954577417607483332318899207111299859063001929831684633516110910487593)
[INFO] [stdout] i: 167, s[i - 1]: 206853291622951739700161793630411066244182055035530958474
[INFO] [stdout] Found si: 413706583245903479400323587260822132488364110071063616901
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684624974564141200694, 4067954577417607483332318899207111299859063001929831684628182451080242473)
[INFO] [stdout] i: 168, s[i - 1]: 413706583245903479400323587260822132488364110071063616901
[INFO] [stdout] Found si: 827413166491806958800647174521644264976728220142130653248
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684625636743443881346, 4067954577417607483332318899207111299859063001929831684627772130136203070)
[INFO] [stdout] i: 169, s[i - 1]: 827413166491806958800647174521644264976728220142130653248
[INFO] [stdout] Found si: 1654826332983613917601294349043288529953456440284266445435
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627772130136203070)
[INFO] [stdout] i: 170, s[i - 1]: 1654826332983613917601294349043288529953456440284266445435
[INFO] [stdout] Found si: 3309652665967227835202588698086577059906912880568534590823
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627772130136203070)
[INFO] [stdout] i: 171, s[i - 1]: 3309652665967227835202588698086577059906912880568534590823
[INFO] [stdout] Found si: 6619305331934455670405177396173154119813825761137074320586
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627644731036556648)
[INFO] [stdout] i: 172, s[i - 1]: 6619305331934455670405177396173154119813825761137074320586
[INFO] [stdout] Found si: 13238610663868911340810354792346308239627651522274153780111
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627644731036556648)
[INFO] [stdout] i: 173, s[i - 1]: 13238610663868911340810354792346308239627651522274153780111
[INFO] [stdout] Found si: 26477221327737822681620709584692616479255303044548309260175
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627644731036556648)
[INFO] [stdout] i: 174, s[i - 1]: 26477221327737822681620709584692616479255303044548309260175
[INFO] [stdout] Found si: 52954442655475645363241419169385232958510606089096620220303
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627635110135975513)
[INFO] [stdout] i: 175, s[i - 1]: 52954442655475645363241419169385232958510606089096620220303
[INFO] [stdout] Found si: 105908885310951290726482838338770465917021212178193243860052
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627631904503600205)
[INFO] [stdout] i: 176, s[i - 1]: 105908885310951290726482838338770465917021212178193243860052
[INFO] [stdout] Found si: 211817770621902581452965676677540931834042424356386496317570
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627631747908585774)
[INFO] [stdout] i: 177, s[i - 1]: 211817770621902581452965676677540931834042424356386496317570
[INFO] [stdout] Found si: 423635541243805162905931353355081863668084848712773001232606
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627627530803564085, 4067954577417607483332318899207111299859063001929831684627631669611078558)
[INFO] [stdout] i: 178, s[i - 1]: 423635541243805162905931353355081863668084848712773001232606
[INFO] [stdout] Found si: 847271082487610325811862706710163727336169697425546005884658
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627629183568464925, 4067954577417607483332318899207111299859063001929831684627631268907031645)
[INFO] [stdout] i: 179, s[i - 1]: 847271082487610325811862706710163727336169697425546005884658
[INFO] [stdout] Found si: 1694542164975220651623725413420327454672339394851092015188762
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630025885724829, 4067954577417607483332318899207111299859063001929831684627631068555008188)
[INFO] [stdout] i: 180, s[i - 1]: 1694542164975220651623725413420327454672339394851092015188762
[INFO] [stdout] Found si: 3389084329950441303247450826840654909344678789702184033796970
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630447044354781, 4067954577417607483332318899207111299859063001929831684627630968378996460)
[INFO] [stdout] i: 181, s[i - 1]: 3389084329950441303247450826840654909344678789702184033796970
[INFO] [stdout] Found si: 6778168659900882606494901653681309818689357579404368069293893
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630447044354781, 4067954577417607483332318899207111299859063001929831684627630642838235336)
[INFO] [stdout] i: 182, s[i - 1]: 6778168659900882606494901653681309818689357579404368069293893
[INFO] [stdout] Found si: 13556337319801765212989803307362619637378715158808736142007232
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630487460571985, 4067954577417607483332318899207111299859063001929831684627630617794232404)
[INFO] [stdout] i: 183, s[i - 1]: 13556337319801765212989803307362619637378715158808736142007232
[INFO] [stdout] Found si: 27112674639603530425979606614725239274757430317617472289153403
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630608968589544, 4067954577417607483332318899207111299859063001929831684627630617794232404)
[INFO] [stdout] i: 184, s[i - 1]: 27112674639603530425979606614725239274757430317617472289153403
[INFO] [stdout] Found si: 54225349279207060851959213229450478549514860635234944583445746
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630608968589544, 4067954577417607483332318899207111299859063001929831684627630617794232404)
[INFO] [stdout] i: 185, s[i - 1]: 54225349279207060851959213229450478549514860635234944583445746
[INFO] [stdout] Found si: 108450698558414121703918426458900957099029721270469889173769465
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630608968589544, 4067954577417607483332318899207111299859063001929831684627630609764940589)
[INFO] [stdout] i: 186, s[i - 1]: 108450698558414121703918426458900957099029721270469889173769465
[INFO] [stdout] Found si: 216901397116828243407836852917801914198059442540939778352677869
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630608968589544, 4067954577417607483332318899207111299859063001929831684627630609764940589)
[INFO] [stdout] i: 187, s[i - 1]: 216901397116828243407836852917801914198059442540939778352677869
[INFO] [stdout] Found si: 433802794233656486815673705835603828396118885081879556707055691
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630608968589544, 4067954577417607483332318899207111299859063001929831684627630609764940589)
[INFO] [stdout] i: 188, s[i - 1]: 433802794233656486815673705835603828396118885081879556707055691
[INFO] [stdout] Found si: 867605588467312973631347411671207656792237770163759113417530828
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609764940589)
[INFO] [stdout] i: 189, s[i - 1]: 867605588467312973631347411671207656792237770163759113417530828
[INFO] [stdout] Found si: 1735211176934625947262694823342415313584475540327518226840200596
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609764940589)
[INFO] [stdout] i: 190, s[i - 1]: 1735211176934625947262694823342415313584475540327518226840200596
[INFO] [stdout] Found si: 3470422353869251894525389646684830627168951080655036453683820638
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609764940589)
[INFO] [stdout] i: 191, s[i - 1]: 3470422353869251894525389646684830627168951080655036453683820638
[INFO] [stdout] Found si: 6940844707738503789050779293369661254337902161310072907369341229
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609449937023)
[INFO] [stdout] i: 192, s[i - 1]: 6940844707738503789050779293369661254337902161310072907369341229
[INFO] [stdout] Found si: 13881689415477007578101558586739322508675804322620145814745560431
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609313049157)
[INFO] [stdout] i: 193, s[i - 1]: 13881689415477007578101558586739322508675804322620145814745560431
[INFO] [stdout] Found si: 27763378830954015156203117173478645017351608645240291629494540308
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609300820640)
[INFO] [stdout] i: 194, s[i - 1]: 27763378830954015156203117173478645017351608645240291629494540308
[INFO] [stdout] Found si: 55526757661908030312406234346957290034703217290480583258992500062
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609294706382)
[INFO] [stdout] i: 195, s[i - 1]: 55526757661908030312406234346957290034703217290480583258992500062
[INFO] [stdout] Found si: 111053515323816060624812468693914580069406434580961166517990139063
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609294706382)
[INFO] [stdout] i: 196, s[i - 1]: 111053515323816060624812468693914580069406434580961166517990139063
[INFO] [stdout] Found si: 222107030647632121249624937387829160138812869161922333035987156099
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609294706382)
[INFO] [stdout] i: 197, s[i - 1]: 222107030647632121249624937387829160138812869161922333035987156099
[INFO] [stdout] Found si: 444214061295264242499249874775658320277625738323844666071979451138
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609294187211)
[INFO] [stdout] i: 198, s[i - 1]: 444214061295264242499249874775658320277625738323844666071979451138
[INFO] [stdout] Found si: 888428122590528484998499749551316640555251476647689332143967499742
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609294149876)
[INFO] [stdout] i: 199, s[i - 1]: 888428122590528484998499749551316640555251476647689332143967499742
[INFO] [stdout] Found si: 1776856245181056969996999499102633281110502953295378664287938418930
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293958805)
[INFO] [stdout] i: 200, s[i - 1]: 1776856245181056969996999499102633281110502953295378664287938418930
[INFO] [stdout] Found si: 3553712490362113939993998998205266562221005906590757328575878537813
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293337886)
[INFO] [stdout] i: 201, s[i - 1]: 3553712490362113939993998998205266562221005906590757328575878537813
[INFO] [stdout] Found si: 7107424980724227879987997996410533124442011813181514657151760495072
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293290118)
[INFO] [stdout] i: 202, s[i - 1]: 7107424980724227879987997996410533124442011813181514657151760495072
[INFO] [stdout] Found si: 14214849961448455759975995992821066248884023626363029314303524409590
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293266234)
[INFO] [stdout] i: 203, s[i - 1]: 14214849961448455759975995992821066248884023626363029314303524409590
[INFO] [stdout] Found si: 28429699922896911519951991985642132497768047252726058628607052238626
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293254292)
[INFO] [stdout] i: 204, s[i - 1]: 28429699922896911519951991985642132497768047252726058628607052238626
[INFO] [stdout] Found si: 56859399845793823039903983971284264995536094505452117257214107896698
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293248321)
[INFO] [stdout] i: 205, s[i - 1]: 56859399845793823039903983971284264995536094505452117257214107896698
[INFO] [stdout] Found si: 113718799691587646079807967942568529991072189010904234514428220951875
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293248321)
[INFO] [stdout] i: 206, s[i - 1]: 113718799691587646079807967942568529991072189010904234514428220951875
[INFO] [stdout] Found si: 227437599383175292159615935885137059982144378021808469028856447042690
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293239795)
[INFO] [stdout] i: 207, s[i - 1]: 227437599383175292159615935885137059982144378021808469028856447042690
[INFO] [stdout] Found si: 454875198766350584319231871770274119964288756043616938057712897504826
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293239049)
[INFO] [stdout] i: 208, s[i - 1]: 454875198766350584319231871770274119964288756043616938057712897504826
[INFO] [stdout] Found si: 909750397532701168638463743540548239928577512087233876115425798429098
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238676)
[INFO] [stdout] i: 209, s[i - 1]: 909750397532701168638463743540548239928577512087233876115425798429098
[INFO] [stdout] Found si: 1819500795065402337276927487081096479857155024174467752230851602016675
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238676)
[INFO] [stdout] i: 210, s[i - 1]: 1819500795065402337276927487081096479857155024174467752230851602016675
[INFO] [stdout] Found si: 3639001590130804674553854974162192959714310048348935504461703210891783
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238656)
[INFO] [stdout] i: 211, s[i - 1]: 3639001590130804674553854974162192959714310048348935504461703210891783
[INFO] [stdout] Found si: 7278003180261609349107709948324385919428620096697871008923406430381032
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238652)
[INFO] [stdout] i: 212, s[i - 1]: 7278003180261609349107709948324385919428620096697871008923406430381032
[INFO] [stdout] Found si: 14556006360523218698215419896648771838857240193395742017846812864181510
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238628)
[INFO] [stdout] i: 213, s[i - 1]: 14556006360523218698215419896648771838857240193395742017846812864181510
[INFO] [stdout] Found si: 29112012721046437396430839793297543677714480386791484035693625733501959
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238628)
[INFO] [stdout] i: 214, s[i - 1]: 29112012721046437396430839793297543677714480386791484035693625733501959
[INFO] [stdout] Found si: 58224025442092874792861679586595087355428960773582968071387251468703871
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238628)
[INFO] [stdout] i: 215, s[i - 1]: 58224025442092874792861679586595087355428960773582968071387251468703871
[INFO] [stdout] Found si: 116448050884185749585723359173190174710857921547165936142774502944285715
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238626, 4067954577417607483332318899207111299859063001929831684627630609293238627)
[INFO] [stdout] i: 216, s[i - 1]: 116448050884185749585723359173190174710857921547165936142774502944285715
[INFO] [stdout] Found si: 232896101768371499171446718346380349421715843094331872285549005924739410
[INFO] [stdout] mi:
[INFO] [stdout] (a, b): (4067954577417607483332318899207111299859063001929831684627630609293238627, 4067954577417607483332318899207111299859063001929831684627630609293238627)
[INFO] [stdout] a: 4067954577417607483332318899207111299859063001929831684627630609293238627
[INFO] [stdout] inv_mod s[0] n: 1
[INFO] [stdout] m: 4067954577417607483332318899207111299859063001929831684627630609293238627
[INFO] [stdout] 
[INFO] [stdout] thread 'set6::test_bleichenbacher_padding_oracle_simple' (2313) panicked at src/set6.rs:45:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: BigUint { data: [15423349870112924003, 7913000165164556384, 6635845038668101078, 648062553213822] }
[INFO] [stdout]  right: BigUint { data: [7719285708990464835, 9384031202738661731, 18031462602820614352, 655410370182524] }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d04c9d31151 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d04c9d31151 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d04c9d31151 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d04c9d31151 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d04c9d45a2a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d04c9d45a2a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5d04c9d3562c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5d04c9d3562c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5d04c9d0f8c6 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d04c9d0f8c6 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d04c9d29379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5d04c9c2e1c0 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5d04c9c2e1c0 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5d04c9d29532 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5d04c9d29532 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5d04c9d0f972 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5d04c9d072d9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5d04c9d1056d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5d04c9d461fc - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d04c9d460b3 - core[6883ba1bc0fe4ed1]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5d04c9bd5406 - core[6883ba1bc0fe4ed1]::panicking::assert_failed::<num_bigint_dig[f621de4d917ed6aa]::biguint::BigUint, num_bigint_dig[f621de4d917ed6aa]::biguint::BigUint>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5d04c9ba88f2 - cryptopals_rust[8873c0f55ac63be7]::set6::do_test_bleichenbacher_padding_oracle
[INFO] [stdout]                                at /opt/rustwide/workdir/src/set6.rs:45:5
[INFO] [stdout]   22:     0x5d04c9bae11b - cryptopals_rust[8873c0f55ac63be7]::set6::test_bleichenbacher_padding_oracle_simple
[INFO] [stdout]                                at /opt/rustwide/workdir/src/set6.rs:30:5
[INFO] [stdout]   23:     0x5d04c9b9f587 - cryptopals_rust[8873c0f55ac63be7]::set6::test_bleichenbacher_padding_oracle_simple::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/set6.rs:29:47
[INFO] [stdout]   24:     0x5d04c9be3716 - <cryptopals_rust[8873c0f55ac63be7]::set6::test_bleichenbacher_padding_oracle_simple::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5d04c9c214fb - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5d04c9c214fb - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x5d04c9c2eb45 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x5d04c9c2eb45 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x5d04c9c2eb45 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   30:     0x5d04c9c2eb45 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5d04c9c2eb45 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5d04c9c2eb45 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x5d04c9c2eb45 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x5d04c9c295f4 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x5d04c9c295f4 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5d04c9c31c92 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x5d04c9c31c92 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x5d04c9c31c92 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   39:     0x5d04c9c31c92 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5d04c9c31c92 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5d04c9c31c92 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x5d04c9c31c92 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5d04c9d309df - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   44:     0x5d04c9d309df - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   45:     0x74b12cbbeaa4 - <unknown>
[INFO] [stdout]   46:     0x74b12cc4ba64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     set6::test_bleichenbacher_padding_oracle_simple
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 70 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 121.64s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin cryptopals-rust`
[INFO] running `Command { std: "docker" "inspect" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0", kill_on_drop: false }`
[INFO] [stdout] fdfef3734d536caabadbc8d4387bd3fedfe836423b0eb861631a94c033c82cb0
