[INFO] cloning repository https://github.com/AustinHaugerud/lurk_world
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AustinHaugerud/lurk_world" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAustinHaugerud%2Flurk_world", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAustinHaugerud%2Flurk_world'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 337ef13dbd03cd9e4316450b852246f37033879f
[INFO] checking AustinHaugerud/lurk_world against try#44f3504e96c944ae54fc72b5f5008f53f7eda001 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAustinHaugerud%2Flurk_world" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/AustinHaugerud/lurk_world on toolchain 44f3504e96c944ae54fc72b5f5008f53f7eda001
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/AustinHaugerud/lurk_world
[INFO] finished tweaking git repo https://github.com/AustinHaugerud/lurk_world
[INFO] tweaked toml for git repo https://github.com/AustinHaugerud/lurk_world written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/AustinHaugerud/lurk_world 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" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b49bc36bc2f41d675242ae831262a7fffe9f8c5002bf54e33f3de80d562b9bd2
[INFO] running `Command { std: "docker" "start" "-a" "b49bc36bc2f41d675242ae831262a7fffe9f8c5002bf54e33f3de80d562b9bd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b49bc36bc2f41d675242ae831262a7fffe9f8c5002bf54e33f3de80d562b9bd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b49bc36bc2f41d675242ae831262a7fffe9f8c5002bf54e33f3de80d562b9bd2", kill_on_drop: false }`
[INFO] [stdout] b49bc36bc2f41d675242ae831262a7fffe9f8c5002bf54e33f3de80d562b9bd2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+44f3504e96c944ae54fc72b5f5008f53f7eda001" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10fb39bdc089f31382a6035f6fd6ff84b1e707d4e1bc5065bd5c3e34ea5dc28a
[INFO] running `Command { std: "docker" "start" "-a" "10fb39bdc089f31382a6035f6fd6ff84b1e707d4e1bc5065bd5c3e34ea5dc28a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling syn v1.0.11
[INFO] [stderr]    Compiling rustversion v1.0.2
[INFO] [stderr]    Compiling libc v0.2.66
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling cc v1.0.48
[INFO] [stderr]    Compiling unicode-segmentation v1.6.0
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]     Checking unicode-width v0.1.7
[INFO] [stderr]     Checking vec_map v0.8.1
[INFO] [stderr]     Checking strsim v0.9.3
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling indexmap v1.3.2
[INFO] [stderr]    Compiling num-traits v0.2.10
[INFO] [stderr]     Checking bstr v0.2.8
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling heck v0.3.1
[INFO] [stderr]    Compiling rlua v0.17.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling syn-mid v0.5.0
[INFO] [stderr]    Compiling lurk_macros v0.1.0 (/opt/rustwide/workdir/lurk_macros)
[INFO] [stdout] warning: unused import: `syn::MetaNameValue`
[INFO] [stdout]   --> lurk_macros/src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use syn::MetaNameValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `syn::Lit`
[INFO] [stdout]   --> lurk_macros/src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use syn::Lit;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc-macro-error v0.4.9
[INFO] [stderr]    Compiling proc-macro-error-attr v0.4.9
[INFO] [stderr]    Compiling clap_derive v3.0.0-beta.1 (https://github.com/clap-rs/clap/#bbb14f8b)
[INFO] [stderr]     Checking clap v3.0.0-beta.1 (https://github.com/clap-rs/clap/#bbb14f8b)
[INFO] [stderr]     Checking lurk_world v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `App` and `Arg`
[INFO] [stdout]  --> src/cli.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{App, Arg, Clap};
[INFO] [stdout]   |            ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/protocol.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::prelude::LuaTable`
[INFO] [stdout]  --> src/protocol.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rlua::prelude::LuaTable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::Table`
[INFO] [stdout]  --> src/protocol.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rlua::Table;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/protocol.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |         if (status) {
[INFO] [stdout]     |            ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         if (status) {
[INFO] [stdout] 108 +         if status {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::String`
[INFO] [stdout]   --> src/lua.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         use rlua::String;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/read.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::io::{BufReader, Read, BufRead};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/read.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/read_buffer.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Ok((read))
[INFO] [stdout]    |            ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -         Ok((read))
[INFO] [stdout] 28 +         Ok(read)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientEvent`
[INFO] [stdout]  --> src/server.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::client::{Client, ClientFactory, ClientEvent};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::read::LurkReadEvent`
[INFO] [stdout]  --> src/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::read::LurkReadEvent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::prelude::LuaTable`
[INFO] [stdout]  --> src/server.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rlua::prelude::LuaTable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::Value::Nil`
[INFO] [stdout]  --> src/server.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rlua::Value::Nil;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UserDataMethods` and `UserData`
[INFO] [stdout]  --> src/server.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rlua::{Lua, UserData, UserDataMethods};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/server.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/server.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]  --> src/server.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> src/main.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `App` and `Arg`
[INFO] [stdout]  --> src/cli.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use clap::{App, Arg, Clap};
[INFO] [stdout]   |            ^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/client.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/protocol.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/protocol.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::prelude::LuaTable`
[INFO] [stdout]  --> src/protocol.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rlua::prelude::LuaTable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::Table`
[INFO] [stdout]  --> src/protocol.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rlua::Table;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/protocol.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 |         if (status) {
[INFO] [stdout]     |            ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 108 -         if (status) {
[INFO] [stdout] 108 +         if status {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::String`
[INFO] [stdout]   --> src/lua.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         use rlua::String;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufReader`
[INFO] [stdout]   --> src/read.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::io::{BufReader, Read, BufRead};
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]   --> src/read.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | use std::net::TcpStream;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/read_buffer.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Ok((read))
[INFO] [stdout]    |            ^    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 28 -         Ok((read))
[INFO] [stdout] 28 +         Ok(read)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClientEvent`
[INFO] [stdout]  --> src/server.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::client::{Client, ClientFactory, ClientEvent};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::read::LurkReadEvent`
[INFO] [stdout]  --> src/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::read::LurkReadEvent;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::prelude::LuaTable`
[INFO] [stdout]  --> src/server.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rlua::prelude::LuaTable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rlua::Value::Nil`
[INFO] [stdout]  --> src/server.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rlua::Value::Nil;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `UserDataMethods` and `UserData`
[INFO] [stdout]  --> src/server.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rlua::{Lua, UserData, UserDataMethods};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/server.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/server.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Error`
[INFO] [stdout]  --> src/server.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::TcpStream`
[INFO] [stdout]  --> src/server.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::TcpStream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/read.rs:328:39
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     eprintln!("{}", e.description());
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> src/read.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::io::{BufReader, Read, BufRead};
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |         methods.add_method("string", |ctx, this, ()| {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write` is never read
[INFO] [stdout]   --> src/client.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Client {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     write: BufWriter<TcpStream>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Left` is never constructed
[INFO] [stdout]   --> src/client.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum ClientEventKind {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `left` is never used
[INFO] [stdout]    --> src/client.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 66  | impl Client {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn left(&self) -> ClientEvent {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/lua.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ClientEventBuffer {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `good` is never used
[INFO] [stdout]   --> src/read.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl LurkPollState {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 25 |     fn good(&self) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/read_buffer.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ReadBuffer {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Message(Message),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Message(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Error(Error),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Error(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Accept(Accept),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Accept(()),
[INFO] [stdout]    |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Room(Room),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Room(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Character(Character),
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Character(()),
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Game(Game),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Game(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connection(Connection),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connection(()),
[INFO] [stdout]    |                ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Version(Version),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Version(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/write.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait LurkWrite {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 22 |     fn write_lurk_name(&mut self, name: &LurkName) -> LurkWriteResult;
[INFO] [stdout] 23 |     fn write_message(&mut self, msg: &Message) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     fn write_error(&mut self, err: &Error) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 25 |     fn write_accept(&mut self, accept: &Accept) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 26 |     fn write_room(&mut self, room: &Room) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 27 |     fn write_character(&mut self, ch: &Character) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     fn write_game(&mut self, game: &Game) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 29 |     fn write_connection(&mut self, conn: &Connection) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     fn write_version(&mut self, version: &Version) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/read.rs:328:39
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     eprintln!("{}", e.description());
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]   --> src/read.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 | use std::io::{BufReader, Read, BufRead};
[INFO] [stdout]    |                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/lua.rs:19:39
[INFO] [stdout]    |
[INFO] [stdout] 19 |         methods.add_method("string", |ctx, this, ()| {
[INFO] [stdout]    |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `write` is never read
[INFO] [stdout]   --> src/client.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Client {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     write: BufWriter<TcpStream>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Left` is never constructed
[INFO] [stdout]   --> src/client.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum ClientEventKind {
[INFO] [stdout]    |          --------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Left,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `left` is never used
[INFO] [stdout]    --> src/client.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 66  | impl Client {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn left(&self) -> ClientEvent {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]   --> src/lua.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ClientEventBuffer {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `good` is never used
[INFO] [stdout]   --> src/read.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl LurkPollState {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] 25 |     fn good(&self) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/read_buffer.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ReadBuffer {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Message(Message),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Message(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Error(Error),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Error(()),
[INFO] [stdout]    |           ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Accept(Accept),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Accept(()),
[INFO] [stdout]    |            ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Room(Room),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Room(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Character(Character),
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Character(()),
[INFO] [stdout]    |               ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Game(Game),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Game(()),
[INFO] [stdout]    |          ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connection(Connection),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Connection(()),
[INFO] [stdout]    |                ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/write.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Version(Version),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Version(()),
[INFO] [stdout]    |             ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/write.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait LurkWrite {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 22 |     fn write_lurk_name(&mut self, name: &LurkName) -> LurkWriteResult;
[INFO] [stdout] 23 |     fn write_message(&mut self, msg: &Message) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     fn write_error(&mut self, err: &Error) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 25 |     fn write_accept(&mut self, accept: &Accept) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 26 |     fn write_room(&mut self, room: &Room) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 27 |     fn write_character(&mut self, ch: &Character) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     fn write_game(&mut self, game: &Game) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 29 |     fn write_connection(&mut self, conn: &Connection) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     fn write_version(&mut self, version: &Version) -> LurkWriteResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rlua v0.17.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "10fb39bdc089f31382a6035f6fd6ff84b1e707d4e1bc5065bd5c3e34ea5dc28a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10fb39bdc089f31382a6035f6fd6ff84b1e707d4e1bc5065bd5c3e34ea5dc28a", kill_on_drop: false }`
[INFO] [stdout] 10fb39bdc089f31382a6035f6fd6ff84b1e707d4e1bc5065bd5c3e34ea5dc28a
