[INFO] cloning repository https://github.com/r4gus/cuddly-guacamole [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/r4gus/cuddly-guacamole" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fr4gus%2Fcuddly-guacamole", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fr4gus%2Fcuddly-guacamole'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 75c8ad64a4d7a221ba33491068b1ed7e0fec504a [INFO] checking r4gus/cuddly-guacamole against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fr4gus%2Fcuddly-guacamole" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/r4gus/cuddly-guacamole on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/r4gus/cuddly-guacamole [INFO] finished tweaking git repo https://github.com/r4gus/cuddly-guacamole [INFO] tweaked toml for git repo https://github.com/r4gus/cuddly-guacamole written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/r4gus/cuddly-guacamole already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded thiserror-impl v1.0.29 [INFO] [stderr] Downloaded bumpalo v3.7.1 [INFO] [stderr] Downloaded thiserror v1.0.29 [INFO] [stderr] Downloaded syn v1.0.77 [INFO] [stderr] Downloaded libc v0.2.103 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] baff0fdf35f87d0b96ba7336c19702c49ae648278bd8b4508897e78be470e3dd [INFO] running `Command { std: "docker" "start" "-a" "baff0fdf35f87d0b96ba7336c19702c49ae648278bd8b4508897e78be470e3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "baff0fdf35f87d0b96ba7336c19702c49ae648278bd8b4508897e78be470e3dd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "baff0fdf35f87d0b96ba7336c19702c49ae648278bd8b4508897e78be470e3dd", kill_on_drop: false }` [INFO] [stdout] baff0fdf35f87d0b96ba7336c19702c49ae648278bd8b4508897e78be470e3dd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2a3f7f03089ba02c7fc206582cf9fc9dceb9ce003cbec3472388e5cc68fa192a [INFO] running `Command { std: "docker" "start" "-a" "2a3f7f03089ba02c7fc206582cf9fc9dceb9ce003cbec3472388e5cc68fa192a", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.29 [INFO] [stderr] Compiling syn v1.0.77 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.78 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bumpalo v3.7.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.78 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling libc v0.2.103 [INFO] [stderr] Compiling anyhow v1.0.44 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling serde_json v1.0.68 [INFO] [stderr] Compiling boolinator v2.4.0 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Checking bytes v1.1.0 [INFO] [stderr] Compiling yew v0.18.0 [INFO] [stderr] Checking cfg-match v0.2.1 [INFO] [stderr] Checking anymap v0.12.1 [INFO] [stderr] Checking http v0.2.5 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.78 [INFO] [stderr] Compiling thiserror-impl v1.0.29 [INFO] [stderr] Compiling yew-macro v0.18.0 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.78 [INFO] [stderr] Checking thiserror v1.0.29 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.78 [INFO] [stderr] Checking js-sys v0.3.55 [INFO] [stderr] Checking console_error_panic_hook v0.1.6 [INFO] [stderr] Checking web-sys v0.3.55 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.28 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking gloo-events v0.1.1 [INFO] [stderr] Checking gloo-timers v0.2.1 [INFO] [stderr] Checking gloo-console-timer v0.1.0 [INFO] [stderr] Checking gloo-file v0.1.0 [INFO] [stderr] Checking gloo v0.2.1 [INFO] [stderr] Checking yates v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Element` [INFO] [stdout] --> src/nodegraph.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | use yew::web_sys::{SvgGraphicsElement, Element}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `yew::utils::document` [INFO] [stdout] --> src/nodegraph.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use yew::utils::document; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Element` [INFO] [stdout] --> src/nodegraph.rs:5:40 [INFO] [stdout] | [INFO] [stdout] 5 | use yew::web_sys::{SvgGraphicsElement, Element}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SvgGraphicsElement` and `SvgMatrix` [INFO] [stdout] --> src/node.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use yew::web_sys::{SvgGraphicsElement, SvgMatrix}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::nodegraph::NodeGraph` [INFO] [stdout] --> src/node.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::nodegraph::NodeGraph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `yew::utils::document` [INFO] [stdout] --> src/nodegraph.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use yew::utils::document; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SvgGraphicsElement` and `SvgMatrix` [INFO] [stdout] --> src/node.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use yew::web_sys::{SvgGraphicsElement, SvgMatrix}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::nodegraph::NodeGraph` [INFO] [stdout] --> src/node.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::nodegraph::NodeGraph; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/nodegraph.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | _ => false [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/nodegraph.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 82 | NodeGraphMsg::SetSelect(node, me) => { [INFO] [stdout] | --------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 114 | NodeGraphMsg::DragSelected(mouse_event) => { [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 125 | _ => false [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:94:30 [INFO] [stdout] | [INFO] [stdout] 94 | for (id, n) in self.selected.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:108:22 [INFO] [stdout] | [INFO] [stdout] 108 | for (id, n) in self.selected.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:119:22 [INFO] [stdout] | [INFO] [stdout] 119 | for (id, n) in self.selected.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/nodegraph.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | _ => false [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/nodegraph.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 82 | NodeGraphMsg::SetSelect(node, me) => { [INFO] [stdout] | --------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 114 | NodeGraphMsg::DragSelected(mouse_event) => { [INFO] [stdout] | --------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 125 | _ => false [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:94:30 [INFO] [stdout] | [INFO] [stdout] 94 | for (id, n) in self.selected.iter() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:108:22 [INFO] [stdout] | [INFO] [stdout] 108 | for (id, n) in self.selected.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:119:22 [INFO] [stdout] | [INFO] [stdout] 119 | for (id, n) in self.selected.iter_mut() { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:145:50 [INFO] [stdout] | [INFO] [stdout] 145 | { for self.selected.iter().map(|(id, n)| html! {
  • { n.id}
  • }) } [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:148:51 [INFO] [stdout] | [INFO] [stdout] 148 | { for self.nodes.iter().map(|(id, n)| { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:145:50 [INFO] [stdout] | [INFO] [stdout] 145 | { for self.selected.iter().map(|(id, n)| html! {
  • { n.id}
  • }) } [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/nodegraph.rs:148:51 [INFO] [stdout] | [INFO] [stdout] 148 | { for self.nodes.iter().map(|(id, n)| { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | _ => false [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 94 | NodeMsg::MouseEnter => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 98 | NodeMsg::MouseLeave => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 103 | NodeMsg::StartDrag(me) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 128 | NodeMsg::EndDrag => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 158 | _ => false [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/node.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | _ => false [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/node.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 94 | NodeMsg::MouseEnter => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 98 | NodeMsg::MouseLeave => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 103 | NodeMsg::StartDrag(me) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 128 | NodeMsg::EndDrag => { [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 158 | _ => false [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `offset` is never read [INFO] [stdout] --> src/node.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct NodeComponent { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 75 | offset: Position, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `offset` is never read [INFO] [stdout] --> src/node.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct NodeComponent { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 75 | offset: Position, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AddOne` is never constructed [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum Msg { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 5 | AddOne, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `link` is never read [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct Model { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 9 | link: ComponentLink, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AddOne` is never constructed [INFO] [stdout] --> src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | enum Msg { [INFO] [stdout] | --- variant in this enum [INFO] [stdout] 5 | AddOne, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `link` is never read [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct Model { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 9 | link: ComponentLink, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.32s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.78 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "2a3f7f03089ba02c7fc206582cf9fc9dceb9ce003cbec3472388e5cc68fa192a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a3f7f03089ba02c7fc206582cf9fc9dceb9ce003cbec3472388e5cc68fa192a", kill_on_drop: false }` [INFO] [stdout] 2a3f7f03089ba02c7fc206582cf9fc9dceb9ce003cbec3472388e5cc68fa192a