[INFO] cloning repository https://github.com/Fi3/stratum [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fi3/stratum" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFi3%2Fstratum", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFi3%2Fstratum'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 553ada862025c88f47862c907bbeb1c3dd12c0f8 [INFO] documenting Fi3/stratum against beta-2022-05-20 for beta-1.62-rustdoc-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFi3%2Fstratum" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Fi3/stratum on toolchain beta-2022-05-20 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-05-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Fi3/stratum [INFO] finished tweaking git repo https://github.com/Fi3/stratum [INFO] tweaked toml for git repo https://github.com/Fi3/stratum written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/Fi3/stratum already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-05-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-05-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] aec0b175922280007dc89376d25d79518af3e49fa2576585a147bc141cf8abf1 [INFO] running `Command { std: "docker" "start" "-a" "aec0b175922280007dc89376d25d79518af3e49fa2576585a147bc141cf8abf1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aec0b175922280007dc89376d25d79518af3e49fa2576585a147bc141cf8abf1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aec0b175922280007dc89376d25d79518af3e49fa2576585a147bc141cf8abf1", kill_on_drop: false }` [INFO] [stdout] aec0b175922280007dc89376d25d79518af3e49fa2576585a147bc141cf8abf1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-05-20" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 09277c59220fe3296d54b4fbad5c4dab8c0624bd56ab58dc469d797769dc7e85 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "09277c59220fe3296d54b4fbad5c4dab8c0624bd56ab58dc469d797769dc7e85", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.56 [INFO] [stderr] Compiling serde_derive v1.0.118 [INFO] [stderr] Compiling serde v1.0.118 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking cache-padded v1.1.1 [INFO] [stderr] Checking futures-core v0.3.9 [INFO] [stderr] Checking futures-io v0.3.9 [INFO] [stderr] Checking pin-project-lite v0.2.3 [INFO] [stderr] Checking fastrand v1.4.0 [INFO] [stderr] Checking vec-arena v1.0.0 [INFO] [stderr] Checking event-listener v2.5.1 [INFO] [stderr] Compiling cbindgen v0.16.0 [INFO] [stderr] Compiling itoa v0.4.7 [INFO] [stderr] Checking async-task v4.0.3 [INFO] [stderr] Checking atomic-waker v1.0.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.1 [INFO] [stderr] Compiling heck v0.3.2 [INFO] [stderr] Compiling libc v0.2.82 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Checking concurrent-queue v1.2.2 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking nb-connect v1.0.2 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking async-mutex v1.4.0 [INFO] [stderr] Compiling indexmap v1.6.1 [INFO] [stderr] Checking bitcoin_hashes v0.3.2 [INFO] [stderr] Checking futures-lite v1.11.3 [INFO] [stderr] Checking async-channel v1.5.1 [INFO] [stderr] Checking polling v2.0.2 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Checking async-executor v1.4.0 [INFO] [stderr] Checking blocking v1.0.2 [INFO] [stderr] Checking async-io v1.3.1 [INFO] [stderr] Compiling rand_core v0.6.1 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling rand v0.8.2 [INFO] [stderr] Checking async-global-executor v1.4.3 [INFO] [stderr] Checking async-std v1.8.0 [INFO] [stderr] Compiling tempfile v3.2.0 [INFO] [stderr] Checking serde_json v1.0.61 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Checking v1 v0.1.0 (/opt/rustwide/workdir/protocols/v1) [INFO] [stderr] Documenting v1 v0.1.0 (/opt/rustwide/workdir/protocols/v1) [INFO] [stdout] warning: field is never read: `hw_version` [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:610:5 [INFO] [stdout] | [INFO] [stdout] 610 | hw_version: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `InfoParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:607:10 [INFO] [stdout] | [INFO] [stdout] 607 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sw_version` [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:611:5 [INFO] [stdout] | [INFO] [stdout] 611 | sw_version: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `InfoParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:607:10 [INFO] [stdout] | [INFO] [stdout] 607 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `hw_id` [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:612:5 [INFO] [stdout] | [INFO] [stdout] 612 | hw_id: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `InfoParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:607:10 [INFO] [stdout] | [INFO] [stdout] 607 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Documenting client_and_server v0.1.0 (/opt/rustwide/workdir/protocols/v1/examples/client-and-server) [INFO] [stdout] warning: unresolved link to `a` [INFO] [stdout] --> protocols/v1/src/lib.rs:68:46 [INFO] [stdout] | [INFO] [stdout] 68 | /// Deserialize a [raw json_rpc message][a] into a [stratum v1 message][b] and handle the [INFO] [stdout] | ^ no item named `a` in scope [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `b` [INFO] [stdout] --> protocols/v1/src/lib.rs:68:77 [INFO] [stdout] | [INFO] [stdout] 68 | /// Deserialize a [raw json_rpc message][a] into a [stratum v1 message][b] and handle the [INFO] [stdout] | ^ no item named `b` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `a` [INFO] [stdout] --> protocols/v1/src/lib.rs:71:10 [INFO] [stdout] | [INFO] [stdout] 71 | /// [a]: TODO // crate::... [INFO] [stdout] | ^ no item named `a` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `b` [INFO] [stdout] --> protocols/v1/src/lib.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | /// [b]: TODO [INFO] [stdout] | ^ no item named `b` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `a` [INFO] [stdout] --> protocols/v1/src/lib.rs:248:46 [INFO] [stdout] | [INFO] [stdout] 248 | /// Deserialize a [raw json_rpc message][a] into a [stratum v1 message][b] and handle the [INFO] [stdout] | ^ no item named `a` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `b` [INFO] [stdout] --> protocols/v1/src/lib.rs:248:77 [INFO] [stdout] | [INFO] [stdout] 248 | /// Deserialize a [raw json_rpc message][a] into a [stratum v1 message][b] and handle the [INFO] [stdout] | ^ no item named `b` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `a` [INFO] [stdout] --> protocols/v1/src/lib.rs:251:10 [INFO] [stdout] | [INFO] [stdout] 251 | /// [a]: TODO // crate::... [INFO] [stdout] | ^ no item named `a` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unresolved link to `b` [INFO] [stdout] --> protocols/v1/src/lib.rs:252:10 [INFO] [stdout] | [INFO] [stdout] 252 | /// [b]: TODO [INFO] [stdout] | ^ no item named `b` in scope [INFO] [stdout] | [INFO] [stdout] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/lib.rs:34:6 [INFO] [stdout] | [INFO] [stdout] 34 | //! [https://docs.google.com/document/d/17zHy1SUlhgtCMbypO8cHgpWH73V5iUQKk_0rWvMqSNs/edit?hl=en_US#] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(rustdoc::bare_urls)]` on by default [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/lib.rs:35:6 [INFO] [stdout] | [INFO] [stdout] 35 | //! [https://braiins.com/stratum-v1/docs] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/lib.rs:36:6 [INFO] [stdout] | [INFO] [stdout] 36 | //! [https://en.bitcoin.it/wiki/Stratum_mining_protocol] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/lib.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 37 | //! [https://en.bitcoin.it/wiki/BIP_0310] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/lib.rs:38:6 [INFO] [stdout] | [INFO] [stdout] 38 | //! [https://docs.google.com/spreadsheets/d/1z8a3S9gFkS8NGhBCxOMUDqs7h9SQltz8-VX3KPHk7Jw/edit#gid=0] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/json_rpc.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | //! https://www.jsonrpc.org/specification#response_object [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/methods/client_to_server.rs:98:10 [INFO] [stdout] | [INFO] [stdout] 98 | /// TODO https://en.bitcoin.it/wiki/BIP_0310 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this URL is not a hyperlink [INFO] [stdout] --> protocols/v1/src/lib.rs:181:9 [INFO] [stdout] | [INFO] [stdout] 181 | /// https://bitcoin.stackexchange.com/questions/29416/how-do-pool-servers-handle-multiple-workers-sharing-one-connection-with-stratum [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use an automatic link instead: `` [INFO] [stdout] | [INFO] [stdout] = note: bare URLs are not automatically turned into clickable links [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling guix-example v0.1.0 (/opt/rustwide/workdir/protocols/guix-example) [INFO] [stderr] Documenting guix-example v0.1.0 (/opt/rustwide/workdir/protocols/guix-example) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 08s [INFO] running `Command { std: "docker" "inspect" "09277c59220fe3296d54b4fbad5c4dab8c0624bd56ab58dc469d797769dc7e85", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "09277c59220fe3296d54b4fbad5c4dab8c0624bd56ab58dc469d797769dc7e85", kill_on_drop: false }` [INFO] [stdout] 09277c59220fe3296d54b4fbad5c4dab8c0624bd56ab58dc469d797769dc7e85 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "DOCS_RS=1" "-e" "RUSTC_BOOTSTRAP=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-05-20" "rustdoc" "--lib" "-Zrustdoc-map" "--frozen" "--message-format=json" "--" "-Z" "unstable-options" "--document-private-items", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f112dcb96d0a2c8983bf25c25dc1c08faba9da03f1ebd3ea511ffff3eb9b4ab9 [INFO] running `Command { std: "docker" "start" "-a" "f112dcb96d0a2c8983bf25c25dc1c08faba9da03f1ebd3ea511ffff3eb9b4ab9", kill_on_drop: false }` [INFO] [stderr] error: manifest path `/opt/rustwide/workdir/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace [INFO] running `Command { std: "docker" "inspect" "f112dcb96d0a2c8983bf25c25dc1c08faba9da03f1ebd3ea511ffff3eb9b4ab9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f112dcb96d0a2c8983bf25c25dc1c08faba9da03f1ebd3ea511ffff3eb9b4ab9", kill_on_drop: false }` [INFO] [stdout] f112dcb96d0a2c8983bf25c25dc1c08faba9da03f1ebd3ea511ffff3eb9b4ab9