[INFO] cloning repository https://github.com/robbym/json-wsp-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/robbym/json-wsp-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobbym%2Fjson-wsp-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobbym%2Fjson-wsp-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f85f0a0dc0ea187714cc82c46f67e6e1670264cd [INFO] testing robbym/json-wsp-rs against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frobbym%2Fjson-wsp-rs" "/workspace/builds/worker-24/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-24/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/robbym/json-wsp-rs on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/robbym/json-wsp-rs [INFO] finished tweaking git repo https://github.com/robbym/json-wsp-rs [INFO] tweaked toml for git repo https://github.com/robbym/json-wsp-rs written to /workspace/builds/worker-24/source/Cargo.toml [INFO] crate git repo https://github.com/robbym/json-wsp-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/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" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0de848251a32cbadea8a4561ae54d76011d31e3ac485fadd1cf1e0a578bbc465 [INFO] running `Command { std: "docker" "start" "-a" "0de848251a32cbadea8a4561ae54d76011d31e3ac485fadd1cf1e0a578bbc465", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0de848251a32cbadea8a4561ae54d76011d31e3ac485fadd1cf1e0a578bbc465", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0de848251a32cbadea8a4561ae54d76011d31e3ac485fadd1cf1e0a578bbc465", kill_on_drop: false }` [INFO] [stdout] 0de848251a32cbadea8a4561ae54d76011d31e3ac485fadd1cf1e0a578bbc465 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-24/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" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f7e1aca22c397dc89c9bdc254477e8ef5e1afa592f10a38d69ef4caa2b6c9080 [INFO] running `Command { std: "docker" "start" "-a" "f7e1aca22c397dc89c9bdc254477e8ef5e1afa592f10a38d69ef4caa2b6c9080", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Compiling itoa v0.3.4 [INFO] [stderr] Compiling num-traits v0.1.40 [INFO] [stderr] Compiling serde v1.0.15 [INFO] [stderr] Compiling dtoa v0.4.2 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Compiling wsp-type-derive v0.1.0 (/opt/rustwide/workdir/wsp-type-derive) [INFO] [stderr] Compiling serde_json v1.0.3 [INFO] [stderr] Compiling wsp-methods-derive v0.1.0 (/opt/rustwide/workdir/wsp-methods-derive) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(quote)] [INFO] [stdout] | ^^^^^ feature has been removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(plugin_registrar, rustc_private)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: a __rustc_plugin_registrar symbol must now be defined instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `syntax` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | extern crate syntax; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0462]: found staticlib `rustc` instead of rlib or dylib [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | extern crate rustc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: please recompile that crate using --crate-type lib [INFO] [stdout] = note: the following crate versions were found: [INFO] [stdout] crate `rustc`: /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-beta_rt.lsan.a [INFO] [stdout] crate `rustc`: /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-beta_rt.msan.a [INFO] [stdout] crate `rustc`: /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-beta_rt.asan.a [INFO] [stdout] crate `rustc`: /opt/rustwide/rustup-home/toolchains/beta-2022-04-10-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc-beta_rt.tsan.a [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `rustc_plugin` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | extern crate rustc_plugin; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] | [INFO] [stdout] = help: maybe you need to install the missing components with: `rustup component add rust-src rustc-dev llvm-tools-preview` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `quote_stmt` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:96:24 [INFO] [stdout] | [INFO] [stdout] 96 | stmts.push(quote_stmt!(exc, let mut map = serde_json::Map::new();)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `quote_stmt` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:99:28 [INFO] [stdout] | [INFO] [stdout] 99 | stmts.push(quote_stmt!(exc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `quote_stmt` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:103:24 [INFO] [stdout] | [INFO] [stdout] 103 | stmts.push(quote_stmt!(exc, serde_json::Value::Object(map))); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `quote_item` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:105:24 [INFO] [stdout] | [INFO] [stdout] 105 | let decl = quote_item!(exc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `plugin_registrar` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:121:3 [INFO] [stdout] | [INFO] [stdout] 121 | #[plugin_registrar] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `plugin_registrar` is in scope, but it is a function, not an attribute [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TokenTree` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | TokenTree::Token(_, tok) => { [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `TokenTree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | Token::Ident(id) => { [INFO] [stdout] | ^^^^^ use of undeclared type `Token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Token` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:34:21 [INFO] [stdout] | [INFO] [stdout] 34 | Token::Comma => { [INFO] [stdout] | ^^^^^ use of undeclared type `Token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TokenTree` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | TokenTree::Delimited(..) => { [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `TokenTree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Annotatable` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | if let &Annotatable::Item(ref item) = item { [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `Annotatable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ItemKind` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:59:16 [INFO] [stdout] | [INFO] [stdout] 59 | if let ItemKind::Impl( [INFO] [stdout] | ^^^^^^^^ use of undeclared type `ItemKind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ImplItemKind` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:75:24 [INFO] [stdout] | [INFO] [stdout] 75 | if let ImplItemKind::Method(ref sig, ref block) = method.node { [INFO] [stdout] | ^^^^^^^^^^^^ use of undeclared type `ImplItemKind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PatKind` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:77:32 [INFO] [stdout] | [INFO] [stdout] 77 | if let PatKind::Ident(ref _mode, ref ident, ref _pat) = arg.pat.node { [INFO] [stdout] | ^^^^^^^ use of undeclared type `PatKind` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FunctionRetTy` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:82:28 [INFO] [stdout] | [INFO] [stdout] 82 | if let FunctionRetTy::Ty(ref ty) = sig.decl.output { [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared type `FunctionRetTy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TokenTree` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | if let TokenTree::Delimited(.., Delimited{delim: DelimToken::Paren, tts: tts}) = tree { [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `TokenTree` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `DelimToken` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:88:70 [INFO] [stdout] | [INFO] [stdout] 88 | if let TokenTree::Delimited(.., Delimited{delim: DelimToken::Paren, tts: tts}) = tree { [INFO] [stdout] | ^^^^^^^^^^ use of undeclared type `DelimToken` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `TokenStream` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:89:45 [INFO] [stdout] | [INFO] [stdout] 89 | for ty in type_list(TokenStream::from(tts)).unwrap() { [INFO] [stdout] | ^^^^^^^^^^^ use of undeclared type `TokenStream` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Name` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:124:9 [INFO] [stdout] | [INFO] [stdout] 124 | Name::intern("derive_WSPMethods"), [INFO] [stdout] | ^^^^ use of undeclared type `Name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `SyntaxExtension` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 125 | SyntaxExtension::MultiDecorator(Box::new(parse_methods)), [INFO] [stdout] | ^^^^^^^^^^^^^^^ use of undeclared type `SyntaxExtension` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `AttributeType` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:127:55 [INFO] [stdout] | [INFO] [stdout] 127 | reg.register_attribute(String::from("WSPMethod"), AttributeType::Whitelisted); [INFO] [stdout] | ^^^^^^^^^^^^^ use of undeclared type `AttributeType` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `TokenStream` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:21:22 [INFO] [stdout] | [INFO] [stdout] 21 | fn type_list(tokens: TokenStream) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `ExtCtxt` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | exc: &mut ExtCtxt, [INFO] [stdout] | ^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Span` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | _sp: Span, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `MetaItem` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:54:18 [INFO] [stdout] | [INFO] [stdout] 54 | _meta_item: &MetaItem, [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Annotatable` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | item: &Annotatable, [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Annotatable` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:56:23 [INFO] [stdout] | [INFO] [stdout] 56 | _push: &mut FnMut(Annotatable), [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Delimited` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:88:53 [INFO] [stdout] | [INFO] [stdout] 88 | if let TokenTree::Delimited(.., Delimited{delim: DelimToken::Paren, tts: tts}) = tree { [INFO] [stdout] | ^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Registry` in this scope [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:122:35 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn plugin_registrar(reg: &mut Registry) { [INFO] [stdout] | ^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(quote)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(plugin_registrar, rustc_private)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> wsp-methods-derive/src/lib.rs:56:17 [INFO] [stdout] | [INFO] [stdout] 56 | _push: &mut FnMut(Annotatable), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 56 - _push: &mut FnMut(Annotatable), [INFO] [stdout] 56 + _push: &mut dyn FnMut(Annotatable), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 35 previous errors; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0412, E0422, E0433, E0463, E0554, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0412`. [INFO] [stdout] [INFO] [stderr] error: could not compile `wsp-methods-derive` due to 36 previous errors; 2 warnings emitted [INFO] running `Command { std: "docker" "inspect" "f7e1aca22c397dc89c9bdc254477e8ef5e1afa592f10a38d69ef4caa2b6c9080", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f7e1aca22c397dc89c9bdc254477e8ef5e1afa592f10a38d69ef4caa2b6c9080", kill_on_drop: false }` [INFO] [stdout] f7e1aca22c397dc89c9bdc254477e8ef5e1afa592f10a38d69ef4caa2b6c9080