[INFO] fetching crate legion-systems 0.2.4... [INFO] checking legion-systems-0.2.4 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate legion-systems 0.2.4 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate legion-systems 0.2.4 [INFO] finished tweaking crates.io crate legion-systems 0.2.4 [INFO] tweaked toml for crates.io crate legion-systems 0.2.4 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate legion-systems 0.2.4 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 98 packages to latest compatible versions [INFO] [stderr] Adding bit-set v0.5.3 (available: v0.8.0) [INFO] [stderr] Adding crossbeam-channel v0.4.4 (available: v0.5.15) [INFO] [stderr] Adding crossbeam-queue v0.2.3 (available: v0.3.12) [INFO] [stderr] Adding derivative v1.0.4 (available: v2.2.0) [INFO] [stderr] Adding downcast-rs v1.2.1 (available: v2.0.1) [INFO] [stderr] Adding itertools v0.8.2 (available: v0.14.0) [INFO] [stderr] Adding paste v0.1.18 (available: v1.0.15) [INFO] [stderr] Adding tracing-subscriber v0.2.25 (available: v0.3.19) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 84e4b571904c222816b6fc50d5d89e0856033809ae16c666662cfd3efa4b454f [INFO] running `Command { std: "docker" "start" "-a" "84e4b571904c222816b6fc50d5d89e0856033809ae16c666662cfd3efa4b454f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "84e4b571904c222816b6fc50d5d89e0856033809ae16c666662cfd3efa4b454f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "84e4b571904c222816b6fc50d5d89e0856033809ae16c666662cfd3efa4b454f", kill_on_drop: false }` [INFO] [stdout] 84e4b571904c222816b6fc50d5d89e0856033809ae16c666662cfd3efa4b454f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dc9208599115f15073b90d032806ddc0a3655966b5f79d9b9dd39a424219e7c4 [INFO] running `Command { std: "docker" "start" "-a" "dc9208599115f15073b90d032806ddc0a3655966b5f79d9b9dd39a424219e7c4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking tracing-log v0.1.4 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling paste-impl v0.1.18 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Checking crossbeam-channel v0.4.4 [INFO] [stderr] Checking paste v0.1.18 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Checking parking_lot_core v0.7.3 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking matchers v0.0.1 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Compiling derivative v1.0.4 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking tracing-serde v0.1.3 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking legion-core v0.2.4 [INFO] [stderr] Checking tracing-subscriber v0.2.25 [INFO] [stderr] Checking legion-systems v0.2.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(not(feature = "ffi"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | #[cfg(not(feature = "ffi"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | #[cfg(feature = "ffi")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "ffi")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(not(feature = "ffi"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | #[cfg(not(feature = "ffi"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | #[cfg(feature = "ffi")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffi` [INFO] [stdout] --> src/resource.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "ffi")] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `crossbeam-queue`, `par-iter`, `par-schedule`, and `rayon` [INFO] [stdout] = help: consider adding `ffi` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schedule.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | fn command_buffer_mut(&self, world: WorldId) -> Option>; [INFO] [stdout] | ^^^^^ --------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | fn command_buffer_mut(&self, world: WorldId) -> Option>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/system.rs:202:27 [INFO] [stdout] | [INFO] [stdout] 202 | fn command_buffer_mut(&self, world: WorldId) -> Option> { [INFO] [stdout] | ^^^^^ --------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 202 | fn command_buffer_mut(&self, world: WorldId) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/system.rs:541:28 [INFO] [stdout] | [INFO] [stdout] 541 | struct TestResourceTwo(pub i32); [INFO] [stdout] | --------------- ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestResourceThree` is never constructed [INFO] [stdout] --> src/system.rs:543:12 [INFO] [stdout] | [INFO] [stdout] 543 | struct TestResourceThree(pub i32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestResourceFour` is never constructed [INFO] [stdout] --> src/system.rs:545:12 [INFO] [stdout] | [INFO] [stdout] 545 | struct TestResourceFour(pub i32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestComp` is never constructed [INFO] [stdout] --> src/system.rs:548:12 [INFO] [stdout] | [INFO] [stdout] 548 | struct TestComp(f32, f32, f32); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestCompTwo` is never constructed [INFO] [stdout] --> src/system.rs:550:12 [INFO] [stdout] | [INFO] [stdout] 550 | struct TestCompTwo(f32, f32, f32); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestCompThree` is never constructed [INFO] [stdout] --> src/system.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | struct TestCompThree(f32, f32, f32); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/system.rs:736:26 [INFO] [stdout] | [INFO] [stdout] 736 | pub struct Balls(u32); [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Balls` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/system.rs:787:26 [INFO] [stdout] | [INFO] [stdout] 787 | pub struct Balls(u32); [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Balls` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/system.rs:1131:22 [INFO] [stdout] | [INFO] [stdout] 1131 | struct Money(f64); [INFO] [stdout] | ----- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Money` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/system.rs:1133:23 [INFO] [stdout] | [INFO] [stdout] 1133 | struct Health(f64); [INFO] [stdout] | ------ ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `Health` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/system.rs:1134:21 [INFO] [stdout] | [INFO] [stdout] 1134 | struct Food(f64); [INFO] [stdout] | ---- ^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/schedule.rs:67:27 [INFO] [stdout] | [INFO] [stdout] 67 | fn command_buffer_mut(&self, world: WorldId) -> Option>; [INFO] [stdout] | ^^^^^ --------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 67 | fn command_buffer_mut(&self, world: WorldId) -> Option>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/system.rs:202:27 [INFO] [stdout] | [INFO] [stdout] 202 | fn command_buffer_mut(&self, world: WorldId) -> Option> { [INFO] [stdout] | ^^^^^ --------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 202 | fn command_buffer_mut(&self, world: WorldId) -> Option> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.20s [INFO] running `Command { std: "docker" "inspect" "dc9208599115f15073b90d032806ddc0a3655966b5f79d9b9dd39a424219e7c4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc9208599115f15073b90d032806ddc0a3655966b5f79d9b9dd39a424219e7c4", kill_on_drop: false }` [INFO] [stdout] dc9208599115f15073b90d032806ddc0a3655966b5f79d9b9dd39a424219e7c4