[INFO] fetching crate mockers_derive 0.21.0... [INFO] testing mockers_derive-0.21.0 against 1.60.0 for beta-1.61-1 [INFO] extracting crate mockers_derive 0.21.0 into /workspace/builds/worker-79/source [INFO] validating manifest of crates.io crate mockers_derive 0.21.0 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate mockers_derive 0.21.0 [INFO] finished tweaking crates.io crate mockers_derive 0.21.0 [INFO] tweaked toml for crates.io crate mockers_derive 0.21.0 written to /workspace/builds/worker-79/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded termize v0.1.1 [INFO] [stderr] Downloaded rustc-ap-rustc_ast_pretty v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_macros v677.0.0 [INFO] [stderr] Downloaded rustc-workspace-hack v1.0.0 [INFO] [stderr] Downloaded rustfmt-nightly v1.4.21 [INFO] [stderr] Downloaded indoc-impl v0.3.6 [INFO] [stderr] Downloaded rustc-ap-rustc_arena v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_lexer v677.0.0 [INFO] [stderr] Downloaded cargo_metadata v0.8.2 [INFO] [stderr] Downloaded rustc-ap-rustc_ast_passes v677.0.0 [INFO] [stderr] Downloaded psm v0.1.18 [INFO] [stderr] Downloaded annotate-snippets v0.8.0 [INFO] [stderr] Downloaded rustc-ap-rustc_errors v677.0.0 [INFO] [stderr] Downloaded proc-quote-impl v0.2.2 [INFO] [stderr] Downloaded proc-quote v0.2.2 [INFO] [stderr] Downloaded rustc-ap-rustc_target v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_span v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_fs_util v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_serialize v677.0.0 [INFO] [stderr] Downloaded stacker v0.1.14 [INFO] [stderr] Downloaded rustfmt-config_proc_macro v0.2.0 [INFO] [stderr] Downloaded rustc-ap-rustc_attr v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_expand v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_parse v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_ast v677.0.0 [INFO] [stderr] Downloaded measureme v0.7.1 [INFO] [stderr] Downloaded rustc-ap-rustc_feature v677.0.0 [INFO] [stderr] Downloaded rustc-ap-rustc_session v677.0.0 [INFO] [stderr] Downloaded rustc-rayon v0.3.2 [INFO] [stderr] Downloaded rustc-ap-rustc_graphviz v677.0.0 [INFO] [stderr] Downloaded rustc-rayon-core v0.3.2 [INFO] [stderr] Downloaded rustc-ap-rustc_data_structures v677.0.0 [INFO] [stderr] Downloaded indoc v0.3.6 [INFO] [stderr] Downloaded rustc-ap-rustc_index v677.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ed5f8c00dae0f8cee296572c713e15cedff58dc2abfdfae0891d3c007c9122e8 [INFO] running `Command { std: "docker" "start" "-a" "ed5f8c00dae0f8cee296572c713e15cedff58dc2abfdfae0891d3c007c9122e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ed5f8c00dae0f8cee296572c713e15cedff58dc2abfdfae0891d3c007c9122e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed5f8c00dae0f8cee296572c713e15cedff58dc2abfdfae0891d3c007c9122e8", kill_on_drop: false }` [INFO] [stdout] ed5f8c00dae0f8cee296572c713e15cedff58dc2abfdfae0891d3c007c9122e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 59b3ce2f9968781600e1afa44a154b702ace870f8e7c3d0bb2aa831ae190625d [INFO] running `Command { std: "docker" "start" "-a" "59b3ce2f9968781600e1afa44a154b702ace870f8e7c3d0bb2aa831ae190625d", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling unindent v0.1.8 [INFO] [stderr] Compiling itertools v0.4.19 [INFO] [stderr] Compiling lazy_static v0.2.11 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling proc-quote-impl v0.2.2 [INFO] [stderr] Compiling indoc-impl v0.3.6 [INFO] [stderr] Compiling indoc v0.3.6 [INFO] [stderr] Compiling proc-quote v0.2.2 [INFO] [stderr] Compiling mockers_derive v0.21.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/codegen.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | a => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 14.57s [INFO] running `Command { std: "docker" "inspect" "59b3ce2f9968781600e1afa44a154b702ace870f8e7c3d0bb2aa831ae190625d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59b3ce2f9968781600e1afa44a154b702ace870f8e7c3d0bb2aa831ae190625d", kill_on_drop: false }` [INFO] [stdout] 59b3ce2f9968781600e1afa44a154b702ace870f8e7c3d0bb2aa831ae190625d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-79/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3a28dccb122786c96501617949b0d0056bfa16e4e6b61be7782a73ec0a85ad77 [INFO] running `Command { std: "docker" "start" "-a" "3a28dccb122786c96501617949b0d0056bfa16e4e6b61be7782a73ec0a85ad77", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling trybuild v1.0.59 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Compiling once_cell v1.10.0 [INFO] [stderr] Compiling termcolor v1.1.3 [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/codegen.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | a => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling mockers_derive v0.21.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `mockers` [INFO] [stdout] --> tests/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use mockers; [INFO] [stdout] | ^^^^^^^ no external crate `mockers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `mockers` in the list of imported crates [INFO] [stdout] --> tests/mod.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[mocked] [INFO] [stdout] | ^^^^^^^^^ could not find `mockers` in the list of imported crates [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `mocked` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `mockers` in the list of imported crates [INFO] [stdout] --> tests/mod.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / mock! { [INFO] [stdout] 14 | | BMock, [INFO] [stdout] 15 | | self, [INFO] [stdout] 16 | | trait B { [INFO] [stdout] 17 | | fn bar(&self); [INFO] [stdout] 18 | | } [INFO] [stdout] 19 | | } [INFO] [stdout] | |_^ could not find `mockers` in the list of imported crates [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `mock` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mockers_derive` due to 4 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred [INFO] [stdout] --> src/codegen.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / lazy_static! { [INFO] [stdout] 26 | | //static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 27 | | static ref KNOWN_TRAITS: Mutex> = Mutex::new(HashMap::new()); [INFO] [stdout] 28 | | [INFO] [stdout] ... | [INFO] [stdout] 38 | | static ref REGISTERED_TYPE_ID_GENERATOR: IdGen = IdGen::new(); [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `__lazy_static_create` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/codegen.rs:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | a => false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "3a28dccb122786c96501617949b0d0056bfa16e4e6b61be7782a73ec0a85ad77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3a28dccb122786c96501617949b0d0056bfa16e4e6b61be7782a73ec0a85ad77", kill_on_drop: false }` [INFO] [stdout] 3a28dccb122786c96501617949b0d0056bfa16e4e6b61be7782a73ec0a85ad77