[INFO] fetching crate proc_macro_roids 0.8.0... [INFO] testing proc_macro_roids-0.8.0 against master#9e136a30a965bf4e63f03095c57df7257bf96fd6 for pr-134530 [INFO] extracting crate proc_macro_roids 0.8.0 into /workspace/builds/worker-5-tc1/source [INFO] validating manifest of crates.io crate proc_macro_roids 0.8.0 on toolchain 9e136a30a965bf4e63f03095c57df7257bf96fd6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate proc_macro_roids 0.8.0 [INFO] finished tweaking crates.io crate proc_macro_roids 0.8.0 [INFO] tweaked toml for crates.io crate proc_macro_roids 0.8.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 4 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ca527232a9ebed8f73a27064a6486fafd3b7c64a03fd548f8e4375adde83023c [INFO] running `Command { std: "docker" "start" "-a" "ca527232a9ebed8f73a27064a6486fafd3b7c64a03fd548f8e4375adde83023c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ca527232a9ebed8f73a27064a6486fafd3b7c64a03fd548f8e4375adde83023c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca527232a9ebed8f73a27064a6486fafd3b7c64a03fd548f8e4375adde83023c", kill_on_drop: false }` [INFO] [stdout] ca527232a9ebed8f73a27064a6486fafd3b7c64a03fd548f8e4375adde83023c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 255f293c7f643b84df359c54c39c7c165ec5596c0219e12d3ec94b166aad69b6 [INFO] running `Command { std: "docker" "start" "-a" "255f293c7f643b84df359c54c39c7c165ec5596c0219e12d3ec94b166aad69b6", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.90 [INFO] [stderr] Compiling proc_macro_roids v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.05s [INFO] running `Command { std: "docker" "inspect" "255f293c7f643b84df359c54c39c7c165ec5596c0219e12d3ec94b166aad69b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "255f293c7f643b84df359c54c39c7c165ec5596c0219e12d3ec94b166aad69b6", kill_on_drop: false }` [INFO] [stdout] 255f293c7f643b84df359c54c39c7c165ec5596c0219e12d3ec94b166aad69b6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b46849b555cba35b4a359ecea3ff0a4a3fc470b6461b5012f3b5389c56951c6 [INFO] running `Command { std: "docker" "start" "-a" "2b46849b555cba35b4a359ecea3ff0a4a3fc470b6461b5012f3b5389c56951c6", kill_on_drop: false }` [INFO] [stderr] Compiling proc_macro_roids v0.8.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.70s [INFO] running `Command { std: "docker" "inspect" "2b46849b555cba35b4a359ecea3ff0a4a3fc470b6461b5012f3b5389c56951c6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b46849b555cba35b4a359ecea3ff0a4a3fc470b6461b5012f3b5389c56951c6", kill_on_drop: false }` [INFO] [stdout] 2b46849b555cba35b4a359ecea3ff0a4a3fc470b6461b5012f3b5389c56951c6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d5f5f854c3de62c1b9f36e8d1a9da98a75cbd77216821fcab84977a02608bc33 [INFO] running `Command { std: "docker" "start" "-a" "d5f5f854c3de62c1b9f36e8d1a9da98a75cbd77216821fcab84977a02608bc33", kill_on_drop: false }` [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stdout] running 99 tests [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/proc_macro_roids-b24e1888865265ba) [INFO] [stdout] test derive_input_ext::tests::append_derives_appends_to_attr_when_attr_exists ... ok [INFO] [stdout] test derive_input_ext::tests::append_derives_creates_attr_when_attr_does_not_exist ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameters_returns_idents_when_present ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameter_returns_ident_when_present ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test derive_input_ext::tests::contains_tag_returns_false_when_tag_does_not_exist ... ok [INFO] [stdout] test derive_input_ext::tests::contains_namespace_returns_false_when_namespace_does_not_exist ... ok [INFO] [stdout] test derive_input_ext::tests::contains_tag_returns_true_when_tag_exists ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameter_returns_ident_when_present ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameters_returns_idents_when_present ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_mut_returns_field ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_returns_field ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_false_when_fields_not_tuple ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_false_when_fields_unnamed_and_more_than_one ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_false_when_fields_unnamed_and_zero ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::is_newtype_returns_true_when_fields_unnamed_and_exactly_one ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_named_does_not_panic_when_fields_named ... ok [INFO] [stdout] test derive_input_ext::tests::append_derives_panics_when_derives_exist - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unit_does_not_panic_when_fields_unit ... ok [INFO] [stdout] test derive_input_ext::tests::namespace_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unnamed_does_not_panic_when_fields_unnamed ... ok [INFO] [stdout] test derive_input_ext::tests::tag_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_mut_panics_when_struct_fields_not_unnamed - should panic ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_mut_panics_when_struct_has_multiple_fields - should panic ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_panics_when_struct_has_multiple_fields - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_mut_returns_data_struct_mut ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_named_panics_when_fields_not_named - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unit_panics_when_fields_not_unit - should panic ... ok [INFO] [stdout] test derive_input_newtype_ext::tests::inner_type_panics_when_struct_fields_not_unnamed - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_mut_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_returns_unit_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::assert_fields_unnamed_panics_when_fields_not_unnamed - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::data_struct_returns_data_struct ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_mut_panics_when_fields_unit - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_mut_returns_unnamed_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_mut_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_mut_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_panics_when_fields_unit - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_named_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_panics_when_ast_is_not_struct - should panic ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_returns_named_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_returns_unit_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::fields_returns_unnamed_fields ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_named_returns_true_when_fields_named ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_tuple_returns_false_when_fields_not_unnamed ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_tuple_returns_true_when_fields_unnamed ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_unit_returns_false_when_fields_not_unit ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_unit_returns_true_when_fields_unit ... ok [INFO] [stdout] test derive_input_struct_ext::tests::is_named_returns_false_when_fields_not_named ... ok [INFO] [stdout] test field_ext::tests::fields_named::contains_tag_returns_true_when_tag_exists ... ok [INFO] [stdout] test field_ext::tests::fields_named::contains_tag_returns_false_when_tag_does_not_exist ... ok [INFO] [stdout] test field_ext::tests::fields_unnamed::contains_tag_returns_false_when_tag_does_not_exist ... ok [INFO] [stdout] test field_ext::tests::fields_unnamed::contains_tag_returns_true_when_tag_exists ... ok [INFO] [stdout] test field_ext::tests::is_phantom_data_returns_true_for_phantom_data ... ok [INFO] [stdout] test field_ext::tests::namespace_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test field_ext::tests::is_phantom_data_returns_false_for_non_phantom_data ... ok [INFO] [stdout] test field_ext::tests::namespace_parameter_returns_meta_when_present ... ok [INFO] [stdout] test field_ext::tests::namespace_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test field_ext::tests::namespace_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test field_ext::tests::namespace_parameters_returns_metas_when_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameter_panics_when_multiple_parameters_present - should panic ... ok [INFO] [stdout] test field_ext::tests::tag_parameter_returns_meta_when_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameter_returns_none_when_not_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameters_returns_empty_vec_when_not_present ... ok [INFO] [stdout] test field_ext::tests::tag_parameters_returns_metas_when_present ... ok [INFO] [stdout] test field_ext::tests::type_name_returns_simple_type_name ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_unit_is_empty_token_stream ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_named_is_brace_surrounding_comma_separated_variable_names ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_unnamed_one_field_includes_trailing_comma ... ok [INFO] [stdout] test fields_ext::tests::construction_form_fields_unnamed_is_parentheses_surrounding_comma_separated_variable_ns ... ok [INFO] [stdout] test fields_ext::tests::is_named_returns_true_when_fields_named ... ok [INFO] [stdout] test fields_ext::tests::is_named_returns_false_when_fields_not_named ... ok [INFO] [stdout] test fields_ext::tests::is_tuple_returns_false_when_fields_not_unnamed ... ok [INFO] [stdout] test fields_ext::tests::is_tuple_returns_true_when_fields_unnamed ... ok [INFO] [stdout] test fields_ext::tests::is_unit_returns_false_when_fields_not_unit ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_fields_named ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_struct_unit ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_fields_unit ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_fields_unnamed ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_fields_unit ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_struct_unnamed ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_fields_unnamed_panics - should panic ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_fields_unnamed_panics - should panic ... ok [INFO] [stdout] test fields_unnamed_append::tests::append_fields_unnamed_to_struct_unit ... ok [INFO] [stdout] test ident_ext::tests::append_ident_returns_appended_ident ... ok [INFO] [stdout] test ident_ext::tests::append_ident_ref_returns_appended_ident ... ok [INFO] [stdout] test ident_ext::tests::append_str_returns_appended_ident ... ok [INFO] [stdout] test ident_ext::tests::prepend_ident_ref_returns_prepended_ident ... ok [INFO] [stdout] test ident_ext::tests::prepend_ident_returns_prepended_ident ... ok [INFO] [stdout] test fields_ext::tests::is_unit_returns_true_when_fields_unit ... ok [INFO] [stdout] test ident_ext::tests::prepend_str_returns_prepended_ident ... ok [INFO] [stdout] test fields_named_append::tests::append_fields_named_to_struct_named ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Doc-tests proc_macro_roids [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test src/lib.rs - (line 118) ... ok [INFO] [stdout] test src/lib.rs - (line 160) ... ok [INFO] [stdout] test src/lib.rs - (line 202) ... ok [INFO] [stdout] test src/lib.rs - (line 12) ... ok [INFO] [stdout] test src/lib.rs - (line 244) ... ok [INFO] [stdout] test src/lib.rs - (line 329) ... ok [INFO] [stdout] test src/lib.rs - (line 82) ... ok [INFO] [stdout] test src/lib.rs - (line 272) ... ok [INFO] [stdout] test src/lib.rs - (line 293) ... ok [INFO] [stdout] test src/util.rs - util::namespace_parameters (line 92) ... ok [INFO] [stdout] test src/util.rs - util::namespace_nested_metas_iter (line 223) ... ok [INFO] [stdout] test src/util.rs - util::tag_parameter (line 132) ... ok [INFO] [stdout] test src/util.rs - util::namespace_parameter (line 43) ... ok [INFO] [stdout] test src/util.rs - util::tag_nested_metas_iter (line 266) ... ok [INFO] [stdout] test src/util.rs - util::tag_parameters (line 185) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.80s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "d5f5f854c3de62c1b9f36e8d1a9da98a75cbd77216821fcab84977a02608bc33", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5f5f854c3de62c1b9f36e8d1a9da98a75cbd77216821fcab84977a02608bc33", kill_on_drop: false }` [INFO] [stdout] d5f5f854c3de62c1b9f36e8d1a9da98a75cbd77216821fcab84977a02608bc33