[INFO] fetching crate turbocharger 0.1.0... [INFO] testing turbocharger-0.1.0 against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] extracting crate turbocharger 0.1.0 into /workspace/builds/worker-14/source [INFO] validating manifest of crates.io crate turbocharger 0.1.0 on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate turbocharger 0.1.0 [INFO] finished tweaking crates.io crate turbocharger 0.1.0 [INFO] tweaked toml for crates.io crate turbocharger 0.1.0 written to /workspace/builds/worker-14/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "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:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 61f6e6e5a8b179b76995749f168fba4b99c3ec9e1e8b4a69f13a794baf54e712 [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" "61f6e6e5a8b179b76995749f168fba4b99c3ec9e1e8b4a69f13a794baf54e712", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "61f6e6e5a8b179b76995749f168fba4b99c3ec9e1e8b4a69f13a794baf54e712", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61f6e6e5a8b179b76995749f168fba4b99c3ec9e1e8b4a69f13a794baf54e712", kill_on_drop: false }` [INFO] [stdout] 61f6e6e5a8b179b76995749f168fba4b99c3ec9e1e8b4a69f13a794baf54e712 [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=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3fbc5c8b275db69567f3067f2001232c4b15cb8cecdd9d2e2b9362e25db3efa4 [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" "3fbc5c8b275db69567f3067f2001232c4b15cb8cecdd9d2e2b9362e25db3efa4", kill_on_drop: false }` [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling remove_dir_all v0.5.3 [INFO] [stderr] Compiling erased-serde v0.3.16 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling instant v0.1.12 [INFO] [stderr] Compiling tokio v1.14.0 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling headers-core v0.2.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling mio v0.7.14 [INFO] [stderr] Compiling twoway v0.1.8 [INFO] [stderr] Compiling buf_redux v0.8.4 [INFO] [stderr] Compiling socket2 v0.4.2 [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling sha-1 v0.9.8 [INFO] [stderr] Compiling sha2 v0.9.8 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling tracing-core v0.1.21 [INFO] [stderr] Compiling tempfile v3.2.0 [INFO] [stderr] Compiling form_urlencoded v1.0.1 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling headers v0.3.5 [INFO] [stderr] Compiling tracing v0.1.29 [INFO] [stderr] Compiling url v2.2.2 [INFO] [stderr] Compiling rust-embed-utils v7.0.0 [INFO] [stderr] Compiling mime_guess v2.0.3 [INFO] [stderr] Compiling multipart v0.18.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling tokio-macros v1.6.0 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling pin-project-internal v1.0.8 [INFO] [stderr] Compiling ghost v0.1.2 [INFO] [stderr] Compiling ctor v0.1.21 [INFO] [stderr] Compiling typetag-impl v0.1.8 [INFO] [stderr] Compiling rust-embed-impl v6.1.0 [INFO] [stderr] Compiling turbocharger-impl v0.1.0 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling inventory v0.2.0 [INFO] [stderr] Compiling rust-embed v6.2.0 [INFO] [stderr] Compiling pin-project v1.0.8 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling tungstenite v0.14.0 [INFO] [stderr] Compiling futures-executor v0.3.17 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling futures v0.3.17 [INFO] [stderr] Compiling tokio-util v0.6.9 [INFO] [stderr] Compiling tokio-stream v0.1.8 [INFO] [stderr] Compiling tokio-tungstenite v0.15.0 [INFO] [stderr] Compiling h2 v0.3.7 [INFO] [stderr] Compiling serde_urlencoded v0.7.0 [INFO] [stderr] Compiling serde_json v1.0.71 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling typetag v0.1.8 [INFO] [stderr] Compiling hyper v0.14.15 [INFO] [stderr] Compiling warp v0.3.2 [INFO] [stderr] Compiling turbocharger v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 12s [INFO] running `Command { std: "docker" "inspect" "3fbc5c8b275db69567f3067f2001232c4b15cb8cecdd9d2e2b9362e25db3efa4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3fbc5c8b275db69567f3067f2001232c4b15cb8cecdd9d2e2b9362e25db3efa4", kill_on_drop: false }` [INFO] [stdout] 3fbc5c8b275db69567f3067f2001232c4b15cb8cecdd9d2e2b9362e25db3efa4 [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=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen" "--no-run" "--message-format=json", 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] 250818e2ed32ea0e70e8f0f86e2fa715ed9d906fb939743eea5940fc7bcfafb0 [INFO] running `Command { std: "docker" "start" "-a" "250818e2ed32ea0e70e8f0f86e2fa715ed9d906fb939743eea5940fc7bcfafb0", kill_on_drop: false }` [INFO] [stderr] Compiling turbocharger v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 4.30s [INFO] running `Command { std: "docker" "inspect" "250818e2ed32ea0e70e8f0f86e2fa715ed9d906fb939743eea5940fc7bcfafb0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "250818e2ed32ea0e70e8f0f86e2fa715ed9d906fb939743eea5940fc7bcfafb0", kill_on_drop: false }` [INFO] [stdout] 250818e2ed32ea0e70e8f0f86e2fa715ed9d906fb939743eea5940fc7bcfafb0 [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=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3dd7e808a2a678885dffc4b776ad376df4824f8526a25f9ee9dd69133cb3a0ea [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" "3dd7e808a2a678885dffc4b776ad376df4824f8526a25f9ee9dd69133cb3a0ea", kill_on_drop: false }` [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/turbocharger-821e7946e53c0d77) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests turbocharger [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test src/lib.rs - (line 10) ... FAILED [INFO] [stdout] test src/lib.rs - (line 116) ... ok [INFO] [stdout] test src/lib.rs - (line 45) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/lib.rs - (line 10) stdout ---- [INFO] [stdout] error[E0412]: cannot find type `Person` in this scope [INFO] [stdout] --> src/lib.rs:12:33 [INFO] [stdout] | [INFO] [stdout] 5 | async fn get_person(id: i64) -> Person { [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Person` in this scope [INFO] [stdout] --> src/lib.rs:15:2 [INFO] [stdout] | [INFO] [stdout] 8 | Person { name: "Bob", age: 21 } [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `_TURBOCHARGER_DISPATCH_get_person` in module `super` [INFO] [stdout] --> src/lib.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 5 | async fn get_person(id: i64) -> Person { [INFO] [stdout] | ^^^^^^^^^^ not found in `super` [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `_TURBOCHARGER_RESP_get_person` in module `super` [INFO] [stdout] --> src/lib.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 5 | async fn get_person(id: i64) -> Person { [INFO] [stdout] | ^^^^^^^^^^ not found in `super` [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find function `get_person` in module `super` [INFO] [stdout] --> src/lib.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 5 | async fn get_person(id: i64) -> Person { [INFO] [stdout] | ^^^^^^^^^^ not found in `super` [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0425. [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - (line 45) stdout ---- [INFO] [stdout] error: proc-macro derive panicked [INFO] [stdout] --> src/lib.rs:72:11 [INFO] [stdout] | [INFO] [stdout] 29 | #[derive(rust_embed::RustEmbed)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: message: #[derive(RustEmbed)] folder '/opt/rustwide/workdir/build' does not exist. cwd: '/opt/rustwide/workdir' [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `wasm_bindgen` [INFO] [stdout] --> src/lib.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 4 | use wasm_bindgen::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared crate or module `wasm_bindgen` [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `turbosql` [INFO] [stdout] --> src/lib.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 7 | use turbosql::{select, Turbosql}; [INFO] [stdout] | ^^^^^^^^ use of undeclared crate or module `turbosql` [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the macro `select` [INFO] [stdout] --> src/lib.rs:66:2 [INFO] [stdout] | [INFO] [stdout] 23 | select!(Person "WHERE rowid = ?", rowid) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] error: cannot determine resolution for the derive macro `Turbosql` [INFO] [stdout] --> src/lib.rs:53:48 [INFO] [stdout] | [INFO] [stdout] 10 | #[cfg_attr(not(target_arch = "wasm32"), derive(Turbosql))] [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: import resolution is stuck, try simplifying macro imports [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `wasm_bindgen` in this scope [INFO] [stdout] --> src/lib.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 9 | #[backend] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `backend` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `turbosql` [INFO] [stdout] --> src/lib.rs:60:50 [INFO] [stdout] | [INFO] [stdout] 17 | async fn insert_person(p: Person) -> Result { [INFO] [stdout] | ^^^^^^^^ use of undeclared crate or module `turbosql` [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `turbosql` [INFO] [stdout] --> src/lib.rs:65:51 [INFO] [stdout] | [INFO] [stdout] 22 | async fn get_person(rowid: i64) -> Result { [INFO] [stdout] | ^^^^^^^^ use of undeclared crate or module `turbosql` [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `insert` found for struct `Person` in the current scope [INFO] [stdout] --> src/lib.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 9 | #[backend] [INFO] [stdout] | ---------- method `insert` not found for this [INFO] [stdout] ... [INFO] [stdout] 18 | p.insert() // returns rowid [INFO] [stdout] | ^^^^^^ method not found in `Person` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is implemented and in scope [INFO] [stdout] = note: the following traits define an item `insert`, perhaps you need to implement one of them: [INFO] [stdout] candidate #1: `warp::http::header::map::into_header_name::Sealed` [INFO] [stdout] candidate #2: `ppv_lite86::types::Vec2` [INFO] [stdout] candidate #3: `ppv_lite86::types::Vec4` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 16 | #[backend] [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] | [INFO] [stdout] = note: type must be known at this point [INFO] [stdout] = note: this error originates in the attribute macro `backend` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 21 | #[backend] [INFO] [stdout] | ^^^^^^^^^^ cannot infer type [INFO] [stdout] | [INFO] [stdout] = note: type must be known at this point [INFO] [stdout] = note: this error originates in the attribute macro `backend` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Frontend: RustEmbed` is not satisfied [INFO] [stdout] --> src/lib.rs:77:40 [INFO] [stdout] | [INFO] [stdout] 34 | warp::serve(turbocharger::warp_routes(Frontend)).run(([127, 0, 0, 1], 8080)).await; [INFO] [stdout] | ------------------------- ^^^^^^^^ the trait `RustEmbed` is not implemented for `Frontend` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `warp_routes` [INFO] [stdout] --> /opt/rustwide/workdir/src/lib.rs:61:33 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn warp_routes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ required by this bound in `warp_routes` [INFO] [stdout] [INFO] [stdout] error: aborting due to 12 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0432, E0433, E0599. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/lib.rs - (line 10) [INFO] [stdout] src/lib.rs - (line 45) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.87s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--doc' [INFO] running `Command { std: "docker" "inspect" "3dd7e808a2a678885dffc4b776ad376df4824f8526a25f9ee9dd69133cb3a0ea", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3dd7e808a2a678885dffc4b776ad376df4824f8526a25f9ee9dd69133cb3a0ea", kill_on_drop: false }` [INFO] [stdout] 3dd7e808a2a678885dffc4b776ad376df4824f8526a25f9ee9dd69133cb3a0ea